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
.REG
[0] = NIT_NULL
;
27 fra
.me
.REG
[1] = NIT_NULL
;
28 fra
.me
.REG
[2] = NIT_NULL
;
29 fra
.me
.REG
[3] = NIT_NULL
;
30 fra
.me
.REG
[4] = NIT_NULL
;
31 fra
.me
.REG
[5] = NIT_NULL
;
32 fra
.me
.REG
[6] = NIT_NULL
;
36 /* ./metamodel//inheritance.nit:28 */
37 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
38 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
40 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 28);
42 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
43 /* ./metamodel//inheritance.nit:29 */
44 fra
.me
.REG
[4] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
46 fra
.me
.REG
[5] = BOX_NativeString("Fatal error: inherit_local_property error\n");
48 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB0
);
49 once_value_1
= fra
.me
.REG
[5];
50 register_static_object(&once_value_1
);
51 } else fra
.me
.REG
[5] = once_value_1
;
52 fra
.me
.REG
[5] = fra
.me
.REG
[5];
53 CALL_standard___stream___OStream___write(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
54 /* ./metamodel//inheritance.nit:30 */
56 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
58 fra
.me
.REG
[4] = BOX_NativeString("------- ");
60 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
61 once_value_2
= fra
.me
.REG
[4];
62 register_static_object(&once_value_2
);
63 } else fra
.me
.REG
[4] = once_value_2
;
64 fra
.me
.REG
[4] = fra
.me
.REG
[4];
65 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
66 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
67 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
68 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
70 fra
.me
.REG
[4] = BOX_NativeString("::");
72 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
73 once_value_3
= fra
.me
.REG
[4];
74 register_static_object(&once_value_3
);
75 } else fra
.me
.REG
[4] = once_value_3
;
76 fra
.me
.REG
[4] = fra
.me
.REG
[4];
77 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
78 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
79 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
81 fra
.me
.REG
[1] = BOX_NativeString(" ");
83 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
84 once_value_4
= fra
.me
.REG
[1];
85 register_static_object(&once_value_4
);
86 } else fra
.me
.REG
[1] = once_value_4
;
87 fra
.me
.REG
[1] = fra
.me
.REG
[1];
88 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
89 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
90 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
91 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
93 fra
.me
.REG
[1] = BOX_NativeString("");
95 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
96 once_value_5
= fra
.me
.REG
[1];
97 register_static_object(&once_value_5
);
98 } else fra
.me
.REG
[1] = once_value_5
;
99 fra
.me
.REG
[1] = fra
.me
.REG
[1];
100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
101 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
102 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
103 /* ./../lib/standard//collection//array.nit:232 */
105 /* ./../lib/standard//collection//array.nit:233 */
106 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
107 if (UNTAG_Bool(REGB1
)) {
109 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
111 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
112 /* ./../lib/standard//collection//array.nit:234 */
113 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
114 /* ./../lib/standard//collection//array.nit:235 */
116 /* ./../lib/standard//collection//array.nit:23 */
117 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
118 if (UNTAG_Bool(REGB1
)) {
120 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
122 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
123 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
124 if (UNTAG_Bool(REGB2
)) {
126 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
128 /* ./../lib/standard//kernel.nit:215 */
129 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
130 /* ./../lib/standard//collection//array.nit:235 */
131 if (UNTAG_Bool(REGB1
)) {
132 /* ./../lib/standard//collection//array.nit:236 */
133 REGB1
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
134 if (UNTAG_Bool(REGB1
)) {
135 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
137 /* ./../lib/standard//collection//array.nit:652 */
138 fra
.me
.REG
[1] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB0
)];
139 /* ./metamodel//inheritance.nit:32 */
141 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
143 fra
.me
.REG
[6] = BOX_NativeString(" ");
145 fra
.me
.REG
[6] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[6], REGB1
);
146 once_value_6
= fra
.me
.REG
[6];
147 register_static_object(&once_value_6
);
148 } else fra
.me
.REG
[6] = once_value_6
;
149 fra
.me
.REG
[6] = fra
.me
.REG
[6];
150 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[6]);
151 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
154 fra
.me
.REG
[1] = BOX_NativeString("");
156 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
157 once_value_7
= fra
.me
.REG
[1];
158 register_static_object(&once_value_7
);
159 } else fra
.me
.REG
[1] = once_value_7
;
160 fra
.me
.REG
[1] = fra
.me
.REG
[1];
161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
162 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
163 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
164 /* ./../lib/standard//collection//array.nit:237 */
166 /* ./../lib/standard//kernel.nit:218 */
167 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
168 /* ./../lib/standard//collection//array.nit:237 */
171 /* ./../lib/standard//collection//array.nit:235 */
176 /* ./metamodel//inheritance.nit:34 */
178 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
180 fra
.me
.REG
[2] = BOX_NativeString("------- ");
182 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
183 once_value_9
= fra
.me
.REG
[2];
184 register_static_object(&once_value_9
);
185 } else fra
.me
.REG
[2] = once_value_9
;
186 fra
.me
.REG
[2] = fra
.me
.REG
[2];
187 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
188 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
189 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
190 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
192 if (!once_value_10
) {
193 fra
.me
.REG
[2] = BOX_NativeString("");
195 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
196 once_value_10
= fra
.me
.REG
[2];
197 register_static_object(&once_value_10
);
198 } else fra
.me
.REG
[2] = once_value_10
;
199 fra
.me
.REG
[2] = fra
.me
.REG
[2];
200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
201 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
202 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
203 /* ./metamodel//inheritance.nit:35 */
205 fra
.me
.REG
[5] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
206 if (!once_value_11
) {
207 fra
.me
.REG
[2] = BOX_NativeString("------- ");
209 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
210 once_value_11
= fra
.me
.REG
[2];
211 register_static_object(&once_value_11
);
212 } else fra
.me
.REG
[2] = once_value_11
;
213 fra
.me
.REG
[2] = fra
.me
.REG
[2];
214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[2]);
215 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
216 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrder___to_dot(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
217 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
218 if (!once_value_12
) {
219 fra
.me
.REG
[3] = BOX_NativeString("");
221 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
222 once_value_12
= fra
.me
.REG
[3];
223 register_static_object(&once_value_12
);
224 } else fra
.me
.REG
[3] = once_value_12
;
225 fra
.me
.REG
[3] = fra
.me
.REG
[3];
226 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
227 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
228 CALL_standard___file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[5]);
229 /* ./metamodel//inheritance.nit:36 */
231 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
232 stack_frame_head
= fra
.me
.prev
;
235 val_t
metamodel___inheritance___MMModule___type_any(val_t p0
){
236 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
239 static val_t once_value_1
; /* Once value */
240 static val_t once_value_2
; /* Once value */
241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
242 fra
.me
.file
= LOCATE_metamodel___inheritance
;
244 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___type_any
;
245 fra
.me
.has_broke
= 0;
247 fra
.me
.REG
[0] = NIT_NULL
;
248 fra
.me
.REG
[1] = NIT_NULL
;
250 /* ./metamodel//inheritance.nit:44 */
253 fra
.me
.REG
[1] = BOX_NativeString("Object");
255 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
256 once_value_2
= fra
.me
.REG
[1];
257 register_static_object(&once_value_2
);
258 } else fra
.me
.REG
[1] = once_value_2
;
259 fra
.me
.REG
[1] = fra
.me
.REG
[1];
260 fra
.me
.REG
[1] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
261 once_value_1
= fra
.me
.REG
[1];
262 register_static_object(&once_value_1
);
263 } else fra
.me
.REG
[1] = once_value_1
;
264 fra
.me
.REG
[1] = fra
.me
.REG
[1];
265 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
266 /* ./metamodel//inheritance.nit:45 */
267 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 stack_frame_head
= fra
.me
.prev
;
271 return fra
.me
.REG
[1];
273 void metamodel___inheritance___MMModule___import_global_classes(val_t p0
){
274 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
280 fra
.me
.file
= LOCATE_metamodel___inheritance
;
282 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_global_classes
;
283 fra
.me
.has_broke
= 0;
285 fra
.me
.REG
[0] = NIT_NULL
;
286 fra
.me
.REG
[1] = NIT_NULL
;
287 fra
.me
.REG
[2] = NIT_NULL
;
288 fra
.me
.REG
[3] = NIT_NULL
;
290 /* ./metamodel//inheritance.nit:51 */
291 fra
.me
.REG
[1] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
292 /* ./metamodel//inheritance.nit:52 */
293 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
294 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
295 if (UNTAG_Bool(REGB0
)) {
297 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
298 if (UNTAG_Bool(REGB1
)) {
299 REGB1
= TAG_Bool(false);
302 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
306 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
307 if (UNTAG_Bool(REGB0
)) {
309 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 52);
311 /* ./metamodel//inheritance.nit:53 */
312 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___mhe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
313 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
314 if (UNTAG_Bool(REGB0
)) {
315 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 53);
317 fra
.me
.REG
[1] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
318 /* ./../lib/standard//collection//array.nit:232 */
320 /* ./../lib/standard//collection//array.nit:233 */
321 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
322 if (UNTAG_Bool(REGB1
)) {
324 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
326 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
327 /* ./../lib/standard//collection//array.nit:234 */
328 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
329 /* ./../lib/standard//collection//array.nit:235 */
331 /* ./../lib/standard//collection//array.nit:23 */
332 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
333 if (UNTAG_Bool(REGB1
)) {
335 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
337 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
338 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
339 if (UNTAG_Bool(REGB2
)) {
341 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
343 /* ./../lib/standard//kernel.nit:215 */
344 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
345 /* ./../lib/standard//collection//array.nit:235 */
346 if (UNTAG_Bool(REGB1
)) {
347 /* ./../lib/standard//collection//array.nit:236 */
348 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
349 if (UNTAG_Bool(REGB1
)) {
350 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
352 /* ./../lib/standard//collection//array.nit:652 */
353 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
354 /* ./metamodel//inheritance.nit:54 */
355 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___global_classes(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
356 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
));
357 /* ./../lib/standard//collection//array.nit:237 */
359 /* ./../lib/standard//kernel.nit:218 */
360 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
361 /* ./../lib/standard//collection//array.nit:237 */
364 /* ./../lib/standard//collection//array.nit:235 */
369 stack_frame_head
= fra
.me
.prev
;
372 void OC_metamodel___inheritance___MMModule___import_global_classes_1(struct stack_frame_t
*closctx
, val_t p0
){
373 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
376 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
377 fra
.me
.file
= LOCATE_metamodel___inheritance
;
379 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_global_classes
;
380 fra
.me
.has_broke
= 0;
382 fra
.me
.REG
[0] = NIT_NULL
;
383 fra
.me
.REG
[1] = NIT_NULL
;
384 fra
.me
.REG
[2] = NIT_NULL
;
386 /* ./metamodel//inheritance.nit:55 */
387 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMModule___global_classes(closctx
->REG
[0])(closctx
->REG
[0]);
388 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
389 if (UNTAG_Bool(REGB0
)) {
392 /* ./metamodel//inheritance.nit:56 */
393 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_classes(closctx
->REG
[0])!=NIT_NULL
);
394 if (UNTAG_Bool(REGB0
)) {
396 nit_abort("Uninitialized attribute %s", "_global_classes", LOCATE_metamodel___inheritance
, 56);
398 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_classes(closctx
->REG
[0]);
399 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
400 /* ./metamodel//inheritance.nit:57 */
401 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_class_by_name(closctx
->REG
[0])!=NIT_NULL
);
402 if (UNTAG_Bool(REGB0
)) {
404 nit_abort("Uninitialized attribute %s", "_global_class_by_name", LOCATE_metamodel___inheritance
, 57);
406 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_class_by_name(closctx
->REG
[0]);
407 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
408 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2], fra
.me
.REG
[0]);
410 stack_frame_head
= fra
.me
.prev
;
413 void metamodel___inheritance___MMModule___import_local_classes(val_t p0
){
414 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
417 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
418 fra
.me
.file
= LOCATE_metamodel___inheritance
;
420 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_local_classes
;
421 fra
.me
.has_broke
= 0;
423 fra
.me
.REG
[0] = NIT_NULL
;
424 fra
.me
.REG
[1] = NIT_NULL
;
426 /* ./metamodel//inheritance.nit:66 */
427 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____global_classes(fra
.me
.REG
[0])!=NIT_NULL
);
428 if (UNTAG_Bool(REGB0
)) {
430 nit_abort("Uninitialized attribute %s", "_global_classes", LOCATE_metamodel___inheritance
, 66);
432 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____global_classes(fra
.me
.REG
[0]);
433 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
));
434 stack_frame_head
= fra
.me
.prev
;
437 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
){
438 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
442 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
443 fra
.me
.file
= LOCATE_metamodel___inheritance
;
445 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMModule___import_local_classes
;
446 fra
.me
.has_broke
= 0;
448 fra
.me
.REG
[0] = NIT_NULL
;
449 fra
.me
.REG
[1] = NIT_NULL
;
450 fra
.me
.closure_ctx
= closctx_param
;
451 fra
.me
.closure_funs
= CREG
;
454 /* ./metamodel//inheritance.nit:67 */
455 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMModule____local_class_by_global(closctx
->REG
[0])!=NIT_NULL
);
456 if (UNTAG_Bool(REGB0
)) {
458 nit_abort("Uninitialized attribute %s", "_local_class_by_global", LOCATE_metamodel___inheritance
, 67);
460 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMModule____local_class_by_global(closctx
->REG
[0]);
461 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
462 if (UNTAG_Bool(REGB0
)) {
465 /* ./metamodel//inheritance.nit:68 */
466 fra
.me
.REG
[0] = NEW_MMImplicitLocalClass_metamodel___inheritance___MMImplicitLocalClass___init(closctx
->REG
[0], fra
.me
.REG
[0]);
468 stack_frame_head
= fra
.me
.prev
;
471 void metamodel___inheritance___MMLocalClass___compute_super_classes(val_t p0
){
472 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
476 static val_t once_value_2
; /* Once value */
477 static val_t once_value_3
; /* Once value */
478 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
479 fra
.me
.file
= LOCATE_metamodel___inheritance
;
481 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_super_classes
;
482 fra
.me
.has_broke
= 0;
484 fra
.me
.REG
[0] = NIT_NULL
;
485 fra
.me
.REG
[1] = NIT_NULL
;
486 fra
.me
.REG
[2] = NIT_NULL
;
487 fra
.me
.REG
[3] = NIT_NULL
;
489 /* ./metamodel//inheritance.nit:84 */
490 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
491 if (UNTAG_Bool(REGB0
)) {
492 /* ./metamodel//inheritance.nit:86 */
495 /* ./metamodel//inheritance.nit:87 */
496 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0])!=NIT_NULL
);
497 if (UNTAG_Bool(REGB0
)) {
499 nit_abort("Uninitialized attribute %s", "_computing_super", LOCATE_metamodel___inheritance
, 87);
501 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]);
502 if (UNTAG_Bool(REGB0
)) {
503 /* ./metamodel//inheritance.nit:88 */
504 fra
.me
.REG
[1] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
506 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
508 fra
.me
.REG
[3] = BOX_NativeString("Fatal error: Inheritance loop for class ");
510 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
511 once_value_2
= fra
.me
.REG
[3];
512 register_static_object(&once_value_2
);
513 } else fra
.me
.REG
[3] = once_value_2
;
514 fra
.me
.REG
[3] = fra
.me
.REG
[3];
515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
516 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
517 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
519 fra
.me
.REG
[3] = BOX_NativeString("\n");
521 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
522 once_value_3
= fra
.me
.REG
[3];
523 register_static_object(&once_value_3
);
524 } else fra
.me
.REG
[3] = once_value_3
;
525 fra
.me
.REG
[3] = fra
.me
.REG
[3];
526 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
527 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
528 CALL_standard___stream___OStream___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
529 /* ./metamodel//inheritance.nit:89 */
531 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
534 /* ./metamodel//inheritance.nit:91 */
535 REGB0
= TAG_Bool(true);
536 ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]) = REGB0
;
537 /* ./metamodel//inheritance.nit:93 */
538 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
539 /* ./metamodel//inheritance.nit:94 */
540 CALL_metamodel___inheritance___MMLocalClass___add_explicit_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
541 /* ./metamodel//inheritance.nit:95 */
542 CALL_metamodel___inheritance___MMLocalClass___add_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
543 /* ./metamodel//inheritance.nit:96 */
544 CALL_metamodel___inheritance___MMLocalClass___add_default_any_class(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
545 /* ./metamodel//inheritance.nit:97 */
546 CALL_metamodel___inheritance___MMLocalClass___compute_super_parents(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
547 /* ./metamodel//inheritance.nit:98 */
548 fra
.me
.REG
[1] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
549 /* ./metamodel//inheritance.nit:99 */
550 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
551 /* ./metamodel//inheritance.nit:100 */
552 fra
.me
.REG
[1] = CALL_standard___collection___array___Collection___to_a(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
553 /* ./metamodel//inheritance.nit:101 */
554 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
555 CALL_metamodel___abstractmetamodel___MMModule___set_supers_class(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[1]);
556 /* ./metamodel//inheritance.nit:102 */
557 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
558 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
559 if (UNTAG_Bool(REGB0
)) {
561 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
562 if (UNTAG_Bool(REGB1
)) {
563 REGB1
= TAG_Bool(false);
566 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
570 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
571 if (UNTAG_Bool(REGB0
)) {
573 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 102);
575 /* ./metamodel//inheritance.nit:103 */
576 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____cshe(fra
.me
.REG
[0]);
577 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
578 if (UNTAG_Bool(REGB0
)) {
580 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
581 if (UNTAG_Bool(REGB1
)) {
582 REGB1
= TAG_Bool(false);
585 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
589 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
590 if (UNTAG_Bool(REGB0
)) {
592 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 103);
594 /* ./metamodel//inheritance.nit:104 */
595 REGB0
= TAG_Bool(false);
596 ATTR_metamodel___inheritance___MMLocalClass____computing_super(fra
.me
.REG
[0]) = REGB0
;
598 stack_frame_head
= fra
.me
.prev
;
601 void metamodel___inheritance___MMLocalClass___compute_ancestors(val_t p0
){
602 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
605 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
606 fra
.me
.file
= LOCATE_metamodel___inheritance
;
608 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_ancestors
;
609 fra
.me
.has_broke
= 0;
611 fra
.me
.REG
[0] = NIT_NULL
;
612 fra
.me
.REG
[1] = NIT_NULL
;
613 fra
.me
.REG
[2] = NIT_NULL
;
615 /* ./metamodel//inheritance.nit:110 */
616 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
617 if (UNTAG_Bool(REGB0
)) {
619 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 110);
621 /* ./metamodel//inheritance.nit:111 */
622 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
623 if (UNTAG_Bool(REGB0
)) {
626 /* ./metamodel//inheritance.nit:113 */
627 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___build_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
628 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___group_ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
629 /* ./metamodel//inheritance.nit:114 */
630 fra
.me
.REG
[2] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
631 ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
632 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
));
634 stack_frame_head
= fra
.me
.prev
;
637 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
){
638 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
644 /* ./metamodel//inheritance.nit:116 */
645 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
646 fra
.me
.file
= LOCATE_metamodel___inheritance
;
648 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_ancestors
;
649 fra
.me
.has_broke
= 0;
651 fra
.me
.REG
[0] = NIT_NULL
;
652 fra
.me
.REG
[1] = NIT_NULL
;
653 fra
.me
.closure_ctx
= closctx_param
;
654 fra
.me
.closure_funs
= CREG
;
657 /* ./metamodel//inheritance.nit:117 */
658 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
660 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
661 if (UNTAG_Bool(REGB2
)) {
663 /* ./../lib/standard//kernel.nit:210 */
664 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
665 /* ./metamodel//inheritance.nit:117 */
668 if (UNTAG_Bool(REGB2
)) {
669 /* ./metamodel//inheritance.nit:118 */
670 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
671 CALL_metamodel___static_type___MMLocalClass___add_ancestor(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[1]);
673 /* ./metamodel//inheritance.nit:120 */
674 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___merge_ancestors(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
675 /* ./metamodel//inheritance.nit:121 */
676 fra
.me
.REG
[0] = CALL_metamodel___inheritance___MMLocalClass___merge_ancestors(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
677 CALL_metamodel___static_type___MMLocalClass___add_ancestor(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
679 stack_frame_head
= fra
.me
.prev
;
682 void metamodel___inheritance___MMLocalClass___inherit_global_properties(val_t p0
){
683 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
688 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
689 fra
.me
.file
= LOCATE_metamodel___inheritance
;
691 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___inherit_global_properties
;
692 fra
.me
.has_broke
= 0;
694 fra
.me
.REG
[0] = NIT_NULL
;
695 fra
.me
.REG
[1] = NIT_NULL
;
696 fra
.me
.REG
[2] = NIT_NULL
;
697 fra
.me
.REG
[3] = NIT_NULL
;
698 fra
.me
.REG
[4] = NIT_NULL
;
700 /* ./metamodel//inheritance.nit:131 */
701 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0])!=NIT_NULL
);
702 if (UNTAG_Bool(REGB0
)) {
704 nit_abort("Uninitialized attribute %s", "_are_global_properties_inherited", LOCATE_metamodel___inheritance
, 131);
706 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]);
707 if (UNTAG_Bool(REGB0
)) {
710 /* ./metamodel//inheritance.nit:132 */
711 REGB0
= TAG_Bool(true);
712 ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]) = REGB0
;
713 /* ./metamodel//inheritance.nit:134 */
714 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
715 if (UNTAG_Bool(REGB0
)) {
717 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 134);
719 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
720 /* ./metamodel//inheritance.nit:135 */
721 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
722 if (UNTAG_Bool(REGB0
)) {
724 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 135);
726 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
727 /* ./metamodel//inheritance.nit:136 */
728 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
729 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
730 /* ./../lib/standard//collection//array.nit:232 */
732 /* ./../lib/standard//collection//array.nit:233 */
733 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
734 if (UNTAG_Bool(REGB1
)) {
736 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
738 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
739 /* ./../lib/standard//collection//array.nit:234 */
740 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
741 /* ./../lib/standard//collection//array.nit:235 */
743 /* ./../lib/standard//collection//array.nit:23 */
744 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
745 if (UNTAG_Bool(REGB1
)) {
747 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
749 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
750 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
751 if (UNTAG_Bool(REGB2
)) {
753 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
755 /* ./../lib/standard//kernel.nit:215 */
756 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
757 /* ./../lib/standard//collection//array.nit:235 */
758 if (UNTAG_Bool(REGB1
)) {
759 /* ./../lib/standard//collection//array.nit:236 */
760 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
761 if (UNTAG_Bool(REGB1
)) {
762 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
764 /* ./../lib/standard//collection//array.nit:652 */
765 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
766 /* ./metamodel//inheritance.nit:137 */
767 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global_properties(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
768 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
));
769 /* ./../lib/standard//collection//array.nit:237 */
771 /* ./../lib/standard//kernel.nit:218 */
772 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
773 /* ./../lib/standard//collection//array.nit:237 */
776 /* ./../lib/standard//collection//array.nit:235 */
782 stack_frame_head
= fra
.me
.prev
;
785 void OC_metamodel___inheritance___MMLocalClass___inherit_global_properties_2(struct stack_frame_t
*closctx
, val_t p0
){
786 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
791 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
792 fra
.me
.file
= LOCATE_metamodel___inheritance
;
794 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___inherit_global_properties
;
795 fra
.me
.has_broke
= 0;
797 fra
.me
.REG
[0] = NIT_NULL
;
798 fra
.me
.REG
[1] = NIT_NULL
;
799 fra
.me
.REG
[2] = NIT_NULL
;
801 /* ./metamodel//inheritance.nit:138 */
802 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
803 if (UNTAG_Bool(REGB0
)) {
806 /* ./metamodel//inheritance.nit:140 */
807 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
808 /* ./metamodel//inheritance.nit:144 */
809 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
810 if (UNTAG_Bool(REGB0
)) {
811 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
812 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
813 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
814 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(closctx
->REG
[0])(closctx
->REG
[0]);
815 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
816 if (UNTAG_Bool(REGB0
)) {
818 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
821 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
823 REGB1
= TAG_Bool(false);
826 if (UNTAG_Bool(REGB0
)) {
827 /* ./metamodel//inheritance.nit:146 */
830 /* ./metamodel//inheritance.nit:150 */
831 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
832 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
833 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
835 REGB0
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
836 REGB1
= TAG_Char('@');
837 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
838 if (UNTAG_Bool(REGB2
)) {
840 /* ./../lib/standard//kernel.nit:350 */
841 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
842 /* ./metamodel//inheritance.nit:150 */
845 if (UNTAG_Bool(REGB2
)) {
848 /* ./metamodel//inheritance.nit:152 */
849 CALL_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(closctx
->REG
[0])(closctx
->REG
[0], fra
.me
.REG
[0]);
851 stack_frame_head
= fra
.me
.prev
;
854 val_t
metamodel___inheritance___MMLocalClass___global_properties(val_t p0
){
855 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
858 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
859 fra
.me
.file
= LOCATE_metamodel___inheritance
;
861 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___global_properties
;
862 fra
.me
.has_broke
= 0;
864 fra
.me
.REG
[0] = NIT_NULL
;
865 fra
.me
.REG
[1] = NIT_NULL
;
867 /* ./metamodel//inheritance.nit:159 */
868 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0])!=NIT_NULL
);
869 if (UNTAG_Bool(REGB0
)) {
871 nit_abort("Uninitialized attribute %s", "_are_global_properties_inherited", LOCATE_metamodel___inheritance
, 159);
873 REGB0
= ATTR_metamodel___inheritance___MMLocalClass____are_global_properties_inherited(fra
.me
.REG
[0]);
874 if (UNTAG_Bool(REGB0
)) {
875 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
876 if (UNTAG_Bool(REGB0
)) {
878 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 159);
880 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
883 /* ./metamodel//inheritance.nit:160 */
884 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
885 if (UNTAG_Bool(REGB0
)) {
887 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 160);
889 /* ./metamodel//inheritance.nit:161 */
890 CALL_metamodel___inheritance___MMLocalClass___inherit_global_properties(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
891 /* ./metamodel//inheritance.nit:162 */
892 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
893 if (UNTAG_Bool(REGB0
)) {
895 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 162);
897 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
898 fra
.me
.REG
[1] = fra
.me
.REG
[0];
901 stack_frame_head
= fra
.me
.prev
;
902 return fra
.me
.REG
[1];
904 val_t
metamodel___inheritance___MMLocalClass___has_global_property(val_t p0
, val_t p1
){
905 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
911 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
912 fra
.me
.file
= LOCATE_metamodel___inheritance
;
914 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___has_global_property
;
915 fra
.me
.has_broke
= 0;
917 fra
.me
.REG
[0] = NIT_NULL
;
918 fra
.me
.REG
[1] = NIT_NULL
;
919 fra
.me
.REG
[2] = NIT_NULL
;
920 fra
.me
.REG
[3] = NIT_NULL
;
921 fra
.me
.REG
[4] = NIT_NULL
;
924 /* ./metamodel//inheritance.nit:169 */
925 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
926 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
927 if (UNTAG_Bool(REGB0
)) {
928 REGB0
= TAG_Bool(false);
931 /* ./metamodel//inheritance.nit:171 */
932 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
933 if (UNTAG_Bool(REGB1
)) {
935 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 171);
937 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
938 /* ./metamodel//inheritance.nit:172 */
939 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
940 if (UNTAG_Bool(REGB1
)) {
941 REGB1
= TAG_Bool(true);
945 /* ./metamodel//inheritance.nit:173 */
946 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
947 fra
.me
.REG
[0] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
948 /* ./../lib/standard//collection//array.nit:232 */
950 /* ./../lib/standard//collection//array.nit:233 */
951 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
952 if (UNTAG_Bool(REGB2
)) {
954 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
956 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
957 /* ./../lib/standard//collection//array.nit:234 */
958 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
959 /* ./../lib/standard//collection//array.nit:235 */
961 /* ./../lib/standard//collection//array.nit:23 */
962 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
963 if (UNTAG_Bool(REGB2
)) {
965 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
967 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
968 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
969 if (UNTAG_Bool(REGB3
)) {
971 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
973 /* ./../lib/standard//kernel.nit:215 */
974 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
975 /* ./../lib/standard//collection//array.nit:235 */
976 if (UNTAG_Bool(REGB2
)) {
977 /* ./../lib/standard//collection//array.nit:236 */
978 REGB2
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
979 if (UNTAG_Bool(REGB2
)) {
980 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
982 /* ./../lib/standard//collection//array.nit:652 */
983 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB1
)];
984 /* ./metamodel//inheritance.nit:174 */
985 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
986 if (UNTAG_Bool(REGB2
)) {
987 /* ./metamodel//inheritance.nit:175 */
988 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
989 /* ./metamodel//inheritance.nit:176 */
990 REGB2
= TAG_Bool(true);
994 /* ./../lib/standard//collection//array.nit:237 */
996 /* ./../lib/standard//kernel.nit:218 */
997 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
998 /* ./../lib/standard//collection//array.nit:237 */
1001 /* ./../lib/standard//collection//array.nit:235 */
1006 /* ./metamodel//inheritance.nit:179 */
1007 REGB1
= TAG_Bool(false);
1011 stack_frame_head
= fra
.me
.prev
;
1014 val_t
metamodel___inheritance___MMLocalClass___has_global_property_by_name(val_t p0
, val_t p1
){
1015 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
1022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1023 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1025 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___has_global_property_by_name
;
1026 fra
.me
.has_broke
= 0;
1027 fra
.me
.REG_size
= 9;
1028 fra
.me
.REG
[0] = NIT_NULL
;
1029 fra
.me
.REG
[1] = NIT_NULL
;
1030 fra
.me
.REG
[2] = NIT_NULL
;
1031 fra
.me
.REG
[3] = NIT_NULL
;
1032 fra
.me
.REG
[4] = NIT_NULL
;
1033 fra
.me
.REG
[5] = NIT_NULL
;
1034 fra
.me
.REG
[6] = NIT_NULL
;
1035 fra
.me
.REG
[7] = NIT_NULL
;
1036 fra
.me
.REG
[8] = NIT_NULL
;
1039 /* ./metamodel//inheritance.nit:186 */
1040 REGB0
= CALL_metamodel___inheritance___MMLocalClass___computed_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1041 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1042 if (UNTAG_Bool(REGB0
)) {
1043 REGB0
= TAG_Bool(false);
1046 /* ./metamodel//inheritance.nit:189 */
1047 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1048 /* ./metamodel//inheritance.nit:191 */
1049 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1050 if (UNTAG_Bool(REGB1
)) {
1052 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 191);
1054 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1055 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1056 if (UNTAG_Bool(REGB1
)) {
1057 /* ./metamodel//inheritance.nit:192 */
1058 REGB1
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1059 if (UNTAG_Bool(REGB1
)) {
1061 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 192);
1063 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1064 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1065 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1066 if (UNTAG_Bool(REGB1
)) {
1067 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 192);
1069 /* ./../lib/standard//collection//array.nit:23 */
1070 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1071 if (UNTAG_Bool(REGB1
)) {
1073 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1075 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1076 /* ./metamodel//inheritance.nit:192 */
1078 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
1079 if (UNTAG_Bool(REGB3
)) {
1081 /* ./../lib/standard//kernel.nit:210 */
1082 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
1083 /* ./metamodel//inheritance.nit:192 */
1089 /* ./metamodel//inheritance.nit:194 */
1090 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0])!=NIT_NULL
);
1091 if (UNTAG_Bool(REGB3
)) {
1093 nit_abort("Uninitialized attribute %s", "_global_properties", LOCATE_metamodel___inheritance
, 194);
1095 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global_properties(fra
.me
.REG
[0]);
1096 /* ./metamodel//inheritance.nit:196 */
1097 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1098 if (UNTAG_Bool(REGB3
)) {
1100 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 196);
1102 fra
.me
.REG
[3] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1103 REGB3
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1104 if (UNTAG_Bool(REGB3
)) {
1105 /* ./metamodel//inheritance.nit:197 */
1106 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1107 if (UNTAG_Bool(REGB3
)) {
1109 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 197);
1111 fra
.me
.REG
[3] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1112 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1114 /* ./metamodel//inheritance.nit:199 */
1115 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1116 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1117 /* ./metamodel//inheritance.nit:200 */
1118 REGB3
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1119 if (UNTAG_Bool(REGB3
)) {
1121 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 200);
1123 fra
.me
.REG
[4] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1124 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1126 /* ./metamodel//inheritance.nit:202 */
1127 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1128 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1129 /* ./../lib/standard//collection//array.nit:232 */
1131 /* ./../lib/standard//collection//array.nit:233 */
1132 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1133 if (UNTAG_Bool(REGB2
)) {
1135 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
1137 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1138 /* ./../lib/standard//collection//array.nit:234 */
1139 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1140 /* ./../lib/standard//collection//array.nit:235 */
1142 /* ./../lib/standard//collection//array.nit:23 */
1143 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1144 if (UNTAG_Bool(REGB2
)) {
1146 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1148 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1149 REGB1
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1150 if (UNTAG_Bool(REGB1
)) {
1152 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1154 /* ./../lib/standard//kernel.nit:215 */
1155 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB2
));
1156 /* ./../lib/standard//collection//array.nit:235 */
1157 if (UNTAG_Bool(REGB2
)) {
1158 /* ./../lib/standard//collection//array.nit:236 */
1159 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1160 if (UNTAG_Bool(REGB2
)) {
1161 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
1163 /* ./../lib/standard//collection//array.nit:652 */
1164 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB3
)];
1165 /* ./metamodel//inheritance.nit:203 */
1166 REGB2
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
1167 if (UNTAG_Bool(REGB2
)) {
1168 /* ./metamodel//inheritance.nit:204 */
1169 fra
.me
.REG
[6] = CALL_metamodel___abstractmetamodel___MMLocalClass___get_property_by_name(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[1]);
1170 /* ./metamodel//inheritance.nit:205 */
1171 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1172 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1173 if (UNTAG_Bool(REGB2
)) {
1174 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[6]);
1176 /* ./metamodel//inheritance.nit:206 */
1177 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1178 if (UNTAG_Bool(REGB2
)) {
1179 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1180 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1181 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
1182 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1183 REGB2
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[7],fra
.me
.REG
[8]));
1184 if (UNTAG_Bool(REGB2
)) {
1186 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
1189 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
1191 REGB1
= TAG_Bool(false);
1194 if (UNTAG_Bool(REGB2
)) {
1197 /* ./metamodel//inheritance.nit:207 */
1198 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
1199 fra
.me
.REG
[8] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1200 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1201 fra
.me
.REG
[8] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[8])(fra
.me
.REG
[8]);
1202 REGB2
= TAG_Char('@');
1203 REGB1
= TAG_Bool(IS_EQUAL_ON(REGB2
,fra
.me
.REG
[8]));
1204 if (UNTAG_Bool(REGB1
)) {
1206 REGB4
= TAG_Bool(fra
.me
.REG
[8]==NIT_NULL
);
1207 if (UNTAG_Bool(REGB4
)) {
1208 REGB4
= TAG_Bool(false);
1211 /* ./../lib/standard//kernel.nit:350 */
1212 REGB2
= TAG_Bool((fra
.me
.REG
[8])==(REGB2
));
1213 /* ./metamodel//inheritance.nit:207 */
1217 if (UNTAG_Bool(REGB1
)) {
1220 /* ./metamodel//inheritance.nit:208 */
1221 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1222 if (UNTAG_Bool(REGB1
)) {
1223 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 208);
1225 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1226 if (UNTAG_Bool(REGB1
)) {
1229 /* ./metamodel//inheritance.nit:209 */
1230 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1231 if (UNTAG_Bool(REGB1
)) {
1232 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 209);
1234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[6]);
1237 /* ./../lib/standard//collection//array.nit:237 */
1239 /* ./../lib/standard//kernel.nit:218 */
1240 REGB1
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB1
));
1241 /* ./../lib/standard//collection//array.nit:237 */
1244 /* ./../lib/standard//collection//array.nit:235 */
1249 /* ./metamodel//inheritance.nit:212 */
1250 REGB3
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1251 if (UNTAG_Bool(REGB3
)) {
1252 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 212);
1254 /* ./../lib/standard//collection//array.nit:23 */
1255 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1256 if (UNTAG_Bool(REGB3
)) {
1258 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1260 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1261 /* ./metamodel//inheritance.nit:212 */
1263 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB1
));
1264 if (UNTAG_Bool(REGB2
)) {
1266 /* ./../lib/standard//kernel.nit:210 */
1267 REGB1
= TAG_Bool((REGB3
)==(REGB1
));
1268 /* ./metamodel//inheritance.nit:212 */
1274 stack_frame_head
= fra
.me
.prev
;
1277 void metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property(val_t p0
, val_t p1
){
1278 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1281 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1282 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1284 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___make_visible_an_inherited_global_property
;
1285 fra
.me
.has_broke
= 0;
1286 fra
.me
.REG_size
= 5;
1287 fra
.me
.REG
[0] = NIT_NULL
;
1288 fra
.me
.REG
[1] = NIT_NULL
;
1289 fra
.me
.REG
[2] = NIT_NULL
;
1290 fra
.me
.REG
[3] = NIT_NULL
;
1291 fra
.me
.REG
[4] = NIT_NULL
;
1294 /* ./metamodel//inheritance.nit:218 */
1295 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0])!=NIT_NULL
);
1296 if (UNTAG_Bool(REGB0
)) {
1298 nit_abort("Uninitialized attribute %s", "_properties_by_name", LOCATE_metamodel___inheritance
, 218);
1300 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____properties_by_name(fra
.me
.REG
[0]);
1301 /* ./metamodel//inheritance.nit:219 */
1302 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1303 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1304 /* ./metamodel//inheritance.nit:221 */
1305 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1306 if (UNTAG_Bool(REGB0
)) {
1307 /* ./metamodel//inheritance.nit:222 */
1308 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1310 /* ./metamodel//inheritance.nit:224 */
1311 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
1312 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1313 /* ./metamodel//inheritance.nit:225 */
1314 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], fra
.me
.REG
[3]);
1316 /* ./metamodel//inheritance.nit:227 */
1317 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1318 stack_frame_head
= fra
.me
.prev
;
1321 void metamodel___inheritance___MMLocalClass___add_direct_parent(val_t p0
, val_t p1
){
1322 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1325 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1326 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1328 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_direct_parent
;
1329 fra
.me
.has_broke
= 0;
1330 fra
.me
.REG_size
= 2;
1331 fra
.me
.REG
[0] = NIT_NULL
;
1332 fra
.me
.REG
[1] = NIT_NULL
;
1335 /* ./metamodel//inheritance.nit:233 */
1336 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
1337 if (UNTAG_Bool(REGB0
)) {
1339 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 233);
1341 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
1342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1343 stack_frame_head
= fra
.me
.prev
;
1346 val_t
metamodel___inheritance___MMLocalClass___computed_super_classes(val_t p0
){
1347 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1351 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1352 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1354 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___computed_super_classes
;
1355 fra
.me
.has_broke
= 0;
1356 fra
.me
.REG_size
= 2;
1357 fra
.me
.REG
[0] = NIT_NULL
;
1358 fra
.me
.REG
[1] = NIT_NULL
;
1360 /* ./metamodel//inheritance.nit:239 */
1361 fra
.me
.REG
[1] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1362 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1363 if (UNTAG_Bool(REGB0
)) {
1365 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1366 if (UNTAG_Bool(REGB1
)) {
1367 REGB1
= TAG_Bool(false);
1370 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1374 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1375 if (UNTAG_Bool(REGB0
)) {
1376 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____cshe(fra
.me
.REG
[0]);
1377 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1378 if (UNTAG_Bool(REGB0
)) {
1380 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1381 if (UNTAG_Bool(REGB1
)) {
1382 REGB1
= TAG_Bool(false);
1385 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1389 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1391 REGB1
= TAG_Bool(false);
1396 stack_frame_head
= fra
.me
.prev
;
1399 val_t
metamodel___inheritance___MMLocalClass___computed_ancestors(val_t p0
){
1400 struct {struct stack_frame_t me
;} fra
;
1404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1405 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1407 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___computed_ancestors
;
1408 fra
.me
.has_broke
= 0;
1409 fra
.me
.REG_size
= 1;
1410 fra
.me
.REG
[0] = NIT_NULL
;
1412 /* ./metamodel//inheritance.nit:245 */
1413 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1414 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1415 if (UNTAG_Bool(REGB0
)) {
1417 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1418 if (UNTAG_Bool(REGB1
)) {
1419 REGB1
= TAG_Bool(false);
1422 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1426 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1429 stack_frame_head
= fra
.me
.prev
;
1432 val_t
metamodel___inheritance___MMLocalClass___ancestor_for(val_t p0
, val_t p1
){
1433 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1438 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1440 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___ancestor_for
;
1441 fra
.me
.has_broke
= 0;
1442 fra
.me
.REG_size
= 6;
1443 fra
.me
.REG
[0] = NIT_NULL
;
1444 fra
.me
.REG
[1] = NIT_NULL
;
1445 fra
.me
.REG
[2] = NIT_NULL
;
1446 fra
.me
.REG
[3] = NIT_NULL
;
1447 fra
.me
.REG
[4] = NIT_NULL
;
1448 fra
.me
.REG
[5] = NIT_NULL
;
1451 /* ./metamodel//inheritance.nit:252 */
1452 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMLocalClass___ancestors(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1453 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1454 if (UNTAG_Bool(REGB0
)) {
1456 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1457 if (UNTAG_Bool(REGB1
)) {
1458 REGB1
= TAG_Bool(false);
1461 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1465 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1466 if (UNTAG_Bool(REGB0
)) {
1468 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 252);
1470 /* ./metamodel//inheritance.nit:254 */
1471 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1472 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1473 if (UNTAG_Bool(REGB0
)) {
1474 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 254);
1476 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1477 if (UNTAG_Bool(REGB0
)) {
1478 /* ./metamodel//inheritance.nit:255 */
1479 fra
.me
.REG
[2] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1480 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1481 if (UNTAG_Bool(REGB0
)) {
1482 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 255);
1484 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1487 /* ./metamodel//inheritance.nit:257 */
1488 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1489 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1490 /* ./metamodel//inheritance.nit:258 */
1491 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1492 REGB0
= CALL_metamodel___partial_order___PartialOrderElement_____leq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1493 if (UNTAG_Bool(REGB0
)) {
1495 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 258);
1497 /* ./metamodel//inheritance.nit:260 */
1498 fra
.me
.REG
[4] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1499 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1500 if (UNTAG_Bool(REGB0
)) {
1501 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 260);
1503 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1504 if (UNTAG_Bool(REGB0
)) {
1505 /* ./metamodel//inheritance.nit:261 */
1506 fra
.me
.REG
[4] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1507 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1508 if (UNTAG_Bool(REGB0
)) {
1509 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 261);
1511 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1513 /* ./metamodel//inheritance.nit:262 */
1514 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1515 fra
.me
.REG
[5] = ATTR_metamodel___abstractmetamodel___MMLocalClass____global(fra
.me
.REG
[0]);
1516 REGB0
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[4],fra
.me
.REG
[5]));
1517 if (UNTAG_Bool(REGB0
)) {
1519 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1522 if (UNTAG_Bool(REGB0
)) {
1523 /* ./metamodel//inheritance.nit:263 */
1524 fra
.me
.REG
[5] = NEW_MMRefineAncestor_metamodel___inheritance___MMRefineAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1525 fra
.me
.REG
[3] = fra
.me
.REG
[5];
1527 /* ./metamodel//inheritance.nit:265 */
1528 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1529 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1530 fra
.me
.REG
[4] = NEW_MMSpecAncestor_metamodel___inheritance___MMSpecAncestor___init(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1531 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1534 /* ./metamodel//inheritance.nit:267 */
1535 fra
.me
.REG
[0] = ATTR_metamodel___static_type___MMLocalClass____ancestors(fra
.me
.REG
[0]);
1536 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1537 if (UNTAG_Bool(REGB0
)) {
1538 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 267);
1540 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
1541 /* ./metamodel//inheritance.nit:268 */
1542 fra
.me
.REG
[2] = fra
.me
.REG
[3];
1545 stack_frame_head
= fra
.me
.prev
;
1546 return fra
.me
.REG
[2];
1548 val_t
metamodel___inheritance___MMLocalClass_____bra(val_t p0
, val_t p1
){
1549 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1552 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1553 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1555 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass_____bra
;
1556 fra
.me
.has_broke
= 0;
1557 fra
.me
.REG_size
= 3;
1558 fra
.me
.REG
[0] = NIT_NULL
;
1559 fra
.me
.REG
[1] = NIT_NULL
;
1560 fra
.me
.REG
[2] = NIT_NULL
;
1563 /* ./metamodel//inheritance.nit:273 */
1564 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
1565 if (UNTAG_Bool(REGB0
)) {
1567 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 273);
1569 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
1570 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1571 if (UNTAG_Bool(REGB0
)) {
1572 /* ./metamodel//inheritance.nit:274 */
1573 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
1574 if (UNTAG_Bool(REGB0
)) {
1576 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 274);
1578 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
1579 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1582 /* ./metamodel//inheritance.nit:275 */
1583 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1584 if (UNTAG_Bool(REGB0
)) {
1585 /* ./metamodel//inheritance.nit:276 */
1586 fra
.me
.REG
[1] = CALL_metamodel___inheritance___MMLocalClass___inherit_local_property(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1587 fra
.me
.REG
[2] = fra
.me
.REG
[1];
1590 /* ./metamodel//inheritance.nit:278 */
1591 nit_abort("Aborted", NULL
, LOCATE_metamodel___inheritance
, 278);
1595 stack_frame_head
= fra
.me
.prev
;
1596 return fra
.me
.REG
[2];
1598 void metamodel___inheritance___MMLocalClass___add_default_any_class(val_t p0
, val_t p1
){
1599 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1603 static val_t once_value_1
; /* Once value */
1604 static val_t once_value_2
; /* Once value */
1605 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1606 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1608 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_default_any_class
;
1609 fra
.me
.has_broke
= 0;
1610 fra
.me
.REG_size
= 4;
1611 fra
.me
.REG
[0] = NIT_NULL
;
1612 fra
.me
.REG
[1] = NIT_NULL
;
1613 fra
.me
.REG
[2] = NIT_NULL
;
1614 fra
.me
.REG
[3] = NIT_NULL
;
1617 /* ./metamodel//inheritance.nit:285 */
1618 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1619 if (UNTAG_Bool(REGB0
)) {
1620 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1621 if (!once_value_1
) {
1622 if (!once_value_2
) {
1623 fra
.me
.REG
[3] = BOX_NativeString("Object");
1625 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1626 once_value_2
= fra
.me
.REG
[3];
1627 register_static_object(&once_value_2
);
1628 } else fra
.me
.REG
[3] = once_value_2
;
1629 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1630 fra
.me
.REG
[3] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1631 once_value_1
= fra
.me
.REG
[3];
1632 register_static_object(&once_value_1
);
1633 } else fra
.me
.REG
[3] = once_value_1
;
1634 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1635 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1636 if (UNTAG_Bool(REGB0
)) {
1638 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1641 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1643 REGB1
= TAG_Bool(false);
1646 if (UNTAG_Bool(REGB0
)) {
1647 /* ./metamodel//inheritance.nit:286 */
1648 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1649 fra
.me
.REG
[3] = CALL_metamodel___inheritance___MMModule___type_any(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1650 /* ./metamodel//inheritance.nit:287 */
1651 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1652 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1653 /* ./metamodel//inheritance.nit:288 */
1654 fra
.me
.REG
[3] = NEW_MMDefaultAncestor_metamodel___inheritance___MMDefaultAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1655 /* ./metamodel//inheritance.nit:289 */
1656 CALL_metamodel___inheritance___MMLocalClass___add_direct_parent(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1658 stack_frame_head
= fra
.me
.prev
;
1661 void metamodel___inheritance___MMLocalClass___add_super_classes(val_t p0
, val_t p1
){
1662 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1668 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1669 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1671 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_super_classes
;
1672 fra
.me
.has_broke
= 0;
1673 fra
.me
.REG_size
= 8;
1674 fra
.me
.REG
[0] = NIT_NULL
;
1675 fra
.me
.REG
[1] = NIT_NULL
;
1676 fra
.me
.REG
[2] = NIT_NULL
;
1677 fra
.me
.REG
[3] = NIT_NULL
;
1678 fra
.me
.REG
[4] = NIT_NULL
;
1679 fra
.me
.REG
[5] = NIT_NULL
;
1680 fra
.me
.REG
[6] = NIT_NULL
;
1681 fra
.me
.REG
[7] = NIT_NULL
;
1684 /* ./metamodel//inheritance.nit:296 */
1685 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1686 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1687 if (UNTAG_Bool(REGB0
)) {
1689 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1690 if (UNTAG_Bool(REGB1
)) {
1691 REGB1
= TAG_Bool(false);
1694 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1698 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1699 if (UNTAG_Bool(REGB0
)) {
1701 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 296);
1703 /* ./metamodel//inheritance.nit:297 */
1704 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1705 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1706 if (UNTAG_Bool(REGB0
)) {
1707 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 297);
1709 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1710 /* ./../lib/standard//collection//array.nit:232 */
1712 /* ./../lib/standard//collection//array.nit:233 */
1713 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1714 if (UNTAG_Bool(REGB1
)) {
1716 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
1718 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1719 /* ./../lib/standard//collection//array.nit:234 */
1720 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
1721 /* ./../lib/standard//collection//array.nit:235 */
1723 /* ./../lib/standard//collection//array.nit:23 */
1724 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1725 if (UNTAG_Bool(REGB1
)) {
1727 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1729 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1730 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1731 if (UNTAG_Bool(REGB2
)) {
1733 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1735 /* ./../lib/standard//kernel.nit:215 */
1736 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1737 /* ./../lib/standard//collection//array.nit:235 */
1738 if (UNTAG_Bool(REGB1
)) {
1739 /* ./../lib/standard//collection//array.nit:236 */
1740 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
1741 if (UNTAG_Bool(REGB1
)) {
1742 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
1744 /* ./../lib/standard//collection//array.nit:652 */
1745 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
1746 /* ./metamodel//inheritance.nit:298 */
1747 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1748 fra
.me
.REG
[4] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1749 /* ./../lib/standard//collection//array.nit:232 */
1751 /* ./../lib/standard//collection//array.nit:233 */
1752 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1753 if (UNTAG_Bool(REGB2
)) {
1755 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
1757 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1758 /* ./../lib/standard//collection//array.nit:234 */
1759 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
1760 /* ./../lib/standard//collection//array.nit:235 */
1762 /* ./../lib/standard//collection//array.nit:23 */
1763 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
1764 if (UNTAG_Bool(REGB2
)) {
1766 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1768 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
1769 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1770 if (UNTAG_Bool(REGB3
)) {
1772 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1774 /* ./../lib/standard//kernel.nit:215 */
1775 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1776 /* ./../lib/standard//collection//array.nit:235 */
1777 if (UNTAG_Bool(REGB2
)) {
1778 /* ./../lib/standard//collection//array.nit:236 */
1779 REGB2
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
1780 if (UNTAG_Bool(REGB2
)) {
1781 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
1783 /* ./../lib/standard//collection//array.nit:652 */
1784 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB1
)];
1785 /* ./metamodel//inheritance.nit:299 */
1786 REGB2
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____mmmodule(fra
.me
.REG
[0])!=NIT_NULL
);
1787 if (UNTAG_Bool(REGB2
)) {
1789 nit_abort("Uninitialized attribute %s", "_mmmodule", LOCATE_metamodel___inheritance
, 299);
1791 fra
.me
.REG
[7] = ATTR_metamodel___abstractmetamodel___MMLocalClass____mmmodule(fra
.me
.REG
[0]);
1792 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass___for_module(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[7]);
1793 /* ./metamodel//inheritance.nit:300 */
1794 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[7]);
1795 /* ./../lib/standard//collection//array.nit:237 */
1797 /* ./../lib/standard//kernel.nit:218 */
1798 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1799 /* ./../lib/standard//collection//array.nit:237 */
1802 /* ./../lib/standard//collection//array.nit:235 */
1807 /* ./../lib/standard//collection//array.nit:237 */
1809 /* ./../lib/standard//kernel.nit:218 */
1810 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1811 /* ./../lib/standard//collection//array.nit:237 */
1814 /* ./../lib/standard//collection//array.nit:235 */
1819 stack_frame_head
= fra
.me
.prev
;
1822 void metamodel___inheritance___MMLocalClass___add_explicit_classes(val_t p0
, val_t p1
){
1823 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1828 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1829 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1831 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___add_explicit_classes
;
1832 fra
.me
.has_broke
= 0;
1833 fra
.me
.REG_size
= 4;
1834 fra
.me
.REG
[0] = NIT_NULL
;
1835 fra
.me
.REG
[1] = NIT_NULL
;
1836 fra
.me
.REG
[2] = NIT_NULL
;
1837 fra
.me
.REG
[3] = NIT_NULL
;
1840 /* ./metamodel//inheritance.nit:308 */
1841 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
1842 if (UNTAG_Bool(REGB0
)) {
1844 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 308);
1846 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
1847 /* ./../lib/standard//collection//array.nit:232 */
1849 /* ./../lib/standard//collection//array.nit:233 */
1850 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1851 if (UNTAG_Bool(REGB1
)) {
1853 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
1855 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1856 /* ./../lib/standard//collection//array.nit:234 */
1857 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[0]);
1858 /* ./../lib/standard//collection//array.nit:235 */
1860 /* ./../lib/standard//collection//array.nit:23 */
1861 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1862 if (UNTAG_Bool(REGB1
)) {
1864 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1866 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1867 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1868 if (UNTAG_Bool(REGB2
)) {
1870 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1872 /* ./../lib/standard//kernel.nit:215 */
1873 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1874 /* ./../lib/standard//collection//array.nit:235 */
1875 if (UNTAG_Bool(REGB1
)) {
1876 /* ./../lib/standard//collection//array.nit:236 */
1877 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1878 if (UNTAG_Bool(REGB1
)) {
1879 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
1881 /* ./../lib/standard//collection//array.nit:652 */
1882 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
1883 /* ./metamodel//inheritance.nit:309 */
1884 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1885 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1886 /* ./../lib/standard//collection//array.nit:237 */
1888 /* ./../lib/standard//kernel.nit:218 */
1889 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1890 /* ./../lib/standard//collection//array.nit:237 */
1893 /* ./../lib/standard//collection//array.nit:235 */
1898 stack_frame_head
= fra
.me
.prev
;
1901 void metamodel___inheritance___MMLocalClass___compute_super_parents(val_t p0
, val_t p1
){
1902 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1907 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1908 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1910 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___compute_super_parents
;
1911 fra
.me
.has_broke
= 0;
1912 fra
.me
.REG_size
= 3;
1913 fra
.me
.REG
[0] = NIT_NULL
;
1914 fra
.me
.REG
[1] = NIT_NULL
;
1915 fra
.me
.REG
[2] = NIT_NULL
;
1918 /* ./../lib/standard//collection//array.nit:232 */
1920 /* ./../lib/standard//collection//array.nit:233 */
1921 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1922 if (UNTAG_Bool(REGB1
)) {
1924 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
1926 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1927 /* ./../lib/standard//collection//array.nit:234 */
1928 fra
.me
.REG
[0] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
1929 /* ./../lib/standard//collection//array.nit:235 */
1931 /* ./../lib/standard//collection//array.nit:23 */
1932 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1933 if (UNTAG_Bool(REGB1
)) {
1935 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
1937 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1938 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1939 if (UNTAG_Bool(REGB2
)) {
1941 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1943 /* ./../lib/standard//kernel.nit:215 */
1944 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1945 /* ./../lib/standard//collection//array.nit:235 */
1946 if (UNTAG_Bool(REGB1
)) {
1947 /* ./../lib/standard//collection//array.nit:236 */
1948 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1949 if (UNTAG_Bool(REGB1
)) {
1950 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
1952 /* ./../lib/standard//collection//array.nit:652 */
1953 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[0])->val
[UNTAG_Int(REGB0
)];
1954 /* ./metamodel//inheritance.nit:317 */
1955 CALL_metamodel___inheritance___MMLocalClass___compute_super_classes(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1956 /* ./../lib/standard//collection//array.nit:237 */
1958 /* ./../lib/standard//kernel.nit:218 */
1959 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1960 /* ./../lib/standard//collection//array.nit:237 */
1963 /* ./../lib/standard//collection//array.nit:235 */
1968 stack_frame_head
= fra
.me
.prev
;
1971 val_t
metamodel___inheritance___MMLocalClass___build_ancestors(val_t p0
){
1972 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1977 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1978 fra
.me
.file
= LOCATE_metamodel___inheritance
;
1980 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___build_ancestors
;
1981 fra
.me
.has_broke
= 0;
1982 fra
.me
.REG_size
= 6;
1983 fra
.me
.REG
[0] = NIT_NULL
;
1984 fra
.me
.REG
[1] = NIT_NULL
;
1985 fra
.me
.REG
[2] = NIT_NULL
;
1986 fra
.me
.REG
[3] = NIT_NULL
;
1987 fra
.me
.REG
[4] = NIT_NULL
;
1988 fra
.me
.REG
[5] = NIT_NULL
;
1990 /* ./metamodel//inheritance.nit:324 */
1991 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___init();
1992 /* ./metamodel//inheritance.nit:326 */
1993 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
1994 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1995 if (UNTAG_Bool(REGB0
)) {
1997 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1998 if (UNTAG_Bool(REGB1
)) {
1999 REGB1
= TAG_Bool(false);
2002 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2006 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2007 if (UNTAG_Bool(REGB0
)) {
2009 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 326);
2011 /* ./metamodel//inheritance.nit:327 */
2012 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____crhe(fra
.me
.REG
[0]);
2013 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2014 if (UNTAG_Bool(REGB0
)) {
2015 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 327);
2017 fra
.me
.REG
[2] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2018 /* ./../lib/standard//collection//array.nit:232 */
2020 /* ./../lib/standard//collection//array.nit:233 */
2021 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2022 if (UNTAG_Bool(REGB1
)) {
2024 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
2026 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2027 /* ./../lib/standard//collection//array.nit:234 */
2028 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
2029 /* ./../lib/standard//collection//array.nit:235 */
2031 /* ./../lib/standard//collection//array.nit:23 */
2032 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2033 if (UNTAG_Bool(REGB1
)) {
2035 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2037 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2038 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2039 if (UNTAG_Bool(REGB2
)) {
2041 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2043 /* ./../lib/standard//kernel.nit:215 */
2044 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2045 /* ./../lib/standard//collection//array.nit:235 */
2046 if (UNTAG_Bool(REGB1
)) {
2047 /* ./../lib/standard//collection//array.nit:236 */
2048 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2049 if (UNTAG_Bool(REGB1
)) {
2050 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
2052 /* ./../lib/standard//collection//array.nit:652 */
2053 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
2054 /* ./metamodel//inheritance.nit:328 */
2055 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[4],fra
.me
.REG
[0]));
2056 if (UNTAG_Bool(REGB1
)) {
2058 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
2061 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2062 if (UNTAG_Bool(REGB1
)) {
2064 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 328);
2066 /* ./metamodel//inheritance.nit:329 */
2067 fra
.me
.REG
[4] = NEW_MMRefineAncestor_metamodel___inheritance___MMRefineAncestor___init(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2068 /* ./metamodel//inheritance.nit:330 */
2069 CALL_metamodel___inheritance___MMAncestor___add_in(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2070 /* ./../lib/standard//collection//array.nit:237 */
2072 /* ./../lib/standard//kernel.nit:218 */
2073 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2074 /* ./../lib/standard//collection//array.nit:237 */
2077 /* ./../lib/standard//collection//array.nit:235 */
2082 /* ./metamodel//inheritance.nit:332 */
2083 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0])!=NIT_NULL
);
2084 if (UNTAG_Bool(REGB0
)) {
2086 nit_abort("Uninitialized attribute %s", "_direct_parents", LOCATE_metamodel___inheritance
, 332);
2088 fra
.me
.REG
[3] = ATTR_metamodel___inheritance___MMLocalClass____direct_parents(fra
.me
.REG
[0]);
2089 /* ./../lib/standard//collection//array.nit:232 */
2091 /* ./../lib/standard//collection//array.nit:233 */
2092 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2093 if (UNTAG_Bool(REGB1
)) {
2095 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
2097 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2098 /* ./../lib/standard//collection//array.nit:234 */
2099 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2100 /* ./../lib/standard//collection//array.nit:235 */
2102 /* ./../lib/standard//collection//array.nit:23 */
2103 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2104 if (UNTAG_Bool(REGB1
)) {
2106 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2108 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2109 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2110 if (UNTAG_Bool(REGB2
)) {
2112 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2114 /* ./../lib/standard//kernel.nit:215 */
2115 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2116 /* ./../lib/standard//collection//array.nit:235 */
2117 if (UNTAG_Bool(REGB1
)) {
2118 /* ./../lib/standard//collection//array.nit:236 */
2119 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2120 if (UNTAG_Bool(REGB1
)) {
2121 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
2123 /* ./../lib/standard//collection//array.nit:652 */
2124 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2125 /* ./metamodel//inheritance.nit:333 */
2126 fra
.me
.REG
[5] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2127 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[5],fra
.me
.REG
[0]));
2128 if (UNTAG_Bool(REGB1
)) {
2130 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[0]);
2133 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2134 if (UNTAG_Bool(REGB1
)) {
2136 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 333);
2138 /* ./metamodel//inheritance.nit:334 */
2139 CALL_metamodel___inheritance___MMAncestor___add_in(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2140 /* ./../lib/standard//collection//array.nit:237 */
2142 /* ./../lib/standard//kernel.nit:218 */
2143 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2144 /* ./../lib/standard//collection//array.nit:237 */
2147 /* ./../lib/standard//collection//array.nit:235 */
2152 /* ./metamodel//inheritance.nit:336 */
2155 stack_frame_head
= fra
.me
.prev
;
2156 return fra
.me
.REG
[1];
2158 val_t
metamodel___inheritance___MMLocalClass___group_ancestors(val_t p0
, val_t p1
){
2159 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
2164 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2165 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2167 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___group_ancestors
;
2168 fra
.me
.has_broke
= 0;
2169 fra
.me
.REG_size
= 7;
2170 fra
.me
.REG
[0] = NIT_NULL
;
2171 fra
.me
.REG
[1] = NIT_NULL
;
2172 fra
.me
.REG
[2] = NIT_NULL
;
2173 fra
.me
.REG
[3] = NIT_NULL
;
2174 fra
.me
.REG
[4] = NIT_NULL
;
2175 fra
.me
.REG
[5] = NIT_NULL
;
2176 fra
.me
.REG
[6] = NIT_NULL
;
2179 /* ./metamodel//inheritance.nit:343 */
2180 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
2181 /* ./../lib/standard//collection//array.nit:232 */
2183 /* ./../lib/standard//collection//array.nit:233 */
2184 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2185 if (UNTAG_Bool(REGB1
)) {
2187 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
2189 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2190 /* ./../lib/standard//collection//array.nit:234 */
2191 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
2192 /* ./../lib/standard//collection//array.nit:235 */
2194 /* ./../lib/standard//collection//array.nit:23 */
2195 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2196 if (UNTAG_Bool(REGB1
)) {
2198 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2200 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2201 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2202 if (UNTAG_Bool(REGB2
)) {
2204 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2206 /* ./../lib/standard//kernel.nit:215 */
2207 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2208 /* ./../lib/standard//collection//array.nit:235 */
2209 if (UNTAG_Bool(REGB1
)) {
2210 /* ./../lib/standard//collection//array.nit:236 */
2211 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2212 if (UNTAG_Bool(REGB1
)) {
2213 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
2215 /* ./../lib/standard//collection//array.nit:652 */
2216 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
2217 /* ./metamodel//inheritance.nit:345 */
2218 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMAncestor___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2219 /* ./metamodel//inheritance.nit:349 */
2220 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2221 /* ./metamodel//inheritance.nit:350 */
2222 REGB1
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2223 if (UNTAG_Bool(REGB1
)) {
2224 /* ./metamodel//inheritance.nit:351 */
2225 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
2227 /* ./metamodel//inheritance.nit:353 */
2228 fra
.me
.REG
[6] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
2229 fra
.me
.REG
[5] = fra
.me
.REG
[6];
2230 /* ./metamodel//inheritance.nit:354 */
2231 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[5]);
2233 /* ./metamodel//inheritance.nit:356 */
2234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[3]);
2235 /* ./../lib/standard//collection//array.nit:237 */
2237 /* ./../lib/standard//kernel.nit:218 */
2238 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2239 /* ./../lib/standard//collection//array.nit:237 */
2242 /* ./../lib/standard//collection//array.nit:235 */
2247 /* ./metamodel//inheritance.nit:358 */
2250 stack_frame_head
= fra
.me
.prev
;
2251 return fra
.me
.REG
[0];
2253 val_t
metamodel___inheritance___MMLocalClass___merge_ancestors(val_t p0
, val_t p1
){
2254 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2259 static val_t once_value_3
; /* Once value */
2260 static val_t once_value_4
; /* Once value */
2261 static val_t once_value_5
; /* Once value */
2262 static val_t once_value_6
; /* Once value */
2263 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2264 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2266 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___merge_ancestors
;
2267 fra
.me
.has_broke
= 0;
2268 fra
.me
.REG_size
= 5;
2269 fra
.me
.REG
[0] = NIT_NULL
;
2270 fra
.me
.REG
[1] = NIT_NULL
;
2271 fra
.me
.REG
[2] = NIT_NULL
;
2272 fra
.me
.REG
[3] = NIT_NULL
;
2273 fra
.me
.REG
[4] = NIT_NULL
;
2276 /* ./metamodel//inheritance.nit:364 */
2277 fra
.me
.REG
[2] = NEW_HashSet_standard___collection___hash_collection___HashSet___init();
2278 /* ./metamodel//inheritance.nit:365 */
2279 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___init();
2280 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
));
2281 /* ./../lib/standard//collection//array.nit:23 */
2282 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2283 if (UNTAG_Bool(REGB0
)) {
2285 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2287 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2288 /* ./metamodel//inheritance.nit:387 */
2290 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2291 if (UNTAG_Bool(REGB2
)) {
2293 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2295 /* ./../lib/standard//kernel.nit:217 */
2296 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2297 /* ./metamodel//inheritance.nit:387 */
2298 if (UNTAG_Bool(REGB1
)) {
2299 /* ./metamodel//inheritance.nit:388 */
2300 fra
.me
.REG
[2] = CALL_standard___file___Object___stderr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2302 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2303 if (!once_value_3
) {
2304 fra
.me
.REG
[4] = BOX_NativeString("Fatal error: Incompatibles ancestors for ");
2305 REGB1
= TAG_Int(41);
2306 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2307 once_value_3
= fra
.me
.REG
[4];
2308 register_static_object(&once_value_3
);
2309 } else fra
.me
.REG
[4] = once_value_3
;
2310 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2311 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2312 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2313 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2314 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2315 if (!once_value_4
) {
2316 fra
.me
.REG
[4] = BOX_NativeString(": ");
2318 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2319 once_value_4
= fra
.me
.REG
[4];
2320 register_static_object(&once_value_4
);
2321 } else fra
.me
.REG
[4] = once_value_4
;
2322 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2323 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2324 if (!once_value_5
) {
2325 fra
.me
.REG
[4] = BOX_NativeString(", ");
2327 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2328 once_value_5
= fra
.me
.REG
[4];
2329 register_static_object(&once_value_5
);
2330 } else fra
.me
.REG
[4] = once_value_5
;
2331 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2332 fra
.me
.REG
[4] = CALL_standard___string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2334 if (!once_value_6
) {
2335 fra
.me
.REG
[4] = BOX_NativeString("\n");
2337 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
2338 once_value_6
= fra
.me
.REG
[4];
2339 register_static_object(&once_value_6
);
2340 } else fra
.me
.REG
[4] = once_value_6
;
2341 fra
.me
.REG
[4] = fra
.me
.REG
[4];
2342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
2343 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2344 CALL_standard___stream___OStream___write(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2345 /* ./metamodel//inheritance.nit:389 */
2347 CALL_standard___kernel___Object___exit(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
2349 /* ./metamodel//inheritance.nit:391 */
2350 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2353 stack_frame_head
= fra
.me
.prev
;
2354 return fra
.me
.REG
[3];
2356 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
){
2357 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2363 /* ./metamodel//inheritance.nit:366 */
2364 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2365 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2367 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalClass___merge_ancestors
;
2368 fra
.me
.has_broke
= 0;
2369 fra
.me
.REG_size
= 4;
2370 fra
.me
.REG
[0] = NIT_NULL
;
2371 fra
.me
.REG
[1] = NIT_NULL
;
2372 fra
.me
.REG
[2] = NIT_NULL
;
2373 fra
.me
.REG
[3] = NIT_NULL
;
2374 fra
.me
.closure_ctx
= closctx_param
;
2375 fra
.me
.closure_funs
= CREG
;
2377 CREG
[0] = clos_fun0
;
2378 /* ./metamodel//inheritance.nit:367 */
2379 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx
->REG
[1])(closctx
->REG
[1]);
2380 /* ./metamodel//inheritance.nit:368 */
2381 REGB0
= TAG_Bool(true);
2382 /* ./metamodel//inheritance.nit:369 */
2384 REGB1
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2385 if (UNTAG_Bool(REGB1
)) {
2388 REGB2
= TAG_Bool(false);
2391 if (UNTAG_Bool(REGB1
)) {
2392 /* ./metamodel//inheritance.nit:371 */
2393 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2394 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[2]));
2395 if (UNTAG_Bool(REGB1
)) {
2397 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2400 /* ./metamodel//inheritance.nit:372 */
2401 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2402 REGB1
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[2]);
2403 /* ./metamodel//inheritance.nit:373 */
2404 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2405 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2406 if (UNTAG_Bool(REGB1
)) {
2407 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 373);
2409 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2410 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2411 REGB1
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2412 /* ./metamodel//inheritance.nit:375 */
2413 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2414 REGB1
= TAG_Bool(IS_EQUAL_ON(fra
.me
.REG
[0],fra
.me
.REG
[3]));
2415 if (UNTAG_Bool(REGB1
)) {
2417 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2420 if (UNTAG_Bool(REGB1
)) {
2421 REGB1
= TAG_Bool(true);
2423 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2424 REGB2
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[3]);
2427 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2428 if (UNTAG_Bool(REGB1
)) {
2429 /* ./metamodel//inheritance.nit:376 */
2430 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2431 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2432 if (UNTAG_Bool(REGB1
)) {
2433 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 376);
2435 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2436 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2437 REGB1
= CALL_metamodel___static_type___MMType_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2439 /* ./metamodel//inheritance.nit:375 */
2440 REGB2
= TAG_Bool(false);
2443 if (UNTAG_Bool(REGB1
)) {
2444 /* ./metamodel//inheritance.nit:377 */
2445 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
2446 /* ./metamodel//inheritance.nit:378 */
2447 REGB1
= TAG_Bool(false);
2450 /* ./metamodel//inheritance.nit:380 */
2451 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2453 /* ./metamodel//inheritance.nit:369 */
2458 /* ./metamodel//inheritance.nit:382 */
2459 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(closctx
->REG
[2])(closctx
->REG
[2], fra
.me
.REG
[0]);
2460 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2461 if (UNTAG_Bool(REGB0
)) {
2462 /* ./metamodel//inheritance.nit:383 */
2463 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[3])(closctx
->REG
[3], fra
.me
.REG
[0]);
2465 stack_frame_head
= fra
.me
.prev
;
2468 val_t
metamodel___inheritance___MMLocalClass___inherit_local_property(val_t p0
, val_t p1
){
2469 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
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___inherit_local_property
;
2478 fra
.me
.has_broke
= 0;
2479 fra
.me
.REG_size
= 8;
2480 fra
.me
.REG
[0] = NIT_NULL
;
2481 fra
.me
.REG
[1] = NIT_NULL
;
2482 fra
.me
.REG
[2] = NIT_NULL
;
2483 fra
.me
.REG
[3] = NIT_NULL
;
2484 fra
.me
.REG
[4] = NIT_NULL
;
2485 fra
.me
.REG
[5] = NIT_NULL
;
2486 fra
.me
.REG
[6] = NIT_NULL
;
2487 fra
.me
.REG
[7] = NIT_NULL
;
2490 /* ./metamodel//inheritance.nit:399 */
2491 REGB0
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
2492 if (UNTAG_Bool(REGB0
)) {
2494 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 399);
2496 fra
.me
.REG
[2] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
2497 REGB0
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2498 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2499 if (UNTAG_Bool(REGB0
)) {
2501 nit_abort("Assert failed", NULL
, LOCATE_metamodel___inheritance
, 399);
2503 /* ./metamodel//inheritance.nit:403 */
2504 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___property_hierarchy(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2505 /* ./metamodel//inheritance.nit:404 */
2506 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2507 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2508 /* ./metamodel//inheritance.nit:405 */
2509 REGB0
= CALL_standard___collection___abstract_collection___Collection___length(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2511 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2512 if (UNTAG_Bool(REGB2
)) {
2514 /* ./../lib/standard//kernel.nit:210 */
2515 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2516 /* ./metamodel//inheritance.nit:405 */
2519 if (UNTAG_Bool(REGB2
)) {
2520 /* ./metamodel//inheritance.nit:407 */
2521 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalProperty___intro(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2523 /* ./../lib/standard//collection//array.nit:23 */
2524 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2525 if (UNTAG_Bool(REGB2
)) {
2527 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2529 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2530 /* ./metamodel//inheritance.nit:408 */
2532 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
2533 if (UNTAG_Bool(REGB0
)) {
2535 /* ./../lib/standard//kernel.nit:210 */
2536 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
2537 /* ./metamodel//inheritance.nit:408 */
2540 if (UNTAG_Bool(REGB0
)) {
2541 /* ./metamodel//inheritance.nit:410 */
2542 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2543 REGB0
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
2544 if (UNTAG_Bool(REGB0
)) {
2545 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 410);
2547 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2548 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2550 /* ./metamodel//inheritance.nit:414 */
2551 fra
.me
.REG
[5] = NEW_ArraySet_standard___collection___array___ArraySet___init();
2552 /* ./../lib/standard//collection//array.nit:232 */
2554 /* ./../lib/standard//collection//array.nit:233 */
2555 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2556 if (UNTAG_Bool(REGB1
)) {
2558 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
2560 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2561 /* ./../lib/standard//collection//array.nit:234 */
2562 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2563 /* ./../lib/standard//collection//array.nit:235 */
2565 /* ./../lib/standard//collection//array.nit:23 */
2566 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2567 if (UNTAG_Bool(REGB1
)) {
2569 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2571 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2572 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2573 if (UNTAG_Bool(REGB2
)) {
2575 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2577 /* ./../lib/standard//kernel.nit:215 */
2578 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2579 /* ./../lib/standard//collection//array.nit:235 */
2580 if (UNTAG_Bool(REGB1
)) {
2581 /* ./../lib/standard//collection//array.nit:236 */
2582 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2583 if (UNTAG_Bool(REGB1
)) {
2584 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
2586 /* ./../lib/standard//collection//array.nit:652 */
2587 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB0
)];
2588 /* ./metamodel//inheritance.nit:416 */
2589 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1]);
2590 if (UNTAG_Bool(REGB1
)) {
2591 fra
.me
.REG
[7] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[1]);
2592 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[7]);
2594 /* ./../lib/standard//collection//array.nit:237 */
2596 /* ./../lib/standard//kernel.nit:218 */
2597 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2598 /* ./../lib/standard//collection//array.nit:237 */
2601 /* ./../lib/standard//collection//array.nit:235 */
2606 /* ./metamodel//inheritance.nit:419 */
2607 fra
.me
.REG
[5] = CALL_metamodel___partial_order___PartialOrder___select_smallests(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
2608 /* ./../lib/standard//collection//array.nit:23 */
2609 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
2610 if (UNTAG_Bool(REGB0
)) {
2612 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2614 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
2615 /* ./metamodel//inheritance.nit:421 */
2617 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2618 if (UNTAG_Bool(REGB2
)) {
2620 /* ./../lib/standard//kernel.nit:210 */
2621 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2622 /* ./metamodel//inheritance.nit:421 */
2625 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2626 if (UNTAG_Bool(REGB2
)) {
2627 /* ./metamodel//inheritance.nit:422 */
2628 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2629 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___context(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2630 CALL_metamodel___inheritance___MMContext___handle_property_conflict(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0], fra
.me
.REG
[5]);
2632 /* ./metamodel//inheritance.nit:424 */
2633 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2634 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2637 /* ./metamodel//inheritance.nit:434 */
2638 REGB2
= TAG_Bool(ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0])!=NIT_NULL
);
2639 if (UNTAG_Bool(REGB2
)) {
2641 nit_abort("Uninitialized attribute %s", "_local_property_by_global", LOCATE_metamodel___inheritance
, 434);
2643 fra
.me
.REG
[0] = ATTR_metamodel___abstractmetamodel___MMLocalClass____local_property_by_global(fra
.me
.REG
[0]);
2644 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
2645 /* ./metamodel//inheritance.nit:436 */
2648 stack_frame_head
= fra
.me
.prev
;
2649 return fra
.me
.REG
[4];
2651 void metamodel___inheritance___MMLocalProperty___inherit_global(val_t p0
, val_t p1
){
2652 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2658 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2660 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMLocalProperty___inherit_global
;
2661 fra
.me
.has_broke
= 0;
2662 fra
.me
.REG_size
= 6;
2663 fra
.me
.REG
[0] = NIT_NULL
;
2664 fra
.me
.REG
[1] = NIT_NULL
;
2665 fra
.me
.REG
[2] = NIT_NULL
;
2666 fra
.me
.REG
[3] = NIT_NULL
;
2667 fra
.me
.REG
[4] = NIT_NULL
;
2668 fra
.me
.REG
[5] = NIT_NULL
;
2671 /* ./metamodel//inheritance.nit:444 */
2672 CALL_metamodel___abstractmetamodel___MMLocalProperty___set_global(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2673 /* ./metamodel//inheritance.nit:445 */
2674 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___init();
2675 /* ./metamodel//inheritance.nit:446 */
2676 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2677 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___che(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2678 fra
.me
.REG
[3] = CALL_metamodel___partial_order___PartialOrderElement___direct_greaters(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2679 /* ./../lib/standard//collection//array.nit:232 */
2681 /* ./../lib/standard//collection//array.nit:233 */
2682 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2683 if (UNTAG_Bool(REGB1
)) {
2685 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 233);
2687 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2688 /* ./../lib/standard//collection//array.nit:234 */
2689 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[3]);
2690 /* ./../lib/standard//collection//array.nit:235 */
2692 /* ./../lib/standard//collection//array.nit:23 */
2693 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
2694 if (UNTAG_Bool(REGB1
)) {
2696 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
2698 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
2699 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2700 if (UNTAG_Bool(REGB2
)) {
2702 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2704 /* ./../lib/standard//kernel.nit:215 */
2705 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2706 /* ./../lib/standard//collection//array.nit:235 */
2707 if (UNTAG_Bool(REGB1
)) {
2708 /* ./../lib/standard//collection//array.nit:236 */
2709 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2710 if (UNTAG_Bool(REGB1
)) {
2711 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 236);
2713 /* ./../lib/standard//collection//array.nit:652 */
2714 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB0
)];
2715 /* ./metamodel//inheritance.nit:447 */
2716 REGB1
= CALL_metamodel___abstractmetamodel___MMLocalClass___has_global_property(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2717 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2718 if (UNTAG_Bool(REGB1
)) {
2721 /* ./metamodel//inheritance.nit:448 */
2722 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass_____bra(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1]);
2723 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[5]);
2725 /* ./../lib/standard//collection//array.nit:237 */
2727 /* ./../lib/standard//kernel.nit:218 */
2728 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2729 /* ./../lib/standard//collection//array.nit:237 */
2732 /* ./../lib/standard//collection//array.nit:235 */
2737 /* ./metamodel//inheritance.nit:450 */
2738 CALL_metamodel___abstractmetamodel___MMGlobalProperty___add_local_property(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
2739 stack_frame_head
= fra
.me
.prev
;
2742 void metamodel___inheritance___MMAncestor___add_in(val_t p0
, val_t p1
){
2743 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2746 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2747 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2749 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMAncestor___add_in
;
2750 fra
.me
.has_broke
= 0;
2751 fra
.me
.REG_size
= 4;
2752 fra
.me
.REG
[0] = NIT_NULL
;
2753 fra
.me
.REG
[1] = NIT_NULL
;
2754 fra
.me
.REG
[2] = NIT_NULL
;
2755 fra
.me
.REG
[3] = NIT_NULL
;
2758 /* ./metamodel//inheritance.nit:455 */
2759 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2760 /* ./metamodel//inheritance.nit:458 */
2761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2762 /* ./metamodel//inheritance.nit:459 */
2763 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2764 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2765 CALL_metamodel___inheritance___MMLocalClass___compute_ancestors(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2766 /* ./metamodel//inheritance.nit:460 */
2767 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2768 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2769 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMLocalClass___ancestors(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2770 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_standard___collection___abstract_collection___Map
, ID_standard___collection___abstract_collection___Map
)) /*cast Map[MMLocalClass, MMAncestor]*/;
2771 if (UNTAG_Bool(REGB0
)) {
2773 nit_abort("Cast failed", NULL
, LOCATE_metamodel___inheritance
, 460);
2775 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2776 if (UNTAG_Bool(REGB0
)) {
2777 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 460);
2779 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[3])(fra
.me
.REG
[3], (&(fra
.me
)), ((fun_t
)OC_metamodel___inheritance___MMAncestor___add_in_1
));
2780 stack_frame_head
= fra
.me
.prev
;
2783 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
){
2784 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2790 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2791 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2793 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMAncestor___add_in
;
2794 fra
.me
.has_broke
= 0;
2795 fra
.me
.REG_size
= 4;
2796 fra
.me
.REG
[0] = NIT_NULL
;
2797 fra
.me
.REG
[1] = NIT_NULL
;
2798 fra
.me
.REG
[2] = NIT_NULL
;
2799 fra
.me
.REG
[3] = NIT_NULL
;
2800 fra
.me
.closure_ctx
= closctx_param
;
2801 fra
.me
.closure_funs
= CREG
;
2803 CREG
[0] = clos_fun0
;
2804 /* ./metamodel//inheritance.nit:461 */
2805 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2806 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMAncestor___stype(closctx
->REG
[2])(closctx
->REG
[2]);
2807 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2808 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2809 /* ./metamodel//inheritance.nit:462 */
2810 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(closctx
->REG
[2])(closctx
->REG
[2]);
2811 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___adapt_to(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2812 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[2])(closctx
->REG
[2]);
2813 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___mmmodule(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2814 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___for_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2815 /* ./metamodel//inheritance.nit:463 */
2816 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2817 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[2])(closctx
->REG
[2]);
2818 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2819 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[2]));
2820 if (UNTAG_Bool(REGB0
)) {
2822 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
2825 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2826 if (UNTAG_Bool(REGB0
)) {
2827 /* ./metamodel//inheritance.nit:464 */
2828 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___iterator(closctx
->REG
[1])(closctx
->REG
[1]);
2829 /* ./metamodel//inheritance.nit:465 */
2830 REGB0
= TAG_Bool(true);
2831 /* ./metamodel//inheritance.nit:466 */
2833 REGB1
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2834 if (UNTAG_Bool(REGB1
)) {
2837 REGB2
= TAG_Bool(false);
2840 if (UNTAG_Bool(REGB1
)) {
2841 /* ./metamodel//inheritance.nit:467 */
2842 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2843 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2844 if (UNTAG_Bool(REGB1
)) {
2845 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 467);
2847 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___inheriter(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2848 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[2])(closctx
->REG
[2]);
2849 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[0],fra
.me
.REG
[3]));
2850 if (UNTAG_Bool(REGB1
)) {
2852 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
2855 if (UNTAG_Bool(REGB1
)) {
2856 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2857 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
2858 if (UNTAG_Bool(REGB1
)) {
2859 nit_abort("Reciever is null", NULL
, LOCATE_metamodel___inheritance
, 467);
2861 fra
.me
.REG
[3] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2862 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[1]));
2863 if (UNTAG_Bool(REGB1
)) {
2865 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2869 REGB2
= TAG_Bool(false);
2872 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2874 /* ./metamodel//inheritance.nit:468 */
2875 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2877 /* ./metamodel//inheritance.nit:466 */
2882 /* ./metamodel//inheritance.nit:470 */
2883 if (UNTAG_Bool(REGB0
)) {
2884 /* ./metamodel//inheritance.nit:471 */
2885 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMAncestor___inheriter(closctx
->REG
[2])(closctx
->REG
[2]);
2886 fra
.me
.REG
[1] = NEW_MMSpecAncestor_metamodel___inheritance___MMSpecAncestor___init(fra
.me
.REG
[2], fra
.me
.REG
[1]);
2887 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[1]);
2890 stack_frame_head
= fra
.me
.prev
;
2893 void metamodel___inheritance___MMImplicitLocalClass___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2894 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMImplicitLocalClass
].i
;
2895 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2898 if (init_table
[itpos0
]) return;
2899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2900 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2902 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMImplicitLocalClass___init
;
2903 fra
.me
.has_broke
= 0;
2904 fra
.me
.REG_size
= 6;
2905 fra
.me
.REG
[0] = NIT_NULL
;
2906 fra
.me
.REG
[1] = NIT_NULL
;
2907 fra
.me
.REG
[2] = NIT_NULL
;
2908 fra
.me
.REG
[3] = NIT_NULL
;
2909 fra
.me
.REG
[4] = NIT_NULL
;
2910 fra
.me
.REG
[5] = NIT_NULL
;
2914 /* ./metamodel//inheritance.nit:483 */
2915 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2916 /* ./metamodel//inheritance.nit:485 */
2917 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMGlobalClass___intro(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2918 /* ./metamodel//inheritance.nit:486 */
2919 fra
.me
.REG
[5] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2920 REGB0
= CALL_metamodel___abstractmetamodel___MMLocalClass___arity(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2921 CALL_metamodel___abstractmetamodel___MMLocalClass___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[5], REGB0
, init_table
);
2922 /* ./metamodel//inheritance.nit:487 */
2923 CALL_metamodel___abstractmetamodel___MMLocalClass___set_global(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
2924 stack_frame_head
= fra
.me
.prev
;
2925 init_table
[itpos0
] = 1;
2928 val_t
metamodel___inheritance___MMRefineAncestor___local_class(val_t p0
){
2929 struct {struct stack_frame_t me
;} fra
;
2932 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2933 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2935 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMRefineAncestor___local_class
;
2936 fra
.me
.has_broke
= 0;
2937 fra
.me
.REG_size
= 1;
2938 fra
.me
.REG
[0] = NIT_NULL
;
2940 /* ./metamodel//inheritance.nit:493 */
2941 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[0])!=NIT_NULL
);
2942 if (UNTAG_Bool(REGB0
)) {
2944 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___inheritance
, 493);
2946 fra
.me
.REG
[0] = ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[0]);
2947 stack_frame_head
= fra
.me
.prev
;
2948 return fra
.me
.REG
[0];
2950 void metamodel___inheritance___MMRefineAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
2951 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMRefineAncestor
].i
;
2952 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2955 if (init_table
[itpos1
]) return;
2956 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2957 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2959 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMRefineAncestor___init
;
2960 fra
.me
.has_broke
= 0;
2961 fra
.me
.REG_size
= 4;
2962 fra
.me
.REG
[0] = NIT_NULL
;
2963 fra
.me
.REG
[1] = NIT_NULL
;
2964 fra
.me
.REG
[2] = NIT_NULL
;
2965 fra
.me
.REG
[3] = NIT_NULL
;
2969 /* ./metamodel//inheritance.nit:495 */
2970 fra
.me
.REG
[3] = fra
.me
.REG
[0];
2971 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
2972 /* ./metamodel//inheritance.nit:497 */
2973 ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
2974 /* ./metamodel//inheritance.nit:498 */
2975 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2976 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2977 /* ./metamodel//inheritance.nit:499 */
2978 REGB0
= TAG_Bool(ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3])!=NIT_NULL
);
2979 if (UNTAG_Bool(REGB0
)) {
2981 nit_abort("Uninitialized attribute %s", "_local_class", LOCATE_metamodel___inheritance
, 499);
2983 fra
.me
.REG
[1] = ATTR_metamodel___inheritance___MMRefineAncestor____local_class(fra
.me
.REG
[3]);
2984 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2985 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2986 stack_frame_head
= fra
.me
.prev
;
2987 init_table
[itpos1
] = 1;
2990 val_t
metamodel___inheritance___MMSpecAncestor___local_class(val_t p0
){
2991 struct {struct stack_frame_t me
;} fra
;
2993 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2994 fra
.me
.file
= LOCATE_metamodel___inheritance
;
2996 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMSpecAncestor___local_class
;
2997 fra
.me
.has_broke
= 0;
2998 fra
.me
.REG_size
= 1;
2999 fra
.me
.REG
[0] = NIT_NULL
;
3001 /* ./metamodel//inheritance.nit:506 */
3002 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3003 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3006 stack_frame_head
= fra
.me
.prev
;
3007 return fra
.me
.REG
[0];
3009 void metamodel___inheritance___MMSpecAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3010 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMSpecAncestor
].i
;
3011 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3013 if (init_table
[itpos2
]) return;
3014 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3015 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3017 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMSpecAncestor___init
;
3018 fra
.me
.has_broke
= 0;
3019 fra
.me
.REG_size
= 4;
3020 fra
.me
.REG
[0] = NIT_NULL
;
3021 fra
.me
.REG
[1] = NIT_NULL
;
3022 fra
.me
.REG
[2] = NIT_NULL
;
3023 fra
.me
.REG
[3] = NIT_NULL
;
3027 /* ./metamodel//inheritance.nit:508 */
3028 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3029 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3030 /* ./metamodel//inheritance.nit:510 */
3031 ATTR_metamodel___static_type___MMAncestor____inheriter(fra
.me
.REG
[3]) = fra
.me
.REG
[1];
3032 /* ./metamodel//inheritance.nit:511 */
3033 ATTR_metamodel___static_type___MMAncestor____stype(fra
.me
.REG
[3]) = fra
.me
.REG
[2];
3034 stack_frame_head
= fra
.me
.prev
;
3035 init_table
[itpos2
] = 1;
3038 val_t
metamodel___inheritance___MMDefaultAncestor___local_class(val_t p0
){
3039 struct {struct stack_frame_t me
;} fra
;
3041 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3042 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3044 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMDefaultAncestor___local_class
;
3045 fra
.me
.has_broke
= 0;
3046 fra
.me
.REG_size
= 1;
3047 fra
.me
.REG
[0] = NIT_NULL
;
3049 /* ./metamodel//inheritance.nit:517 */
3050 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMAncestor___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3051 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3054 stack_frame_head
= fra
.me
.prev
;
3055 return fra
.me
.REG
[0];
3057 void metamodel___inheritance___MMDefaultAncestor___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
3058 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_metamodel___inheritance___MMDefaultAncestor
].i
;
3059 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3061 if (init_table
[itpos3
]) return;
3062 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3063 fra
.me
.file
= LOCATE_metamodel___inheritance
;
3065 fra
.me
.meth
= LOCATE_metamodel___inheritance___MMDefaultAncestor___init
;
3066 fra
.me
.has_broke
= 0;
3067 fra
.me
.REG_size
= 4;
3068 fra
.me
.REG
[0] = NIT_NULL
;
3069 fra
.me
.REG
[1] = NIT_NULL
;
3070 fra
.me
.REG
[2] = NIT_NULL
;
3071 fra
.me
.REG
[3] = NIT_NULL
;
3075 /* ./metamodel//inheritance.nit:519 */
3076 fra
.me
.REG
[3] = fra
.me
.REG
[0];
3077 CALL_metamodel___static_type___MMAncestor___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
3078 /* ./metamodel//inheritance.nit:521 */
3079 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMLocalClass___get_type(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3080 CALL_metamodel___static_type___MMAncestor___inheriter__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3081 /* ./metamodel//inheritance.nit:522 */
3082 CALL_metamodel___static_type___MMAncestor___stype__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
3083 stack_frame_head
= fra
.me
.prev
;
3084 init_table
[itpos3
] = 1;