1 /* This C file is generated by NIT to compile module metamodel___inheritance. */
2 #include "metamodel___inheritance._sep.h"
3 void metamodel___inheritance___MMContext___handle_property_conflict(val_t p0
, val_t p1
, val_t p2
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
9 static val_t once_value_1
; /* Once value */
10 static val_t once_value_2
; /* Once value */
11 static val_t once_value_3
; /* Once value */
12 static val_t once_value_4
; /* Once value */
13 static val_t once_value_5
; /* Once value */
14 static val_t once_value_6
; /* Once value */
15 static val_t once_value_7
; /* Once value */
16 static val_t once_value_9
; /* Once value */
17 static val_t once_value_10
; /* Once value */
18 static val_t once_value_11
; /* Once value */
19 static val_t once_value_12
; /* Once value */
20 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
21 fra
.me
.file
= LOCATE_metamodel___inheritance
;
23 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMContext___handle_property_conflict
;
26 fra
.me
.nitni_local_ref_head
= NULL
;
27 fra
.me
.REG
[0] = NIT_NULL
;
28 fra
.me
.REG
[1] = NIT_NULL
;
29 fra
.me
.REG
[2] = NIT_NULL
;
30 fra
.me
.REG
[3] = NIT_NULL
;
31 fra
.me
.REG
[4] = NIT_NULL
;
32 fra
.me
.REG
[5] = NIT_NULL
;
33 fra
.me
.REG
[6] = NIT_NULL
;
37 /* metamodel/inheritance.nit:28 */
38 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
39 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
40 if (UNTAG_Bool(REGB0
)) {
41 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 28);
43 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
44 /* metamodel/inheritance.nit:29 */
45 fra
.me
.REG
[4] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
47 fra
.me
.REG
[5] = BOX_NativeString("Fatal error: inherit_local_property error\n");
49 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
50 once_value_1
= fra
.me
.REG
[5];
51 register_static_object(&once_value_1
);
52 } else fra
.me
.REG
[5] = once_value_1
;
53 fra
.me
.REG
[5] = fra
.me
.REG
[5];
54 CALL_standard___stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
55 /* metamodel/inheritance.nit:30 */
57 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
59 fra
.me
.REG
[4] = BOX_NativeString("------- ");
61 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
62 once_value_2
= fra
.me
.REG
[4];
63 register_static_object(&once_value_2
);
64 } else fra
.me
.REG
[4] = once_value_2
;
65 fra
.me
.REG
[4] = fra
.me
.REG
[4];
66 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
67 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
68 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
69 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
71 fra
.me
.REG
[4] = BOX_NativeString("::");
73 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
74 once_value_3
= fra
.me
.REG
[4];
75 register_static_object(&once_value_3
);
76 } else fra
.me
.REG
[4] = once_value_3
;
77 fra
.me
.REG
[4] = fra
.me
.REG
[4];
78 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
79 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
80 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
82 fra
.me
.REG
[1] = BOX_NativeString(" ");
84 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
85 once_value_4
= fra
.me
.REG
[1];
86 register_static_object(&once_value_4
);
87 } else fra
.me
.REG
[1] = once_value_4
;
88 fra
.me
.REG
[1] = fra
.me
.REG
[1];
89 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
90 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
91 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
92 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
94 fra
.me
.REG
[1] = BOX_NativeString("");
96 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
97 once_value_5
= fra
.me
.REG
[1];
98 register_static_object(&once_value_5
);
99 } else fra
.me
.REG
[1] = once_value_5
;
100 fra
.me
.REG
[1] = fra
.me
.REG
[1];
101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
102 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
103 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
104 /* ../lib/standard/collection/array.nit:269 */
106 /* ../lib/standard/collection/array.nit:270 */
107 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
108 if (UNTAG_Bool(REGB1
)) {
110 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
112 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
113 /* ../lib/standard/collection/array.nit:271 */
114 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
115 /* ../lib/standard/collection/array.nit:272 */
117 /* ../lib/standard/collection/array.nit:24 */
118 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
119 if (UNTAG_Bool(REGB1
)) {
121 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
123 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
124 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
125 if (UNTAG_Bool(REGB2
)) {
127 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
129 /* ../lib/standard/kernel.nit:232 */
130 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
131 /* ../lib/standard/collection/array.nit:272 */
132 if (UNTAG_Bool(REGB1
)) {
133 /* ../lib/standard/collection/array.nit:273 */
134 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
135 if (UNTAG_Bool(REGB1
)) {
136 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
138 /* ../lib/standard/collection/array.nit:718 */
139 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
140 /* metamodel/inheritance.nit:32 */
142 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
144 fra
.me
.REG
[6] = BOX_NativeString(" ");
146 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
147 once_value_6
= fra
.me
.REG
[6];
148 register_static_object(&once_value_6
);
149 } else fra
.me
.REG
[6] = once_value_6
;
150 fra
.me
.REG
[6] = fra
.me
.REG
[6];
151 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
152 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
153 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
155 fra
.me
.REG
[1] = BOX_NativeString("");
157 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
158 once_value_7
= fra
.me
.REG
[1];
159 register_static_object(&once_value_7
);
160 } else fra
.me
.REG
[1] = once_value_7
;
161 fra
.me
.REG
[1] = fra
.me
.REG
[1];
162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
163 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
164 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
165 /* ../lib/standard/collection/array.nit:274 */
167 /* ../lib/standard/kernel.nit:235 */
168 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
169 /* ../lib/standard/collection/array.nit:274 */
172 /* ../lib/standard/collection/array.nit:272 */
177 /* metamodel/inheritance.nit:34 */
179 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
181 fra
.me
.REG
[2] = BOX_NativeString("------- ");
183 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
184 once_value_9
= fra
.me
.REG
[2];
185 register_static_object(&once_value_9
);
186 } else fra
.me
.REG
[2] = once_value_9
;
187 fra
.me
.REG
[2] = fra
.me
.REG
[2];
188 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
189 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
190 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
191 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
192 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
193 if (!once_value_10
) {
194 fra
.me
.REG
[2] = BOX_NativeString("");
196 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
197 once_value_10
= fra
.me
.REG
[2];
198 register_static_object(&once_value_10
);
199 } else fra
.me
.REG
[2] = once_value_10
;
200 fra
.me
.REG
[2] = fra
.me
.REG
[2];
201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
202 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
203 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
204 /* metamodel/inheritance.nit:35 */
206 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
207 if (!once_value_11
) {
208 fra
.me
.REG
[2] = BOX_NativeString("------- ");
210 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
211 once_value_11
= fra
.me
.REG
[2];
212 register_static_object(&once_value_11
);
213 } else fra
.me
.REG
[2] = once_value_11
;
214 fra
.me
.REG
[2] = fra
.me
.REG
[2];
215 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
216 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
217 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
219 if (!once_value_12
) {
220 fra
.me
.REG
[3] = BOX_NativeString("");
222 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
223 once_value_12
= fra
.me
.REG
[3];
224 register_static_object(&once_value_12
);
225 } else fra
.me
.REG
[3] = once_value_12
;
226 fra
.me
.REG
[3] = fra
.me
.REG
[3];
227 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
228 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
229 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
230 /* metamodel/inheritance.nit:36 */
232 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
233 stack_frame_head
= fra
.me
.prev
;
236 val_t
metamodel___inheritance___MMModule___type_any(val_t p0
){
237 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
240 static val_t once_value_1
; /* Once value */
241 static val_t once_value_2
; /* Once value */
242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
243 fra
.me
.file
= LOCATE_metamodel___inheritance
;
245 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___type_any
;
246 fra
.me
.has_broke
= 0;
248 fra
.me
.nitni_local_ref_head
= NULL
;
249 fra
.me
.REG
[0] = NIT_NULL
;
250 fra
.me
.REG
[1] = NIT_NULL
;
252 /* metamodel/inheritance.nit:44 */
255 fra
.me
.REG
[1] = BOX_NativeString("Object");
257 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
258 once_value_2
= fra
.me
.REG
[1];
259 register_static_object(&once_value_2
);
260 } else fra
.me
.REG
[1] = once_value_2
;
261 fra
.me
.REG
[1] = fra
.me
.REG
[1];
262 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
263 once_value_1
= fra
.me
.REG
[1];
264 register_static_object(&once_value_1
);
265 } else fra
.me
.REG
[1] = once_value_1
;
266 fra
.me
.REG
[1] = fra
.me
.REG
[1];
267 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
268 /* metamodel/inheritance.nit:45 */
269 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
272 stack_frame_head
= fra
.me
.prev
;
273 return fra
.me
.REG
[1];
275 val_t
metamodel___inheritance___MMModule___type_any_extern(val_t p0
){
276 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
279 static val_t once_value_1
; /* Once value */
280 static val_t once_value_2
; /* Once value */
281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
282 fra
.me
.file
= LOCATE_metamodel___inheritance
;
284 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___type_any_extern
;
285 fra
.me
.has_broke
= 0;
287 fra
.me
.nitni_local_ref_head
= NULL
;
288 fra
.me
.REG
[0] = NIT_NULL
;
289 fra
.me
.REG
[1] = NIT_NULL
;
291 /* metamodel/inheritance.nit:51 */
294 fra
.me
.REG
[1] = BOX_NativeString("Pointer");
296 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
297 once_value_2
= fra
.me
.REG
[1];
298 register_static_object(&once_value_2
);
299 } else fra
.me
.REG
[1] = once_value_2
;
300 fra
.me
.REG
[1] = fra
.me
.REG
[1];
301 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
302 once_value_1
= fra
.me
.REG
[1];
303 register_static_object(&once_value_1
);
304 } else fra
.me
.REG
[1] = once_value_1
;
305 fra
.me
.REG
[1] = fra
.me
.REG
[1];
306 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
307 /* metamodel/inheritance.nit:52 */
308 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
311 stack_frame_head
= fra
.me
.prev
;
312 return fra
.me
.REG
[1];
314 void metamodel___inheritance___MMModule___import_global_classes(val_t p0
){
315 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
320 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
321 fra
.me
.file
= LOCATE_metamodel___inheritance
;
323 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_global_classes
;
324 fra
.me
.has_broke
= 0;
326 fra
.me
.nitni_local_ref_head
= NULL
;
327 fra
.me
.REG
[0] = NIT_NULL
;
328 fra
.me
.REG
[1] = NIT_NULL
;
329 fra
.me
.REG
[2] = NIT_NULL
;
330 fra
.me
.REG
[3] = NIT_NULL
;
332 /* metamodel/inheritance.nit:58 */
333 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
334 /* metamodel/inheritance.nit:59 */
335 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
336 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
337 if (UNTAG_Bool(REGB0
)) {
339 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
340 if (UNTAG_Bool(REGB1
)) {
341 REGB1
= TAG_Bool(false);
344 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
348 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
349 if (UNTAG_Bool(REGB0
)) {
351 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 59);
353 /* metamodel/inheritance.nit:60 */
354 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
355 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
356 if (UNTAG_Bool(REGB0
)) {
357 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 60);
359 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
360 /* ../lib/standard/collection/array.nit:269 */
362 /* ../lib/standard/collection/array.nit:270 */
363 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
364 if (UNTAG_Bool(REGB1
)) {
366 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
368 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
369 /* ../lib/standard/collection/array.nit:271 */
370 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
371 /* ../lib/standard/collection/array.nit:272 */
373 /* ../lib/standard/collection/array.nit:24 */
374 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
375 if (UNTAG_Bool(REGB1
)) {
377 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
379 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
380 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
381 if (UNTAG_Bool(REGB2
)) {
383 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
385 /* ../lib/standard/kernel.nit:232 */
386 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
387 /* ../lib/standard/collection/array.nit:272 */
388 if (UNTAG_Bool(REGB1
)) {
389 /* ../lib/standard/collection/array.nit:273 */
390 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
391 if (UNTAG_Bool(REGB1
)) {
392 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
394 /* ../lib/standard/collection/array.nit:718 */
395 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
396 /* metamodel/inheritance.nit:61 */
397 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___global_classes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
398 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMModule___import_global_classes_1
));
399 /* ../lib/standard/collection/array.nit:274 */
401 /* ../lib/standard/kernel.nit:235 */
402 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
403 /* ../lib/standard/collection/array.nit:274 */
406 /* ../lib/standard/collection/array.nit:272 */
411 stack_frame_head
= fra
.me
.prev
;
414 void OC_metamodel___inheritance___MMModule___import_global_classes_1(struct stack_frame_t
*closctx
, val_t p0
){
415 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
418 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
419 fra
.me
.file
= LOCATE_metamodel___inheritance
;
421 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_global_classes
;
422 fra
.me
.has_broke
= 0;
424 fra
.me
.nitni_local_ref_head
= NULL
;
425 fra
.me
.REG
[0] = NIT_NULL
;
426 fra
.me
.REG
[1] = NIT_NULL
;
427 fra
.me
.REG
[2] = NIT_NULL
;
429 /* metamodel/inheritance.nit:62 */
430 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___global_classes(closctx
->REG
[0])(closctx
->REG
[0]);
431 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
432 if (UNTAG_Bool(REGB0
)) {
435 /* metamodel/inheritance.nit:63 */
436 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_classes(closctx
->REG
[0])!=NIT_NULL
);
437 if (UNTAG_Bool(REGB0
)) {
439 nit_abort("Uninitialized attribute %s", "_global_classes", LOCATE_metamodel___inheritance
, 63);
441 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_classes(closctx
->REG
[0]);
442 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
443 /* metamodel/inheritance.nit:64 */
444 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_class_by_name(closctx
->REG
[0])!=NIT_NULL
);
445 if (UNTAG_Bool(REGB0
)) {
447 nit_abort("Uninitialized attribute %s", "_global_class_by_name", LOCATE_metamodel___inheritance
, 64);
449 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_class_by_name(closctx
->REG
[0]);
450 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
451 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
453 stack_frame_head
= fra
.me
.prev
;
456 void metamodel___inheritance___MMModule___import_local_classes(val_t p0
){
457 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
460 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
461 fra
.me
.file
= LOCATE_metamodel___inheritance
;
463 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_local_classes
;
464 fra
.me
.has_broke
= 0;
466 fra
.me
.nitni_local_ref_head
= NULL
;
467 fra
.me
.REG
[0] = NIT_NULL
;
468 fra
.me
.REG
[1] = NIT_NULL
;
470 /* metamodel/inheritance.nit:73 */
471 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_classes(fra
.me
.REG
[0])!=NIT_NULL
);
472 if (UNTAG_Bool(REGB0
)) {
474 nit_abort("Uninitialized attribute %s", "_global_classes", LOCATE_metamodel___inheritance
, 73);
476 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_classes(fra
.me
.REG
[0]);
477 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMModule___import_local_classes_1
));
478 stack_frame_head
= fra
.me
.prev
;
481 void OC_metamodel___inheritance___MMModule___import_local_classes_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
482 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
486 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
487 fra
.me
.file
= LOCATE_metamodel___inheritance
;
489 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_local_classes
;
490 fra
.me
.has_broke
= 0;
492 fra
.me
.nitni_local_ref_head
= NULL
;
493 fra
.me
.REG
[0] = NIT_NULL
;
494 fra
.me
.REG
[1] = NIT_NULL
;
495 fra
.me
.closure_ctx
= closctx_param
;
496 fra
.me
.closure_funs
= CREG
;
499 /* metamodel/inheritance.nit:74 */
500 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____local_class_by_global(closctx
->REG
[0])!=NIT_NULL
);
501 if (UNTAG_Bool(REGB0
)) {
503 nit_abort("Uninitialized attribute %s", "_local_class_by_global", LOCATE_metamodel___inheritance
, 74);
505 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____local_class_by_global(closctx
->REG
[0]);
506 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
507 if (UNTAG_Bool(REGB0
)) {
510 /* metamodel/inheritance.nit:75 */
511 fra
.me
.REG
[0] = NEW_MMImplicitLocalClass_metamodel___inheritance___MMImplicitLocalClass___init(closctx
->REG
[0], fra
.me
.REG
[0]);
513 stack_frame_head
= fra
.me
.prev
;
516 void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0
){
517 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
521 static val_t once_value_2
; /* Once value */
522 static val_t once_value_3
; /* Once value */
523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
524 fra
.me
.file
= LOCATE_metamodel___inheritance
;
526 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_super_classes
;
527 fra
.me
.has_broke
= 0;
529 fra
.me
.nitni_local_ref_head
= NULL
;
530 fra
.me
.REG
[0] = NIT_NULL
;
531 fra
.me
.REG
[1] = NIT_NULL
;
532 fra
.me
.REG
[2] = NIT_NULL
;
533 fra
.me
.REG
[3] = NIT_NULL
;
535 /* metamodel/inheritance.nit:91 */
536 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
537 if (UNTAG_Bool(REGB0
)) {
538 /* metamodel/inheritance.nit:93 */
541 /* metamodel/inheritance.nit:94 */
542 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0])!=NIT_NULL
);
543 if (UNTAG_Bool(REGB0
)) {
545 nit_abort("Uninitialized attribute %s", "_computing_super", LOCATE_metamodel___inheritance
, 94);
547 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]);
548 if (UNTAG_Bool(REGB0
)) {
549 /* metamodel/inheritance.nit:95 */
550 fra
.me
.REG
[1] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
552 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
554 fra
.me
.REG
[3] = BOX_NativeString("Fatal error: Inheritance loop for class ");
556 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
557 once_value_2
= fra
.me
.REG
[3];
558 register_static_object(&once_value_2
);
559 } else fra
.me
.REG
[3] = once_value_2
;
560 fra
.me
.REG
[3] = fra
.me
.REG
[3];
561 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
562 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
563 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
565 fra
.me
.REG
[3] = BOX_NativeString("\n");
567 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
568 once_value_3
= fra
.me
.REG
[3];
569 register_static_object(&once_value_3
);
570 } else fra
.me
.REG
[3] = once_value_3
;
571 fra
.me
.REG
[3] = fra
.me
.REG
[3];
572 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
573 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
574 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
575 /* metamodel/inheritance.nit:96 */
577 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
580 /* metamodel/inheritance.nit:98 */
581 REGB0
= TAG_Bool(true);
582 ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]) = REGB0
;
583 /* metamodel/inheritance.nit:100 */
584 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
585 /* metamodel/inheritance.nit:101 */
586 CALL_metamodel___inheritance___MMLocalClass___add_explicit_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
587 /* metamodel/inheritance.nit:102 */
588 CALL_metamodel___inheritance___MMLocalClass___add_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
589 /* metamodel/inheritance.nit:103 */
590 CALL_metamodel___inheritance___MMLocalClass___add_default_any_class(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
591 /* metamodel/inheritance.nit:104 */
592 CALL_metamodel___inheritance___MMLocalClass___compute_super_parents(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
593 /* metamodel/inheritance.nit:105 */
594 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
595 /* metamodel/inheritance.nit:106 */
596 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
597 /* metamodel/inheritance.nit:107 */
598 fra
.me
.REG
[1] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
599 /* metamodel/inheritance.nit:108 */
600 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
601 CALL_metamodel___abstractmetamodel___MMModule___set_supers_class(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[1]);
602 /* metamodel/inheritance.nit:109 */
603 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
604 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
605 if (UNTAG_Bool(REGB0
)) {
607 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
608 if (UNTAG_Bool(REGB1
)) {
609 REGB1
= TAG_Bool(false);
612 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
616 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
617 if (UNTAG_Bool(REGB0
)) {
619 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 109);
621 /* metamodel/inheritance.nit:110 */
622 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____cshe(fra
.me
.REG
[0]);
623 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
624 if (UNTAG_Bool(REGB0
)) {
626 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
627 if (UNTAG_Bool(REGB1
)) {
628 REGB1
= TAG_Bool(false);
631 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
635 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
636 if (UNTAG_Bool(REGB0
)) {
638 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 110);
640 /* metamodel/inheritance.nit:111 */
641 REGB0
= TAG_Bool(false);
642 ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]) = REGB0
;
644 stack_frame_head
= fra
.me
.prev
;
647 void metamodel___inheritance___MMLocalClass___compute_ancestors(val_t p0
){
648 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
651 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
652 fra
.me
.file
= LOCATE_metamodel___inheritance
;
654 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_ancestors
;
655 fra
.me
.has_broke
= 0;
657 fra
.me
.nitni_local_ref_head
= NULL
;
658 fra
.me
.REG
[0] = NIT_NULL
;
659 fra
.me
.REG
[1] = NIT_NULL
;
660 fra
.me
.REG
[2] = NIT_NULL
;
662 /* metamodel/inheritance.nit:117 */
663 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
664 if (UNTAG_Bool(REGB0
)) {
666 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 117);
668 /* metamodel/inheritance.nit:118 */
669 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
670 if (UNTAG_Bool(REGB0
)) {
673 /* metamodel/inheritance.nit:120 */
674 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___build_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
675 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___group_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
676 /* metamodel/inheritance.nit:121 */
677 fra
.me
.REG
[2] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
678 ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
679 /* metamodel/inheritance.nit:123 */
680 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
681 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMLocalClass___compute_ancestors_2
));
683 stack_frame_head
= fra
.me
.prev
;
686 void OC_metamodel___inheritance___MMLocalClass___compute_ancestors_2(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
687 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
693 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
694 fra
.me
.file
= LOCATE_metamodel___inheritance
;
696 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_ancestors
;
697 fra
.me
.has_broke
= 0;
699 fra
.me
.nitni_local_ref_head
= NULL
;
700 fra
.me
.REG
[0] = NIT_NULL
;
701 fra
.me
.REG
[1] = NIT_NULL
;
702 fra
.me
.closure_ctx
= closctx_param
;
703 fra
.me
.closure_funs
= CREG
;
706 /* metamodel/inheritance.nit:124 */
707 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
709 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
710 if (UNTAG_Bool(REGB2
)) {
712 /* ../lib/standard/kernel.nit:227 */
713 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
714 /* metamodel/inheritance.nit:124 */
717 if (UNTAG_Bool(REGB2
)) {
718 /* metamodel/inheritance.nit:125 */
719 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
720 CALL_metamodel___static_type___MMLocalClass___add_ancestor(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
722 /* metamodel/inheritance.nit:127 */
723 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___merge_ancestors(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
724 /* metamodel/inheritance.nit:128 */
725 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMLocalClass___merge_ancestors(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
726 CALL_metamodel___static_type___MMLocalClass___add_ancestor(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
728 stack_frame_head
= fra
.me
.prev
;
731 void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
){
732 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
737 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
738 fra
.me
.file
= LOCATE_metamodel___inheritance
;
740 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___inherit_global_properties
;
741 fra
.me
.has_broke
= 0;
743 fra
.me
.nitni_local_ref_head
= NULL
;
744 fra
.me
.REG
[0] = NIT_NULL
;
745 fra
.me
.REG
[1] = NIT_NULL
;
746 fra
.me
.REG
[2] = NIT_NULL
;
747 fra
.me
.REG
[3] = NIT_NULL
;
748 fra
.me
.REG
[4] = NIT_NULL
;
750 /* metamodel/inheritance.nit:138 */
751 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0])!=NIT_NULL
);
752 if (UNTAG_Bool(REGB0
)) {
754 nit_abort("Uninitialized attribute %s", "_are_global_properties_inherited", LOCATE_metamodel___inheritance
, 138);
756 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]);
757 if (UNTAG_Bool(REGB0
)) {
760 /* metamodel/inheritance.nit:139 */
761 REGB0
= TAG_Bool(true);
762 ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]) = REGB0
;
763 /* metamodel/inheritance.nit:141 */
764 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
765 if (UNTAG_Bool(REGB0
)) {
767 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 141);
769 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
770 /* metamodel/inheritance.nit:142 */
771 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
772 if (UNTAG_Bool(REGB0
)) {
774 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 142);
776 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
777 /* metamodel/inheritance.nit:143 */
778 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
779 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
780 /* ../lib/standard/collection/array.nit:269 */
782 /* ../lib/standard/collection/array.nit:270 */
783 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
784 if (UNTAG_Bool(REGB1
)) {
786 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
788 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
789 /* ../lib/standard/collection/array.nit:271 */
790 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
791 /* ../lib/standard/collection/array.nit:272 */
793 /* ../lib/standard/collection/array.nit:24 */
794 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
795 if (UNTAG_Bool(REGB1
)) {
797 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
799 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
800 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
801 if (UNTAG_Bool(REGB2
)) {
803 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
805 /* ../lib/standard/kernel.nit:232 */
806 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
807 /* ../lib/standard/collection/array.nit:272 */
808 if (UNTAG_Bool(REGB1
)) {
809 /* ../lib/standard/collection/array.nit:273 */
810 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
811 if (UNTAG_Bool(REGB1
)) {
812 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
814 /* ../lib/standard/collection/array.nit:718 */
815 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
816 /* metamodel/inheritance.nit:144 */
817 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
818 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[4])(fra
.me
.REG
[4], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMLocalClass___inherit_global_properties_2
));
819 /* ../lib/standard/collection/array.nit:274 */
821 /* ../lib/standard/kernel.nit:235 */
822 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
823 /* ../lib/standard/collection/array.nit:274 */
826 /* ../lib/standard/collection/array.nit:272 */
832 stack_frame_head
= fra
.me
.prev
;
835 void OC_metamodel___inheritance___MMLocalClass___inherit_global_properties_2(struct stack_frame_t
*closctx
, val_t p0
){
836 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
841 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
842 fra
.me
.file
= LOCATE_metamodel___inheritance
;
844 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___inherit_global_properties
;
845 fra
.me
.has_broke
= 0;
847 fra
.me
.nitni_local_ref_head
= NULL
;
848 fra
.me
.REG
[0] = NIT_NULL
;
849 fra
.me
.REG
[1] = NIT_NULL
;
850 fra
.me
.REG
[2] = NIT_NULL
;
852 /* metamodel/inheritance.nit:145 */
853 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
854 if (UNTAG_Bool(REGB0
)) {
857 /* metamodel/inheritance.nit:147 */
858 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
859 /* metamodel/inheritance.nit:151 */
860 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
861 if (UNTAG_Bool(REGB0
)) {
862 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
863 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
864 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
865 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(closctx
->REG
[0])(closctx
->REG
[0]);
866 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
867 if (UNTAG_Bool(REGB0
)) {
869 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
872 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
874 REGB1
= TAG_Bool(false);
877 if (UNTAG_Bool(REGB0
)) {
878 /* metamodel/inheritance.nit:153 */
881 /* metamodel/inheritance.nit:157 */
882 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
883 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
884 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
886 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
887 REGB1
= TAG_Char('@');
888 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
889 if (UNTAG_Bool(REGB2
)) {
891 /* ../lib/standard/kernel.nit:378 */
892 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
893 /* metamodel/inheritance.nit:157 */
896 if (UNTAG_Bool(REGB2
)) {
899 /* metamodel/inheritance.nit:159 */
900 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
902 stack_frame_head
= fra
.me
.prev
;
905 val_t
metamodel___inheritance___MMLocalClass___global_properties(val_t p0
){
906 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
909 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
910 fra
.me
.file
= LOCATE_metamodel___inheritance
;
912 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___global_properties
;
913 fra
.me
.has_broke
= 0;
915 fra
.me
.nitni_local_ref_head
= NULL
;
916 fra
.me
.REG
[0] = NIT_NULL
;
917 fra
.me
.REG
[1] = NIT_NULL
;
919 /* metamodel/inheritance.nit:166 */
920 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0])!=NIT_NULL
);
921 if (UNTAG_Bool(REGB0
)) {
923 nit_abort("Uninitialized attribute %s", "_are_global_properties_inherited", LOCATE_metamodel___inheritance
, 166);
925 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]);
926 if (UNTAG_Bool(REGB0
)) {
927 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
928 if (UNTAG_Bool(REGB0
)) {
930 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 166);
932 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
935 /* metamodel/inheritance.nit:167 */
936 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
937 if (UNTAG_Bool(REGB0
)) {
939 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 167);
941 /* metamodel/inheritance.nit:168 */
942 CALL_metamodel___inheritance___MMLocalClass___inherit_global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
943 /* metamodel/inheritance.nit:169 */
944 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
945 if (UNTAG_Bool(REGB0
)) {
947 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 169);
949 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
950 fra
.me
.REG
[1] = fra
.me
.REG
[0];
953 stack_frame_head
= fra
.me
.prev
;
954 return fra
.me
.REG
[1];
956 val_t
metamodel___inheritance___MMLocalClass___has_global_property(val_t p0
, val_t p1
){
957 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
963 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
964 fra
.me
.file
= LOCATE_metamodel___inheritance
;
966 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___has_global_property
;
967 fra
.me
.has_broke
= 0;
969 fra
.me
.nitni_local_ref_head
= NULL
;
970 fra
.me
.REG
[0] = NIT_NULL
;
971 fra
.me
.REG
[1] = NIT_NULL
;
972 fra
.me
.REG
[2] = NIT_NULL
;
973 fra
.me
.REG
[3] = NIT_NULL
;
974 fra
.me
.REG
[4] = NIT_NULL
;
977 /* metamodel/inheritance.nit:176 */
978 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
979 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
980 if (UNTAG_Bool(REGB0
)) {
981 REGB0
= TAG_Bool(false);
984 /* metamodel/inheritance.nit:178 */
985 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
986 if (UNTAG_Bool(REGB1
)) {
988 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 178);
990 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
991 /* metamodel/inheritance.nit:179 */
992 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
993 if (UNTAG_Bool(REGB1
)) {
994 REGB1
= TAG_Bool(true);
998 /* metamodel/inheritance.nit:180 */
999 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1000 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1001 /* ../lib/standard/collection/array.nit:269 */
1003 /* ../lib/standard/collection/array.nit:270 */
1004 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1005 if (UNTAG_Bool(REGB2
)) {
1007 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1009 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1010 /* ../lib/standard/collection/array.nit:271 */
1011 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1012 /* ../lib/standard/collection/array.nit:272 */
1014 /* ../lib/standard/collection/array.nit:24 */
1015 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1016 if (UNTAG_Bool(REGB2
)) {
1018 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1020 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1021 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1022 if (UNTAG_Bool(REGB3
)) {
1024 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1026 /* ../lib/standard/kernel.nit:232 */
1027 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1028 /* ../lib/standard/collection/array.nit:272 */
1029 if (UNTAG_Bool(REGB2
)) {
1030 /* ../lib/standard/collection/array.nit:273 */
1031 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1032 if (UNTAG_Bool(REGB2
)) {
1033 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1035 /* ../lib/standard/collection/array.nit:718 */
1036 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
1037 /* metamodel/inheritance.nit:181 */
1038 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1039 if (UNTAG_Bool(REGB2
)) {
1040 /* metamodel/inheritance.nit:182 */
1041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1042 /* metamodel/inheritance.nit:183 */
1043 REGB2
= TAG_Bool(true);
1047 /* ../lib/standard/collection/array.nit:274 */
1049 /* ../lib/standard/kernel.nit:235 */
1050 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1051 /* ../lib/standard/collection/array.nit:274 */
1054 /* ../lib/standard/collection/array.nit:272 */
1059 /* metamodel/inheritance.nit:186 */
1060 REGB1
= TAG_Bool(false);
1064 stack_frame_head
= fra
.me
.prev
;
1067 val_t
metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t p0
, val_t p1
){
1068 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1075 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1076 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1078 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___has_global_property_by_name
;
1079 fra
.me
.has_broke
= 0;
1080 fra
.me
.REG_size
= 9;
1081 fra
.me
.nitni_local_ref_head
= NULL
;
1082 fra
.me
.REG
[0] = NIT_NULL
;
1083 fra
.me
.REG
[1] = NIT_NULL
;
1084 fra
.me
.REG
[2] = NIT_NULL
;
1085 fra
.me
.REG
[3] = NIT_NULL
;
1086 fra
.me
.REG
[4] = NIT_NULL
;
1087 fra
.me
.REG
[5] = NIT_NULL
;
1088 fra
.me
.REG
[6] = NIT_NULL
;
1089 fra
.me
.REG
[7] = NIT_NULL
;
1090 fra
.me
.REG
[8] = NIT_NULL
;
1093 /* metamodel/inheritance.nit:193 */
1094 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1095 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1096 if (UNTAG_Bool(REGB0
)) {
1097 REGB0
= TAG_Bool(false);
1100 /* metamodel/inheritance.nit:196 */
1101 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1102 /* metamodel/inheritance.nit:198 */
1103 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1104 if (UNTAG_Bool(REGB1
)) {
1106 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 198);
1108 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1109 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1110 if (UNTAG_Bool(REGB1
)) {
1111 /* metamodel/inheritance.nit:199 */
1112 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1113 if (UNTAG_Bool(REGB1
)) {
1115 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 199);
1117 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1118 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1119 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1120 if (UNTAG_Bool(REGB1
)) {
1121 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 199);
1123 /* ../lib/standard/collection/array.nit:24 */
1124 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1125 if (UNTAG_Bool(REGB1
)) {
1127 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1129 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1130 /* metamodel/inheritance.nit:199 */
1132 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
1133 if (UNTAG_Bool(REGB3
)) {
1135 /* ../lib/standard/kernel.nit:227 */
1136 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
1137 /* metamodel/inheritance.nit:199 */
1143 /* metamodel/inheritance.nit:201 */
1144 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
1145 if (UNTAG_Bool(REGB3
)) {
1147 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 201);
1149 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
1150 /* metamodel/inheritance.nit:203 */
1151 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1152 if (UNTAG_Bool(REGB3
)) {
1154 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 203);
1156 fra
.me
.REG
[3] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1157 REGB3
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1158 if (UNTAG_Bool(REGB3
)) {
1159 /* metamodel/inheritance.nit:204 */
1160 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1161 if (UNTAG_Bool(REGB3
)) {
1163 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 204);
1165 fra
.me
.REG
[3] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1166 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1168 /* metamodel/inheritance.nit:206 */
1169 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1170 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1171 /* metamodel/inheritance.nit:207 */
1172 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1173 if (UNTAG_Bool(REGB3
)) {
1175 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 207);
1177 fra
.me
.REG
[4] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1178 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1180 /* metamodel/inheritance.nit:209 */
1181 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1182 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1183 /* ../lib/standard/collection/array.nit:269 */
1185 /* ../lib/standard/collection/array.nit:270 */
1186 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1187 if (UNTAG_Bool(REGB2
)) {
1189 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1191 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1192 /* ../lib/standard/collection/array.nit:271 */
1193 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1194 /* ../lib/standard/collection/array.nit:272 */
1196 /* ../lib/standard/collection/array.nit:24 */
1197 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1198 if (UNTAG_Bool(REGB2
)) {
1200 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1202 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1203 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1204 if (UNTAG_Bool(REGB1
)) {
1206 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1208 /* ../lib/standard/kernel.nit:232 */
1209 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
1210 /* ../lib/standard/collection/array.nit:272 */
1211 if (UNTAG_Bool(REGB2
)) {
1212 /* ../lib/standard/collection/array.nit:273 */
1213 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1214 if (UNTAG_Bool(REGB2
)) {
1215 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1217 /* ../lib/standard/collection/array.nit:718 */
1218 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB3
)];
1219 /* metamodel/inheritance.nit:210 */
1220 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
1221 if (UNTAG_Bool(REGB2
)) {
1222 /* metamodel/inheritance.nit:211 */
1223 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
1224 /* metamodel/inheritance.nit:212 */
1225 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1226 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1227 if (UNTAG_Bool(REGB2
)) {
1228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1230 /* metamodel/inheritance.nit:213 */
1231 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1232 if (UNTAG_Bool(REGB2
)) {
1233 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1234 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1235 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1236 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1237 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[8]));
1238 if (UNTAG_Bool(REGB2
)) {
1240 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1243 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1245 REGB1
= TAG_Bool(false);
1248 if (UNTAG_Bool(REGB2
)) {
1251 /* metamodel/inheritance.nit:214 */
1252 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1253 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1254 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1255 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1256 REGB2
= TAG_Char('@');
1257 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1258 if (UNTAG_Bool(REGB1
)) {
1260 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1261 if (UNTAG_Bool(REGB4
)) {
1262 REGB4
= TAG_Bool(false);
1265 /* ../lib/standard/kernel.nit:378 */
1266 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1267 /* metamodel/inheritance.nit:214 */
1271 if (UNTAG_Bool(REGB1
)) {
1274 /* metamodel/inheritance.nit:215 */
1275 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1276 if (UNTAG_Bool(REGB1
)) {
1277 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 215);
1279 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1280 if (UNTAG_Bool(REGB1
)) {
1283 /* metamodel/inheritance.nit:216 */
1284 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1285 if (UNTAG_Bool(REGB1
)) {
1286 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 216);
1288 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1291 /* ../lib/standard/collection/array.nit:274 */
1293 /* ../lib/standard/kernel.nit:235 */
1294 REGB1
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB1
));
1295 /* ../lib/standard/collection/array.nit:274 */
1298 /* ../lib/standard/collection/array.nit:272 */
1303 /* metamodel/inheritance.nit:219 */
1304 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1305 if (UNTAG_Bool(REGB3
)) {
1306 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 219);
1308 /* ../lib/standard/collection/array.nit:24 */
1309 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1310 if (UNTAG_Bool(REGB3
)) {
1312 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1314 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1315 /* metamodel/inheritance.nit:219 */
1317 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
1318 if (UNTAG_Bool(REGB2
)) {
1320 /* ../lib/standard/kernel.nit:227 */
1321 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
1322 /* metamodel/inheritance.nit:219 */
1328 stack_frame_head
= fra
.me
.prev
;
1331 void metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t p0
, val_t p1
){
1332 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1335 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1336 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1338 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property
;
1339 fra
.me
.has_broke
= 0;
1340 fra
.me
.REG_size
= 5;
1341 fra
.me
.nitni_local_ref_head
= NULL
;
1342 fra
.me
.REG
[0] = NIT_NULL
;
1343 fra
.me
.REG
[1] = NIT_NULL
;
1344 fra
.me
.REG
[2] = NIT_NULL
;
1345 fra
.me
.REG
[3] = NIT_NULL
;
1346 fra
.me
.REG
[4] = NIT_NULL
;
1349 /* metamodel/inheritance.nit:225 */
1350 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1351 if (UNTAG_Bool(REGB0
)) {
1353 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 225);
1355 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1356 /* metamodel/inheritance.nit:226 */
1357 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1358 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1359 /* metamodel/inheritance.nit:228 */
1360 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1361 if (UNTAG_Bool(REGB0
)) {
1362 /* metamodel/inheritance.nit:229 */
1363 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1365 /* metamodel/inheritance.nit:231 */
1366 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1367 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1368 /* metamodel/inheritance.nit:232 */
1369 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
1371 /* metamodel/inheritance.nit:234 */
1372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1373 stack_frame_head
= fra
.me
.prev
;
1376 void metamodel___inheritance___MMLocalClass___add_direct_parent(val_t p0
, val_t p1
){
1377 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1380 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1381 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1383 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_direct_parent
;
1384 fra
.me
.has_broke
= 0;
1385 fra
.me
.REG_size
= 2;
1386 fra
.me
.nitni_local_ref_head
= NULL
;
1387 fra
.me
.REG
[0] = NIT_NULL
;
1388 fra
.me
.REG
[1] = NIT_NULL
;
1391 /* metamodel/inheritance.nit:240 */
1392 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
1393 if (UNTAG_Bool(REGB0
)) {
1395 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 240);
1397 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
1398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1399 stack_frame_head
= fra
.me
.prev
;
1402 val_t
metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0
){
1403 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1407 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1408 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1410 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___computed_super_classes
;
1411 fra
.me
.has_broke
= 0;
1412 fra
.me
.REG_size
= 2;
1413 fra
.me
.nitni_local_ref_head
= NULL
;
1414 fra
.me
.REG
[0] = NIT_NULL
;
1415 fra
.me
.REG
[1] = NIT_NULL
;
1417 /* metamodel/inheritance.nit:246 */
1418 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1419 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1420 if (UNTAG_Bool(REGB0
)) {
1422 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1423 if (UNTAG_Bool(REGB1
)) {
1424 REGB1
= TAG_Bool(false);
1427 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1431 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1432 if (UNTAG_Bool(REGB0
)) {
1433 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____cshe(fra
.me
.REG
[0]);
1434 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1435 if (UNTAG_Bool(REGB0
)) {
1437 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1438 if (UNTAG_Bool(REGB1
)) {
1439 REGB1
= TAG_Bool(false);
1442 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1446 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1448 REGB1
= TAG_Bool(false);
1453 stack_frame_head
= fra
.me
.prev
;
1456 val_t
metamodel___inheritance___MMLocalClass___computed_ancestors(val_t p0
){
1457 struct {struct stack_frame_t me
;} fra
;
1461 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1462 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1464 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___computed_ancestors
;
1465 fra
.me
.has_broke
= 0;
1466 fra
.me
.REG_size
= 1;
1467 fra
.me
.nitni_local_ref_head
= NULL
;
1468 fra
.me
.REG
[0] = NIT_NULL
;
1470 /* metamodel/inheritance.nit:252 */
1471 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1472 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1473 if (UNTAG_Bool(REGB0
)) {
1475 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1476 if (UNTAG_Bool(REGB1
)) {
1477 REGB1
= TAG_Bool(false);
1480 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1484 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1487 stack_frame_head
= fra
.me
.prev
;
1490 val_t
metamodel___inheritance___MMLocalClass___ancestor_for(val_t p0
, val_t p1
){
1491 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1496 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1498 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___ancestor_for
;
1499 fra
.me
.has_broke
= 0;
1500 fra
.me
.REG_size
= 6;
1501 fra
.me
.nitni_local_ref_head
= NULL
;
1502 fra
.me
.REG
[0] = NIT_NULL
;
1503 fra
.me
.REG
[1] = NIT_NULL
;
1504 fra
.me
.REG
[2] = NIT_NULL
;
1505 fra
.me
.REG
[3] = NIT_NULL
;
1506 fra
.me
.REG
[4] = NIT_NULL
;
1507 fra
.me
.REG
[5] = NIT_NULL
;
1510 /* metamodel/inheritance.nit:259 */
1511 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1512 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1513 if (UNTAG_Bool(REGB0
)) {
1515 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1516 if (UNTAG_Bool(REGB1
)) {
1517 REGB1
= TAG_Bool(false);
1520 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1524 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1525 if (UNTAG_Bool(REGB0
)) {
1527 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 259);
1529 /* metamodel/inheritance.nit:261 */
1530 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1531 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1532 if (UNTAG_Bool(REGB0
)) {
1533 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 261);
1535 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1536 if (UNTAG_Bool(REGB0
)) {
1537 /* metamodel/inheritance.nit:262 */
1538 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1539 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1540 if (UNTAG_Bool(REGB0
)) {
1541 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 262);
1543 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1546 /* metamodel/inheritance.nit:264 */
1547 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1548 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1549 /* metamodel/inheritance.nit:265 */
1550 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1551 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1552 if (UNTAG_Bool(REGB0
)) {
1554 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 265);
1556 /* metamodel/inheritance.nit:267 */
1557 fra
.me
.REG
[4] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1558 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1559 if (UNTAG_Bool(REGB0
)) {
1560 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 267);
1562 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1563 if (UNTAG_Bool(REGB0
)) {
1564 /* metamodel/inheritance.nit:268 */
1565 fra
.me
.REG
[4] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1566 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1567 if (UNTAG_Bool(REGB0
)) {
1568 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 268);
1570 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1572 /* metamodel/inheritance.nit:269 */
1573 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1574 fra
.me
.REG
[5] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global(fra
.me
.REG
[0]);
1575 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[4],fra
.me
.REG
[5]));
1576 if (UNTAG_Bool(REGB0
)) {
1578 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1581 if (UNTAG_Bool(REGB0
)) {
1582 /* metamodel/inheritance.nit:270 */
1583 fra
.me
.REG
[5] = NEW_MMRefineAncestor_metamodel___inheritance___MMRefineAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1584 fra
.me
.REG
[3] = fra
.me
.REG
[5];
1586 /* metamodel/inheritance.nit:272 */
1587 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1588 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1589 fra
.me
.REG
[4] = NEW_MMSpecAncestor_metamodel___inheritance___MMSpecAncestor___init(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1590 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1593 /* metamodel/inheritance.nit:274 */
1594 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1595 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1596 if (UNTAG_Bool(REGB0
)) {
1597 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 274);
1599 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1600 /* metamodel/inheritance.nit:275 */
1601 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1604 stack_frame_head
= fra
.me
.prev
;
1605 return fra
.me
.REG
[2];
1607 val_t
metamodel___inheritance___MMLocalClass_____bra(val_t p0
, val_t p1
){
1608 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1611 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1612 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1614 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass_____bra
;
1615 fra
.me
.has_broke
= 0;
1616 fra
.me
.REG_size
= 4;
1617 fra
.me
.nitni_local_ref_head
= NULL
;
1618 fra
.me
.REG
[0] = NIT_NULL
;
1619 fra
.me
.REG
[1] = NIT_NULL
;
1620 fra
.me
.REG
[2] = NIT_NULL
;
1621 fra
.me
.REG
[3] = NIT_NULL
;
1624 /* metamodel/inheritance.nit:280 */
1625 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
1626 if (UNTAG_Bool(REGB0
)) {
1628 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 280);
1630 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
1631 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1632 if (UNTAG_Bool(REGB0
)) {
1633 /* metamodel/inheritance.nit:281 */
1634 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
1635 if (UNTAG_Bool(REGB0
)) {
1637 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 281);
1639 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
1640 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1643 /* metamodel/inheritance.nit:282 */
1644 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1645 if (UNTAG_Bool(REGB0
)) {
1646 /* metamodel/inheritance.nit:283 */
1647 fra
.me
.REG
[3] = CALL_metamodel___inheritance___MMLocalClass___inherit_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1648 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1651 /* metamodel/inheritance.nit:284 */
1652 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1653 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1654 if (UNTAG_Bool(REGB0
)) {
1655 /* metamodel/inheritance.nit:285 */
1656 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1657 /* metamodel/inheritance.nit:286 */
1658 CALL_metamodel___inheritance___MMLocalClass___computed_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1659 /* metamodel/inheritance.nit:287 */
1660 CALL_metamodel___inheritance___MMLocalClass___inherit_global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1661 /* metamodel/inheritance.nit:288 */
1662 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1663 if (UNTAG_Bool(REGB0
)) {
1665 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 288);
1667 /* metamodel/inheritance.nit:289 */
1668 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___inherit_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1669 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1672 /* metamodel/inheritance.nit:291 */
1673 nit_abort("Aborted", NULL
, LOCATE_metamodel___inheritance
, 291);
1678 stack_frame_head
= fra
.me
.prev
;
1679 return fra
.me
.REG
[2];
1681 void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0
, val_t p1
){
1682 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1688 static val_t once_value_1
; /* Once value */
1689 static val_t once_value_2
; /* Once value */
1690 static val_t once_value_5
; /* Once value */
1691 static val_t once_value_6
; /* Once value */
1692 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1693 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1695 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_default_any_class
;
1696 fra
.me
.has_broke
= 0;
1697 fra
.me
.REG_size
= 5;
1698 fra
.me
.nitni_local_ref_head
= NULL
;
1699 fra
.me
.REG
[0] = NIT_NULL
;
1700 fra
.me
.REG
[1] = NIT_NULL
;
1701 fra
.me
.REG
[2] = NIT_NULL
;
1702 fra
.me
.REG
[3] = NIT_NULL
;
1703 fra
.me
.REG
[4] = NIT_NULL
;
1706 /* metamodel/inheritance.nit:299 */
1707 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1708 if (!once_value_1
) {
1709 if (!once_value_2
) {
1710 fra
.me
.REG
[3] = BOX_NativeString("Object");
1712 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1713 once_value_2
= fra
.me
.REG
[3];
1714 register_static_object(&once_value_2
);
1715 } else fra
.me
.REG
[3] = once_value_2
;
1716 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1717 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1718 once_value_1
= fra
.me
.REG
[3];
1719 register_static_object(&once_value_1
);
1720 } else fra
.me
.REG
[3] = once_value_1
;
1721 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1722 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1723 if (UNTAG_Bool(REGB0
)) {
1725 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1728 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1729 if (UNTAG_Bool(REGB0
)) {
1730 /* metamodel/inheritance.nit:300 */
1731 REGB0
= TAG_Bool(false);
1732 /* metamodel/inheritance.nit:301 */
1733 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1734 if (UNTAG_Bool(REGB1
)) {
1735 /* metamodel/inheritance.nit:302 */
1736 REGB1
= TAG_Bool(true);
1739 /* metamodel/inheritance.nit:303 */
1740 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1741 REGB1
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1742 if (UNTAG_Bool(REGB1
)) {
1743 /* metamodel/inheritance.nit:304 */
1744 REGB1
= TAG_Bool(true);
1746 /* ../lib/standard/collection/array.nit:266 */
1747 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1748 /* ../lib/standard/collection/array.nit:269 */
1750 /* ../lib/standard/collection/array.nit:270 */
1751 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1752 if (UNTAG_Bool(REGB2
)) {
1754 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1756 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1757 /* ../lib/standard/collection/array.nit:271 */
1758 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
1759 /* ../lib/standard/collection/array.nit:272 */
1761 /* ../lib/standard/collection/array.nit:24 */
1762 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1763 if (UNTAG_Bool(REGB2
)) {
1765 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1767 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1768 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1769 if (UNTAG_Bool(REGB3
)) {
1771 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1773 /* ../lib/standard/kernel.nit:232 */
1774 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1775 /* ../lib/standard/collection/array.nit:272 */
1776 if (UNTAG_Bool(REGB2
)) {
1777 /* ../lib/standard/collection/array.nit:273 */
1778 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1779 if (UNTAG_Bool(REGB2
)) {
1780 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1782 /* ../lib/standard/collection/array.nit:718 */
1783 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB1
)];
1784 /* metamodel/inheritance.nit:306 */
1785 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1786 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1787 if (UNTAG_Bool(REGB2
)) {
1788 /* metamodel/inheritance.nit:307 */
1789 REGB2
= TAG_Bool(false);
1791 /* metamodel/inheritance.nit:308 */
1794 /* ../lib/standard/collection/array.nit:274 */
1796 /* ../lib/standard/kernel.nit:235 */
1797 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1798 /* ../lib/standard/collection/array.nit:274 */
1801 /* ../lib/standard/collection/array.nit:272 */
1809 /* metamodel/inheritance.nit:313 */
1810 if (UNTAG_Bool(REGB0
)) {
1811 /* metamodel/inheritance.nit:315 */
1812 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1813 if (!once_value_5
) {
1814 if (!once_value_6
) {
1815 fra
.me
.REG
[3] = BOX_NativeString("Pointer");
1817 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1818 once_value_6
= fra
.me
.REG
[3];
1819 register_static_object(&once_value_6
);
1820 } else fra
.me
.REG
[3] = once_value_6
;
1821 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1822 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1823 once_value_5
= fra
.me
.REG
[3];
1824 register_static_object(&once_value_5
);
1825 } else fra
.me
.REG
[3] = once_value_5
;
1826 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1827 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1828 if (UNTAG_Bool(REGB0
)) {
1830 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1833 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1834 if (UNTAG_Bool(REGB0
)) {
1835 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1836 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1838 REGB1
= TAG_Bool(false);
1841 if (UNTAG_Bool(REGB0
)) {
1842 /* metamodel/inheritance.nit:316 */
1843 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1844 fra
.me
.REG
[3] = CALL_metamodel___inheritance___MMModule___type_any_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1846 /* metamodel/inheritance.nit:318 */
1847 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1848 fra
.me
.REG
[2] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1849 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1851 /* metamodel/inheritance.nit:320 */
1852 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1853 if (UNTAG_Bool(REGB0
)) {
1854 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 320);
1856 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1857 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1858 /* metamodel/inheritance.nit:321 */
1859 fra
.me
.REG
[3] = NEW_MMDefaultAncestor_metamodel___inheritance___MMDefaultAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1860 /* metamodel/inheritance.nit:322 */
1861 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1864 stack_frame_head
= fra
.me
.prev
;
1867 void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0
, val_t p1
){
1868 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1874 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1875 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1877 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_super_classes
;
1878 fra
.me
.has_broke
= 0;
1879 fra
.me
.REG_size
= 8;
1880 fra
.me
.nitni_local_ref_head
= NULL
;
1881 fra
.me
.REG
[0] = NIT_NULL
;
1882 fra
.me
.REG
[1] = NIT_NULL
;
1883 fra
.me
.REG
[2] = NIT_NULL
;
1884 fra
.me
.REG
[3] = NIT_NULL
;
1885 fra
.me
.REG
[4] = NIT_NULL
;
1886 fra
.me
.REG
[5] = NIT_NULL
;
1887 fra
.me
.REG
[6] = NIT_NULL
;
1888 fra
.me
.REG
[7] = NIT_NULL
;
1891 /* metamodel/inheritance.nit:330 */
1892 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1893 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1894 if (UNTAG_Bool(REGB0
)) {
1896 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1897 if (UNTAG_Bool(REGB1
)) {
1898 REGB1
= TAG_Bool(false);
1901 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1905 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1906 if (UNTAG_Bool(REGB0
)) {
1908 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 330);
1910 /* metamodel/inheritance.nit:331 */
1911 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1912 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1913 if (UNTAG_Bool(REGB0
)) {
1914 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 331);
1916 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1917 /* ../lib/standard/collection/array.nit:269 */
1919 /* ../lib/standard/collection/array.nit:270 */
1920 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1921 if (UNTAG_Bool(REGB1
)) {
1923 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1925 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1926 /* ../lib/standard/collection/array.nit:271 */
1927 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1928 /* ../lib/standard/collection/array.nit:272 */
1930 /* ../lib/standard/collection/array.nit:24 */
1931 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1932 if (UNTAG_Bool(REGB1
)) {
1934 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1936 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1937 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1938 if (UNTAG_Bool(REGB2
)) {
1940 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1942 /* ../lib/standard/kernel.nit:232 */
1943 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1944 /* ../lib/standard/collection/array.nit:272 */
1945 if (UNTAG_Bool(REGB1
)) {
1946 /* ../lib/standard/collection/array.nit:273 */
1947 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1948 if (UNTAG_Bool(REGB1
)) {
1949 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1951 /* ../lib/standard/collection/array.nit:718 */
1952 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
1953 /* metamodel/inheritance.nit:332 */
1954 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1955 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1956 /* ../lib/standard/collection/array.nit:269 */
1958 /* ../lib/standard/collection/array.nit:270 */
1959 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1960 if (UNTAG_Bool(REGB2
)) {
1962 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
1964 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1965 /* ../lib/standard/collection/array.nit:271 */
1966 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1967 /* ../lib/standard/collection/array.nit:272 */
1969 /* ../lib/standard/collection/array.nit:24 */
1970 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1971 if (UNTAG_Bool(REGB2
)) {
1973 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1975 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1976 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1977 if (UNTAG_Bool(REGB3
)) {
1979 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1981 /* ../lib/standard/kernel.nit:232 */
1982 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1983 /* ../lib/standard/collection/array.nit:272 */
1984 if (UNTAG_Bool(REGB2
)) {
1985 /* ../lib/standard/collection/array.nit:273 */
1986 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1987 if (UNTAG_Bool(REGB2
)) {
1988 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
1990 /* ../lib/standard/collection/array.nit:718 */
1991 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1992 /* metamodel/inheritance.nit:333 */
1993 REGB2
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
1994 if (UNTAG_Bool(REGB2
)) {
1996 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_metamodel___inheritance
, 333);
1998 fra
.me
.REG
[7] = ATTR_metamodel___abstractmetamodel___MMLocalClass____mmmodule(fra
.me
.REG
[0]);
1999 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
2000 /* metamodel/inheritance.nit:334 */
2001 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
2002 /* ../lib/standard/collection/array.nit:274 */
2004 /* ../lib/standard/kernel.nit:235 */
2005 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
2006 /* ../lib/standard/collection/array.nit:274 */
2009 /* ../lib/standard/collection/array.nit:272 */
2014 /* ../lib/standard/collection/array.nit:274 */
2016 /* ../lib/standard/kernel.nit:235 */
2017 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2018 /* ../lib/standard/collection/array.nit:274 */
2021 /* ../lib/standard/collection/array.nit:272 */
2026 stack_frame_head
= fra
.me
.prev
;
2029 void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0
, val_t p1
){
2030 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2035 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2036 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2038 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_explicit_classes
;
2039 fra
.me
.has_broke
= 0;
2040 fra
.me
.REG_size
= 4;
2041 fra
.me
.nitni_local_ref_head
= NULL
;
2042 fra
.me
.REG
[0] = NIT_NULL
;
2043 fra
.me
.REG
[1] = NIT_NULL
;
2044 fra
.me
.REG
[2] = NIT_NULL
;
2045 fra
.me
.REG
[3] = NIT_NULL
;
2048 /* metamodel/inheritance.nit:342 */
2049 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
2050 if (UNTAG_Bool(REGB0
)) {
2052 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 342);
2054 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
2055 /* ../lib/standard/collection/array.nit:269 */
2057 /* ../lib/standard/collection/array.nit:270 */
2058 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2059 if (UNTAG_Bool(REGB1
)) {
2061 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2063 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2064 /* ../lib/standard/collection/array.nit:271 */
2065 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
2066 /* ../lib/standard/collection/array.nit:272 */
2068 /* ../lib/standard/collection/array.nit:24 */
2069 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2070 if (UNTAG_Bool(REGB1
)) {
2072 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2074 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2075 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2076 if (UNTAG_Bool(REGB2
)) {
2078 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2080 /* ../lib/standard/kernel.nit:232 */
2081 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2082 /* ../lib/standard/collection/array.nit:272 */
2083 if (UNTAG_Bool(REGB1
)) {
2084 /* ../lib/standard/collection/array.nit:273 */
2085 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2086 if (UNTAG_Bool(REGB1
)) {
2087 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2089 /* ../lib/standard/collection/array.nit:718 */
2090 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2091 /* metamodel/inheritance.nit:343 */
2092 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2093 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2094 /* ../lib/standard/collection/array.nit:274 */
2096 /* ../lib/standard/kernel.nit:235 */
2097 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2098 /* ../lib/standard/collection/array.nit:274 */
2101 /* ../lib/standard/collection/array.nit:272 */
2106 stack_frame_head
= fra
.me
.prev
;
2109 void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0
, val_t p1
){
2110 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2115 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2116 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2118 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_super_parents
;
2119 fra
.me
.has_broke
= 0;
2120 fra
.me
.REG_size
= 3;
2121 fra
.me
.nitni_local_ref_head
= NULL
;
2122 fra
.me
.REG
[0] = NIT_NULL
;
2123 fra
.me
.REG
[1] = NIT_NULL
;
2124 fra
.me
.REG
[2] = NIT_NULL
;
2127 /* ../lib/standard/collection/array.nit:269 */
2129 /* ../lib/standard/collection/array.nit:270 */
2130 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2131 if (UNTAG_Bool(REGB1
)) {
2133 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2135 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2136 /* ../lib/standard/collection/array.nit:271 */
2137 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2138 /* ../lib/standard/collection/array.nit:272 */
2140 /* ../lib/standard/collection/array.nit:24 */
2141 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2142 if (UNTAG_Bool(REGB1
)) {
2144 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2146 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2147 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2148 if (UNTAG_Bool(REGB2
)) {
2150 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2152 /* ../lib/standard/kernel.nit:232 */
2153 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2154 /* ../lib/standard/collection/array.nit:272 */
2155 if (UNTAG_Bool(REGB1
)) {
2156 /* ../lib/standard/collection/array.nit:273 */
2157 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2158 if (UNTAG_Bool(REGB1
)) {
2159 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2161 /* ../lib/standard/collection/array.nit:718 */
2162 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
2163 /* metamodel/inheritance.nit:351 */
2164 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2165 /* ../lib/standard/collection/array.nit:274 */
2167 /* ../lib/standard/kernel.nit:235 */
2168 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2169 /* ../lib/standard/collection/array.nit:274 */
2172 /* ../lib/standard/collection/array.nit:272 */
2177 stack_frame_head
= fra
.me
.prev
;
2180 val_t
metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0
){
2181 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2187 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2189 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___build_ancestors
;
2190 fra
.me
.has_broke
= 0;
2191 fra
.me
.REG_size
= 6;
2192 fra
.me
.nitni_local_ref_head
= NULL
;
2193 fra
.me
.REG
[0] = NIT_NULL
;
2194 fra
.me
.REG
[1] = NIT_NULL
;
2195 fra
.me
.REG
[2] = NIT_NULL
;
2196 fra
.me
.REG
[3] = NIT_NULL
;
2197 fra
.me
.REG
[4] = NIT_NULL
;
2198 fra
.me
.REG
[5] = NIT_NULL
;
2200 /* metamodel/inheritance.nit:358 */
2201 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
2202 /* metamodel/inheritance.nit:360 */
2203 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
2204 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2205 if (UNTAG_Bool(REGB0
)) {
2207 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2208 if (UNTAG_Bool(REGB1
)) {
2209 REGB1
= TAG_Bool(false);
2212 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2216 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2217 if (UNTAG_Bool(REGB0
)) {
2219 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 360);
2221 /* metamodel/inheritance.nit:361 */
2222 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
2223 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2224 if (UNTAG_Bool(REGB0
)) {
2225 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 361);
2227 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2228 /* ../lib/standard/collection/array.nit:269 */
2230 /* ../lib/standard/collection/array.nit:270 */
2231 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2232 if (UNTAG_Bool(REGB1
)) {
2234 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2236 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2237 /* ../lib/standard/collection/array.nit:271 */
2238 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2239 /* ../lib/standard/collection/array.nit:272 */
2241 /* ../lib/standard/collection/array.nit:24 */
2242 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2243 if (UNTAG_Bool(REGB1
)) {
2245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2247 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2248 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2249 if (UNTAG_Bool(REGB2
)) {
2251 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2253 /* ../lib/standard/kernel.nit:232 */
2254 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2255 /* ../lib/standard/collection/array.nit:272 */
2256 if (UNTAG_Bool(REGB1
)) {
2257 /* ../lib/standard/collection/array.nit:273 */
2258 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2259 if (UNTAG_Bool(REGB1
)) {
2260 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2262 /* ../lib/standard/collection/array.nit:718 */
2263 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
2264 /* metamodel/inheritance.nit:362 */
2265 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
2266 if (UNTAG_Bool(REGB1
)) {
2268 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2271 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2272 if (UNTAG_Bool(REGB1
)) {
2274 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 362);
2276 /* metamodel/inheritance.nit:363 */
2277 fra
.me
.REG
[4] = NEW_MMRefineAncestor_metamodel___inheritance___MMRefineAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2278 /* metamodel/inheritance.nit:364 */
2279 CALL_metamodel___inheritance___MMAncestor___add_in(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2280 /* ../lib/standard/collection/array.nit:274 */
2282 /* ../lib/standard/kernel.nit:235 */
2283 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2284 /* ../lib/standard/collection/array.nit:274 */
2287 /* ../lib/standard/collection/array.nit:272 */
2292 /* metamodel/inheritance.nit:366 */
2293 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
2294 if (UNTAG_Bool(REGB0
)) {
2296 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 366);
2298 fra
.me
.REG
[3] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
2299 /* ../lib/standard/collection/array.nit:269 */
2301 /* ../lib/standard/collection/array.nit:270 */
2302 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2303 if (UNTAG_Bool(REGB1
)) {
2305 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2307 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2308 /* ../lib/standard/collection/array.nit:271 */
2309 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2310 /* ../lib/standard/collection/array.nit:272 */
2312 /* ../lib/standard/collection/array.nit:24 */
2313 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2314 if (UNTAG_Bool(REGB1
)) {
2316 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2318 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2319 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2320 if (UNTAG_Bool(REGB2
)) {
2322 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2324 /* ../lib/standard/kernel.nit:232 */
2325 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2326 /* ../lib/standard/collection/array.nit:272 */
2327 if (UNTAG_Bool(REGB1
)) {
2328 /* ../lib/standard/collection/array.nit:273 */
2329 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2330 if (UNTAG_Bool(REGB1
)) {
2331 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2333 /* ../lib/standard/collection/array.nit:718 */
2334 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2335 /* metamodel/inheritance.nit:367 */
2336 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2337 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[0]));
2338 if (UNTAG_Bool(REGB1
)) {
2340 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2343 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2344 if (UNTAG_Bool(REGB1
)) {
2346 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 367);
2348 /* metamodel/inheritance.nit:368 */
2349 CALL_metamodel___inheritance___MMAncestor___add_in(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2350 /* ../lib/standard/collection/array.nit:274 */
2352 /* ../lib/standard/kernel.nit:235 */
2353 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2354 /* ../lib/standard/collection/array.nit:274 */
2357 /* ../lib/standard/collection/array.nit:272 */
2362 /* metamodel/inheritance.nit:370 */
2365 stack_frame_head
= fra
.me
.prev
;
2366 return fra
.me
.REG
[1];
2368 val_t
metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0
, val_t p1
){
2369 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2374 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2375 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2377 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___group_ancestors
;
2378 fra
.me
.has_broke
= 0;
2379 fra
.me
.REG_size
= 7;
2380 fra
.me
.nitni_local_ref_head
= NULL
;
2381 fra
.me
.REG
[0] = NIT_NULL
;
2382 fra
.me
.REG
[1] = NIT_NULL
;
2383 fra
.me
.REG
[2] = NIT_NULL
;
2384 fra
.me
.REG
[3] = NIT_NULL
;
2385 fra
.me
.REG
[4] = NIT_NULL
;
2386 fra
.me
.REG
[5] = NIT_NULL
;
2387 fra
.me
.REG
[6] = NIT_NULL
;
2390 /* metamodel/inheritance.nit:377 */
2391 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2392 /* ../lib/standard/collection/array.nit:269 */
2394 /* ../lib/standard/collection/array.nit:270 */
2395 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2396 if (UNTAG_Bool(REGB1
)) {
2398 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2400 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2401 /* ../lib/standard/collection/array.nit:271 */
2402 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2403 /* ../lib/standard/collection/array.nit:272 */
2405 /* ../lib/standard/collection/array.nit:24 */
2406 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2407 if (UNTAG_Bool(REGB1
)) {
2409 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2411 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2412 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2413 if (UNTAG_Bool(REGB2
)) {
2415 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2417 /* ../lib/standard/kernel.nit:232 */
2418 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2419 /* ../lib/standard/collection/array.nit:272 */
2420 if (UNTAG_Bool(REGB1
)) {
2421 /* ../lib/standard/collection/array.nit:273 */
2422 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2423 if (UNTAG_Bool(REGB1
)) {
2424 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2426 /* ../lib/standard/collection/array.nit:718 */
2427 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2428 /* metamodel/inheritance.nit:379 */
2429 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2430 /* metamodel/inheritance.nit:383 */
2431 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2432 /* metamodel/inheritance.nit:384 */
2433 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2434 if (UNTAG_Bool(REGB1
)) {
2435 /* metamodel/inheritance.nit:385 */
2436 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2438 /* metamodel/inheritance.nit:387 */
2439 fra
.me
.REG
[6] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
2440 fra
.me
.REG
[5] = fra
.me
.REG
[6];
2441 /* metamodel/inheritance.nit:388 */
2442 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[5]);
2444 /* metamodel/inheritance.nit:390 */
2445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2446 /* ../lib/standard/collection/array.nit:274 */
2448 /* ../lib/standard/kernel.nit:235 */
2449 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2450 /* ../lib/standard/collection/array.nit:274 */
2453 /* ../lib/standard/collection/array.nit:272 */
2458 /* metamodel/inheritance.nit:392 */
2461 stack_frame_head
= fra
.me
.prev
;
2462 return fra
.me
.REG
[0];
2464 val_t
metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0
, val_t p1
){
2465 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2470 static val_t once_value_3
; /* Once value */
2471 static val_t once_value_4
; /* Once value */
2472 static val_t once_value_5
; /* Once value */
2473 static val_t once_value_6
; /* Once value */
2474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2475 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2477 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___merge_ancestors
;
2478 fra
.me
.has_broke
= 0;
2479 fra
.me
.REG_size
= 5;
2480 fra
.me
.nitni_local_ref_head
= NULL
;
2481 fra
.me
.REG
[0] = NIT_NULL
;
2482 fra
.me
.REG
[1] = NIT_NULL
;
2483 fra
.me
.REG
[2] = NIT_NULL
;
2484 fra
.me
.REG
[3] = NIT_NULL
;
2485 fra
.me
.REG
[4] = NIT_NULL
;
2488 /* metamodel/inheritance.nit:398 */
2489 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
2490 /* metamodel/inheritance.nit:399 */
2491 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2492 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[1])(fra
.me
.REG
[1], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMLocalClass___merge_ancestors_1
));
2493 /* ../lib/standard/collection/array.nit:24 */
2494 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2495 if (UNTAG_Bool(REGB0
)) {
2497 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2499 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2500 /* metamodel/inheritance.nit:421 */
2502 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2503 if (UNTAG_Bool(REGB2
)) {
2505 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2507 /* ../lib/standard/kernel.nit:234 */
2508 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2509 /* metamodel/inheritance.nit:421 */
2510 if (UNTAG_Bool(REGB1
)) {
2511 /* metamodel/inheritance.nit:422 */
2512 fra
.me
.REG
[2] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2514 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2515 if (!once_value_3
) {
2516 fra
.me
.REG
[4] = BOX_NativeString("Fatal error: Incompatibles ancestors for ");
2517 REGB1
= TAG_Int(41);
2518 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2519 once_value_3
= fra
.me
.REG
[4];
2520 register_static_object(&once_value_3
);
2521 } else fra
.me
.REG
[4] = once_value_3
;
2522 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2524 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2525 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2527 if (!once_value_4
) {
2528 fra
.me
.REG
[4] = BOX_NativeString(": ");
2530 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2531 once_value_4
= fra
.me
.REG
[4];
2532 register_static_object(&once_value_4
);
2533 } else fra
.me
.REG
[4] = once_value_4
;
2534 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2536 if (!once_value_5
) {
2537 fra
.me
.REG
[4] = BOX_NativeString(", ");
2539 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2540 once_value_5
= fra
.me
.REG
[4];
2541 register_static_object(&once_value_5
);
2542 } else fra
.me
.REG
[4] = once_value_5
;
2543 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2544 fra
.me
.REG
[4] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2546 if (!once_value_6
) {
2547 fra
.me
.REG
[4] = BOX_NativeString("\n");
2549 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2550 once_value_6
= fra
.me
.REG
[4];
2551 register_static_object(&once_value_6
);
2552 } else fra
.me
.REG
[4] = once_value_6
;
2553 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2554 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2555 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2556 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2557 /* metamodel/inheritance.nit:423 */
2559 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
2561 /* metamodel/inheritance.nit:425 */
2562 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2565 stack_frame_head
= fra
.me
.prev
;
2566 return fra
.me
.REG
[3];
2568 void OC_metamodel___inheritance___MMLocalClass___merge_ancestors_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2569 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2575 /* metamodel/inheritance.nit:400 */
2576 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2577 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2579 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___merge_ancestors
;
2580 fra
.me
.has_broke
= 0;
2581 fra
.me
.REG_size
= 4;
2582 fra
.me
.nitni_local_ref_head
= NULL
;
2583 fra
.me
.REG
[0] = NIT_NULL
;
2584 fra
.me
.REG
[1] = NIT_NULL
;
2585 fra
.me
.REG
[2] = NIT_NULL
;
2586 fra
.me
.REG
[3] = NIT_NULL
;
2587 fra
.me
.closure_ctx
= closctx_param
;
2588 fra
.me
.closure_funs
= CREG
;
2590 CREG
[0] = clos_fun0
;
2591 /* metamodel/inheritance.nit:401 */
2592 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx
->REG
[1])(closctx
->REG
[1]);
2593 /* metamodel/inheritance.nit:402 */
2594 REGB0
= TAG_Bool(true);
2595 /* metamodel/inheritance.nit:403 */
2597 REGB1
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2598 if (UNTAG_Bool(REGB1
)) {
2601 REGB2
= TAG_Bool(false);
2604 if (UNTAG_Bool(REGB1
)) {
2605 /* metamodel/inheritance.nit:405 */
2606 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2607 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[2]));
2608 if (UNTAG_Bool(REGB1
)) {
2610 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2613 /* metamodel/inheritance.nit:406 */
2614 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2615 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[2]);
2616 /* metamodel/inheritance.nit:407 */
2617 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2618 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2619 if (UNTAG_Bool(REGB1
)) {
2620 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 407);
2622 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2623 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2624 REGB1
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2625 /* metamodel/inheritance.nit:409 */
2626 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2627 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[3]));
2628 if (UNTAG_Bool(REGB1
)) {
2630 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2633 if (UNTAG_Bool(REGB1
)) {
2634 REGB1
= TAG_Bool(true);
2636 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2637 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[3]);
2640 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2641 if (UNTAG_Bool(REGB1
)) {
2642 /* metamodel/inheritance.nit:410 */
2643 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2644 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2645 if (UNTAG_Bool(REGB1
)) {
2646 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 410);
2648 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2649 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2650 REGB1
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2652 /* metamodel/inheritance.nit:409 */
2653 REGB2
= TAG_Bool(false);
2656 if (UNTAG_Bool(REGB1
)) {
2657 /* metamodel/inheritance.nit:411 */
2658 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
2659 /* metamodel/inheritance.nit:412 */
2660 REGB1
= TAG_Bool(false);
2663 /* metamodel/inheritance.nit:414 */
2664 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2666 /* metamodel/inheritance.nit:403 */
2671 /* metamodel/inheritance.nit:416 */
2672 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
2673 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2674 if (UNTAG_Bool(REGB0
)) {
2675 /* metamodel/inheritance.nit:417 */
2676 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
2678 stack_frame_head
= fra
.me
.prev
;
2681 val_t
metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0
, val_t p1
){
2682 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
2687 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2688 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2690 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___inherit_local_property
;
2691 fra
.me
.has_broke
= 0;
2692 fra
.me
.REG_size
= 8;
2693 fra
.me
.nitni_local_ref_head
= NULL
;
2694 fra
.me
.REG
[0] = NIT_NULL
;
2695 fra
.me
.REG
[1] = NIT_NULL
;
2696 fra
.me
.REG
[2] = NIT_NULL
;
2697 fra
.me
.REG
[3] = NIT_NULL
;
2698 fra
.me
.REG
[4] = NIT_NULL
;
2699 fra
.me
.REG
[5] = NIT_NULL
;
2700 fra
.me
.REG
[6] = NIT_NULL
;
2701 fra
.me
.REG
[7] = NIT_NULL
;
2704 /* metamodel/inheritance.nit:433 */
2705 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
2706 if (UNTAG_Bool(REGB0
)) {
2708 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 433);
2710 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
2711 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2712 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2713 if (UNTAG_Bool(REGB0
)) {
2715 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 433);
2717 /* metamodel/inheritance.nit:437 */
2718 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2719 /* metamodel/inheritance.nit:438 */
2720 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2721 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2722 /* metamodel/inheritance.nit:439 */
2723 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2725 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2726 if (UNTAG_Bool(REGB2
)) {
2728 /* ../lib/standard/kernel.nit:227 */
2729 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2730 /* metamodel/inheritance.nit:439 */
2733 if (UNTAG_Bool(REGB2
)) {
2734 /* metamodel/inheritance.nit:441 */
2735 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2737 /* ../lib/standard/collection/array.nit:24 */
2738 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2739 if (UNTAG_Bool(REGB2
)) {
2741 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2743 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2744 /* metamodel/inheritance.nit:442 */
2746 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
2747 if (UNTAG_Bool(REGB0
)) {
2749 /* ../lib/standard/kernel.nit:227 */
2750 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
2751 /* metamodel/inheritance.nit:442 */
2754 if (UNTAG_Bool(REGB0
)) {
2755 /* metamodel/inheritance.nit:444 */
2756 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2757 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2758 if (UNTAG_Bool(REGB0
)) {
2759 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 444);
2761 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2762 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2764 /* metamodel/inheritance.nit:448 */
2765 fra
.me
.REG
[5] = NEW_ArraySet_standard___collection___array___ArraySet___init();
2766 /* ../lib/standard/collection/array.nit:269 */
2768 /* ../lib/standard/collection/array.nit:270 */
2769 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2770 if (UNTAG_Bool(REGB1
)) {
2772 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2774 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2775 /* ../lib/standard/collection/array.nit:271 */
2776 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2777 /* ../lib/standard/collection/array.nit:272 */
2779 /* ../lib/standard/collection/array.nit:24 */
2780 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2781 if (UNTAG_Bool(REGB1
)) {
2783 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2785 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2786 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2787 if (UNTAG_Bool(REGB2
)) {
2789 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2791 /* ../lib/standard/kernel.nit:232 */
2792 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2793 /* ../lib/standard/collection/array.nit:272 */
2794 if (UNTAG_Bool(REGB1
)) {
2795 /* ../lib/standard/collection/array.nit:273 */
2796 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2797 if (UNTAG_Bool(REGB1
)) {
2798 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2800 /* ../lib/standard/collection/array.nit:718 */
2801 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
2802 /* metamodel/inheritance.nit:450 */
2803 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1]);
2804 if (UNTAG_Bool(REGB1
)) {
2805 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1]);
2806 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2808 /* ../lib/standard/collection/array.nit:274 */
2810 /* ../lib/standard/kernel.nit:235 */
2811 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2812 /* ../lib/standard/collection/array.nit:274 */
2815 /* ../lib/standard/collection/array.nit:272 */
2820 /* metamodel/inheritance.nit:453 */
2821 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
2822 /* ../lib/standard/collection/array.nit:24 */
2823 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
2824 if (UNTAG_Bool(REGB0
)) {
2826 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2828 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
2829 /* metamodel/inheritance.nit:455 */
2831 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2832 if (UNTAG_Bool(REGB2
)) {
2834 /* ../lib/standard/kernel.nit:227 */
2835 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2836 /* metamodel/inheritance.nit:455 */
2839 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2840 if (UNTAG_Bool(REGB2
)) {
2841 /* metamodel/inheritance.nit:456 */
2842 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2843 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___context(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2844 CALL_metamodel___inheritance___MMContext___handle_property_conflict(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[5]);
2846 /* metamodel/inheritance.nit:458 */
2847 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2848 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2851 /* metamodel/inheritance.nit:468 */
2852 REGB2
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
2853 if (UNTAG_Bool(REGB2
)) {
2855 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 468);
2857 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
2858 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
2859 /* metamodel/inheritance.nit:470 */
2862 stack_frame_head
= fra
.me
.prev
;
2863 return fra
.me
.REG
[4];
2865 void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0
, val_t p1
){
2866 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2871 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2872 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2874 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalProperty___inherit_global
;
2875 fra
.me
.has_broke
= 0;
2876 fra
.me
.REG_size
= 6;
2877 fra
.me
.nitni_local_ref_head
= NULL
;
2878 fra
.me
.REG
[0] = NIT_NULL
;
2879 fra
.me
.REG
[1] = NIT_NULL
;
2880 fra
.me
.REG
[2] = NIT_NULL
;
2881 fra
.me
.REG
[3] = NIT_NULL
;
2882 fra
.me
.REG
[4] = NIT_NULL
;
2883 fra
.me
.REG
[5] = NIT_NULL
;
2886 /* metamodel/inheritance.nit:478 */
2887 CALL_metamodel___abstractmetamodel___MMLocalProperty___set_global(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2888 /* metamodel/inheritance.nit:479 */
2889 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
2890 /* metamodel/inheritance.nit:480 */
2891 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2892 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2893 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2894 /* ../lib/standard/collection/array.nit:269 */
2896 /* ../lib/standard/collection/array.nit:270 */
2897 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2898 if (UNTAG_Bool(REGB1
)) {
2900 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
2902 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2903 /* ../lib/standard/collection/array.nit:271 */
2904 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2905 /* ../lib/standard/collection/array.nit:272 */
2907 /* ../lib/standard/collection/array.nit:24 */
2908 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2909 if (UNTAG_Bool(REGB1
)) {
2911 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2913 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2914 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2915 if (UNTAG_Bool(REGB2
)) {
2917 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2919 /* ../lib/standard/kernel.nit:232 */
2920 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2921 /* ../lib/standard/collection/array.nit:272 */
2922 if (UNTAG_Bool(REGB1
)) {
2923 /* ../lib/standard/collection/array.nit:273 */
2924 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2925 if (UNTAG_Bool(REGB1
)) {
2926 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
2928 /* ../lib/standard/collection/array.nit:718 */
2929 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
2930 /* metamodel/inheritance.nit:481 */
2931 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2932 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2933 if (UNTAG_Bool(REGB1
)) {
2936 /* metamodel/inheritance.nit:482 */
2937 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2938 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
2940 /* ../lib/standard/collection/array.nit:274 */
2942 /* ../lib/standard/kernel.nit:235 */
2943 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2944 /* ../lib/standard/collection/array.nit:274 */
2947 /* ../lib/standard/collection/array.nit:272 */
2952 /* metamodel/inheritance.nit:484 */
2953 CALL_metamodel___abstractmetamodel___MMGlobalProperty___add_local_property(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2954 stack_frame_head
= fra
.me
.prev
;
2957 void metamodel___inheritance___MMAncestor___add_in(val_t p0
, val_t p1
){
2958 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2961 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2962 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2964 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMAncestor___add_in
;
2965 fra
.me
.has_broke
= 0;
2966 fra
.me
.REG_size
= 3;
2967 fra
.me
.nitni_local_ref_head
= NULL
;
2968 fra
.me
.REG
[0] = NIT_NULL
;
2969 fra
.me
.REG
[1] = NIT_NULL
;
2970 fra
.me
.REG
[2] = NIT_NULL
;
2973 /* metamodel/inheritance.nit:492 */
2974 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2975 /* metamodel/inheritance.nit:493 */
2976 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2977 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2978 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2979 /* metamodel/inheritance.nit:494 */
2980 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2981 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2982 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___ancestors(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2983 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2984 if (UNTAG_Bool(REGB0
)) {
2985 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 494);
2987 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___values(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2988 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[2])(fra
.me
.REG
[2], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMAncestor___add_in_1
));
2989 stack_frame_head
= fra
.me
.prev
;
2992 void OC_metamodel___inheritance___MMAncestor___add_in_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2993 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2999 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3000 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3002 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMAncestor___add_in
;
3003 fra
.me
.has_broke
= 0;
3004 fra
.me
.REG_size
= 4;
3005 fra
.me
.nitni_local_ref_head
= NULL
;
3006 fra
.me
.REG
[0] = NIT_NULL
;
3007 fra
.me
.REG
[1] = NIT_NULL
;
3008 fra
.me
.REG
[2] = NIT_NULL
;
3009 fra
.me
.REG
[3] = NIT_NULL
;
3010 fra
.me
.closure_ctx
= closctx_param
;
3011 fra
.me
.closure_funs
= CREG
;
3013 CREG
[0] = clos_fun0
;
3014 /* metamodel/inheritance.nit:495 */
3015 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3016 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMAncestor___stype(closctx
->REG
[0])(closctx
->REG
[0]);
3017 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3018 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3019 /* metamodel/inheritance.nit:496 */
3020 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(closctx
->REG
[0])(closctx
->REG
[0]);
3021 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3022 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[0])(closctx
->REG
[0]);
3023 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3024 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3025 /* metamodel/inheritance.nit:497 */
3026 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3027 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[0])(closctx
->REG
[0]);
3028 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3029 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[2]));
3030 if (UNTAG_Bool(REGB0
)) {
3032 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
3035 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3036 if (UNTAG_Bool(REGB0
)) {
3037 /* metamodel/inheritance.nit:498 */
3038 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx
->REG
[1])(closctx
->REG
[1]);
3039 /* metamodel/inheritance.nit:499 */
3040 REGB0
= TAG_Bool(true);
3041 /* metamodel/inheritance.nit:500 */
3043 REGB1
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3044 if (UNTAG_Bool(REGB1
)) {
3047 REGB2
= TAG_Bool(false);
3050 if (UNTAG_Bool(REGB1
)) {
3051 /* metamodel/inheritance.nit:501 */
3052 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3053 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
3054 if (UNTAG_Bool(REGB1
)) {
3055 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 501);
3057 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___inheriter(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3058 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[0])(closctx
->REG
[0]);
3059 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
3060 if (UNTAG_Bool(REGB1
)) {
3062 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
3065 if (UNTAG_Bool(REGB1
)) {
3066 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3067 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
3068 if (UNTAG_Bool(REGB1
)) {
3069 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 501);
3071 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3072 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
3073 if (UNTAG_Bool(REGB1
)) {
3075 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3079 REGB2
= TAG_Bool(false);
3082 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
3084 /* metamodel/inheritance.nit:502 */
3085 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3087 /* metamodel/inheritance.nit:500 */
3092 /* metamodel/inheritance.nit:504 */
3093 if (UNTAG_Bool(REGB0
)) {
3094 /* metamodel/inheritance.nit:505 */
3095 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[0])(closctx
->REG
[0]);
3096 fra
.me
.REG
[1] = NEW_MMSpecAncestor_metamodel___inheritance___MMSpecAncestor___init(fra
.me
.REG
[2], fra
.me
.REG
[1]);
3097 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
3100 stack_frame_head
= fra
.me
.prev
;
3103 void metamodel___inheritance___MMImplicitLocalClass___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3104 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMImplicitLocalClass
].i
;
3105 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3108 if (init_table
[itpos0
]) return;
3109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3110 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3112 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMImplicitLocalClass___init
;
3113 fra
.me
.has_broke
= 0;
3114 fra
.me
.REG_size
= 6;
3115 fra
.me
.nitni_local_ref_head
= NULL
;
3116 fra
.me
.REG
[0] = NIT_NULL
;
3117 fra
.me
.REG
[1] = NIT_NULL
;
3118 fra
.me
.REG
[2] = NIT_NULL
;
3119 fra
.me
.REG
[3] = NIT_NULL
;
3120 fra
.me
.REG
[4] = NIT_NULL
;
3121 fra
.me
.REG
[5] = NIT_NULL
;
3125 /* metamodel/inheritance.nit:517 */
3126 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3127 /* metamodel/inheritance.nit:519 */
3128 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3129 /* metamodel/inheritance.nit:520 */
3130 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3131 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3132 CALL_metamodel___abstractmetamodel___MMLocalClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5], REGB0
, init_table
);
3133 /* metamodel/inheritance.nit:521 */
3134 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3135 stack_frame_head
= fra
.me
.prev
;
3136 init_table
[itpos0
] = 1;
3139 val_t
metamodel___inheritance___MMRefineAncestor___local_class(val_t p0
){
3140 struct {struct stack_frame_t me
;} fra
;
3143 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3144 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3146 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMRefineAncestor___local_class
;
3147 fra
.me
.has_broke
= 0;
3148 fra
.me
.REG_size
= 1;
3149 fra
.me
.nitni_local_ref_head
= NULL
;
3150 fra
.me
.REG
[0] = NIT_NULL
;
3152 /* metamodel/inheritance.nit:527 */
3153 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
3154 if (UNTAG_Bool(REGB0
)) {
3156 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___inheritance
, 527);
3158 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[0]);
3159 stack_frame_head
= fra
.me
.prev
;
3160 return fra
.me
.REG
[0];
3162 void metamodel___inheritance___MMRefineAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3163 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMRefineAncestor
].i
;
3164 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3167 if (init_table
[itpos1
]) return;
3168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3169 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3171 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMRefineAncestor___init
;
3172 fra
.me
.has_broke
= 0;
3173 fra
.me
.REG_size
= 4;
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
[2] = NIT_NULL
;
3178 fra
.me
.REG
[3] = NIT_NULL
;
3182 /* metamodel/inheritance.nit:529 */
3183 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3184 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3185 /* metamodel/inheritance.nit:531 */
3186 ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
3187 /* metamodel/inheritance.nit:532 */
3188 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3189 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3190 /* metamodel/inheritance.nit:533 */
3191 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3])!=NIT_NULL
);
3192 if (UNTAG_Bool(REGB0
)) {
3194 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___inheritance
, 533);
3196 fra
.me
.REG
[1] = ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3]);
3197 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3198 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3199 stack_frame_head
= fra
.me
.prev
;
3200 init_table
[itpos1
] = 1;
3203 val_t
metamodel___inheritance___MMSpecAncestor___local_class(val_t p0
){
3204 struct {struct stack_frame_t me
;} fra
;
3206 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3207 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3209 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMSpecAncestor___local_class
;
3210 fra
.me
.has_broke
= 0;
3211 fra
.me
.REG_size
= 1;
3212 fra
.me
.nitni_local_ref_head
= NULL
;
3213 fra
.me
.REG
[0] = NIT_NULL
;
3215 /* metamodel/inheritance.nit:540 */
3216 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3217 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3220 stack_frame_head
= fra
.me
.prev
;
3221 return fra
.me
.REG
[0];
3223 void metamodel___inheritance___MMSpecAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3224 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMSpecAncestor
].i
;
3225 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3227 if (init_table
[itpos2
]) return;
3228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3229 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3231 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMSpecAncestor___init
;
3232 fra
.me
.has_broke
= 0;
3233 fra
.me
.REG_size
= 4;
3234 fra
.me
.nitni_local_ref_head
= NULL
;
3235 fra
.me
.REG
[0] = NIT_NULL
;
3236 fra
.me
.REG
[1] = NIT_NULL
;
3237 fra
.me
.REG
[2] = NIT_NULL
;
3238 fra
.me
.REG
[3] = NIT_NULL
;
3242 /* metamodel/inheritance.nit:542 */
3243 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3244 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3245 /* metamodel/inheritance.nit:544 */
3246 ATTR_metamodel___static_type___MMAncestor____inheriter(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
3247 /* metamodel/inheritance.nit:545 */
3248 ATTR_metamodel___static_type___MMAncestor____stype(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
3249 stack_frame_head
= fra
.me
.prev
;
3250 init_table
[itpos2
] = 1;
3253 val_t
metamodel___inheritance___MMDefaultAncestor___local_class(val_t p0
){
3254 struct {struct stack_frame_t me
;} fra
;
3256 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3257 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3259 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMDefaultAncestor___local_class
;
3260 fra
.me
.has_broke
= 0;
3261 fra
.me
.REG_size
= 1;
3262 fra
.me
.nitni_local_ref_head
= NULL
;
3263 fra
.me
.REG
[0] = NIT_NULL
;
3265 /* metamodel/inheritance.nit:551 */
3266 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3267 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3270 stack_frame_head
= fra
.me
.prev
;
3271 return fra
.me
.REG
[0];
3273 void metamodel___inheritance___MMDefaultAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3274 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMDefaultAncestor
].i
;
3275 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3277 if (init_table
[itpos3
]) return;
3278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3279 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3281 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMDefaultAncestor___init
;
3282 fra
.me
.has_broke
= 0;
3283 fra
.me
.REG_size
= 4;
3284 fra
.me
.nitni_local_ref_head
= NULL
;
3285 fra
.me
.REG
[0] = NIT_NULL
;
3286 fra
.me
.REG
[1] = NIT_NULL
;
3287 fra
.me
.REG
[2] = NIT_NULL
;
3288 fra
.me
.REG
[3] = NIT_NULL
;
3292 /* metamodel/inheritance.nit:553 */
3293 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3294 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3295 /* metamodel/inheritance.nit:555 */
3296 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3297 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3298 /* metamodel/inheritance.nit:556 */
3299 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3300 stack_frame_head
= fra
.me
.prev
;
3301 init_table
[itpos3
] = 1;