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