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