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