gc: default to nitgc when boehm is not available
[nit.git] / c_src / abstractmetamodel._sep.c
1 /* This C file is generated by NIT to compile module abstractmetamodel. */
2 #include "abstractmetamodel._sep.h"
3 void abstractmetamodel___MMContext___init(val_t p0, int* init_table){
4 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMContext].i;
5 struct {struct stack_frame_t me;} fra;
6 val_t tmp;
7 if (init_table[itpos0]) return;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_abstractmetamodel;
10 fra.me.line = 27;
11 fra.me.meth = LOCATE_abstractmetamodel___MMContext___init;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.REG[0] = NIT_NULL;
15 fra.me.REG[0] = p0;
16 /* ./metamodel//abstractmetamodel.nit:27 */
17 stack_frame_head = fra.me.prev;
18 init_table[itpos0] = 1;
19 return;
20 }
21 val_t abstractmetamodel___MMContext___module_hierarchy(val_t p0){
22 struct {struct stack_frame_t me;} fra;
23 val_t REGB0;
24 val_t tmp;
25 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
26 fra.me.file = LOCATE_abstractmetamodel;
27 fra.me.line = 29;
28 fra.me.meth = LOCATE_abstractmetamodel___MMContext___module_hierarchy;
29 fra.me.has_broke = 0;
30 fra.me.REG_size = 1;
31 fra.me.REG[0] = NIT_NULL;
32 fra.me.REG[0] = p0;
33 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0])!=NIT_NULL);
34 /* ./metamodel//abstractmetamodel.nit:29 */
35 if (UNTAG_Bool(REGB0)) {
36 } else {
37 fprintf(stderr, "Uninitialized attribute %s", "_module_hierarchy");
38 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 29);
39 nit_exit(1);
40 }
41 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0]);
42 stack_frame_head = fra.me.prev;
43 return fra.me.REG[0];
44 }
45 val_t abstractmetamodel___MMContext___class_hierarchy(val_t p0){
46 struct {struct stack_frame_t me;} fra;
47 val_t REGB0;
48 val_t tmp;
49 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
50 fra.me.file = LOCATE_abstractmetamodel;
51 fra.me.line = 32;
52 fra.me.meth = LOCATE_abstractmetamodel___MMContext___class_hierarchy;
53 fra.me.has_broke = 0;
54 fra.me.REG_size = 1;
55 fra.me.REG[0] = NIT_NULL;
56 fra.me.REG[0] = p0;
57 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____class_hierarchy(fra.me.REG[0])!=NIT_NULL);
58 /* ./metamodel//abstractmetamodel.nit:32 */
59 if (UNTAG_Bool(REGB0)) {
60 } else {
61 fprintf(stderr, "Uninitialized attribute %s", "_class_hierarchy");
62 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 32);
63 nit_exit(1);
64 }
65 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____class_hierarchy(fra.me.REG[0]);
66 stack_frame_head = fra.me.prev;
67 return fra.me.REG[0];
68 }
69 val_t abstractmetamodel___MMContext___modules(val_t p0){
70 struct {struct stack_frame_t me;} fra;
71 val_t REGB0;
72 val_t tmp;
73 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74 fra.me.file = LOCATE_abstractmetamodel;
75 fra.me.line = 39;
76 fra.me.meth = LOCATE_abstractmetamodel___MMContext___modules;
77 fra.me.has_broke = 0;
78 fra.me.REG_size = 1;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____modules(fra.me.REG[0])!=NIT_NULL);
82 /* ./metamodel//abstractmetamodel.nit:39 */
83 if (UNTAG_Bool(REGB0)) {
84 } else {
85 fprintf(stderr, "Uninitialized attribute %s", "_modules");
86 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 39);
87 nit_exit(1);
88 }
89 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____modules(fra.me.REG[0]);
90 stack_frame_head = fra.me.prev;
91 return fra.me.REG[0];
92 }
93 void abstractmetamodel___MMContext___add_module(val_t p0, val_t p1, val_t p2){
94 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
95 val_t REGB0;
96 val_t tmp;
97 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
98 fra.me.file = LOCATE_abstractmetamodel;
99 fra.me.line = 42;
100 fra.me.meth = LOCATE_abstractmetamodel___MMContext___add_module;
101 fra.me.has_broke = 0;
102 fra.me.REG_size = 5;
103 fra.me.REG[0] = NIT_NULL;
104 fra.me.REG[1] = NIT_NULL;
105 fra.me.REG[2] = NIT_NULL;
106 fra.me.REG[3] = NIT_NULL;
107 fra.me.REG[4] = NIT_NULL;
108 fra.me.REG[0] = p0;
109 fra.me.REG[1] = p1;
110 fra.me.REG[2] = p2;
111 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0])!=NIT_NULL);
112 /* ./metamodel//abstractmetamodel.nit:45 */
113 if (UNTAG_Bool(REGB0)) {
114 } else {
115 fprintf(stderr, "Uninitialized attribute %s", "_module_hierarchy");
116 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 45);
117 nit_exit(1);
118 }
119 fra.me.REG[3] = ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0]);
120 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0])!=NIT_NULL);
121 if (UNTAG_Bool(REGB0)) {
122 } else {
123 fprintf(stderr, "Uninitialized attribute %s", "_module_hierarchy");
124 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 45);
125 nit_exit(1);
126 }
127 fra.me.REG[4] = ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0]);
128 fra.me.REG[2] = CALL_partial_order___PartialOrder___select_smallests(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
129 CALL_partial_order___PartialOrder___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[2]);
130 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____modules(fra.me.REG[0])!=NIT_NULL);
131 /* ./metamodel//abstractmetamodel.nit:46 */
132 if (UNTAG_Bool(REGB0)) {
133 } else {
134 fprintf(stderr, "Uninitialized attribute %s", "_modules");
135 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 46);
136 nit_exit(1);
137 }
138 fra.me.REG[2] = ATTR_abstractmetamodel___MMContext____modules(fra.me.REG[0]);
139 array___Array___add(fra.me.REG[2], fra.me.REG[1]);
140 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0])!=NIT_NULL);
141 /* ./metamodel//abstractmetamodel.nit:47 */
142 if (UNTAG_Bool(REGB0)) {
143 } else {
144 fprintf(stderr, "Uninitialized attribute %s", "_module_hierarchy");
145 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 47);
146 nit_exit(1);
147 }
148 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____module_hierarchy(fra.me.REG[0]);
149 fra.me.REG[0] = CALL_partial_order___PartialOrder_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
150 ATTR_abstractmetamodel___MMModule____mhe(fra.me.REG[1]) = fra.me.REG[0];
151 stack_frame_head = fra.me.prev;
152 return;
153 }
154 void abstractmetamodel___MMContext___add_global_class(val_t p0, val_t p1){
155 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
156 val_t REGB0;
157 val_t tmp;
158 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
159 fra.me.file = LOCATE_abstractmetamodel;
160 fra.me.line = 50;
161 fra.me.meth = LOCATE_abstractmetamodel___MMContext___add_global_class;
162 fra.me.has_broke = 0;
163 fra.me.REG_size = 2;
164 fra.me.REG[0] = NIT_NULL;
165 fra.me.REG[1] = NIT_NULL;
166 fra.me.REG[0] = p0;
167 fra.me.REG[1] = p1;
168 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____global_classes(fra.me.REG[0])!=NIT_NULL);
169 /* ./metamodel//abstractmetamodel.nit:51 */
170 if (UNTAG_Bool(REGB0)) {
171 } else {
172 fprintf(stderr, "Uninitialized attribute %s", "_global_classes");
173 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 51);
174 nit_exit(1);
175 }
176 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____global_classes(fra.me.REG[0]);
177 array___Array___add(fra.me.REG[0], fra.me.REG[1]);
178 stack_frame_head = fra.me.prev;
179 return;
180 }
181 void abstractmetamodel___MMContext___add_local_class(val_t p0, val_t p1, val_t p2){
182 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
183 val_t REGB0;
184 val_t tmp;
185 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
186 fra.me.file = LOCATE_abstractmetamodel;
187 fra.me.line = 53;
188 fra.me.meth = LOCATE_abstractmetamodel___MMContext___add_local_class;
189 fra.me.has_broke = 0;
190 fra.me.REG_size = 6;
191 fra.me.REG[0] = NIT_NULL;
192 fra.me.REG[1] = NIT_NULL;
193 fra.me.REG[2] = NIT_NULL;
194 fra.me.REG[3] = NIT_NULL;
195 fra.me.REG[4] = NIT_NULL;
196 fra.me.REG[5] = NIT_NULL;
197 fra.me.REG[0] = p0;
198 fra.me.REG[1] = p1;
199 fra.me.REG[2] = p2;
200 fra.me.REG[3] = NEW_Array_array___Array___init();
201 fra.me.REG[4] = NEW_Array_array___Array___init();
202 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
203 /* ./metamodel//abstractmetamodel.nit:58 */
204 while(1) {
205 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
206 if (UNTAG_Bool(REGB0)) {
207 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
208 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMConcreteClass, ID_MMConcreteClass)) /*cast MMConcreteClass*/;
209 /* ./metamodel//abstractmetamodel.nit:59 */
210 if (UNTAG_Bool(REGB0)) {
211 /* ./metamodel//abstractmetamodel.nit:60 */
212 array___Array___add(fra.me.REG[3], fra.me.REG[4]);
213 } else {
214 fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___che(fra.me.REG[4])(fra.me.REG[4]);
215 fra.me.REG[4] = CALL_partial_order___PartialOrderElement___direct_greaters(fra.me.REG[4])(fra.me.REG[4]);
216 fra.me.REG[4] = CALL_abstract_collection___Collection___iterator(fra.me.REG[4])(fra.me.REG[4]);
217 /* ./metamodel//abstractmetamodel.nit:62 */
218 while(1) {
219 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[4])(fra.me.REG[4]);
220 if (UNTAG_Bool(REGB0)) {
221 fra.me.REG[5] = CALL_abstract_collection___Iterator___item(fra.me.REG[4])(fra.me.REG[4]);
222 REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[5]);
223 /* ./metamodel//abstractmetamodel.nit:63 */
224 if (UNTAG_Bool(REGB0)) {
225 goto label1;
226 }
227 /* ./metamodel//abstractmetamodel.nit:64 */
228 array___Array___add(fra.me.REG[3], fra.me.REG[5]);
229 label1: while(0);
230 } else {
231 /* ./metamodel//abstractmetamodel.nit:62 */
232 goto label2;
233 }
234 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
235 }
236 label2: while(0);
237 }
238 } else {
239 /* ./metamodel//abstractmetamodel.nit:58 */
240 goto label3;
241 }
242 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
243 }
244 label3: while(0);
245 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMContext____class_hierarchy(fra.me.REG[0])!=NIT_NULL);
246 /* ./metamodel//abstractmetamodel.nit:68 */
247 if (UNTAG_Bool(REGB0)) {
248 } else {
249 fprintf(stderr, "Uninitialized attribute %s", "_class_hierarchy");
250 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 68);
251 nit_exit(1);
252 }
253 fra.me.REG[0] = ATTR_abstractmetamodel___MMContext____class_hierarchy(fra.me.REG[0]);
254 fra.me.REG[3] = CALL_partial_order___PartialOrder___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
255 /* ./metamodel//abstractmetamodel.nit:69 */
256 ATTR_abstractmetamodel___MMLocalClass____che(fra.me.REG[1]) = fra.me.REG[3];
257 stack_frame_head = fra.me.prev;
258 return;
259 }
260 val_t abstractmetamodel___MMDirectory___name(val_t p0){
261 struct {struct stack_frame_t me;} fra;
262 val_t REGB0;
263 val_t tmp;
264 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
265 fra.me.file = LOCATE_abstractmetamodel;
266 fra.me.line = 75;
267 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___name;
268 fra.me.has_broke = 0;
269 fra.me.REG_size = 1;
270 fra.me.REG[0] = NIT_NULL;
271 fra.me.REG[0] = p0;
272 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMDirectory____name(fra.me.REG[0])!=NIT_NULL);
273 /* ./metamodel//abstractmetamodel.nit:75 */
274 if (UNTAG_Bool(REGB0)) {
275 } else {
276 fprintf(stderr, "Uninitialized attribute %s", "_name");
277 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 75);
278 nit_exit(1);
279 }
280 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____name(fra.me.REG[0]);
281 stack_frame_head = fra.me.prev;
282 return fra.me.REG[0];
283 }
284 val_t abstractmetamodel___MMDirectory___path(val_t p0){
285 struct {struct stack_frame_t me;} fra;
286 val_t REGB0;
287 val_t tmp;
288 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
289 fra.me.file = LOCATE_abstractmetamodel;
290 fra.me.line = 78;
291 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___path;
292 fra.me.has_broke = 0;
293 fra.me.REG_size = 1;
294 fra.me.REG[0] = NIT_NULL;
295 fra.me.REG[0] = p0;
296 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMDirectory____path(fra.me.REG[0])!=NIT_NULL);
297 /* ./metamodel//abstractmetamodel.nit:78 */
298 if (UNTAG_Bool(REGB0)) {
299 } else {
300 fprintf(stderr, "Uninitialized attribute %s", "_path");
301 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 78);
302 nit_exit(1);
303 }
304 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____path(fra.me.REG[0]);
305 stack_frame_head = fra.me.prev;
306 return fra.me.REG[0];
307 }
308 val_t abstractmetamodel___MMDirectory___parent(val_t p0){
309 struct {struct stack_frame_t me;} fra;
310 val_t tmp;
311 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
312 fra.me.file = LOCATE_abstractmetamodel;
313 fra.me.line = 81;
314 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___parent;
315 fra.me.has_broke = 0;
316 fra.me.REG_size = 1;
317 fra.me.REG[0] = NIT_NULL;
318 fra.me.REG[0] = p0;
319 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____parent(fra.me.REG[0]);
320 /* ./metamodel//abstractmetamodel.nit:81 */
321 stack_frame_head = fra.me.prev;
322 return fra.me.REG[0];
323 }
324 val_t abstractmetamodel___MMDirectory___owner(val_t p0){
325 struct {struct stack_frame_t me;} fra;
326 val_t tmp;
327 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
328 fra.me.file = LOCATE_abstractmetamodel;
329 fra.me.line = 85;
330 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___owner;
331 fra.me.has_broke = 0;
332 fra.me.REG_size = 1;
333 fra.me.REG[0] = NIT_NULL;
334 fra.me.REG[0] = p0;
335 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____owner(fra.me.REG[0]);
336 /* ./metamodel//abstractmetamodel.nit:85 */
337 stack_frame_head = fra.me.prev;
338 return fra.me.REG[0];
339 }
340 void abstractmetamodel___MMDirectory___owner__eq(val_t p0, val_t p1){
341 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
342 val_t tmp;
343 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
344 fra.me.file = LOCATE_abstractmetamodel;
345 fra.me.line = 85;
346 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___owner__eq;
347 fra.me.has_broke = 0;
348 fra.me.REG_size = 2;
349 fra.me.REG[0] = NIT_NULL;
350 fra.me.REG[1] = NIT_NULL;
351 fra.me.REG[0] = p0;
352 fra.me.REG[1] = p1;
353 /* ./metamodel//abstractmetamodel.nit:85 */
354 ATTR_abstractmetamodel___MMDirectory____owner(fra.me.REG[0]) = fra.me.REG[1];
355 stack_frame_head = fra.me.prev;
356 return;
357 }
358 val_t abstractmetamodel___MMDirectory___modules(val_t p0){
359 struct {struct stack_frame_t me;} fra;
360 val_t REGB0;
361 val_t tmp;
362 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
363 fra.me.file = LOCATE_abstractmetamodel;
364 fra.me.line = 88;
365 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___modules;
366 fra.me.has_broke = 0;
367 fra.me.REG_size = 1;
368 fra.me.REG[0] = NIT_NULL;
369 fra.me.REG[0] = p0;
370 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0])!=NIT_NULL);
371 /* ./metamodel//abstractmetamodel.nit:88 */
372 if (UNTAG_Bool(REGB0)) {
373 } else {
374 fprintf(stderr, "Uninitialized attribute %s", "_modules");
375 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 88);
376 nit_exit(1);
377 }
378 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0]);
379 stack_frame_head = fra.me.prev;
380 return fra.me.REG[0];
381 }
382 void abstractmetamodel___MMDirectory___add_module(val_t p0, val_t p1){
383 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
384 val_t REGB0;
385 val_t tmp;
386 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
387 fra.me.file = LOCATE_abstractmetamodel;
388 fra.me.line = 91;
389 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___add_module;
390 fra.me.has_broke = 0;
391 fra.me.REG_size = 4;
392 fra.me.REG[0] = NIT_NULL;
393 fra.me.REG[1] = NIT_NULL;
394 fra.me.REG[2] = NIT_NULL;
395 fra.me.REG[3] = NIT_NULL;
396 fra.me.REG[0] = p0;
397 fra.me.REG[1] = p1;
398 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0])!=NIT_NULL);
399 /* ./metamodel//abstractmetamodel.nit:94 */
400 if (UNTAG_Bool(REGB0)) {
401 } else {
402 fprintf(stderr, "Uninitialized attribute %s", "_modules");
403 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 94);
404 nit_exit(1);
405 }
406 fra.me.REG[2] = ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0]);
407 fra.me.REG[3] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
408 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
409 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
410 if (UNTAG_Bool(REGB0)) {
411 } else {
412 fprintf(stderr, "Assert failed");
413 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 94);
414 nit_exit(1);
415 }
416 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0])!=NIT_NULL);
417 /* ./metamodel//abstractmetamodel.nit:95 */
418 if (UNTAG_Bool(REGB0)) {
419 } else {
420 fprintf(stderr, "Uninitialized attribute %s", "_modules");
421 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 95);
422 nit_exit(1);
423 }
424 fra.me.REG[0] = ATTR_abstractmetamodel___MMDirectory____modules(fra.me.REG[0]);
425 fra.me.REG[3] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[1])(fra.me.REG[1]);
426 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[3], fra.me.REG[1]);
427 stack_frame_head = fra.me.prev;
428 return;
429 }
430 void abstractmetamodel___MMDirectory___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
431 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMDirectory].i;
432 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
433 val_t tmp;
434 if (init_table[itpos1]) return;
435 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
436 fra.me.file = LOCATE_abstractmetamodel;
437 fra.me.line = 98;
438 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___init;
439 fra.me.has_broke = 0;
440 fra.me.REG_size = 4;
441 fra.me.REG[0] = NIT_NULL;
442 fra.me.REG[1] = NIT_NULL;
443 fra.me.REG[2] = NIT_NULL;
444 fra.me.REG[3] = NIT_NULL;
445 fra.me.REG[0] = p0;
446 fra.me.REG[1] = p1;
447 fra.me.REG[2] = p2;
448 fra.me.REG[3] = p3;
449 /* ./metamodel//abstractmetamodel.nit:99 */
450 ATTR_abstractmetamodel___MMDirectory____name(fra.me.REG[0]) = fra.me.REG[1];
451 /* ./metamodel//abstractmetamodel.nit:100 */
452 ATTR_abstractmetamodel___MMDirectory____path(fra.me.REG[0]) = fra.me.REG[2];
453 /* ./metamodel//abstractmetamodel.nit:101 */
454 ATTR_abstractmetamodel___MMDirectory____parent(fra.me.REG[0]) = fra.me.REG[3];
455 stack_frame_head = fra.me.prev;
456 init_table[itpos1] = 1;
457 return;
458 }
459 val_t abstractmetamodel___MMDirectory___full_name_for(val_t p0, val_t p1){
460 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
461 val_t REGB0;
462 val_t tmp;
463 static val_t once_value_1; /* Once value */
464 static val_t once_value_2; /* Once value */
465 static val_t once_value_3; /* Once value */
466 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
467 fra.me.file = LOCATE_abstractmetamodel;
468 fra.me.line = 104;
469 fra.me.meth = LOCATE_abstractmetamodel___MMDirectory___full_name_for;
470 fra.me.has_broke = 0;
471 fra.me.REG_size = 4;
472 fra.me.REG[0] = NIT_NULL;
473 fra.me.REG[1] = NIT_NULL;
474 fra.me.REG[2] = NIT_NULL;
475 fra.me.REG[3] = NIT_NULL;
476 fra.me.REG[0] = p0;
477 fra.me.REG[1] = p1;
478 REGB0 = TAG_Int(5);
479 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
480 /* ./metamodel//abstractmetamodel.nit:106 */
481 if (!once_value_1) {
482 fra.me.REG[3] = BOX_NativeString("");
483 REGB0 = TAG_Int(0);
484 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
485 once_value_1 = fra.me.REG[3];
486 register_static_object(&once_value_1);
487 } else fra.me.REG[3] = once_value_1;
488 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
489 fra.me.REG[0] = CALL_abstractmetamodel___MMDirectory___name(fra.me.REG[0])(fra.me.REG[0]);
490 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
491 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
492 if (!once_value_2) {
493 fra.me.REG[0] = BOX_NativeString("/");
494 REGB0 = TAG_Int(1);
495 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
496 once_value_2 = fra.me.REG[0];
497 register_static_object(&once_value_2);
498 } else fra.me.REG[0] = once_value_2;
499 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
500 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
501 array___Array___add(fra.me.REG[2], fra.me.REG[1]);
502 if (!once_value_3) {
503 fra.me.REG[1] = BOX_NativeString("");
504 REGB0 = TAG_Int(0);
505 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
506 once_value_3 = fra.me.REG[1];
507 register_static_object(&once_value_3);
508 } else fra.me.REG[1] = once_value_3;
509 array___Array___add(fra.me.REG[2], fra.me.REG[1]);
510 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
511 fra.me.REG[2] = CALL_symbol___String___to_symbol(fra.me.REG[2])(fra.me.REG[2]);
512 goto label4;
513 label4: while(0);
514 stack_frame_head = fra.me.prev;
515 return fra.me.REG[2];
516 }
517 val_t abstractmetamodel___MMModule___to_s(val_t p0){
518 struct {struct stack_frame_t me;} fra;
519 val_t tmp;
520 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
521 fra.me.file = LOCATE_abstractmetamodel;
522 fra.me.line = 234;
523 fra.me.meth = LOCATE_abstractmetamodel___MMModule___to_s;
524 fra.me.has_broke = 0;
525 fra.me.REG_size = 1;
526 fra.me.REG[0] = NIT_NULL;
527 fra.me.REG[0] = p0;
528 fra.me.REG[0] = CALL_abstractmetamodel___MMModule___name(fra.me.REG[0])(fra.me.REG[0]);
529 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
530 /* ./metamodel//abstractmetamodel.nit:234 */
531 goto label1;
532 label1: while(0);
533 stack_frame_head = fra.me.prev;
534 return fra.me.REG[0];
535 }
536 val_t abstractmetamodel___MMModule___context(val_t p0){
537 struct {struct stack_frame_t me;} fra;
538 val_t REGB0;
539 val_t tmp;
540 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
541 fra.me.file = LOCATE_abstractmetamodel;
542 fra.me.line = 112;
543 fra.me.meth = LOCATE_abstractmetamodel___MMModule___context;
544 fra.me.has_broke = 0;
545 fra.me.REG_size = 1;
546 fra.me.REG[0] = NIT_NULL;
547 fra.me.REG[0] = p0;
548 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____context(fra.me.REG[0])!=NIT_NULL);
549 /* ./metamodel//abstractmetamodel.nit:112 */
550 if (UNTAG_Bool(REGB0)) {
551 } else {
552 fprintf(stderr, "Uninitialized attribute %s", "_context");
553 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 112);
554 nit_exit(1);
555 }
556 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____context(fra.me.REG[0]);
557 stack_frame_head = fra.me.prev;
558 return fra.me.REG[0];
559 }
560 val_t abstractmetamodel___MMModule___name(val_t p0){
561 struct {struct stack_frame_t me;} fra;
562 val_t REGB0;
563 val_t tmp;
564 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
565 fra.me.file = LOCATE_abstractmetamodel;
566 fra.me.line = 115;
567 fra.me.meth = LOCATE_abstractmetamodel___MMModule___name;
568 fra.me.has_broke = 0;
569 fra.me.REG_size = 1;
570 fra.me.REG[0] = NIT_NULL;
571 fra.me.REG[0] = p0;
572 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____name(fra.me.REG[0])!=NIT_NULL);
573 /* ./metamodel//abstractmetamodel.nit:115 */
574 if (UNTAG_Bool(REGB0)) {
575 } else {
576 fprintf(stderr, "Uninitialized attribute %s", "_name");
577 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 115);
578 nit_exit(1);
579 }
580 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____name(fra.me.REG[0]);
581 stack_frame_head = fra.me.prev;
582 return fra.me.REG[0];
583 }
584 val_t abstractmetamodel___MMModule___full_name(val_t p0){
585 struct {struct stack_frame_t me;} fra;
586 val_t REGB0;
587 val_t tmp;
588 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
589 fra.me.file = LOCATE_abstractmetamodel;
590 fra.me.line = 118;
591 fra.me.meth = LOCATE_abstractmetamodel___MMModule___full_name;
592 fra.me.has_broke = 0;
593 fra.me.REG_size = 1;
594 fra.me.REG[0] = NIT_NULL;
595 fra.me.REG[0] = p0;
596 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____full_name(fra.me.REG[0])!=NIT_NULL);
597 /* ./metamodel//abstractmetamodel.nit:118 */
598 if (UNTAG_Bool(REGB0)) {
599 } else {
600 fprintf(stderr, "Uninitialized attribute %s", "_full_name");
601 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 118);
602 nit_exit(1);
603 }
604 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____full_name(fra.me.REG[0]);
605 stack_frame_head = fra.me.prev;
606 return fra.me.REG[0];
607 }
608 val_t abstractmetamodel___MMModule___directory(val_t p0){
609 struct {struct stack_frame_t me;} fra;
610 val_t REGB0;
611 val_t tmp;
612 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
613 fra.me.file = LOCATE_abstractmetamodel;
614 fra.me.line = 121;
615 fra.me.meth = LOCATE_abstractmetamodel___MMModule___directory;
616 fra.me.has_broke = 0;
617 fra.me.REG_size = 1;
618 fra.me.REG[0] = NIT_NULL;
619 fra.me.REG[0] = p0;
620 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____directory(fra.me.REG[0])!=NIT_NULL);
621 /* ./metamodel//abstractmetamodel.nit:121 */
622 if (UNTAG_Bool(REGB0)) {
623 } else {
624 fprintf(stderr, "Uninitialized attribute %s", "_directory");
625 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 121);
626 nit_exit(1);
627 }
628 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____directory(fra.me.REG[0]);
629 stack_frame_head = fra.me.prev;
630 return fra.me.REG[0];
631 }
632 val_t abstractmetamodel___MMModule___location(val_t p0){
633 struct {struct stack_frame_t me;} fra;
634 val_t REGB0;
635 val_t tmp;
636 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
637 fra.me.file = LOCATE_abstractmetamodel;
638 fra.me.line = 124;
639 fra.me.meth = LOCATE_abstractmetamodel___MMModule___location;
640 fra.me.has_broke = 0;
641 fra.me.REG_size = 1;
642 fra.me.REG[0] = NIT_NULL;
643 fra.me.REG[0] = p0;
644 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____location(fra.me.REG[0])!=NIT_NULL);
645 /* ./metamodel//abstractmetamodel.nit:124 */
646 if (UNTAG_Bool(REGB0)) {
647 } else {
648 fprintf(stderr, "Uninitialized attribute %s", "_location");
649 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 124);
650 nit_exit(1);
651 }
652 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____location(fra.me.REG[0]);
653 stack_frame_head = fra.me.prev;
654 return fra.me.REG[0];
655 }
656 val_t abstractmetamodel___MMModule___mhe(val_t p0){
657 struct {struct stack_frame_t me;} fra;
658 val_t tmp;
659 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
660 fra.me.file = LOCATE_abstractmetamodel;
661 fra.me.line = 127;
662 fra.me.meth = LOCATE_abstractmetamodel___MMModule___mhe;
663 fra.me.has_broke = 0;
664 fra.me.REG_size = 1;
665 fra.me.REG[0] = NIT_NULL;
666 fra.me.REG[0] = p0;
667 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____mhe(fra.me.REG[0]);
668 /* ./metamodel//abstractmetamodel.nit:127 */
669 stack_frame_head = fra.me.prev;
670 return fra.me.REG[0];
671 }
672 val_t abstractmetamodel___MMModule___global_classes(val_t p0){
673 struct {struct stack_frame_t me;} fra;
674 val_t REGB0;
675 val_t tmp;
676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
677 fra.me.file = LOCATE_abstractmetamodel;
678 fra.me.line = 130;
679 fra.me.meth = LOCATE_abstractmetamodel___MMModule___global_classes;
680 fra.me.has_broke = 0;
681 fra.me.REG_size = 1;
682 fra.me.REG[0] = NIT_NULL;
683 fra.me.REG[0] = p0;
684 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_classes(fra.me.REG[0])!=NIT_NULL);
685 /* ./metamodel//abstractmetamodel.nit:130 */
686 if (UNTAG_Bool(REGB0)) {
687 } else {
688 fprintf(stderr, "Uninitialized attribute %s", "_global_classes");
689 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 130);
690 nit_exit(1);
691 }
692 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____global_classes(fra.me.REG[0]);
693 stack_frame_head = fra.me.prev;
694 return fra.me.REG[0];
695 }
696 val_t abstractmetamodel___MMModule___local_classes(val_t p0){
697 struct {struct stack_frame_t me;} fra;
698 val_t REGB0;
699 val_t tmp;
700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
701 fra.me.file = LOCATE_abstractmetamodel;
702 fra.me.line = 133;
703 fra.me.meth = LOCATE_abstractmetamodel___MMModule___local_classes;
704 fra.me.has_broke = 0;
705 fra.me.REG_size = 1;
706 fra.me.REG[0] = NIT_NULL;
707 fra.me.REG[0] = p0;
708 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____local_classes(fra.me.REG[0])!=NIT_NULL);
709 /* ./metamodel//abstractmetamodel.nit:133 */
710 if (UNTAG_Bool(REGB0)) {
711 } else {
712 fprintf(stderr, "Uninitialized attribute %s", "_local_classes");
713 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 133);
714 nit_exit(1);
715 }
716 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____local_classes(fra.me.REG[0]);
717 stack_frame_head = fra.me.prev;
718 return fra.me.REG[0];
719 }
720 val_t abstractmetamodel___MMModule___class_specialization_hierarchy(val_t p0){
721 struct {struct stack_frame_t me;} fra;
722 val_t REGB0;
723 val_t tmp;
724 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
725 fra.me.file = LOCATE_abstractmetamodel;
726 fra.me.line = 136;
727 fra.me.meth = LOCATE_abstractmetamodel___MMModule___class_specialization_hierarchy;
728 fra.me.has_broke = 0;
729 fra.me.REG_size = 1;
730 fra.me.REG[0] = NIT_NULL;
731 fra.me.REG[0] = p0;
732 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0])!=NIT_NULL);
733 /* ./metamodel//abstractmetamodel.nit:136 */
734 if (UNTAG_Bool(REGB0)) {
735 } else {
736 fprintf(stderr, "Uninitialized attribute %s", "_class_specialization_hierarchy");
737 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 136);
738 nit_exit(1);
739 }
740 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0]);
741 stack_frame_head = fra.me.prev;
742 return fra.me.REG[0];
743 }
744 val_t abstractmetamodel___MMModule___explicit_imported_modules(val_t p0){
745 struct {struct stack_frame_t me;} fra;
746 val_t REGB0;
747 val_t tmp;
748 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
749 fra.me.file = LOCATE_abstractmetamodel;
750 fra.me.line = 148;
751 fra.me.meth = LOCATE_abstractmetamodel___MMModule___explicit_imported_modules;
752 fra.me.has_broke = 0;
753 fra.me.REG_size = 1;
754 fra.me.REG[0] = NIT_NULL;
755 fra.me.REG[0] = p0;
756 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____explicit_imported_modules(fra.me.REG[0])!=NIT_NULL);
757 /* ./metamodel//abstractmetamodel.nit:148 */
758 if (UNTAG_Bool(REGB0)) {
759 } else {
760 fprintf(stderr, "Uninitialized attribute %s", "_explicit_imported_modules");
761 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 148);
762 nit_exit(1);
763 }
764 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____explicit_imported_modules(fra.me.REG[0]);
765 stack_frame_head = fra.me.prev;
766 return fra.me.REG[0];
767 }
768 void abstractmetamodel___MMModule___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
769 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMModule].i;
770 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
771 val_t tmp;
772 if (init_table[itpos2]) return;
773 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
774 fra.me.file = LOCATE_abstractmetamodel;
775 fra.me.line = 157;
776 fra.me.meth = LOCATE_abstractmetamodel___MMModule___init;
777 fra.me.has_broke = 0;
778 fra.me.REG_size = 5;
779 fra.me.REG[0] = NIT_NULL;
780 fra.me.REG[1] = NIT_NULL;
781 fra.me.REG[2] = NIT_NULL;
782 fra.me.REG[3] = NIT_NULL;
783 fra.me.REG[4] = NIT_NULL;
784 fra.me.REG[0] = p0;
785 fra.me.REG[1] = p1;
786 fra.me.REG[2] = p2;
787 fra.me.REG[3] = p3;
788 fra.me.REG[4] = p4;
789 /* ./metamodel//abstractmetamodel.nit:159 */
790 ATTR_abstractmetamodel___MMModule____name(fra.me.REG[0]) = fra.me.REG[1];
791 /* ./metamodel//abstractmetamodel.nit:160 */
792 ATTR_abstractmetamodel___MMModule____directory(fra.me.REG[0]) = fra.me.REG[2];
793 /* ./metamodel//abstractmetamodel.nit:161 */
794 ATTR_abstractmetamodel___MMModule____context(fra.me.REG[0]) = fra.me.REG[3];
795 fra.me.REG[1] = CALL_abstractmetamodel___MMDirectory___full_name_for(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
796 /* ./metamodel//abstractmetamodel.nit:162 */
797 ATTR_abstractmetamodel___MMModule____full_name(fra.me.REG[0]) = fra.me.REG[1];
798 /* ./metamodel//abstractmetamodel.nit:163 */
799 ATTR_abstractmetamodel___MMModule____location(fra.me.REG[0]) = fra.me.REG[4];
800 stack_frame_head = fra.me.prev;
801 init_table[itpos2] = 1;
802 return;
803 }
804 void abstractmetamodel___MMModule___add_super_module(val_t p0, val_t p1, val_t p2){
805 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
806 val_t REGB0;
807 val_t REGB1;
808 val_t REGB2;
809 val_t tmp;
810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
811 fra.me.file = LOCATE_abstractmetamodel;
812 fra.me.line = 166;
813 fra.me.meth = LOCATE_abstractmetamodel___MMModule___add_super_module;
814 fra.me.has_broke = 0;
815 fra.me.REG_size = 4;
816 fra.me.REG[0] = NIT_NULL;
817 fra.me.REG[1] = NIT_NULL;
818 fra.me.REG[2] = NIT_NULL;
819 fra.me.REG[3] = NIT_NULL;
820 fra.me.REG[0] = p0;
821 fra.me.REG[1] = p1;
822 REGB0 = p2;
823 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____explicit_imported_modules(fra.me.REG[0])!=NIT_NULL);
824 /* ./metamodel//abstractmetamodel.nit:172 */
825 if (UNTAG_Bool(REGB1)) {
826 } else {
827 fprintf(stderr, "Uninitialized attribute %s", "_explicit_imported_modules");
828 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 172);
829 nit_exit(1);
830 }
831 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____explicit_imported_modules(fra.me.REG[0]);
832 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
833 REGB1 = TAG_Int(0);
834 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
835 /* ./metamodel//abstractmetamodel.nit:173 */
836 if (UNTAG_Bool(REGB2)) {
837 } else {
838 REGB1 = TAG_Bool((REGB0)==(REGB1));
839 REGB2 = REGB1;
840 /* ./metamodel//abstractmetamodel.nit:173 */
841 }
842 if (UNTAG_Bool(REGB2)) {
843 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0])!=NIT_NULL);
844 /* ./metamodel//abstractmetamodel.nit:174 */
845 if (UNTAG_Bool(REGB2)) {
846 } else {
847 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
848 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 174);
849 nit_exit(1);
850 }
851 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0]);
852 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
853 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0])!=NIT_NULL);
854 /* ./metamodel//abstractmetamodel.nit:175 */
855 if (UNTAG_Bool(REGB2)) {
856 } else {
857 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
858 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 175);
859 nit_exit(1);
860 }
861 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0]);
862 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1])!=NIT_NULL);
863 if (UNTAG_Bool(REGB2)) {
864 } else {
865 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
866 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 175);
867 nit_exit(1);
868 }
869 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1]);
870 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
871 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0])!=NIT_NULL);
872 /* ./metamodel//abstractmetamodel.nit:176 */
873 if (UNTAG_Bool(REGB2)) {
874 } else {
875 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
876 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 176);
877 nit_exit(1);
878 }
879 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0]);
880 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1])!=NIT_NULL);
881 if (UNTAG_Bool(REGB2)) {
882 } else {
883 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
884 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 176);
885 nit_exit(1);
886 }
887 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1]);
888 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
889 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0])!=NIT_NULL);
890 /* ./metamodel//abstractmetamodel.nit:177 */
891 if (UNTAG_Bool(REGB2)) {
892 } else {
893 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
894 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 177);
895 nit_exit(1);
896 }
897 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0]);
898 REGB2 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[1])!=NIT_NULL);
899 if (UNTAG_Bool(REGB2)) {
900 } else {
901 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
902 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 177);
903 nit_exit(1);
904 }
905 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[1]);
906 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
907 } else {
908 REGB2 = TAG_Int(1);
909 REGB1 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB2));
910 /* ./metamodel//abstractmetamodel.nit:178 */
911 if (UNTAG_Bool(REGB1)) {
912 } else {
913 REGB2 = TAG_Bool((REGB0)==(REGB2));
914 REGB1 = REGB2;
915 /* ./metamodel//abstractmetamodel.nit:178 */
916 }
917 if (UNTAG_Bool(REGB1)) {
918 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0])!=NIT_NULL);
919 /* ./metamodel//abstractmetamodel.nit:179 */
920 if (UNTAG_Bool(REGB1)) {
921 } else {
922 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
923 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 179);
924 nit_exit(1);
925 }
926 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0]);
927 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
928 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0])!=NIT_NULL);
929 /* ./metamodel//abstractmetamodel.nit:180 */
930 if (UNTAG_Bool(REGB1)) {
931 } else {
932 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
933 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 180);
934 nit_exit(1);
935 }
936 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0]);
937 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1])!=NIT_NULL);
938 if (UNTAG_Bool(REGB1)) {
939 } else {
940 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
941 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 180);
942 nit_exit(1);
943 }
944 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1]);
945 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
946 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0])!=NIT_NULL);
947 /* ./metamodel//abstractmetamodel.nit:181 */
948 if (UNTAG_Bool(REGB1)) {
949 } else {
950 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
951 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 181);
952 nit_exit(1);
953 }
954 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0]);
955 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1])!=NIT_NULL);
956 if (UNTAG_Bool(REGB1)) {
957 } else {
958 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
959 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 181);
960 nit_exit(1);
961 }
962 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1]);
963 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
964 } else {
965 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0])!=NIT_NULL);
966 /* ./metamodel//abstractmetamodel.nit:183 */
967 if (UNTAG_Bool(REGB1)) {
968 } else {
969 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
970 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 183);
971 nit_exit(1);
972 }
973 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0]);
974 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
975 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0])!=NIT_NULL);
976 /* ./metamodel//abstractmetamodel.nit:184 */
977 if (UNTAG_Bool(REGB1)) {
978 } else {
979 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
980 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 184);
981 nit_exit(1);
982 }
983 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0]);
984 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1])!=NIT_NULL);
985 if (UNTAG_Bool(REGB1)) {
986 } else {
987 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
988 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 184);
989 nit_exit(1);
990 }
991 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[1]);
992 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
993 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0])!=NIT_NULL);
994 /* ./metamodel//abstractmetamodel.nit:185 */
995 if (UNTAG_Bool(REGB1)) {
996 } else {
997 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
998 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 185);
999 nit_exit(1);
1000 }
1001 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0]);
1002 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1])!=NIT_NULL);
1003 if (UNTAG_Bool(REGB1)) {
1004 } else {
1005 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
1006 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 185);
1007 nit_exit(1);
1008 }
1009 fra.me.REG[1] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[1]);
1010 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1011 }
1012 }
1013 stack_frame_head = fra.me.prev;
1014 return;
1015 }
1016 val_t abstractmetamodel___MMModule___visibility_for(val_t p0, val_t p1){
1017 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1018 val_t REGB0;
1019 val_t REGB1;
1020 val_t tmp;
1021 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1022 fra.me.file = LOCATE_abstractmetamodel;
1023 fra.me.line = 190;
1024 fra.me.meth = LOCATE_abstractmetamodel___MMModule___visibility_for;
1025 fra.me.has_broke = 0;
1026 fra.me.REG_size = 3;
1027 fra.me.REG[0] = NIT_NULL;
1028 fra.me.REG[1] = NIT_NULL;
1029 fra.me.REG[2] = NIT_NULL;
1030 fra.me.REG[0] = p0;
1031 fra.me.REG[1] = p1;
1032 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
1033 /* ./metamodel//abstractmetamodel.nit:197 */
1034 if (UNTAG_Bool(REGB0)) {
1035 } else {
1036 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1037 REGB0 = REGB1;
1038 }
1039 if (UNTAG_Bool(REGB0)) {
1040 REGB0 = TAG_Bool(true);
1041 } else {
1042 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0])!=NIT_NULL);
1043 if (UNTAG_Bool(REGB1)) {
1044 } else {
1045 fprintf(stderr, "Uninitialized attribute %s", "_intrude_modules");
1046 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 197);
1047 nit_exit(1);
1048 }
1049 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____intrude_modules(fra.me.REG[0]);
1050 REGB1 = CALL_abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1051 REGB0 = REGB1;
1052 }
1053 if (UNTAG_Bool(REGB0)) {
1054 REGB0 = TAG_Int(3);
1055 /* ./metamodel//abstractmetamodel.nit:198 */
1056 goto label1;
1057 } else {
1058 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0])!=NIT_NULL);
1059 /* ./metamodel//abstractmetamodel.nit:199 */
1060 if (UNTAG_Bool(REGB1)) {
1061 } else {
1062 fprintf(stderr, "Uninitialized attribute %s", "_public_modules");
1063 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 199);
1064 nit_exit(1);
1065 }
1066 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____public_modules(fra.me.REG[0]);
1067 REGB1 = CALL_abstract_collection___Collection___has(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1068 if (UNTAG_Bool(REGB1)) {
1069 REGB1 = TAG_Int(2);
1070 REGB0 = REGB1;
1071 /* ./metamodel//abstractmetamodel.nit:200 */
1072 goto label1;
1073 } else {
1074 REGB1 = TAG_Bool(ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0])!=NIT_NULL);
1075 /* ./metamodel//abstractmetamodel.nit:201 */
1076 if (UNTAG_Bool(REGB1)) {
1077 } else {
1078 fprintf(stderr, "Uninitialized attribute %s", "_private_modules");
1079 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 201);
1080 nit_exit(1);
1081 }
1082 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____private_modules(fra.me.REG[0]);
1083 REGB1 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1084 if (UNTAG_Bool(REGB1)) {
1085 REGB1 = TAG_Int(1);
1086 REGB0 = REGB1;
1087 /* ./metamodel//abstractmetamodel.nit:202 */
1088 goto label1;
1089 } else {
1090 REGB1 = TAG_Int(0);
1091 REGB0 = REGB1;
1092 /* ./metamodel//abstractmetamodel.nit:204 */
1093 goto label1;
1094 }
1095 }
1096 }
1097 label1: while(0);
1098 stack_frame_head = fra.me.prev;
1099 return REGB0;
1100 }
1101 val_t abstractmetamodel___MMModule_____bra(val_t p0, val_t p1){
1102 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1103 val_t REGB0;
1104 val_t tmp;
1105 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1106 fra.me.file = LOCATE_abstractmetamodel;
1107 fra.me.line = 209;
1108 fra.me.meth = LOCATE_abstractmetamodel___MMModule_____bra;
1109 fra.me.has_broke = 0;
1110 fra.me.REG_size = 2;
1111 fra.me.REG[0] = NIT_NULL;
1112 fra.me.REG[1] = NIT_NULL;
1113 fra.me.REG[0] = p0;
1114 fra.me.REG[1] = p1;
1115 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____local_class_by_global(fra.me.REG[0])!=NIT_NULL);
1116 /* ./metamodel//abstractmetamodel.nit:212 */
1117 if (UNTAG_Bool(REGB0)) {
1118 } else {
1119 fprintf(stderr, "Uninitialized attribute %s", "_local_class_by_global");
1120 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 212);
1121 nit_exit(1);
1122 }
1123 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____local_class_by_global(fra.me.REG[0]);
1124 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1125 goto label1;
1126 label1: while(0);
1127 stack_frame_head = fra.me.prev;
1128 return fra.me.REG[1];
1129 }
1130 val_t abstractmetamodel___MMModule___class_by_name(val_t p0, val_t p1){
1131 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1132 val_t REGB0;
1133 val_t tmp;
1134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1135 fra.me.file = LOCATE_abstractmetamodel;
1136 fra.me.line = 215;
1137 fra.me.meth = LOCATE_abstractmetamodel___MMModule___class_by_name;
1138 fra.me.has_broke = 0;
1139 fra.me.REG_size = 3;
1140 fra.me.REG[0] = NIT_NULL;
1141 fra.me.REG[1] = NIT_NULL;
1142 fra.me.REG[2] = NIT_NULL;
1143 fra.me.REG[0] = p0;
1144 fra.me.REG[1] = p1;
1145 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0])!=NIT_NULL);
1146 /* ./metamodel//abstractmetamodel.nit:218 */
1147 if (UNTAG_Bool(REGB0)) {
1148 } else {
1149 fprintf(stderr, "Uninitialized attribute %s", "_global_class_by_name");
1150 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 218);
1151 nit_exit(1);
1152 }
1153 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0]);
1154 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1155 fra.me.REG[1] = CALL_abstractmetamodel___MMModule_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1156 goto label1;
1157 label1: while(0);
1158 stack_frame_head = fra.me.prev;
1159 return fra.me.REG[1];
1160 }
1161 val_t abstractmetamodel___MMModule___has_global_class_named(val_t p0, val_t p1){
1162 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1163 val_t REGB0;
1164 val_t tmp;
1165 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1166 fra.me.file = LOCATE_abstractmetamodel;
1167 fra.me.line = 221;
1168 fra.me.meth = LOCATE_abstractmetamodel___MMModule___has_global_class_named;
1169 fra.me.has_broke = 0;
1170 fra.me.REG_size = 2;
1171 fra.me.REG[0] = NIT_NULL;
1172 fra.me.REG[1] = NIT_NULL;
1173 fra.me.REG[0] = p0;
1174 fra.me.REG[1] = p1;
1175 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0])!=NIT_NULL);
1176 /* ./metamodel//abstractmetamodel.nit:224 */
1177 if (UNTAG_Bool(REGB0)) {
1178 } else {
1179 fprintf(stderr, "Uninitialized attribute %s", "_global_class_by_name");
1180 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 224);
1181 nit_exit(1);
1182 }
1183 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0]);
1184 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1185 goto label1;
1186 label1: while(0);
1187 stack_frame_head = fra.me.prev;
1188 return REGB0;
1189 }
1190 val_t abstractmetamodel___MMModule___global_class_named(val_t p0, val_t p1){
1191 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1192 val_t REGB0;
1193 val_t tmp;
1194 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1195 fra.me.file = LOCATE_abstractmetamodel;
1196 fra.me.line = 227;
1197 fra.me.meth = LOCATE_abstractmetamodel___MMModule___global_class_named;
1198 fra.me.has_broke = 0;
1199 fra.me.REG_size = 2;
1200 fra.me.REG[0] = NIT_NULL;
1201 fra.me.REG[1] = NIT_NULL;
1202 fra.me.REG[0] = p0;
1203 fra.me.REG[1] = p1;
1204 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0])!=NIT_NULL);
1205 /* ./metamodel//abstractmetamodel.nit:231 */
1206 if (UNTAG_Bool(REGB0)) {
1207 } else {
1208 fprintf(stderr, "Uninitialized attribute %s", "_global_class_by_name");
1209 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 231);
1210 nit_exit(1);
1211 }
1212 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[0]);
1213 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1214 goto label1;
1215 label1: while(0);
1216 stack_frame_head = fra.me.prev;
1217 return fra.me.REG[1];
1218 }
1219 void abstractmetamodel___MMModule___set_supers_class(val_t p0, val_t p1, val_t p2){
1220 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1221 val_t REGB0;
1222 val_t tmp;
1223 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1224 fra.me.file = LOCATE_abstractmetamodel;
1225 fra.me.line = 236;
1226 fra.me.meth = LOCATE_abstractmetamodel___MMModule___set_supers_class;
1227 fra.me.has_broke = 0;
1228 fra.me.REG_size = 4;
1229 fra.me.REG[0] = NIT_NULL;
1230 fra.me.REG[1] = NIT_NULL;
1231 fra.me.REG[2] = NIT_NULL;
1232 fra.me.REG[3] = NIT_NULL;
1233 fra.me.REG[0] = p0;
1234 fra.me.REG[1] = p1;
1235 fra.me.REG[2] = p2;
1236 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0])!=NIT_NULL);
1237 /* ./metamodel//abstractmetamodel.nit:239 */
1238 if (UNTAG_Bool(REGB0)) {
1239 } else {
1240 fprintf(stderr, "Uninitialized attribute %s", "_class_specialization_hierarchy");
1241 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 239);
1242 nit_exit(1);
1243 }
1244 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0]);
1245 fra.me.REG[2] = CALL_partial_order___PartialOrder___select_smallests(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1246 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0])!=NIT_NULL);
1247 /* ./metamodel//abstractmetamodel.nit:240 */
1248 if (UNTAG_Bool(REGB0)) {
1249 } else {
1250 fprintf(stderr, "Uninitialized attribute %s", "_class_specialization_hierarchy");
1251 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 240);
1252 nit_exit(1);
1253 }
1254 fra.me.REG[3] = ATTR_abstractmetamodel___MMModule____class_specialization_hierarchy(fra.me.REG[0]);
1255 fra.me.REG[3] = CALL_partial_order___PartialOrder___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1], fra.me.REG[2]);
1256 ATTR_abstractmetamodel___MMLocalClass____cshe(fra.me.REG[1]) = fra.me.REG[3];
1257 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___crhe(fra.me.REG[1])(fra.me.REG[1]);
1258 fra.me.REG[3] = CALL_partial_order___PartialOrderElement___direct_greaters(fra.me.REG[3])(fra.me.REG[3]);
1259 fra.me.REG[3] = CALL_array___Collection___to_a(fra.me.REG[3])(fra.me.REG[3]);
1260 /* ./metamodel//abstractmetamodel.nit:242 */
1261 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[2]);
1262 fra.me.REG[0] = CALL_abstractmetamodel___MMModule___context(fra.me.REG[0])(fra.me.REG[0]);
1263 /* ./metamodel//abstractmetamodel.nit:243 */
1264 CALL_abstractmetamodel___MMContext___add_local_class(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
1265 stack_frame_head = fra.me.prev;
1266 return;
1267 }
1268 void abstractmetamodel___MMModule___register_global_class(val_t p0, val_t p1){
1269 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1270 val_t REGB0;
1271 val_t tmp;
1272 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1273 fra.me.file = LOCATE_abstractmetamodel;
1274 fra.me.line = 246;
1275 fra.me.meth = LOCATE_abstractmetamodel___MMModule___register_global_class;
1276 fra.me.has_broke = 0;
1277 fra.me.REG_size = 3;
1278 fra.me.REG[0] = NIT_NULL;
1279 fra.me.REG[1] = NIT_NULL;
1280 fra.me.REG[2] = NIT_NULL;
1281 fra.me.REG[0] = p0;
1282 fra.me.REG[1] = p1;
1283 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____local_class_by_global(fra.me.REG[0])!=NIT_NULL);
1284 /* ./metamodel//abstractmetamodel.nit:249 */
1285 if (UNTAG_Bool(REGB0)) {
1286 } else {
1287 fprintf(stderr, "Uninitialized attribute %s", "_local_class_by_global");
1288 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 249);
1289 nit_exit(1);
1290 }
1291 fra.me.REG[0] = ATTR_abstractmetamodel___MMModule____local_class_by_global(fra.me.REG[0]);
1292 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
1293 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2], fra.me.REG[1]);
1294 stack_frame_head = fra.me.prev;
1295 return;
1296 }
1297 val_t abstractmetamodel___MMGlobalClass___to_s(val_t p0){
1298 struct {struct stack_frame_t me;} fra;
1299 val_t tmp;
1300 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1301 fra.me.file = LOCATE_abstractmetamodel;
1302 fra.me.line = 280;
1303 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___to_s;
1304 fra.me.has_broke = 0;
1305 fra.me.REG_size = 1;
1306 fra.me.REG[0] = NIT_NULL;
1307 fra.me.REG[0] = p0;
1308 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
1309 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1310 /* ./metamodel//abstractmetamodel.nit:282 */
1311 goto label1;
1312 label1: while(0);
1313 stack_frame_head = fra.me.prev;
1314 return fra.me.REG[0];
1315 }
1316 val_t abstractmetamodel___MMGlobalClass___intro(val_t p0){
1317 struct {struct stack_frame_t me;} fra;
1318 val_t REGB0;
1319 val_t tmp;
1320 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1321 fra.me.file = LOCATE_abstractmetamodel;
1322 fra.me.line = 254;
1323 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___intro;
1324 fra.me.has_broke = 0;
1325 fra.me.REG_size = 1;
1326 fra.me.REG[0] = NIT_NULL;
1327 fra.me.REG[0] = p0;
1328 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____intro(fra.me.REG[0])!=NIT_NULL);
1329 /* ./metamodel//abstractmetamodel.nit:254 */
1330 if (UNTAG_Bool(REGB0)) {
1331 } else {
1332 fprintf(stderr, "Uninitialized attribute %s", "_intro");
1333 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 254);
1334 nit_exit(1);
1335 }
1336 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalClass____intro(fra.me.REG[0]);
1337 stack_frame_head = fra.me.prev;
1338 return fra.me.REG[0];
1339 }
1340 val_t abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(val_t p0){
1341 struct {struct stack_frame_t me;} fra;
1342 val_t REGB0;
1343 val_t tmp;
1344 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1345 fra.me.file = LOCATE_abstractmetamodel;
1346 fra.me.line = 257;
1347 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy;
1348 fra.me.has_broke = 0;
1349 fra.me.REG_size = 1;
1350 fra.me.REG[0] = NIT_NULL;
1351 fra.me.REG[0] = p0;
1352 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(fra.me.REG[0])!=NIT_NULL);
1353 /* ./metamodel//abstractmetamodel.nit:257 */
1354 if (UNTAG_Bool(REGB0)) {
1355 } else {
1356 fprintf(stderr, "Uninitialized attribute %s", "_class_refinement_hierarchy");
1357 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 257);
1358 nit_exit(1);
1359 }
1360 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(fra.me.REG[0]);
1361 stack_frame_head = fra.me.prev;
1362 return fra.me.REG[0];
1363 }
1364 void abstractmetamodel___MMGlobalClass___init(val_t p0, val_t p1, int* init_table){
1365 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMGlobalClass].i;
1366 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1367 val_t tmp;
1368 if (init_table[itpos3]) return;
1369 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1370 fra.me.file = LOCATE_abstractmetamodel;
1371 fra.me.line = 261;
1372 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___init;
1373 fra.me.has_broke = 0;
1374 fra.me.REG_size = 2;
1375 fra.me.REG[0] = NIT_NULL;
1376 fra.me.REG[1] = NIT_NULL;
1377 fra.me.REG[0] = p0;
1378 fra.me.REG[1] = p1;
1379 /* ./metamodel//abstractmetamodel.nit:264 */
1380 ATTR_abstractmetamodel___MMGlobalClass____intro(fra.me.REG[0]) = fra.me.REG[1];
1381 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___context(fra.me.REG[1])(fra.me.REG[1]);
1382 /* ./metamodel//abstractmetamodel.nit:265 */
1383 CALL_abstractmetamodel___MMContext___add_global_class(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1384 stack_frame_head = fra.me.prev;
1385 init_table[itpos3] = 1;
1386 return;
1387 }
1388 val_t abstractmetamodel___MMGlobalClass___name(val_t p0){
1389 struct {struct stack_frame_t me;} fra;
1390 val_t tmp;
1391 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1392 fra.me.file = LOCATE_abstractmetamodel;
1393 fra.me.line = 268;
1394 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___name;
1395 fra.me.has_broke = 0;
1396 fra.me.REG_size = 1;
1397 fra.me.REG[0] = NIT_NULL;
1398 fra.me.REG[0] = p0;
1399 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
1400 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
1401 /* ./metamodel//abstractmetamodel.nit:271 */
1402 goto label1;
1403 label1: while(0);
1404 stack_frame_head = fra.me.prev;
1405 return fra.me.REG[0];
1406 }
1407 val_t abstractmetamodel___MMGlobalClass___module(val_t p0){
1408 struct {struct stack_frame_t me;} fra;
1409 val_t tmp;
1410 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1411 fra.me.file = LOCATE_abstractmetamodel;
1412 fra.me.line = 274;
1413 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___module;
1414 fra.me.has_broke = 0;
1415 fra.me.REG_size = 1;
1416 fra.me.REG[0] = NIT_NULL;
1417 fra.me.REG[0] = p0;
1418 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___intro(fra.me.REG[0])(fra.me.REG[0]);
1419 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[0])(fra.me.REG[0]);
1420 /* ./metamodel//abstractmetamodel.nit:277 */
1421 goto label1;
1422 label1: while(0);
1423 stack_frame_head = fra.me.prev;
1424 return fra.me.REG[0];
1425 }
1426 void abstractmetamodel___MMGlobalClass___register_local_class(val_t p0, val_t p1){
1427 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
1428 val_t REGB0;
1429 val_t REGB1;
1430 val_t tmp;
1431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1432 fra.me.file = LOCATE_abstractmetamodel;
1433 fra.me.line = 285;
1434 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___register_local_class;
1435 fra.me.has_broke = 0;
1436 fra.me.REG_size = 7;
1437 fra.me.REG[0] = NIT_NULL;
1438 fra.me.REG[1] = NIT_NULL;
1439 fra.me.REG[2] = NIT_NULL;
1440 fra.me.REG[3] = NIT_NULL;
1441 fra.me.REG[4] = NIT_NULL;
1442 fra.me.REG[5] = NIT_NULL;
1443 fra.me.REG[6] = NIT_NULL;
1444 fra.me.REG[0] = p0;
1445 fra.me.REG[1] = p1;
1446 fra.me.REG[2] = NEW_Array_array___Array___init();
1447 fra.me.REG[3] = CALL_abstractmetamodel___MMGlobalClass___class_refinement_hierarchy(fra.me.REG[0])(fra.me.REG[0]);
1448 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
1449 /* ./metamodel//abstractmetamodel.nit:289 */
1450 while(1) {
1451 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
1452 if (UNTAG_Bool(REGB0)) {
1453 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
1454 fra.me.REG[5] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[1])(fra.me.REG[1]);
1455 fra.me.REG[5] = CALL_abstractmetamodel___MMModule___mhe(fra.me.REG[5])(fra.me.REG[5]);
1456 fra.me.REG[6] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[4])(fra.me.REG[4]);
1457 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1458 /* ./metamodel//abstractmetamodel.nit:290 */
1459 if (UNTAG_Bool(REGB0)) {
1460 fprintf(stderr, "Reciever is null");
1461 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 290);
1462 nit_exit(1);
1463 }
1464 REGB0 = CALL_partial_order___PartialOrderElement_____l(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
1465 if (UNTAG_Bool(REGB0)) {
1466 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[4], COLOR_MMConcreteClass, ID_MMConcreteClass)) /*cast MMConcreteClass*/;
1467 } else {
1468 REGB1 = TAG_Bool(false);
1469 REGB0 = REGB1;
1470 }
1471 if (UNTAG_Bool(REGB0)) {
1472 /* ./metamodel//abstractmetamodel.nit:291 */
1473 array___Array___add(fra.me.REG[2], fra.me.REG[4]);
1474 }
1475 } else {
1476 /* ./metamodel//abstractmetamodel.nit:289 */
1477 goto label1;
1478 }
1479 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
1480 }
1481 label1: while(0);
1482 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(fra.me.REG[0])!=NIT_NULL);
1483 /* ./metamodel//abstractmetamodel.nit:294 */
1484 if (UNTAG_Bool(REGB0)) {
1485 } else {
1486 fprintf(stderr, "Uninitialized attribute %s", "_class_refinement_hierarchy");
1487 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 294);
1488 nit_exit(1);
1489 }
1490 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalClass____class_refinement_hierarchy(fra.me.REG[0]);
1491 fra.me.REG[2] = CALL_partial_order___PartialOrder___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
1492 ATTR_abstractmetamodel___MMLocalClass____crhe(fra.me.REG[1]) = fra.me.REG[2];
1493 stack_frame_head = fra.me.prev;
1494 return;
1495 }
1496 val_t abstractmetamodel___MMGlobalClass___is_interface(val_t p0){
1497 struct {struct stack_frame_t me;} fra;
1498 val_t REGB0;
1499 val_t tmp;
1500 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1501 fra.me.file = LOCATE_abstractmetamodel;
1502 fra.me.line = 297;
1503 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_interface;
1504 fra.me.has_broke = 0;
1505 fra.me.REG_size = 1;
1506 fra.me.REG[0] = NIT_NULL;
1507 fra.me.REG[0] = p0;
1508 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____is_interface(fra.me.REG[0])!=NIT_NULL);
1509 /* ./metamodel//abstractmetamodel.nit:297 */
1510 if (UNTAG_Bool(REGB0)) {
1511 } else {
1512 fprintf(stderr, "Uninitialized attribute %s", "_is_interface");
1513 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 297);
1514 nit_exit(1);
1515 }
1516 REGB0 = ATTR_abstractmetamodel___MMGlobalClass____is_interface(fra.me.REG[0]);
1517 stack_frame_head = fra.me.prev;
1518 return REGB0;
1519 }
1520 void abstractmetamodel___MMGlobalClass___is_interface__eq(val_t p0, val_t p1){
1521 struct {struct stack_frame_t me;} fra;
1522 val_t REGB0;
1523 val_t tmp;
1524 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1525 fra.me.file = LOCATE_abstractmetamodel;
1526 fra.me.line = 297;
1527 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_interface__eq;
1528 fra.me.has_broke = 0;
1529 fra.me.REG_size = 1;
1530 fra.me.REG[0] = NIT_NULL;
1531 fra.me.REG[0] = p0;
1532 REGB0 = p1;
1533 /* ./metamodel//abstractmetamodel.nit:297 */
1534 ATTR_abstractmetamodel___MMGlobalClass____is_interface(fra.me.REG[0]) = REGB0;
1535 stack_frame_head = fra.me.prev;
1536 return;
1537 }
1538 val_t abstractmetamodel___MMGlobalClass___is_abstract(val_t p0){
1539 struct {struct stack_frame_t me;} fra;
1540 val_t REGB0;
1541 val_t tmp;
1542 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1543 fra.me.file = LOCATE_abstractmetamodel;
1544 fra.me.line = 300;
1545 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_abstract;
1546 fra.me.has_broke = 0;
1547 fra.me.REG_size = 1;
1548 fra.me.REG[0] = NIT_NULL;
1549 fra.me.REG[0] = p0;
1550 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____is_abstract(fra.me.REG[0])!=NIT_NULL);
1551 /* ./metamodel//abstractmetamodel.nit:300 */
1552 if (UNTAG_Bool(REGB0)) {
1553 } else {
1554 fprintf(stderr, "Uninitialized attribute %s", "_is_abstract");
1555 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 300);
1556 nit_exit(1);
1557 }
1558 REGB0 = ATTR_abstractmetamodel___MMGlobalClass____is_abstract(fra.me.REG[0]);
1559 stack_frame_head = fra.me.prev;
1560 return REGB0;
1561 }
1562 void abstractmetamodel___MMGlobalClass___is_abstract__eq(val_t p0, val_t p1){
1563 struct {struct stack_frame_t me;} fra;
1564 val_t REGB0;
1565 val_t tmp;
1566 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1567 fra.me.file = LOCATE_abstractmetamodel;
1568 fra.me.line = 300;
1569 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_abstract__eq;
1570 fra.me.has_broke = 0;
1571 fra.me.REG_size = 1;
1572 fra.me.REG[0] = NIT_NULL;
1573 fra.me.REG[0] = p0;
1574 REGB0 = p1;
1575 /* ./metamodel//abstractmetamodel.nit:300 */
1576 ATTR_abstractmetamodel___MMGlobalClass____is_abstract(fra.me.REG[0]) = REGB0;
1577 stack_frame_head = fra.me.prev;
1578 return;
1579 }
1580 val_t abstractmetamodel___MMGlobalClass___is_universal(val_t p0){
1581 struct {struct stack_frame_t me;} fra;
1582 val_t REGB0;
1583 val_t tmp;
1584 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1585 fra.me.file = LOCATE_abstractmetamodel;
1586 fra.me.line = 303;
1587 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_universal;
1588 fra.me.has_broke = 0;
1589 fra.me.REG_size = 1;
1590 fra.me.REG[0] = NIT_NULL;
1591 fra.me.REG[0] = p0;
1592 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____is_universal(fra.me.REG[0])!=NIT_NULL);
1593 /* ./metamodel//abstractmetamodel.nit:303 */
1594 if (UNTAG_Bool(REGB0)) {
1595 } else {
1596 fprintf(stderr, "Uninitialized attribute %s", "_is_universal");
1597 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 303);
1598 nit_exit(1);
1599 }
1600 REGB0 = ATTR_abstractmetamodel___MMGlobalClass____is_universal(fra.me.REG[0]);
1601 stack_frame_head = fra.me.prev;
1602 return REGB0;
1603 }
1604 void abstractmetamodel___MMGlobalClass___is_universal__eq(val_t p0, val_t p1){
1605 struct {struct stack_frame_t me;} fra;
1606 val_t REGB0;
1607 val_t tmp;
1608 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1609 fra.me.file = LOCATE_abstractmetamodel;
1610 fra.me.line = 303;
1611 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_universal__eq;
1612 fra.me.has_broke = 0;
1613 fra.me.REG_size = 1;
1614 fra.me.REG[0] = NIT_NULL;
1615 fra.me.REG[0] = p0;
1616 REGB0 = p1;
1617 /* ./metamodel//abstractmetamodel.nit:303 */
1618 ATTR_abstractmetamodel___MMGlobalClass____is_universal(fra.me.REG[0]) = REGB0;
1619 stack_frame_head = fra.me.prev;
1620 return;
1621 }
1622 val_t abstractmetamodel___MMGlobalClass___visibility_level(val_t p0){
1623 struct {struct stack_frame_t me;} fra;
1624 val_t REGB0;
1625 val_t tmp;
1626 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1627 fra.me.file = LOCATE_abstractmetamodel;
1628 fra.me.line = 306;
1629 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___visibility_level;
1630 fra.me.has_broke = 0;
1631 fra.me.REG_size = 1;
1632 fra.me.REG[0] = NIT_NULL;
1633 fra.me.REG[0] = p0;
1634 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____visibility_level(fra.me.REG[0])!=NIT_NULL);
1635 /* ./metamodel//abstractmetamodel.nit:306 */
1636 if (UNTAG_Bool(REGB0)) {
1637 } else {
1638 fprintf(stderr, "Uninitialized attribute %s", "_visibility_level");
1639 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 306);
1640 nit_exit(1);
1641 }
1642 REGB0 = ATTR_abstractmetamodel___MMGlobalClass____visibility_level(fra.me.REG[0]);
1643 stack_frame_head = fra.me.prev;
1644 return REGB0;
1645 }
1646 void abstractmetamodel___MMGlobalClass___visibility_level__eq(val_t p0, val_t p1){
1647 struct {struct stack_frame_t me;} fra;
1648 val_t REGB0;
1649 val_t tmp;
1650 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1651 fra.me.file = LOCATE_abstractmetamodel;
1652 fra.me.line = 306;
1653 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___visibility_level__eq;
1654 fra.me.has_broke = 0;
1655 fra.me.REG_size = 1;
1656 fra.me.REG[0] = NIT_NULL;
1657 fra.me.REG[0] = p0;
1658 REGB0 = p1;
1659 /* ./metamodel//abstractmetamodel.nit:306 */
1660 ATTR_abstractmetamodel___MMGlobalClass____visibility_level(fra.me.REG[0]) = REGB0;
1661 stack_frame_head = fra.me.prev;
1662 return;
1663 }
1664 val_t abstractmetamodel___MMGlobalClass___is_mixin(val_t p0){
1665 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1666 val_t REGB0;
1667 val_t REGB1;
1668 val_t tmp;
1669 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1670 fra.me.file = LOCATE_abstractmetamodel;
1671 fra.me.line = 311;
1672 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___is_mixin;
1673 fra.me.has_broke = 0;
1674 fra.me.REG_size = 2;
1675 fra.me.REG[0] = NIT_NULL;
1676 fra.me.REG[1] = NIT_NULL;
1677 fra.me.REG[0] = p0;
1678 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____mixin_of(fra.me.REG[0])!=NIT_NULL);
1679 /* ./metamodel//abstractmetamodel.nit:315 */
1680 if (UNTAG_Bool(REGB0)) {
1681 } else {
1682 fprintf(stderr, "Uninitialized attribute %s", "_mixin_of");
1683 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 315);
1684 nit_exit(1);
1685 }
1686 fra.me.REG[1] = ATTR_abstractmetamodel___MMGlobalClass____mixin_of(fra.me.REG[0]);
1687 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
1688 if (UNTAG_Bool(REGB0)) {
1689 } else {
1690 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1691 REGB0 = REGB1;
1692 }
1693 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1694 goto label1;
1695 label1: while(0);
1696 stack_frame_head = fra.me.prev;
1697 return REGB0;
1698 }
1699 val_t abstractmetamodel___MMGlobalClass___mixin_of(val_t p0){
1700 struct {struct stack_frame_t me;} fra;
1701 val_t REGB0;
1702 val_t tmp;
1703 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1704 fra.me.file = LOCATE_abstractmetamodel;
1705 fra.me.line = 318;
1706 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___mixin_of;
1707 fra.me.has_broke = 0;
1708 fra.me.REG_size = 1;
1709 fra.me.REG[0] = NIT_NULL;
1710 fra.me.REG[0] = p0;
1711 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalClass____mixin_of(fra.me.REG[0])!=NIT_NULL);
1712 /* ./metamodel//abstractmetamodel.nit:318 */
1713 if (UNTAG_Bool(REGB0)) {
1714 } else {
1715 fprintf(stderr, "Uninitialized attribute %s", "_mixin_of");
1716 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 318);
1717 nit_exit(1);
1718 }
1719 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalClass____mixin_of(fra.me.REG[0]);
1720 stack_frame_head = fra.me.prev;
1721 return fra.me.REG[0];
1722 }
1723 void abstractmetamodel___MMGlobalClass___mixin_of__eq(val_t p0, val_t p1){
1724 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1725 val_t tmp;
1726 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1727 fra.me.file = LOCATE_abstractmetamodel;
1728 fra.me.line = 318;
1729 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalClass___mixin_of__eq;
1730 fra.me.has_broke = 0;
1731 fra.me.REG_size = 2;
1732 fra.me.REG[0] = NIT_NULL;
1733 fra.me.REG[1] = NIT_NULL;
1734 fra.me.REG[0] = p0;
1735 fra.me.REG[1] = p1;
1736 /* ./metamodel//abstractmetamodel.nit:318 */
1737 ATTR_abstractmetamodel___MMGlobalClass____mixin_of(fra.me.REG[0]) = fra.me.REG[1];
1738 stack_frame_head = fra.me.prev;
1739 return;
1740 }
1741 val_t abstractmetamodel___MMLocalClass___to_s(val_t p0){
1742 struct {struct stack_frame_t me;} fra;
1743 val_t REGB0;
1744 val_t tmp;
1745 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1746 fra.me.file = LOCATE_abstractmetamodel;
1747 fra.me.line = 505;
1748 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___to_s;
1749 fra.me.has_broke = 0;
1750 fra.me.REG_size = 1;
1751 fra.me.REG[0] = NIT_NULL;
1752 fra.me.REG[0] = p0;
1753 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____name(fra.me.REG[0])!=NIT_NULL);
1754 /* ./metamodel//abstractmetamodel.nit:507 */
1755 if (UNTAG_Bool(REGB0)) {
1756 } else {
1757 fprintf(stderr, "Uninitialized attribute %s", "_name");
1758 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 507);
1759 nit_exit(1);
1760 }
1761 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____name(fra.me.REG[0]);
1762 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
1763 goto label1;
1764 label1: while(0);
1765 stack_frame_head = fra.me.prev;
1766 return fra.me.REG[0];
1767 }
1768 val_t abstractmetamodel___MMLocalClass___name(val_t p0){
1769 struct {struct stack_frame_t me;} fra;
1770 val_t REGB0;
1771 val_t tmp;
1772 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1773 fra.me.file = LOCATE_abstractmetamodel;
1774 fra.me.line = 327;
1775 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___name;
1776 fra.me.has_broke = 0;
1777 fra.me.REG_size = 1;
1778 fra.me.REG[0] = NIT_NULL;
1779 fra.me.REG[0] = p0;
1780 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____name(fra.me.REG[0])!=NIT_NULL);
1781 /* ./metamodel//abstractmetamodel.nit:327 */
1782 if (UNTAG_Bool(REGB0)) {
1783 } else {
1784 fprintf(stderr, "Uninitialized attribute %s", "_name");
1785 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 327);
1786 nit_exit(1);
1787 }
1788 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____name(fra.me.REG[0]);
1789 stack_frame_head = fra.me.prev;
1790 return fra.me.REG[0];
1791 }
1792 val_t abstractmetamodel___MMLocalClass___arity(val_t p0){
1793 struct {struct stack_frame_t me;} fra;
1794 val_t REGB0;
1795 val_t tmp;
1796 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1797 fra.me.file = LOCATE_abstractmetamodel;
1798 fra.me.line = 330;
1799 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___arity;
1800 fra.me.has_broke = 0;
1801 fra.me.REG_size = 1;
1802 fra.me.REG[0] = NIT_NULL;
1803 fra.me.REG[0] = p0;
1804 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____arity(fra.me.REG[0])!=NIT_NULL);
1805 /* ./metamodel//abstractmetamodel.nit:330 */
1806 if (UNTAG_Bool(REGB0)) {
1807 } else {
1808 fprintf(stderr, "Uninitialized attribute %s", "_arity");
1809 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 330);
1810 nit_exit(1);
1811 }
1812 REGB0 = ATTR_abstractmetamodel___MMLocalClass____arity(fra.me.REG[0]);
1813 stack_frame_head = fra.me.prev;
1814 return REGB0;
1815 }
1816 val_t abstractmetamodel___MMLocalClass___module(val_t p0){
1817 struct {struct stack_frame_t me;} fra;
1818 val_t REGB0;
1819 val_t tmp;
1820 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1821 fra.me.file = LOCATE_abstractmetamodel;
1822 fra.me.line = 334;
1823 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___module;
1824 fra.me.has_broke = 0;
1825 fra.me.REG_size = 1;
1826 fra.me.REG[0] = NIT_NULL;
1827 fra.me.REG[0] = p0;
1828 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0])!=NIT_NULL);
1829 /* ./metamodel//abstractmetamodel.nit:334 */
1830 if (UNTAG_Bool(REGB0)) {
1831 } else {
1832 fprintf(stderr, "Uninitialized attribute %s", "_module");
1833 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 334);
1834 nit_exit(1);
1835 }
1836 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0]);
1837 stack_frame_head = fra.me.prev;
1838 return fra.me.REG[0];
1839 }
1840 val_t abstractmetamodel___MMLocalClass___global(val_t p0){
1841 struct {struct stack_frame_t me;} fra;
1842 val_t REGB0;
1843 val_t tmp;
1844 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1845 fra.me.file = LOCATE_abstractmetamodel;
1846 fra.me.line = 337;
1847 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___global;
1848 fra.me.has_broke = 0;
1849 fra.me.REG_size = 1;
1850 fra.me.REG[0] = NIT_NULL;
1851 fra.me.REG[0] = p0;
1852 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____global(fra.me.REG[0]);
1853 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1854 /* ./metamodel//abstractmetamodel.nit:338 */
1855 if (UNTAG_Bool(REGB0)) {
1856 } else {
1857 fprintf(stderr, "Cast failed");
1858 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 338);
1859 nit_exit(1);
1860 }
1861 goto label1;
1862 label1: while(0);
1863 stack_frame_head = fra.me.prev;
1864 return fra.me.REG[0];
1865 }
1866 val_t abstractmetamodel___MMLocalClass___crhe(val_t p0){
1867 struct {struct stack_frame_t me;} fra;
1868 val_t REGB0;
1869 val_t tmp;
1870 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1871 fra.me.file = LOCATE_abstractmetamodel;
1872 fra.me.line = 341;
1873 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___crhe;
1874 fra.me.has_broke = 0;
1875 fra.me.REG_size = 1;
1876 fra.me.REG[0] = NIT_NULL;
1877 fra.me.REG[0] = p0;
1878 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____crhe(fra.me.REG[0]);
1879 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1880 /* ./metamodel//abstractmetamodel.nit:342 */
1881 if (UNTAG_Bool(REGB0)) {
1882 } else {
1883 fprintf(stderr, "Cast failed");
1884 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 342);
1885 nit_exit(1);
1886 }
1887 goto label1;
1888 label1: while(0);
1889 stack_frame_head = fra.me.prev;
1890 return fra.me.REG[0];
1891 }
1892 val_t abstractmetamodel___MMLocalClass___cshe(val_t p0){
1893 struct {struct stack_frame_t me;} fra;
1894 val_t REGB0;
1895 val_t tmp;
1896 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1897 fra.me.file = LOCATE_abstractmetamodel;
1898 fra.me.line = 345;
1899 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___cshe;
1900 fra.me.has_broke = 0;
1901 fra.me.REG_size = 1;
1902 fra.me.REG[0] = NIT_NULL;
1903 fra.me.REG[0] = p0;
1904 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____cshe(fra.me.REG[0]);
1905 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1906 /* ./metamodel//abstractmetamodel.nit:346 */
1907 if (UNTAG_Bool(REGB0)) {
1908 } else {
1909 fprintf(stderr, "Cast failed");
1910 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 346);
1911 nit_exit(1);
1912 }
1913 goto label1;
1914 label1: while(0);
1915 stack_frame_head = fra.me.prev;
1916 return fra.me.REG[0];
1917 }
1918 val_t abstractmetamodel___MMLocalClass___che(val_t p0){
1919 struct {struct stack_frame_t me;} fra;
1920 val_t REGB0;
1921 val_t tmp;
1922 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1923 fra.me.file = LOCATE_abstractmetamodel;
1924 fra.me.line = 349;
1925 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___che;
1926 fra.me.has_broke = 0;
1927 fra.me.REG_size = 1;
1928 fra.me.REG[0] = NIT_NULL;
1929 fra.me.REG[0] = p0;
1930 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____che(fra.me.REG[0]);
1931 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
1932 /* ./metamodel//abstractmetamodel.nit:350 */
1933 if (UNTAG_Bool(REGB0)) {
1934 } else {
1935 fprintf(stderr, "Cast failed");
1936 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 350);
1937 nit_exit(1);
1938 }
1939 goto label1;
1940 label1: while(0);
1941 stack_frame_head = fra.me.prev;
1942 return fra.me.REG[0];
1943 }
1944 val_t abstractmetamodel___MMLocalClass___global_properties(val_t p0){
1945 struct {struct stack_frame_t me;} fra;
1946 val_t REGB0;
1947 val_t tmp;
1948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1949 fra.me.file = LOCATE_abstractmetamodel;
1950 fra.me.line = 356;
1951 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___global_properties;
1952 fra.me.has_broke = 0;
1953 fra.me.REG_size = 1;
1954 fra.me.REG[0] = NIT_NULL;
1955 fra.me.REG[0] = p0;
1956 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0])!=NIT_NULL);
1957 /* ./metamodel//abstractmetamodel.nit:356 */
1958 if (UNTAG_Bool(REGB0)) {
1959 } else {
1960 fprintf(stderr, "Uninitialized attribute %s", "_global_properties");
1961 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 356);
1962 nit_exit(1);
1963 }
1964 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0]);
1965 stack_frame_head = fra.me.prev;
1966 return fra.me.REG[0];
1967 }
1968 val_t abstractmetamodel___MMLocalClass___local_local_properties(val_t p0){
1969 struct {struct stack_frame_t me;} fra;
1970 val_t REGB0;
1971 val_t tmp;
1972 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1973 fra.me.file = LOCATE_abstractmetamodel;
1974 fra.me.line = 359;
1975 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___local_local_properties;
1976 fra.me.has_broke = 0;
1977 fra.me.REG_size = 1;
1978 fra.me.REG[0] = NIT_NULL;
1979 fra.me.REG[0] = p0;
1980 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____local_local_properties(fra.me.REG[0])!=NIT_NULL);
1981 /* ./metamodel//abstractmetamodel.nit:359 */
1982 if (UNTAG_Bool(REGB0)) {
1983 } else {
1984 fprintf(stderr, "Uninitialized attribute %s", "_local_local_properties");
1985 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 359);
1986 nit_exit(1);
1987 }
1988 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____local_local_properties(fra.me.REG[0]);
1989 stack_frame_head = fra.me.prev;
1990 return fra.me.REG[0];
1991 }
1992 void abstractmetamodel___MMLocalClass___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1993 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMLocalClass].i;
1994 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1995 val_t REGB0;
1996 val_t tmp;
1997 if (init_table[itpos4]) return;
1998 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1999 fra.me.file = LOCATE_abstractmetamodel;
2000 fra.me.line = 365;
2001 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___init;
2002 fra.me.has_broke = 0;
2003 fra.me.REG_size = 3;
2004 fra.me.REG[0] = NIT_NULL;
2005 fra.me.REG[1] = NIT_NULL;
2006 fra.me.REG[2] = NIT_NULL;
2007 fra.me.REG[0] = p0;
2008 fra.me.REG[1] = p1;
2009 fra.me.REG[2] = p2;
2010 REGB0 = p3;
2011 /* ./metamodel//abstractmetamodel.nit:368 */
2012 ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0]) = fra.me.REG[1];
2013 /* ./metamodel//abstractmetamodel.nit:369 */
2014 ATTR_abstractmetamodel___MMLocalClass____name(fra.me.REG[0]) = fra.me.REG[2];
2015 /* ./metamodel//abstractmetamodel.nit:370 */
2016 ATTR_abstractmetamodel___MMLocalClass____arity(fra.me.REG[0]) = REGB0;
2017 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____local_classes(fra.me.REG[1])!=NIT_NULL);
2018 /* ./metamodel//abstractmetamodel.nit:371 */
2019 if (UNTAG_Bool(REGB0)) {
2020 } else {
2021 fprintf(stderr, "Uninitialized attribute %s", "_local_classes");
2022 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 371);
2023 nit_exit(1);
2024 }
2025 fra.me.REG[1] = ATTR_abstractmetamodel___MMModule____local_classes(fra.me.REG[1]);
2026 array___Array___add(fra.me.REG[1], fra.me.REG[0]);
2027 stack_frame_head = fra.me.prev;
2028 init_table[itpos4] = 1;
2029 return;
2030 }
2031 val_t abstractmetamodel___MMLocalClass___for_module(val_t p0, val_t p1){
2032 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2033 val_t tmp;
2034 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2035 fra.me.file = LOCATE_abstractmetamodel;
2036 fra.me.line = 374;
2037 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___for_module;
2038 fra.me.has_broke = 0;
2039 fra.me.REG_size = 2;
2040 fra.me.REG[0] = NIT_NULL;
2041 fra.me.REG[1] = NIT_NULL;
2042 fra.me.REG[0] = p0;
2043 fra.me.REG[1] = p1;
2044 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
2045 fra.me.REG[0] = CALL_abstractmetamodel___MMModule_____bra(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2046 /* ./metamodel//abstractmetamodel.nit:377 */
2047 goto label1;
2048 label1: while(0);
2049 stack_frame_head = fra.me.prev;
2050 return fra.me.REG[0];
2051 }
2052 void abstractmetamodel___MMLocalClass___new_global(val_t p0){
2053 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2054 val_t REGB0;
2055 val_t tmp;
2056 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2057 fra.me.file = LOCATE_abstractmetamodel;
2058 fra.me.line = 380;
2059 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___new_global;
2060 fra.me.has_broke = 0;
2061 fra.me.REG_size = 4;
2062 fra.me.REG[0] = NIT_NULL;
2063 fra.me.REG[1] = NIT_NULL;
2064 fra.me.REG[2] = NIT_NULL;
2065 fra.me.REG[3] = NIT_NULL;
2066 fra.me.REG[0] = p0;
2067 fra.me.REG[1] = NEW_MMGlobalClass_abstractmetamodel___MMGlobalClass___init(fra.me.REG[0]);
2068 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0])!=NIT_NULL);
2069 /* ./metamodel//abstractmetamodel.nit:384 */
2070 if (UNTAG_Bool(REGB0)) {
2071 } else {
2072 fprintf(stderr, "Uninitialized attribute %s", "_module");
2073 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 384);
2074 nit_exit(1);
2075 }
2076 fra.me.REG[2] = ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0]);
2077 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_classes(fra.me.REG[2])!=NIT_NULL);
2078 if (UNTAG_Bool(REGB0)) {
2079 } else {
2080 fprintf(stderr, "Uninitialized attribute %s", "_global_classes");
2081 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 384);
2082 nit_exit(1);
2083 }
2084 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____global_classes(fra.me.REG[2]);
2085 array___Array___add(fra.me.REG[2], fra.me.REG[1]);
2086 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0])!=NIT_NULL);
2087 /* ./metamodel//abstractmetamodel.nit:385 */
2088 if (UNTAG_Bool(REGB0)) {
2089 } else {
2090 fprintf(stderr, "Uninitialized attribute %s", "_module");
2091 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 385);
2092 nit_exit(1);
2093 }
2094 fra.me.REG[2] = ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0]);
2095 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[2])!=NIT_NULL);
2096 if (UNTAG_Bool(REGB0)) {
2097 } else {
2098 fprintf(stderr, "Uninitialized attribute %s", "_global_class_by_name");
2099 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 385);
2100 nit_exit(1);
2101 }
2102 fra.me.REG[2] = ATTR_abstractmetamodel___MMModule____global_class_by_name(fra.me.REG[2]);
2103 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___name(fra.me.REG[0])(fra.me.REG[0]);
2104 CALL_abstract_collection___Map_____braeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[1]);
2105 /* ./metamodel//abstractmetamodel.nit:386 */
2106 CALL_abstractmetamodel___MMLocalClass___set_global(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2107 stack_frame_head = fra.me.prev;
2108 return;
2109 }
2110 void abstractmetamodel___MMLocalClass___set_global(val_t p0, val_t p1){
2111 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2112 val_t REGB0;
2113 val_t tmp;
2114 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2115 fra.me.file = LOCATE_abstractmetamodel;
2116 fra.me.line = 389;
2117 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___set_global;
2118 fra.me.has_broke = 0;
2119 fra.me.REG_size = 2;
2120 fra.me.REG[0] = NIT_NULL;
2121 fra.me.REG[1] = NIT_NULL;
2122 fra.me.REG[0] = p0;
2123 fra.me.REG[1] = p1;
2124 /* ./metamodel//abstractmetamodel.nit:394 */
2125 ATTR_abstractmetamodel___MMLocalClass____global(fra.me.REG[0]) = fra.me.REG[1];
2126 fra.me.REG[1] = ATTR_abstractmetamodel___MMLocalClass____global(fra.me.REG[0]);
2127 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2128 /* ./metamodel//abstractmetamodel.nit:395 */
2129 if (UNTAG_Bool(REGB0)) {
2130 fprintf(stderr, "Reciever is null");
2131 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 395);
2132 nit_exit(1);
2133 }
2134 CALL_abstractmetamodel___MMGlobalClass___register_local_class(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2135 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0])!=NIT_NULL);
2136 /* ./metamodel//abstractmetamodel.nit:396 */
2137 if (UNTAG_Bool(REGB0)) {
2138 } else {
2139 fprintf(stderr, "Uninitialized attribute %s", "_module");
2140 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 396);
2141 nit_exit(1);
2142 }
2143 fra.me.REG[1] = ATTR_abstractmetamodel___MMLocalClass____module(fra.me.REG[0]);
2144 CALL_abstractmetamodel___MMModule___register_global_class(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2145 stack_frame_head = fra.me.prev;
2146 return;
2147 }
2148 val_t abstractmetamodel___MMLocalClass___has_global_property_by_name(val_t p0, val_t p1){
2149 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2150 val_t REGB0;
2151 val_t REGB1;
2152 val_t REGB2;
2153 val_t tmp;
2154 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2155 fra.me.file = LOCATE_abstractmetamodel;
2156 fra.me.line = 399;
2157 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___has_global_property_by_name;
2158 fra.me.has_broke = 0;
2159 fra.me.REG_size = 3;
2160 fra.me.REG[0] = NIT_NULL;
2161 fra.me.REG[1] = NIT_NULL;
2162 fra.me.REG[2] = NIT_NULL;
2163 fra.me.REG[0] = p0;
2164 fra.me.REG[1] = p1;
2165 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2166 /* ./metamodel//abstractmetamodel.nit:403 */
2167 if (UNTAG_Bool(REGB0)) {
2168 } else {
2169 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2170 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 403);
2171 nit_exit(1);
2172 }
2173 fra.me.REG[2] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2174 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
2175 if (UNTAG_Bool(REGB0)) {
2176 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2177 if (UNTAG_Bool(REGB0)) {
2178 } else {
2179 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2180 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 403);
2181 nit_exit(1);
2182 }
2183 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2184 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2185 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2186 if (UNTAG_Bool(REGB0)) {
2187 fprintf(stderr, "Reciever is null");
2188 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 403);
2189 nit_exit(1);
2190 }
2191 REGB0 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
2192 /* ./../lib/standard//collection//array.nit:23 */
2193 if (UNTAG_Bool(REGB0)) {
2194 } else {
2195 fprintf(stderr, "Uninitialized attribute %s", "_length");
2196 fprintf(stderr, " (%s:%d)\n", LOCATE_array, 23);
2197 nit_exit(1);
2198 }
2199 REGB0 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
2200 REGB1 = TAG_Int(1);
2201 REGB2 = TAG_Bool(IS_EQUAL_OO(REGB0,REGB1));
2202 /* ./metamodel//abstractmetamodel.nit:403 */
2203 if (UNTAG_Bool(REGB2)) {
2204 } else {
2205 REGB1 = TAG_Bool((REGB0)==(REGB1));
2206 REGB2 = REGB1;
2207 /* ./metamodel//abstractmetamodel.nit:403 */
2208 }
2209 } else {
2210 REGB1 = TAG_Bool(false);
2211 REGB2 = REGB1;
2212 }
2213 goto label1;
2214 label1: while(0);
2215 stack_frame_head = fra.me.prev;
2216 return REGB2;
2217 }
2218 val_t abstractmetamodel___MMLocalClass___get_property_by_name(val_t p0, val_t p1){
2219 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2220 val_t REGB0;
2221 val_t tmp;
2222 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2223 fra.me.file = LOCATE_abstractmetamodel;
2224 fra.me.line = 406;
2225 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___get_property_by_name;
2226 fra.me.has_broke = 0;
2227 fra.me.REG_size = 2;
2228 fra.me.REG[0] = NIT_NULL;
2229 fra.me.REG[1] = NIT_NULL;
2230 fra.me.REG[0] = p0;
2231 fra.me.REG[1] = p1;
2232 REGB0 = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2233 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2234 /* ./metamodel//abstractmetamodel.nit:410 */
2235 if (UNTAG_Bool(REGB0)) {
2236 fprintf(stderr, "Aborted");
2237 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 410);
2238 nit_exit(1);
2239 }
2240 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2241 /* ./metamodel//abstractmetamodel.nit:411 */
2242 if (UNTAG_Bool(REGB0)) {
2243 } else {
2244 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2245 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 411);
2246 nit_exit(1);
2247 }
2248 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2249 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2250 fra.me.REG[1] = CALL_abstract_collection___Collection___first(fra.me.REG[1])(fra.me.REG[1]);
2251 /* ./metamodel//abstractmetamodel.nit:412 */
2252 goto label1;
2253 label1: while(0);
2254 stack_frame_head = fra.me.prev;
2255 return fra.me.REG[1];
2256 }
2257 val_t abstractmetamodel___MMLocalClass___attribute(val_t p0, val_t p1){
2258 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2259 val_t tmp;
2260 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2261 fra.me.file = LOCATE_abstractmetamodel;
2262 fra.me.line = 415;
2263 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___attribute;
2264 fra.me.has_broke = 0;
2265 fra.me.REG_size = 2;
2266 fra.me.REG[0] = NIT_NULL;
2267 fra.me.REG[1] = NIT_NULL;
2268 fra.me.REG[0] = p0;
2269 fra.me.REG[1] = p1;
2270 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___get_property_by_name(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2271 /* ./metamodel//abstractmetamodel.nit:419 */
2272 goto label1;
2273 label1: while(0);
2274 stack_frame_head = fra.me.prev;
2275 return fra.me.REG[1];
2276 }
2277 val_t abstractmetamodel___MMLocalClass___method(val_t p0, val_t p1){
2278 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2279 val_t REGB0;
2280 val_t tmp;
2281 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2282 fra.me.file = LOCATE_abstractmetamodel;
2283 fra.me.line = 422;
2284 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___method;
2285 fra.me.has_broke = 0;
2286 fra.me.REG_size = 2;
2287 fra.me.REG[0] = NIT_NULL;
2288 fra.me.REG[1] = NIT_NULL;
2289 fra.me.REG[0] = p0;
2290 fra.me.REG[1] = p1;
2291 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2292 /* ./metamodel//abstractmetamodel.nit:426 */
2293 if (UNTAG_Bool(REGB0)) {
2294 } else {
2295 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2296 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 426);
2297 nit_exit(1);
2298 }
2299 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2300 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2301 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
2302 if (UNTAG_Bool(REGB0)) {
2303 fprintf(stderr, "Reciever is null");
2304 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 426);
2305 nit_exit(1);
2306 }
2307 fra.me.REG[1] = CALL_abstract_collection___Collection___first(fra.me.REG[1])(fra.me.REG[1]);
2308 goto label1;
2309 label1: while(0);
2310 stack_frame_head = fra.me.prev;
2311 return fra.me.REG[1];
2312 }
2313 val_t abstractmetamodel___MMLocalClass___select_method(val_t p0, val_t p1){
2314 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2315 val_t REGB0;
2316 val_t tmp;
2317 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2318 fra.me.file = LOCATE_abstractmetamodel;
2319 fra.me.line = 429;
2320 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___select_method;
2321 fra.me.has_broke = 0;
2322 fra.me.REG_size = 2;
2323 fra.me.REG[0] = NIT_NULL;
2324 fra.me.REG[1] = NIT_NULL;
2325 fra.me.REG[0] = p0;
2326 fra.me.REG[1] = p1;
2327 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___method(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2328 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2329 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
2330 /* ./metamodel//abstractmetamodel.nit:435 */
2331 if (UNTAG_Bool(REGB0)) {
2332 } else {
2333 fprintf(stderr, "Assert failed");
2334 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 435);
2335 nit_exit(1);
2336 }
2337 /* ./metamodel//abstractmetamodel.nit:436 */
2338 goto label1;
2339 label1: while(0);
2340 stack_frame_head = fra.me.prev;
2341 return fra.me.REG[1];
2342 }
2343 val_t abstractmetamodel___MMLocalClass___select_attribute(val_t p0, val_t p1){
2344 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2345 val_t REGB0;
2346 val_t tmp;
2347 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2348 fra.me.file = LOCATE_abstractmetamodel;
2349 fra.me.line = 439;
2350 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___select_attribute;
2351 fra.me.has_broke = 0;
2352 fra.me.REG_size = 2;
2353 fra.me.REG[0] = NIT_NULL;
2354 fra.me.REG[1] = NIT_NULL;
2355 fra.me.REG[0] = p0;
2356 fra.me.REG[1] = p1;
2357 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___attribute(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2358 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2359 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
2360 /* ./metamodel//abstractmetamodel.nit:445 */
2361 if (UNTAG_Bool(REGB0)) {
2362 } else {
2363 fprintf(stderr, "Assert failed");
2364 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 445);
2365 nit_exit(1);
2366 }
2367 /* ./metamodel//abstractmetamodel.nit:446 */
2368 goto label1;
2369 label1: while(0);
2370 stack_frame_head = fra.me.prev;
2371 return fra.me.REG[1];
2372 }
2373 val_t abstractmetamodel___MMLocalClass___super_methods_named(val_t p0, val_t p1){
2374 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
2375 val_t REGB0;
2376 val_t tmp;
2377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2378 fra.me.file = LOCATE_abstractmetamodel;
2379 fra.me.line = 449;
2380 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___super_methods_named;
2381 fra.me.has_broke = 0;
2382 fra.me.REG_size = 5;
2383 fra.me.REG[0] = NIT_NULL;
2384 fra.me.REG[1] = NIT_NULL;
2385 fra.me.REG[2] = NIT_NULL;
2386 fra.me.REG[3] = NIT_NULL;
2387 fra.me.REG[4] = NIT_NULL;
2388 fra.me.REG[0] = p0;
2389 fra.me.REG[1] = p1;
2390 fra.me.REG[2] = NEW_Array_array___Array___init();
2391 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___cshe(fra.me.REG[0])(fra.me.REG[0]);
2392 fra.me.REG[3] = CALL_partial_order___PartialOrderElement___greaters(fra.me.REG[3])(fra.me.REG[3]);
2393 fra.me.REG[3] = CALL_abstract_collection___Collection___iterator(fra.me.REG[3])(fra.me.REG[3]);
2394 /* ./metamodel//abstractmetamodel.nit:454 */
2395 while(1) {
2396 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[3])(fra.me.REG[3]);
2397 if (UNTAG_Bool(REGB0)) {
2398 fra.me.REG[4] = CALL_abstract_collection___Iterator___item(fra.me.REG[3])(fra.me.REG[3]);
2399 REGB0 = CALL_abstractmetamodel___MMLocalClass___has_global_property_by_name(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[1]);
2400 /* ./metamodel//abstractmetamodel.nit:455 */
2401 if (UNTAG_Bool(REGB0)) {
2402 array___Array___add(fra.me.REG[2], fra.me.REG[4]);
2403 }
2404 } else {
2405 /* ./metamodel//abstractmetamodel.nit:454 */
2406 goto label1;
2407 }
2408 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
2409 }
2410 label1: while(0);
2411 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___cshe(fra.me.REG[0])(fra.me.REG[0]);
2412 fra.me.REG[0] = CALL_partial_order___PartialOrderElement___order(fra.me.REG[0])(fra.me.REG[0]);
2413 fra.me.REG[0] = CALL_partial_order___PartialOrder___select_smallests(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2414 fra.me.REG[2] = fra.me.REG[0];
2415 fra.me.REG[0] = NEW_Array_array___Array___init();
2416 fra.me.REG[2] = CALL_abstract_collection___Collection___iterator(fra.me.REG[2])(fra.me.REG[2]);
2417 /* ./metamodel//abstractmetamodel.nit:459 */
2418 while(1) {
2419 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[2])(fra.me.REG[2]);
2420 if (UNTAG_Bool(REGB0)) {
2421 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[2])(fra.me.REG[2]);
2422 fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass___method(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
2423 fra.me.REG[4] = CALL_abstractmetamodel___MMLocalClass_____bra(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
2424 /* ./metamodel//abstractmetamodel.nit:462 */
2425 array___Array___add(fra.me.REG[0], fra.me.REG[4]);
2426 } else {
2427 /* ./metamodel//abstractmetamodel.nit:459 */
2428 goto label2;
2429 }
2430 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
2431 }
2432 label2: while(0);
2433 /* ./metamodel//abstractmetamodel.nit:464 */
2434 goto label3;
2435 label3: while(0);
2436 stack_frame_head = fra.me.prev;
2437 return fra.me.REG[0];
2438 }
2439 void abstractmetamodel___MMLocalClass___register_local_property(val_t p0, val_t p1){
2440 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2441 val_t REGB0;
2442 val_t REGB1;
2443 val_t tmp;
2444 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2445 fra.me.file = LOCATE_abstractmetamodel;
2446 fra.me.line = 467;
2447 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___register_local_property;
2448 fra.me.has_broke = 0;
2449 fra.me.REG_size = 4;
2450 fra.me.REG[0] = NIT_NULL;
2451 fra.me.REG[1] = NIT_NULL;
2452 fra.me.REG[2] = NIT_NULL;
2453 fra.me.REG[3] = NIT_NULL;
2454 fra.me.REG[0] = p0;
2455 fra.me.REG[1] = p1;
2456 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(fra.me.REG[0])!=NIT_NULL);
2457 /* ./metamodel//abstractmetamodel.nit:470 */
2458 if (UNTAG_Bool(REGB0)) {
2459 } else {
2460 fprintf(stderr, "Uninitialized attribute %s", "_local_property_by_global");
2461 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 470);
2462 nit_exit(1);
2463 }
2464 fra.me.REG[2] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(fra.me.REG[0]);
2465 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___global(fra.me.REG[1])(fra.me.REG[1]);
2466 CALL_abstract_collection___Map_____braeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3], fra.me.REG[1]);
2467 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[1])(fra.me.REG[1]);
2468 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[0]));
2469 /* ./metamodel//abstractmetamodel.nit:471 */
2470 if (UNTAG_Bool(REGB0)) {
2471 } else {
2472 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
2473 REGB0 = REGB1;
2474 }
2475 if (UNTAG_Bool(REGB0)) {
2476 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____local_local_properties(fra.me.REG[0])!=NIT_NULL);
2477 /* ./metamodel//abstractmetamodel.nit:472 */
2478 if (UNTAG_Bool(REGB0)) {
2479 } else {
2480 fprintf(stderr, "Uninitialized attribute %s", "_local_local_properties");
2481 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 472);
2482 nit_exit(1);
2483 }
2484 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____local_local_properties(fra.me.REG[0]);
2485 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2486 }
2487 stack_frame_head = fra.me.prev;
2488 return;
2489 }
2490 void abstractmetamodel___MMLocalClass___register_global_property(val_t p0, val_t p1){
2491 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
2492 val_t REGB0;
2493 val_t tmp;
2494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2495 fra.me.file = LOCATE_abstractmetamodel;
2496 fra.me.line = 476;
2497 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___register_global_property;
2498 fra.me.has_broke = 0;
2499 fra.me.REG_size = 6;
2500 fra.me.REG[0] = NIT_NULL;
2501 fra.me.REG[1] = NIT_NULL;
2502 fra.me.REG[2] = NIT_NULL;
2503 fra.me.REG[3] = NIT_NULL;
2504 fra.me.REG[4] = NIT_NULL;
2505 fra.me.REG[5] = NIT_NULL;
2506 fra.me.REG[0] = p0;
2507 fra.me.REG[1] = p1;
2508 fra.me.REG[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[1])(fra.me.REG[1]);
2509 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[2])(fra.me.REG[2]);
2510 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2511 /* ./metamodel//abstractmetamodel.nit:481 */
2512 if (UNTAG_Bool(REGB0)) {
2513 } else {
2514 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2515 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 481);
2516 nit_exit(1);
2517 }
2518 fra.me.REG[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2519 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
2520 if (UNTAG_Bool(REGB0)) {
2521 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2522 /* ./metamodel//abstractmetamodel.nit:482 */
2523 if (UNTAG_Bool(REGB0)) {
2524 } else {
2525 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2526 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 482);
2527 nit_exit(1);
2528 }
2529 fra.me.REG[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2530 fra.me.REG[4] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
2531 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
2532 if (UNTAG_Bool(REGB0)) {
2533 fprintf(stderr, "Reciever is null");
2534 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 482);
2535 nit_exit(1);
2536 }
2537 array___Array___add(fra.me.REG[4], fra.me.REG[1]);
2538 } else {
2539 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0])!=NIT_NULL);
2540 /* ./metamodel//abstractmetamodel.nit:484 */
2541 if (UNTAG_Bool(REGB0)) {
2542 } else {
2543 fprintf(stderr, "Uninitialized attribute %s", "_properties_by_name");
2544 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 484);
2545 nit_exit(1);
2546 }
2547 fra.me.REG[4] = ATTR_abstractmetamodel___MMLocalClass____properties_by_name(fra.me.REG[0]);
2548 REGB0 = TAG_Int(1);
2549 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0);
2550 array___Array___add(fra.me.REG[5], fra.me.REG[1]);
2551 CALL_abstract_collection___Map_____braeq(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3], fra.me.REG[5]);
2552 }
2553 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0])!=NIT_NULL);
2554 /* ./metamodel//abstractmetamodel.nit:486 */
2555 if (UNTAG_Bool(REGB0)) {
2556 } else {
2557 fprintf(stderr, "Uninitialized attribute %s", "_global_properties");
2558 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 486);
2559 nit_exit(1);
2560 }
2561 fra.me.REG[5] = ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0]);
2562 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1]);
2563 /* ./metamodel//abstractmetamodel.nit:487 */
2564 CALL_abstractmetamodel___MMLocalClass___register_local_property(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
2565 stack_frame_head = fra.me.prev;
2566 return;
2567 }
2568 val_t abstractmetamodel___MMLocalClass___has_global_property(val_t p0, val_t p1){
2569 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2570 val_t REGB0;
2571 val_t tmp;
2572 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2573 fra.me.file = LOCATE_abstractmetamodel;
2574 fra.me.line = 490;
2575 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___has_global_property;
2576 fra.me.has_broke = 0;
2577 fra.me.REG_size = 2;
2578 fra.me.REG[0] = NIT_NULL;
2579 fra.me.REG[1] = NIT_NULL;
2580 fra.me.REG[0] = p0;
2581 fra.me.REG[1] = p1;
2582 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0])!=NIT_NULL);
2583 /* ./metamodel//abstractmetamodel.nit:493 */
2584 if (UNTAG_Bool(REGB0)) {
2585 } else {
2586 fprintf(stderr, "Uninitialized attribute %s", "_global_properties");
2587 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 493);
2588 nit_exit(1);
2589 }
2590 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____global_properties(fra.me.REG[0]);
2591 REGB0 = CALL_abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2592 goto label1;
2593 label1: while(0);
2594 stack_frame_head = fra.me.prev;
2595 return REGB0;
2596 }
2597 val_t abstractmetamodel___MMLocalClass_____bra(val_t p0, val_t p1){
2598 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
2599 val_t REGB0;
2600 val_t tmp;
2601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2602 fra.me.file = LOCATE_abstractmetamodel;
2603 fra.me.line = 496;
2604 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass_____bra;
2605 fra.me.has_broke = 0;
2606 fra.me.REG_size = 2;
2607 fra.me.REG[0] = NIT_NULL;
2608 fra.me.REG[1] = NIT_NULL;
2609 fra.me.REG[0] = p0;
2610 fra.me.REG[1] = p1;
2611 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(fra.me.REG[0])!=NIT_NULL);
2612 /* ./metamodel//abstractmetamodel.nit:499 */
2613 if (UNTAG_Bool(REGB0)) {
2614 } else {
2615 fprintf(stderr, "Uninitialized attribute %s", "_local_property_by_global");
2616 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 499);
2617 nit_exit(1);
2618 }
2619 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalClass____local_property_by_global(fra.me.REG[0]);
2620 fra.me.REG[1] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
2621 goto label1;
2622 label1: while(0);
2623 stack_frame_head = fra.me.prev;
2624 return fra.me.REG[1];
2625 }
2626 val_t abstractmetamodel___MMLocalClass___context(val_t p0){
2627 struct {struct stack_frame_t me;} fra;
2628 val_t tmp;
2629 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2630 fra.me.file = LOCATE_abstractmetamodel;
2631 fra.me.line = 502;
2632 fra.me.meth = LOCATE_abstractmetamodel___MMLocalClass___context;
2633 fra.me.has_broke = 0;
2634 fra.me.REG_size = 1;
2635 fra.me.REG[0] = NIT_NULL;
2636 fra.me.REG[0] = p0;
2637 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[0])(fra.me.REG[0]);
2638 fra.me.REG[0] = CALL_abstractmetamodel___MMModule___context(fra.me.REG[0])(fra.me.REG[0]);
2639 /* ./metamodel//abstractmetamodel.nit:503 */
2640 goto label1;
2641 label1: while(0);
2642 stack_frame_head = fra.me.prev;
2643 return fra.me.REG[0];
2644 }
2645 val_t abstractmetamodel___MMGlobalProperty___to_s(val_t p0){
2646 struct {struct stack_frame_t me;} fra;
2647 val_t tmp;
2648 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2649 fra.me.file = LOCATE_abstractmetamodel;
2650 fra.me.line = 534;
2651 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___to_s;
2652 fra.me.has_broke = 0;
2653 fra.me.REG_size = 1;
2654 fra.me.REG[0] = NIT_NULL;
2655 fra.me.REG[0] = p0;
2656 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2657 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[0])(fra.me.REG[0]);
2658 /* ./metamodel//abstractmetamodel.nit:534 */
2659 goto label1;
2660 label1: while(0);
2661 stack_frame_head = fra.me.prev;
2662 return fra.me.REG[0];
2663 }
2664 val_t abstractmetamodel___MMGlobalProperty___intro(val_t p0){
2665 struct {struct stack_frame_t me;} fra;
2666 val_t REGB0;
2667 val_t tmp;
2668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2669 fra.me.file = LOCATE_abstractmetamodel;
2670 fra.me.line = 515;
2671 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___intro;
2672 fra.me.has_broke = 0;
2673 fra.me.REG_size = 1;
2674 fra.me.REG[0] = NIT_NULL;
2675 fra.me.REG[0] = p0;
2676 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalProperty____intro(fra.me.REG[0])!=NIT_NULL);
2677 /* ./metamodel//abstractmetamodel.nit:515 */
2678 if (UNTAG_Bool(REGB0)) {
2679 } else {
2680 fprintf(stderr, "Uninitialized attribute %s", "_intro");
2681 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 515);
2682 nit_exit(1);
2683 }
2684 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalProperty____intro(fra.me.REG[0]);
2685 stack_frame_head = fra.me.prev;
2686 return fra.me.REG[0];
2687 }
2688 val_t abstractmetamodel___MMGlobalProperty___local_class(val_t p0){
2689 struct {struct stack_frame_t me;} fra;
2690 val_t tmp;
2691 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2692 fra.me.file = LOCATE_abstractmetamodel;
2693 fra.me.line = 518;
2694 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___local_class;
2695 fra.me.has_broke = 0;
2696 fra.me.REG_size = 1;
2697 fra.me.REG[0] = NIT_NULL;
2698 fra.me.REG[0] = p0;
2699 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2700 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
2701 /* ./metamodel//abstractmetamodel.nit:521 */
2702 goto label1;
2703 label1: while(0);
2704 stack_frame_head = fra.me.prev;
2705 return fra.me.REG[0];
2706 }
2707 val_t abstractmetamodel___MMGlobalProperty___property_hierarchy(val_t p0){
2708 struct {struct stack_frame_t me;} fra;
2709 val_t REGB0;
2710 val_t tmp;
2711 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2712 fra.me.file = LOCATE_abstractmetamodel;
2713 fra.me.line = 524;
2714 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___property_hierarchy;
2715 fra.me.has_broke = 0;
2716 fra.me.REG_size = 1;
2717 fra.me.REG[0] = NIT_NULL;
2718 fra.me.REG[0] = p0;
2719 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(fra.me.REG[0])!=NIT_NULL);
2720 /* ./metamodel//abstractmetamodel.nit:524 */
2721 if (UNTAG_Bool(REGB0)) {
2722 } else {
2723 fprintf(stderr, "Uninitialized attribute %s", "_property_hierarchy");
2724 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 524);
2725 nit_exit(1);
2726 }
2727 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(fra.me.REG[0]);
2728 stack_frame_head = fra.me.prev;
2729 return fra.me.REG[0];
2730 }
2731 void abstractmetamodel___MMGlobalProperty___init(val_t p0, val_t p1, int* init_table){
2732 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMGlobalProperty].i;
2733 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2734 val_t tmp;
2735 if (init_table[itpos5]) return;
2736 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2737 fra.me.file = LOCATE_abstractmetamodel;
2738 fra.me.line = 527;
2739 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___init;
2740 fra.me.has_broke = 0;
2741 fra.me.REG_size = 3;
2742 fra.me.REG[0] = NIT_NULL;
2743 fra.me.REG[1] = NIT_NULL;
2744 fra.me.REG[2] = NIT_NULL;
2745 fra.me.REG[0] = p0;
2746 fra.me.REG[1] = p1;
2747 /* ./metamodel//abstractmetamodel.nit:530 */
2748 ATTR_abstractmetamodel___MMGlobalProperty____intro(fra.me.REG[0]) = fra.me.REG[1];
2749 fra.me.REG[2] = NEW_Array_array___Array___init();
2750 /* ./metamodel//abstractmetamodel.nit:531 */
2751 CALL_abstractmetamodel___MMGlobalProperty___add_local_property(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
2752 stack_frame_head = fra.me.prev;
2753 init_table[itpos5] = 1;
2754 return;
2755 }
2756 void abstractmetamodel___MMGlobalProperty___add_local_property(val_t p0, val_t p1, val_t p2){
2757 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2758 val_t REGB0;
2759 val_t tmp;
2760 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2761 fra.me.file = LOCATE_abstractmetamodel;
2762 fra.me.line = 536;
2763 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___add_local_property;
2764 fra.me.has_broke = 0;
2765 fra.me.REG_size = 3;
2766 fra.me.REG[0] = NIT_NULL;
2767 fra.me.REG[1] = NIT_NULL;
2768 fra.me.REG[2] = NIT_NULL;
2769 fra.me.REG[0] = p0;
2770 fra.me.REG[1] = p1;
2771 fra.me.REG[2] = p2;
2772 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(fra.me.REG[0])!=NIT_NULL);
2773 /* ./metamodel//abstractmetamodel.nit:539 */
2774 if (UNTAG_Bool(REGB0)) {
2775 } else {
2776 fprintf(stderr, "Uninitialized attribute %s", "_property_hierarchy");
2777 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 539);
2778 nit_exit(1);
2779 }
2780 fra.me.REG[0] = ATTR_abstractmetamodel___MMGlobalProperty____property_hierarchy(fra.me.REG[0]);
2781 fra.me.REG[2] = CALL_partial_order___PartialOrder___add(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2]);
2782 ATTR_abstractmetamodel___MMLocalProperty____prhe(fra.me.REG[1]) = fra.me.REG[2];
2783 stack_frame_head = fra.me.prev;
2784 return;
2785 }
2786 val_t abstractmetamodel___MMGlobalProperty___is_attribute(val_t p0){
2787 struct {struct stack_frame_t me;} fra;
2788 val_t REGB0;
2789 val_t tmp;
2790 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2791 fra.me.file = LOCATE_abstractmetamodel;
2792 fra.me.line = 542;
2793 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___is_attribute;
2794 fra.me.has_broke = 0;
2795 fra.me.REG_size = 1;
2796 fra.me.REG[0] = NIT_NULL;
2797 fra.me.REG[0] = p0;
2798 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2799 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_MMAttribute, ID_MMAttribute)) /*cast MMAttribute*/;
2800 /* ./metamodel//abstractmetamodel.nit:543 */
2801 goto label1;
2802 label1: while(0);
2803 stack_frame_head = fra.me.prev;
2804 return REGB0;
2805 }
2806 val_t abstractmetamodel___MMGlobalProperty___is_method(val_t p0){
2807 struct {struct stack_frame_t me;} fra;
2808 val_t REGB0;
2809 val_t tmp;
2810 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2811 fra.me.file = LOCATE_abstractmetamodel;
2812 fra.me.line = 545;
2813 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___is_method;
2814 fra.me.has_broke = 0;
2815 fra.me.REG_size = 1;
2816 fra.me.REG[0] = NIT_NULL;
2817 fra.me.REG[0] = p0;
2818 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2819 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[0], COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
2820 /* ./metamodel//abstractmetamodel.nit:546 */
2821 goto label1;
2822 label1: while(0);
2823 stack_frame_head = fra.me.prev;
2824 return REGB0;
2825 }
2826 val_t abstractmetamodel___MMGlobalProperty___is_init(val_t p0){
2827 struct {struct stack_frame_t me;} fra;
2828 val_t REGB0;
2829 val_t tmp;
2830 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2831 fra.me.file = LOCATE_abstractmetamodel;
2832 fra.me.line = 548;
2833 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___is_init;
2834 fra.me.has_broke = 0;
2835 fra.me.REG_size = 1;
2836 fra.me.REG[0] = NIT_NULL;
2837 fra.me.REG[0] = p0;
2838 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalProperty____is_init(fra.me.REG[0])!=NIT_NULL);
2839 /* ./metamodel//abstractmetamodel.nit:548 */
2840 if (UNTAG_Bool(REGB0)) {
2841 } else {
2842 fprintf(stderr, "Uninitialized attribute %s", "_is_init");
2843 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 548);
2844 nit_exit(1);
2845 }
2846 REGB0 = ATTR_abstractmetamodel___MMGlobalProperty____is_init(fra.me.REG[0]);
2847 stack_frame_head = fra.me.prev;
2848 return REGB0;
2849 }
2850 void abstractmetamodel___MMGlobalProperty___is_init__eq(val_t p0, val_t p1){
2851 struct {struct stack_frame_t me;} fra;
2852 val_t REGB0;
2853 val_t tmp;
2854 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2855 fra.me.file = LOCATE_abstractmetamodel;
2856 fra.me.line = 548;
2857 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___is_init__eq;
2858 fra.me.has_broke = 0;
2859 fra.me.REG_size = 1;
2860 fra.me.REG[0] = NIT_NULL;
2861 fra.me.REG[0] = p0;
2862 REGB0 = p1;
2863 /* ./metamodel//abstractmetamodel.nit:548 */
2864 ATTR_abstractmetamodel___MMGlobalProperty____is_init(fra.me.REG[0]) = REGB0;
2865 stack_frame_head = fra.me.prev;
2866 return;
2867 }
2868 val_t abstractmetamodel___MMGlobalProperty___is_init_for(val_t p0, val_t p1){
2869 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2870 val_t REGB0;
2871 val_t REGB1;
2872 val_t REGB2;
2873 val_t tmp;
2874 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2875 fra.me.file = LOCATE_abstractmetamodel;
2876 fra.me.line = 551;
2877 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___is_init_for;
2878 fra.me.has_broke = 0;
2879 fra.me.REG_size = 3;
2880 fra.me.REG[0] = NIT_NULL;
2881 fra.me.REG[1] = NIT_NULL;
2882 fra.me.REG[2] = NIT_NULL;
2883 fra.me.REG[0] = p0;
2884 fra.me.REG[1] = p1;
2885 REGB0 = CALL_abstractmetamodel___MMGlobalProperty___is_init(fra.me.REG[0])(fra.me.REG[0]);
2886 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
2887 /* ./metamodel//abstractmetamodel.nit:554 */
2888 if (UNTAG_Bool(REGB0)) {
2889 REGB0 = TAG_Bool(false);
2890 goto label1;
2891 }
2892 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
2893 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
2894 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___che(fra.me.REG[1])(fra.me.REG[1]);
2895 REGB1 = CALL_partial_order___PartialOrderElement_____leq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2896 /* ./metamodel//abstractmetamodel.nit:556 */
2897 if (UNTAG_Bool(REGB1)) {
2898 fra.me.REG[1] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[1])(fra.me.REG[1]);
2899 fra.me.REG[1] = CALL_abstractmetamodel___MMGlobalClass___mixin_of(fra.me.REG[1])(fra.me.REG[1]);
2900 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___global(fra.me.REG[0])(fra.me.REG[0]);
2901 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalClass___mixin_of(fra.me.REG[0])(fra.me.REG[0]);
2902 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
2903 if (UNTAG_Bool(REGB1)) {
2904 } else {
2905 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2906 REGB1 = REGB2;
2907 }
2908 } else {
2909 REGB2 = TAG_Bool(false);
2910 REGB1 = REGB2;
2911 }
2912 REGB0 = REGB1;
2913 /* ./metamodel//abstractmetamodel.nit:557 */
2914 goto label1;
2915 label1: while(0);
2916 stack_frame_head = fra.me.prev;
2917 return REGB0;
2918 }
2919 val_t abstractmetamodel___MMGlobalProperty___visibility_level(val_t p0){
2920 struct {struct stack_frame_t me;} fra;
2921 val_t REGB0;
2922 val_t tmp;
2923 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2924 fra.me.file = LOCATE_abstractmetamodel;
2925 fra.me.line = 560;
2926 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level;
2927 fra.me.has_broke = 0;
2928 fra.me.REG_size = 1;
2929 fra.me.REG[0] = NIT_NULL;
2930 fra.me.REG[0] = p0;
2931 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMGlobalProperty____visibility_level(fra.me.REG[0])!=NIT_NULL);
2932 /* ./metamodel//abstractmetamodel.nit:560 */
2933 if (UNTAG_Bool(REGB0)) {
2934 } else {
2935 fprintf(stderr, "Uninitialized attribute %s", "_visibility_level");
2936 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 560);
2937 nit_exit(1);
2938 }
2939 REGB0 = ATTR_abstractmetamodel___MMGlobalProperty____visibility_level(fra.me.REG[0]);
2940 stack_frame_head = fra.me.prev;
2941 return REGB0;
2942 }
2943 void abstractmetamodel___MMGlobalProperty___visibility_level__eq(val_t p0, val_t p1){
2944 struct {struct stack_frame_t me;} fra;
2945 val_t REGB0;
2946 val_t tmp;
2947 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2948 fra.me.file = LOCATE_abstractmetamodel;
2949 fra.me.line = 560;
2950 fra.me.meth = LOCATE_abstractmetamodel___MMGlobalProperty___visibility_level__eq;
2951 fra.me.has_broke = 0;
2952 fra.me.REG_size = 1;
2953 fra.me.REG[0] = NIT_NULL;
2954 fra.me.REG[0] = p0;
2955 REGB0 = p1;
2956 /* ./metamodel//abstractmetamodel.nit:560 */
2957 ATTR_abstractmetamodel___MMGlobalProperty____visibility_level(fra.me.REG[0]) = REGB0;
2958 stack_frame_head = fra.me.prev;
2959 return;
2960 }
2961 val_t abstractmetamodel___MMLocalProperty___to_s(val_t p0){
2962 struct {struct stack_frame_t me;} fra;
2963 val_t tmp;
2964 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2965 fra.me.file = LOCATE_abstractmetamodel;
2966 fra.me.line = 617;
2967 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___to_s;
2968 fra.me.has_broke = 0;
2969 fra.me.REG_size = 1;
2970 fra.me.REG[0] = NIT_NULL;
2971 fra.me.REG[0] = p0;
2972 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
2973 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2974 /* ./metamodel//abstractmetamodel.nit:617 */
2975 goto label1;
2976 label1: while(0);
2977 stack_frame_head = fra.me.prev;
2978 return fra.me.REG[0];
2979 }
2980 val_t abstractmetamodel___MMLocalProperty___name(val_t p0){
2981 struct {struct stack_frame_t me;} fra;
2982 val_t REGB0;
2983 val_t tmp;
2984 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2985 fra.me.file = LOCATE_abstractmetamodel;
2986 fra.me.line = 569;
2987 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___name;
2988 fra.me.has_broke = 0;
2989 fra.me.REG_size = 1;
2990 fra.me.REG[0] = NIT_NULL;
2991 fra.me.REG[0] = p0;
2992 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____name(fra.me.REG[0])!=NIT_NULL);
2993 /* ./metamodel//abstractmetamodel.nit:569 */
2994 if (UNTAG_Bool(REGB0)) {
2995 } else {
2996 fprintf(stderr, "Uninitialized attribute %s", "_name");
2997 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 569);
2998 nit_exit(1);
2999 }
3000 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____name(fra.me.REG[0]);
3001 stack_frame_head = fra.me.prev;
3002 return fra.me.REG[0];
3003 }
3004 val_t abstractmetamodel___MMLocalProperty___local_class(val_t p0){
3005 struct {struct stack_frame_t me;} fra;
3006 val_t REGB0;
3007 val_t tmp;
3008 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3009 fra.me.file = LOCATE_abstractmetamodel;
3010 fra.me.line = 572;
3011 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___local_class;
3012 fra.me.has_broke = 0;
3013 fra.me.REG_size = 1;
3014 fra.me.REG[0] = NIT_NULL;
3015 fra.me.REG[0] = p0;
3016 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0])!=NIT_NULL);
3017 /* ./metamodel//abstractmetamodel.nit:572 */
3018 if (UNTAG_Bool(REGB0)) {
3019 } else {
3020 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
3021 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 572);
3022 nit_exit(1);
3023 }
3024 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0]);
3025 stack_frame_head = fra.me.prev;
3026 return fra.me.REG[0];
3027 }
3028 val_t abstractmetamodel___MMLocalProperty___global(val_t p0){
3029 struct {struct stack_frame_t me;} fra;
3030 val_t REGB0;
3031 val_t tmp;
3032 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3033 fra.me.file = LOCATE_abstractmetamodel;
3034 fra.me.line = 578;
3035 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___global;
3036 fra.me.has_broke = 0;
3037 fra.me.REG_size = 1;
3038 fra.me.REG[0] = NIT_NULL;
3039 fra.me.REG[0] = p0;
3040 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]);
3041 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
3042 /* ./metamodel//abstractmetamodel.nit:578 */
3043 if (UNTAG_Bool(REGB0)) {
3044 } else {
3045 fprintf(stderr, "Cast failed");
3046 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 578);
3047 nit_exit(1);
3048 }
3049 goto label1;
3050 label1: while(0);
3051 stack_frame_head = fra.me.prev;
3052 return fra.me.REG[0];
3053 }
3054 val_t abstractmetamodel___MMLocalProperty___is_global_set(val_t p0){
3055 struct {struct stack_frame_t me;} fra;
3056 val_t REGB0;
3057 val_t REGB1;
3058 val_t tmp;
3059 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3060 fra.me.file = LOCATE_abstractmetamodel;
3061 fra.me.line = 579;
3062 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___is_global_set;
3063 fra.me.has_broke = 0;
3064 fra.me.REG_size = 1;
3065 fra.me.REG[0] = NIT_NULL;
3066 fra.me.REG[0] = p0;
3067 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]);
3068 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
3069 /* ./metamodel//abstractmetamodel.nit:579 */
3070 if (UNTAG_Bool(REGB0)) {
3071 } else {
3072 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
3073 if (UNTAG_Bool(REGB1)) {
3074 REGB1 = TAG_Bool(false);
3075 REGB0 = REGB1;
3076 } else {
3077 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
3078 REGB0 = REGB1;
3079 }
3080 }
3081 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
3082 goto label1;
3083 label1: while(0);
3084 stack_frame_head = fra.me.prev;
3085 return REGB0;
3086 }
3087 val_t abstractmetamodel___MMLocalProperty___prhe(val_t p0){
3088 struct {struct stack_frame_t me;} fra;
3089 val_t REGB0;
3090 val_t tmp;
3091 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3092 fra.me.file = LOCATE_abstractmetamodel;
3093 fra.me.line = 584;
3094 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___prhe;
3095 fra.me.has_broke = 0;
3096 fra.me.REG_size = 1;
3097 fra.me.REG[0] = NIT_NULL;
3098 fra.me.REG[0] = p0;
3099 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____prhe(fra.me.REG[0]);
3100 REGB0 = TAG_Bool(fra.me.REG[0]!=NIT_NULL);
3101 /* ./metamodel//abstractmetamodel.nit:584 */
3102 if (UNTAG_Bool(REGB0)) {
3103 } else {
3104 fprintf(stderr, "Cast failed");
3105 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 584);
3106 nit_exit(1);
3107 }
3108 goto label1;
3109 label1: while(0);
3110 stack_frame_head = fra.me.prev;
3111 return fra.me.REG[0];
3112 }
3113 val_t abstractmetamodel___MMLocalProperty___module(val_t p0){
3114 struct {struct stack_frame_t me;} fra;
3115 val_t REGB0;
3116 val_t tmp;
3117 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3118 fra.me.file = LOCATE_abstractmetamodel;
3119 fra.me.line = 586;
3120 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___module;
3121 fra.me.has_broke = 0;
3122 fra.me.REG_size = 1;
3123 fra.me.REG[0] = NIT_NULL;
3124 fra.me.REG[0] = p0;
3125 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0])!=NIT_NULL);
3126 /* ./metamodel//abstractmetamodel.nit:587 */
3127 if (UNTAG_Bool(REGB0)) {
3128 } else {
3129 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
3130 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 587);
3131 nit_exit(1);
3132 }
3133 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0]);
3134 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[0])(fra.me.REG[0]);
3135 goto label1;
3136 label1: while(0);
3137 stack_frame_head = fra.me.prev;
3138 return fra.me.REG[0];
3139 }
3140 val_t abstractmetamodel___MMLocalProperty___full_name(val_t p0){
3141 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3142 val_t REGB0;
3143 val_t REGB1;
3144 val_t tmp;
3145 static val_t once_value_1; /* Once value */
3146 static val_t once_value_2; /* Once value */
3147 static val_t once_value_3; /* Once value */
3148 static val_t once_value_4; /* Once value */
3149 static val_t once_value_6; /* Once value */
3150 static val_t once_value_7; /* Once value */
3151 static val_t once_value_8; /* Once value */
3152 static val_t once_value_9; /* Once value */
3153 static val_t once_value_10; /* Once value */
3154 static val_t once_value_11; /* Once value */
3155 static val_t once_value_12; /* Once value */
3156 static val_t once_value_13; /* Once value */
3157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3158 fra.me.file = LOCATE_abstractmetamodel;
3159 fra.me.line = 589;
3160 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___full_name;
3161 fra.me.has_broke = 0;
3162 fra.me.REG_size = 4;
3163 fra.me.REG[0] = NIT_NULL;
3164 fra.me.REG[1] = NIT_NULL;
3165 fra.me.REG[2] = NIT_NULL;
3166 fra.me.REG[3] = NIT_NULL;
3167 fra.me.REG[0] = p0;
3168 fra.me.REG[1] = ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]);
3169 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3170 /* ./metamodel//abstractmetamodel.nit:592 */
3171 if (UNTAG_Bool(REGB0)) {
3172 } else {
3173 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3174 if (UNTAG_Bool(REGB1)) {
3175 REGB1 = TAG_Bool(false);
3176 REGB0 = REGB1;
3177 } else {
3178 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3179 REGB0 = REGB1;
3180 }
3181 }
3182 if (UNTAG_Bool(REGB0)) {
3183 REGB0 = TAG_Int(7);
3184 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
3185 /* ./metamodel//abstractmetamodel.nit:593 */
3186 if (!once_value_1) {
3187 fra.me.REG[2] = BOX_NativeString("");
3188 REGB0 = TAG_Int(0);
3189 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3190 once_value_1 = fra.me.REG[2];
3191 register_static_object(&once_value_1);
3192 } else fra.me.REG[2] = once_value_1;
3193 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3194 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3195 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[2])(fra.me.REG[2]);
3196 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3197 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3198 if (!once_value_2) {
3199 fra.me.REG[2] = BOX_NativeString("::");
3200 REGB0 = TAG_Int(2);
3201 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3202 once_value_2 = fra.me.REG[2];
3203 register_static_object(&once_value_2);
3204 } else fra.me.REG[2] = once_value_2;
3205 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3206 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3207 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3208 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3209 if (!once_value_3) {
3210 fra.me.REG[2] = BOX_NativeString("::(?::");
3211 REGB0 = TAG_Int(6);
3212 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3213 once_value_3 = fra.me.REG[2];
3214 register_static_object(&once_value_3);
3215 } else fra.me.REG[2] = once_value_3;
3216 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3217 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
3218 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3219 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3220 if (!once_value_4) {
3221 fra.me.REG[2] = BOX_NativeString(")");
3222 REGB0 = TAG_Int(1);
3223 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3224 once_value_4 = fra.me.REG[2];
3225 register_static_object(&once_value_4);
3226 } else fra.me.REG[2] = once_value_4;
3227 array___Array___add(fra.me.REG[1], fra.me.REG[2]);
3228 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
3229 goto label5;
3230 } else {
3231 fra.me.REG[2] = CALL_abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
3232 fra.me.REG[2] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[2])(fra.me.REG[2]);
3233 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[0]));
3234 /* ./metamodel//abstractmetamodel.nit:594 */
3235 if (UNTAG_Bool(REGB0)) {
3236 } else {
3237 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3238 REGB0 = REGB1;
3239 }
3240 if (UNTAG_Bool(REGB0)) {
3241 REGB0 = TAG_Int(7);
3242 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3243 /* ./metamodel//abstractmetamodel.nit:595 */
3244 if (!once_value_6) {
3245 fra.me.REG[3] = BOX_NativeString("");
3246 REGB0 = TAG_Int(0);
3247 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3248 once_value_6 = fra.me.REG[3];
3249 register_static_object(&once_value_6);
3250 } else fra.me.REG[3] = once_value_6;
3251 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3252 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3253 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[3])(fra.me.REG[3]);
3254 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3255 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3256 if (!once_value_7) {
3257 fra.me.REG[3] = BOX_NativeString("::");
3258 REGB0 = TAG_Int(2);
3259 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3260 once_value_7 = fra.me.REG[3];
3261 register_static_object(&once_value_7);
3262 } else fra.me.REG[3] = once_value_7;
3263 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3264 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3265 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3266 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3267 if (!once_value_8) {
3268 fra.me.REG[3] = BOX_NativeString("::");
3269 REGB0 = TAG_Int(2);
3270 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3271 once_value_8 = fra.me.REG[3];
3272 register_static_object(&once_value_8);
3273 } else fra.me.REG[3] = once_value_8;
3274 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3275 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___name(fra.me.REG[0])(fra.me.REG[0]);
3276 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3277 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3278 if (!once_value_9) {
3279 fra.me.REG[3] = BOX_NativeString("");
3280 REGB0 = TAG_Int(0);
3281 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3282 once_value_9 = fra.me.REG[3];
3283 register_static_object(&once_value_9);
3284 } else fra.me.REG[3] = once_value_9;
3285 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3286 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3287 fra.me.REG[1] = fra.me.REG[2];
3288 goto label5;
3289 } else {
3290 REGB0 = TAG_Int(7);
3291 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3292 /* ./metamodel//abstractmetamodel.nit:597 */
3293 if (!once_value_10) {
3294 fra.me.REG[3] = BOX_NativeString("");
3295 REGB0 = TAG_Int(0);
3296 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3297 once_value_10 = fra.me.REG[3];
3298 register_static_object(&once_value_10);
3299 } else fra.me.REG[3] = once_value_10;
3300 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3301 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3302 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalClass___module(fra.me.REG[3])(fra.me.REG[3]);
3303 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3304 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3305 if (!once_value_11) {
3306 fra.me.REG[3] = BOX_NativeString("::");
3307 REGB0 = TAG_Int(2);
3308 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3309 once_value_11 = fra.me.REG[3];
3310 register_static_object(&once_value_11);
3311 } else fra.me.REG[3] = once_value_11;
3312 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3313 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___local_class(fra.me.REG[0])(fra.me.REG[0]);
3314 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
3315 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3316 if (!once_value_12) {
3317 fra.me.REG[3] = BOX_NativeString("::(");
3318 REGB0 = TAG_Int(3);
3319 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3320 once_value_12 = fra.me.REG[3];
3321 register_static_object(&once_value_12);
3322 } else fra.me.REG[3] = once_value_12;
3323 array___Array___add(fra.me.REG[2], fra.me.REG[3]);
3324 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___global(fra.me.REG[0])(fra.me.REG[0]);
3325 fra.me.REG[0] = CALL_abstractmetamodel___MMGlobalProperty___intro(fra.me.REG[0])(fra.me.REG[0]);
3326 fra.me.REG[0] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[0])(fra.me.REG[0]);
3327 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
3328 if (!once_value_13) {
3329 fra.me.REG[0] = BOX_NativeString(")");
3330 REGB0 = TAG_Int(1);
3331 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3332 once_value_13 = fra.me.REG[0];
3333 register_static_object(&once_value_13);
3334 } else fra.me.REG[0] = once_value_13;
3335 array___Array___add(fra.me.REG[2], fra.me.REG[0]);
3336 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3337 fra.me.REG[1] = fra.me.REG[2];
3338 goto label5;
3339 }
3340 }
3341 label5: while(0);
3342 stack_frame_head = fra.me.prev;
3343 return fra.me.REG[1];
3344 }
3345 void abstractmetamodel___MMLocalProperty___set_global(val_t p0, val_t p1){
3346 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3347 val_t REGB0;
3348 val_t tmp;
3349 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3350 fra.me.file = LOCATE_abstractmetamodel;
3351 fra.me.line = 601;
3352 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___set_global;
3353 fra.me.has_broke = 0;
3354 fra.me.REG_size = 2;
3355 fra.me.REG[0] = NIT_NULL;
3356 fra.me.REG[1] = NIT_NULL;
3357 fra.me.REG[0] = p0;
3358 fra.me.REG[1] = p1;
3359 /* ./metamodel//abstractmetamodel.nit:604 */
3360 ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]) = fra.me.REG[1];
3361 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0])!=NIT_NULL);
3362 /* ./metamodel//abstractmetamodel.nit:605 */
3363 if (UNTAG_Bool(REGB0)) {
3364 } else {
3365 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
3366 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 605);
3367 nit_exit(1);
3368 }
3369 fra.me.REG[1] = ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0]);
3370 CALL_abstractmetamodel___MMLocalClass___register_local_property(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3371 stack_frame_head = fra.me.prev;
3372 return;
3373 }
3374 void abstractmetamodel___MMLocalProperty___new_global(val_t p0){
3375 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
3376 val_t REGB0;
3377 val_t REGB1;
3378 val_t tmp;
3379 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3380 fra.me.file = LOCATE_abstractmetamodel;
3381 fra.me.line = 608;
3382 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___new_global;
3383 fra.me.has_broke = 0;
3384 fra.me.REG_size = 2;
3385 fra.me.REG[0] = NIT_NULL;
3386 fra.me.REG[1] = NIT_NULL;
3387 fra.me.REG[0] = p0;
3388 fra.me.REG[1] = ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]);
3389 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3390 /* ./metamodel//abstractmetamodel.nit:611 */
3391 if (UNTAG_Bool(REGB0)) {
3392 } else {
3393 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
3394 if (UNTAG_Bool(REGB1)) {
3395 REGB1 = TAG_Bool(false);
3396 REGB0 = REGB1;
3397 } else {
3398 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
3399 REGB0 = REGB1;
3400 }
3401 }
3402 if (UNTAG_Bool(REGB0)) {
3403 } else {
3404 fprintf(stderr, "Assert failed");
3405 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 611);
3406 nit_exit(1);
3407 }
3408 fra.me.REG[1] = NEW_MMGlobalProperty_abstractmetamodel___MMGlobalProperty___init(fra.me.REG[0]);
3409 /* ./metamodel//abstractmetamodel.nit:613 */
3410 ATTR_abstractmetamodel___MMLocalProperty____global(fra.me.REG[0]) = fra.me.REG[1];
3411 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0])!=NIT_NULL);
3412 /* ./metamodel//abstractmetamodel.nit:614 */
3413 if (UNTAG_Bool(REGB0)) {
3414 } else {
3415 fprintf(stderr, "Uninitialized attribute %s", "_local_class");
3416 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 614);
3417 nit_exit(1);
3418 }
3419 fra.me.REG[0] = ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0]);
3420 CALL_abstractmetamodel___MMLocalClass___register_global_property(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
3421 stack_frame_head = fra.me.prev;
3422 return;
3423 }
3424 val_t abstractmetamodel___MMLocalProperty___need_super(val_t p0){
3425 struct {struct stack_frame_t me;} fra;
3426 val_t REGB0;
3427 val_t tmp;
3428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3429 fra.me.file = LOCATE_abstractmetamodel;
3430 fra.me.line = 619;
3431 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___need_super;
3432 fra.me.has_broke = 0;
3433 fra.me.REG_size = 1;
3434 fra.me.REG[0] = NIT_NULL;
3435 fra.me.REG[0] = p0;
3436 REGB0 = TAG_Bool(ATTR_abstractmetamodel___MMLocalProperty____need_super(fra.me.REG[0])!=NIT_NULL);
3437 /* ./metamodel//abstractmetamodel.nit:619 */
3438 if (UNTAG_Bool(REGB0)) {
3439 } else {
3440 fprintf(stderr, "Uninitialized attribute %s", "_need_super");
3441 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 619);
3442 nit_exit(1);
3443 }
3444 REGB0 = ATTR_abstractmetamodel___MMLocalProperty____need_super(fra.me.REG[0]);
3445 stack_frame_head = fra.me.prev;
3446 return REGB0;
3447 }
3448 void abstractmetamodel___MMLocalProperty___need_super__eq(val_t p0, val_t p1){
3449 struct {struct stack_frame_t me;} fra;
3450 val_t REGB0;
3451 val_t tmp;
3452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3453 fra.me.file = LOCATE_abstractmetamodel;
3454 fra.me.line = 619;
3455 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___need_super__eq;
3456 fra.me.has_broke = 0;
3457 fra.me.REG_size = 1;
3458 fra.me.REG[0] = NIT_NULL;
3459 fra.me.REG[0] = p0;
3460 REGB0 = p1;
3461 /* ./metamodel//abstractmetamodel.nit:619 */
3462 ATTR_abstractmetamodel___MMLocalProperty____need_super(fra.me.REG[0]) = REGB0;
3463 stack_frame_head = fra.me.prev;
3464 return;
3465 }
3466 void abstractmetamodel___MMLocalProperty___init(val_t p0, val_t p1, val_t p2, int* init_table){
3467 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_MMLocalProperty].i;
3468 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
3469 val_t tmp;
3470 if (init_table[itpos6]) return;
3471 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3472 fra.me.file = LOCATE_abstractmetamodel;
3473 fra.me.line = 622;
3474 fra.me.meth = LOCATE_abstractmetamodel___MMLocalProperty___init;
3475 fra.me.has_broke = 0;
3476 fra.me.REG_size = 3;
3477 fra.me.REG[0] = NIT_NULL;
3478 fra.me.REG[1] = NIT_NULL;
3479 fra.me.REG[2] = NIT_NULL;
3480 fra.me.REG[0] = p0;
3481 fra.me.REG[1] = p1;
3482 fra.me.REG[2] = p2;
3483 /* ./metamodel//abstractmetamodel.nit:624 */
3484 ATTR_abstractmetamodel___MMLocalProperty____name(fra.me.REG[0]) = fra.me.REG[1];
3485 /* ./metamodel//abstractmetamodel.nit:625 */
3486 ATTR_abstractmetamodel___MMLocalProperty____local_class(fra.me.REG[0]) = fra.me.REG[2];
3487 stack_frame_head = fra.me.prev;
3488 init_table[itpos6] = 1;
3489 return;
3490 }
3491 val_t abstractmetamodel___MMMethod___is_intern(val_t p0){
3492 struct {struct stack_frame_t me;} fra;
3493 val_t tmp;
3494 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3495 fra.me.file = LOCATE_abstractmetamodel;
3496 fra.me.line = 637;
3497 fra.me.meth = LOCATE_abstractmetamodel___MMMethod___is_intern;
3498 fra.me.has_broke = 0;
3499 fra.me.REG_size = 0;
3500 /* ./metamodel//abstractmetamodel.nit:637 */
3501 fprintf(stderr, "Deferred method called");
3502 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 637);
3503 nit_exit(1);
3504 stack_frame_head = fra.me.prev;
3505 return NIT_NULL;
3506 }
3507 val_t abstractmetamodel___MMMethod___is_abstract(val_t p0){
3508 struct {struct stack_frame_t me;} fra;
3509 val_t tmp;
3510 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3511 fra.me.file = LOCATE_abstractmetamodel;
3512 fra.me.line = 640;
3513 fra.me.meth = LOCATE_abstractmetamodel___MMMethod___is_abstract;
3514 fra.me.has_broke = 0;
3515 fra.me.REG_size = 0;
3516 /* ./metamodel//abstractmetamodel.nit:640 */
3517 fprintf(stderr, "Deferred method called");
3518 fprintf(stderr, " (%s:%d)\n", LOCATE_abstractmetamodel, 640);
3519 nit_exit(1);
3520 stack_frame_head = fra.me.prev;
3521 return NIT_NULL;
3522 }