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