1 /* This C file is generated by NIT to compile module primitive_info. */
2 #include "primitive_info._sep.h"
3 val_t
primitive_info___MMLocalClass___primitive_info(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
9 static val_t once_value_2
; /* Once value */
10 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
11 fra
.me
.file
= LOCATE_primitive_info
;
13 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___primitive_info
;
16 fra
.me
.nitni_local_ref_head
= NULL
;
17 fra
.me
.REG
[0] = NIT_NULL
;
18 fra
.me
.REG
[1] = NIT_NULL
;
19 fra
.me
.REG
[2] = NIT_NULL
;
20 fra
.me
.REG
[3] = NIT_NULL
;
21 fra
.me
.REG
[4] = NIT_NULL
;
23 /* primitive_info.nit:35 */
24 REGB0
= TAG_Bool(ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0])!=NIT_NULL
);
25 if (UNTAG_Bool(REGB0
)) {
27 nit_abort("Uninitialized attribute %s", "_primitive_info_b", LOCATE_primitive_info
, 35);
29 REGB0
= ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]);
30 REGB1
= TAG_Bool(true);
31 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
32 if (UNTAG_Bool(REGB2
)) {
34 /* ../lib/standard/kernel.nit:195 */
35 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
36 /* primitive_info.nit:35 */
39 if (UNTAG_Bool(REGB2
)) {
40 fra
.me
.REG
[1] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
43 /* primitive_info.nit:37 */
45 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_ctypes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
46 once_value_2
= fra
.me
.REG
[2];
47 register_static_object(&once_value_2
);
48 } else fra
.me
.REG
[2] = once_value_2
;
49 fra
.me
.REG
[2] = fra
.me
.REG
[2];
50 /* primitive_info.nit:38 */
51 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
52 REGB2
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
53 if (UNTAG_Bool(REGB2
)) {
54 /* primitive_info.nit:39 */
55 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
56 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
57 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
58 /* primitive_info.nit:40 */
59 REGB2
= TAG_Bool(true);
60 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
61 /* primitive_info.nit:41 */
62 fra
.me
.REG
[3] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
63 fra
.me
.REG
[1] = fra
.me
.REG
[3];
66 /* primitive_info.nit:43 */
67 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
68 /* primitive_info.nit:44 */
70 REGB2
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
71 if (UNTAG_Bool(REGB2
)) {
72 /* primitive_info.nit:45 */
73 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
74 /* primitive_info.nit:46 */
75 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
76 REGB2
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
77 if (UNTAG_Bool(REGB2
)) {
78 /* primitive_info.nit:47 */
79 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
80 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
81 /* primitive_info.nit:48 */
82 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
83 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
84 if (UNTAG_Bool(REGB2
)) {
85 /* primitive_info.nit:49 */
86 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
87 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
88 /* primitive_info.nit:50 */
89 REGB2
= TAG_Bool(true);
90 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
91 /* primitive_info.nit:51 */
92 fra
.me
.REG
[3] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
93 fra
.me
.REG
[1] = fra
.me
.REG
[3];
97 /* primitive_info.nit:54 */
98 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
100 /* primitive_info.nit:44 */
105 /* primitive_info.nit:56 */
106 REGB2
= TAG_Bool(true);
107 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
108 /* primitive_info.nit:57 */
109 fra
.me
.REG
[1] = NIT_NULL
;
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[1];
115 val_t
primitive_info___MMLocalClass___primitive_ctypes(val_t p0
){
116 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
124 static val_t once_value_1
; /* Once value */
125 static val_t once_value_2
; /* Once value */
126 static val_t once_value_3
; /* Once value */
127 static val_t once_value_4
; /* Once value */
128 static val_t once_value_5
; /* Once value */
129 static val_t once_value_6
; /* Once value */
130 static val_t once_value_7
; /* Once value */
131 static val_t once_value_8
; /* Once value */
132 static val_t once_value_9
; /* Once value */
133 static val_t once_value_10
; /* Once value */
134 static val_t once_value_11
; /* Once value */
135 static val_t once_value_12
; /* Once value */
136 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
137 fra
.me
.file
= LOCATE_primitive_info
;
139 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___primitive_ctypes
;
140 fra
.me
.has_broke
= 0;
142 fra
.me
.nitni_local_ref_head
= NULL
;
143 fra
.me
.REG
[0] = NIT_NULL
;
144 fra
.me
.REG
[1] = NIT_NULL
;
145 fra
.me
.REG
[2] = NIT_NULL
;
146 fra
.me
.REG
[3] = NIT_NULL
;
147 fra
.me
.REG
[4] = NIT_NULL
;
148 fra
.me
.REG
[5] = NIT_NULL
;
149 fra
.me
.REG
[6] = NIT_NULL
;
151 /* primitive_info.nit:63 */
152 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
153 /* primitive_info.nit:64 */
155 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
157 fra
.me
.REG
[2] = BOX_NativeString("Int");
159 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
160 once_value_1
= fra
.me
.REG
[2];
161 register_static_object(&once_value_1
);
162 } else fra
.me
.REG
[2] = once_value_1
;
163 fra
.me
.REG
[2] = fra
.me
.REG
[2];
164 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
166 fra
.me
.REG
[2] = BOX_NativeString("Char");
168 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
169 once_value_2
= fra
.me
.REG
[2];
170 register_static_object(&once_value_2
);
171 } else fra
.me
.REG
[2] = once_value_2
;
172 fra
.me
.REG
[2] = fra
.me
.REG
[2];
173 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
175 fra
.me
.REG
[2] = BOX_NativeString("Bool");
177 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
178 once_value_3
= fra
.me
.REG
[2];
179 register_static_object(&once_value_3
);
180 } else fra
.me
.REG
[2] = once_value_3
;
181 fra
.me
.REG
[2] = fra
.me
.REG
[2];
182 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
184 fra
.me
.REG
[2] = BOX_NativeString("Float");
186 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
187 once_value_4
= fra
.me
.REG
[2];
188 register_static_object(&once_value_4
);
189 } else fra
.me
.REG
[2] = once_value_4
;
190 fra
.me
.REG
[2] = fra
.me
.REG
[2];
191 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
193 fra
.me
.REG
[2] = BOX_NativeString("NativeString");
195 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
196 once_value_5
= fra
.me
.REG
[2];
197 register_static_object(&once_value_5
);
198 } else fra
.me
.REG
[2] = once_value_5
;
199 fra
.me
.REG
[2] = fra
.me
.REG
[2];
200 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
202 fra
.me
.REG
[2] = BOX_NativeString("Pointer");
204 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
205 once_value_6
= fra
.me
.REG
[2];
206 register_static_object(&once_value_6
);
207 } else fra
.me
.REG
[2] = once_value_6
;
208 fra
.me
.REG
[2] = fra
.me
.REG
[2];
209 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
210 /* primitive_info.nit:65 */
212 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
213 REGB0
= TAG_Bool(true);
214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
215 REGB0
= TAG_Bool(true);
216 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
217 REGB0
= TAG_Bool(true);
218 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
219 REGB0
= TAG_Bool(false);
220 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
221 REGB0
= TAG_Bool(false);
222 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
223 REGB0
= TAG_Bool(false);
224 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
225 /* primitive_info.nit:66 */
227 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
229 fra
.me
.REG
[4] = BOX_NativeString("bigint");
231 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
232 once_value_7
= fra
.me
.REG
[4];
233 register_static_object(&once_value_7
);
234 } else fra
.me
.REG
[4] = once_value_7
;
235 fra
.me
.REG
[4] = fra
.me
.REG
[4];
236 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
238 fra
.me
.REG
[4] = BOX_NativeString("char");
240 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
241 once_value_8
= fra
.me
.REG
[4];
242 register_static_object(&once_value_8
);
243 } else fra
.me
.REG
[4] = once_value_8
;
244 fra
.me
.REG
[4] = fra
.me
.REG
[4];
245 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
247 fra
.me
.REG
[4] = BOX_NativeString("int");
249 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
250 once_value_9
= fra
.me
.REG
[4];
251 register_static_object(&once_value_9
);
252 } else fra
.me
.REG
[4] = once_value_9
;
253 fra
.me
.REG
[4] = fra
.me
.REG
[4];
254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
255 if (!once_value_10
) {
256 fra
.me
.REG
[4] = BOX_NativeString("float");
258 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
259 once_value_10
= fra
.me
.REG
[4];
260 register_static_object(&once_value_10
);
261 } else fra
.me
.REG
[4] = once_value_10
;
262 fra
.me
.REG
[4] = fra
.me
.REG
[4];
263 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
264 if (!once_value_11
) {
265 fra
.me
.REG
[4] = BOX_NativeString("char *");
267 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
268 once_value_11
= fra
.me
.REG
[4];
269 register_static_object(&once_value_11
);
270 } else fra
.me
.REG
[4] = once_value_11
;
271 fra
.me
.REG
[4] = fra
.me
.REG
[4];
272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
273 if (!once_value_12
) {
274 fra
.me
.REG
[4] = BOX_NativeString("void *");
276 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
277 once_value_12
= fra
.me
.REG
[4];
278 register_static_object(&once_value_12
);
279 } else fra
.me
.REG
[4] = once_value_12
;
280 fra
.me
.REG
[4] = fra
.me
.REG
[4];
281 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
282 /* primitive_info.nit:67 */
284 /* ../lib/standard/collection/array.nit:24 */
285 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
286 if (UNTAG_Bool(REGB1
)) {
288 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
290 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
291 /* ../lib/standard/kernel.nit:352 */
293 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
294 if (UNTAG_Bool(REGB2
)) {
296 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
298 /* ../lib/standard/kernel.nit:232 */
299 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
300 /* ../lib/standard/kernel.nit:352 */
301 if (UNTAG_Bool(REGB2
)) {
302 /* primitive_info.nit:67 */
304 /* ../lib/standard/collection/array.nit:278 */
305 fra
.me
.REG
[4] = fra
.me
.REG
[1];
307 /* ../lib/standard/collection/array.nit:280 */
309 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
310 if (UNTAG_Bool(REGB5
)) {
312 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
314 /* ../lib/standard/kernel.nit:233 */
315 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
316 /* ../lib/standard/collection/array.nit:280 */
317 if (UNTAG_Bool(REGB4
)) {
318 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
319 if (UNTAG_Bool(REGB4
)) {
321 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
323 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
324 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
325 if (UNTAG_Bool(REGB5
)) {
327 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
329 /* ../lib/standard/kernel.nit:232 */
330 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
332 /* ../lib/standard/collection/array.nit:280 */
333 REGB5
= TAG_Bool(false);
336 if (UNTAG_Bool(REGB4
)) {
338 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
340 /* ../lib/standard/collection/array.nit:281 */
341 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
342 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
343 if (UNTAG_Bool(REGB4
)) {
344 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
346 /* ../lib/standard/collection/array.nit:718 */
347 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
348 /* ../lib/standard/collection/array.nit:281 */
351 /* primitive_info.nit:68 */
352 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
353 if (UNTAG_Bool(REGB3
)) {
354 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 68);
356 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
357 /* ../lib/standard/collection/array.nit:278 */
358 fra
.me
.REG
[5] = fra
.me
.REG
[2];
360 /* ../lib/standard/collection/array.nit:280 */
362 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
363 if (UNTAG_Bool(REGB5
)) {
365 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
367 /* ../lib/standard/kernel.nit:233 */
368 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
369 /* ../lib/standard/collection/array.nit:280 */
370 if (UNTAG_Bool(REGB4
)) {
371 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
372 if (UNTAG_Bool(REGB4
)) {
374 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
376 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
377 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
378 if (UNTAG_Bool(REGB5
)) {
380 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
382 /* ../lib/standard/kernel.nit:232 */
383 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
385 /* ../lib/standard/collection/array.nit:280 */
386 REGB5
= TAG_Bool(false);
389 if (UNTAG_Bool(REGB4
)) {
391 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
393 /* ../lib/standard/collection/array.nit:281 */
394 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
395 REGB4
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
396 if (UNTAG_Bool(REGB4
)) {
397 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
399 /* ../lib/standard/collection/array.nit:718 */
400 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB3
)];
401 /* ../lib/standard/collection/array.nit:281 */
404 /* ../lib/standard/collection/array.nit:278 */
405 fra
.me
.REG
[6] = fra
.me
.REG
[3];
406 /* ../lib/standard/collection/array.nit:280 */
408 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
409 if (UNTAG_Bool(REGB4
)) {
411 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
413 /* ../lib/standard/kernel.nit:233 */
414 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
415 /* ../lib/standard/collection/array.nit:280 */
416 if (UNTAG_Bool(REGB3
)) {
417 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
418 if (UNTAG_Bool(REGB3
)) {
420 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
422 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
423 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
424 if (UNTAG_Bool(REGB4
)) {
426 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
428 /* ../lib/standard/kernel.nit:232 */
429 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
431 /* ../lib/standard/collection/array.nit:280 */
432 REGB4
= TAG_Bool(false);
435 if (UNTAG_Bool(REGB3
)) {
437 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
439 /* ../lib/standard/collection/array.nit:281 */
440 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
441 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
442 if (UNTAG_Bool(REGB3
)) {
443 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
445 /* ../lib/standard/collection/array.nit:718 */
446 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
447 /* ../lib/standard/collection/array.nit:281 */
450 /* primitive_info.nit:69 */
451 fra
.me
.REG
[6] = NEW_PrimitiveInfo_primitive_info___PrimitiveInfo___init(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
452 /* primitive_info.nit:70 */
453 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[6]);
454 /* ../lib/standard/kernel.nit:354 */
456 /* ../lib/standard/kernel.nit:235 */
457 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
458 /* ../lib/standard/kernel.nit:354 */
461 /* ../lib/standard/kernel.nit:352 */
466 /* primitive_info.nit:72 */
469 stack_frame_head
= fra
.me
.prev
;
470 return fra
.me
.REG
[0];
472 val_t
primitive_info___PrimitiveInfo___name(val_t p0
){
473 struct {struct stack_frame_t me
;} fra
;
476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
477 fra
.me
.file
= LOCATE_primitive_info
;
479 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___name
;
480 fra
.me
.has_broke
= 0;
482 fra
.me
.nitni_local_ref_head
= NULL
;
483 fra
.me
.REG
[0] = NIT_NULL
;
485 /* primitive_info.nit:78 */
486 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0])!=NIT_NULL
);
487 if (UNTAG_Bool(REGB0
)) {
489 nit_abort("Uninitialized attribute %s", "_name", LOCATE_primitive_info
, 78);
491 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]);
492 stack_frame_head
= fra
.me
.prev
;
493 return fra
.me
.REG
[0];
495 val_t
primitive_info___PrimitiveInfo___tagged(val_t p0
){
496 struct {struct stack_frame_t me
;} fra
;
499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
500 fra
.me
.file
= LOCATE_primitive_info
;
502 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___tagged
;
503 fra
.me
.has_broke
= 0;
505 fra
.me
.nitni_local_ref_head
= NULL
;
506 fra
.me
.REG
[0] = NIT_NULL
;
508 /* primitive_info.nit:81 */
509 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0])!=NIT_NULL
);
510 if (UNTAG_Bool(REGB0
)) {
512 nit_abort("Uninitialized attribute %s", "_tagged", LOCATE_primitive_info
, 81);
514 REGB0
= ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]);
515 stack_frame_head
= fra
.me
.prev
;
518 val_t
primitive_info___PrimitiveInfo___cname(val_t p0
){
519 struct {struct stack_frame_t me
;} fra
;
522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
523 fra
.me
.file
= LOCATE_primitive_info
;
525 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___cname
;
526 fra
.me
.has_broke
= 0;
528 fra
.me
.nitni_local_ref_head
= NULL
;
529 fra
.me
.REG
[0] = NIT_NULL
;
531 /* primitive_info.nit:84 */
532 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0])!=NIT_NULL
);
533 if (UNTAG_Bool(REGB0
)) {
535 nit_abort("Uninitialized attribute %s", "_cname", LOCATE_primitive_info
, 84);
537 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]);
538 stack_frame_head
= fra
.me
.prev
;
539 return fra
.me
.REG
[0];
541 void primitive_info___PrimitiveInfo___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
542 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_primitive_info___PrimitiveInfo
].i
;
543 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
546 if (init_table
[itpos0
]) return;
547 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
548 fra
.me
.file
= LOCATE_primitive_info
;
550 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___init
;
551 fra
.me
.has_broke
= 0;
553 fra
.me
.nitni_local_ref_head
= NULL
;
554 fra
.me
.REG
[0] = NIT_NULL
;
555 fra
.me
.REG
[1] = NIT_NULL
;
556 fra
.me
.REG
[2] = NIT_NULL
;
561 /* primitive_info.nit:89 */
562 ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
563 /* primitive_info.nit:90 */
564 ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]) = REGB0
;
565 /* primitive_info.nit:91 */
566 ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
567 stack_frame_head
= fra
.me
.prev
;
568 init_table
[itpos0
] = 1;
571 val_t
primitive_info___MMType___cname(val_t p0
){
572 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
576 static val_t once_value_1
; /* Once value */
577 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
578 fra
.me
.file
= LOCATE_primitive_info
;
580 fra
.me
.meth
= LOCATE_primitive_info___MMType___cname
;
581 fra
.me
.has_broke
= 0;
583 fra
.me
.nitni_local_ref_head
= NULL
;
584 fra
.me
.REG
[0] = NIT_NULL
;
585 fra
.me
.REG
[1] = NIT_NULL
;
587 /* primitive_info.nit:99 */
588 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
589 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
590 /* primitive_info.nit:100 */
591 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
592 if (UNTAG_Bool(REGB0
)) {
594 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
595 if (UNTAG_Bool(REGB1
)) {
596 REGB1
= TAG_Bool(false);
599 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
603 if (UNTAG_Bool(REGB0
)) {
604 /* primitive_info.nit:101 */
606 fra
.me
.REG
[1] = BOX_NativeString("val_t");
608 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
609 once_value_1
= fra
.me
.REG
[1];
610 register_static_object(&once_value_1
);
611 } else fra
.me
.REG
[1] = once_value_1
;
612 fra
.me
.REG
[1] = fra
.me
.REG
[1];
615 /* primitive_info.nit:103 */
616 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
617 if (UNTAG_Bool(REGB0
)) {
618 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 103);
620 fra
.me
.REG
[0] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
621 fra
.me
.REG
[1] = fra
.me
.REG
[0];
625 stack_frame_head
= fra
.me
.prev
;
626 return fra
.me
.REG
[1];
628 val_t
primitive_info___MMType___is_tagged(val_t p0
){
629 struct {struct stack_frame_t me
;} fra
;
634 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
635 fra
.me
.file
= LOCATE_primitive_info
;
637 fra
.me
.meth
= LOCATE_primitive_info___MMType___is_tagged
;
638 fra
.me
.has_broke
= 0;
640 fra
.me
.nitni_local_ref_head
= NULL
;
641 fra
.me
.REG
[0] = NIT_NULL
;
643 /* primitive_info.nit:110 */
644 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
645 if (UNTAG_Bool(REGB0
)) {
646 REGB0
= TAG_Bool(false);
649 /* primitive_info.nit:111 */
650 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
651 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
652 /* primitive_info.nit:112 */
653 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
654 if (UNTAG_Bool(REGB1
)) {
656 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
657 if (UNTAG_Bool(REGB2
)) {
658 REGB2
= TAG_Bool(false);
661 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
665 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
666 if (UNTAG_Bool(REGB1
)) {
667 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
668 if (UNTAG_Bool(REGB1
)) {
669 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 112);
671 REGB1
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
673 REGB2
= TAG_Bool(false);
679 stack_frame_head
= fra
.me
.prev
;
682 val_t
primitive_info___MMType___default_cvalue(val_t p0
){
683 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
687 static val_t once_value_1
; /* Once value */
688 static val_t once_value_2
; /* Once value */
689 static val_t once_value_3
; /* Once value */
690 static val_t once_value_5
; /* Once value */
691 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
692 fra
.me
.file
= LOCATE_primitive_info
;
694 fra
.me
.meth
= LOCATE_primitive_info___MMType___default_cvalue
;
695 fra
.me
.has_broke
= 0;
697 fra
.me
.nitni_local_ref_head
= NULL
;
698 fra
.me
.REG
[0] = NIT_NULL
;
699 fra
.me
.REG
[1] = NIT_NULL
;
700 fra
.me
.REG
[2] = NIT_NULL
;
701 fra
.me
.REG
[3] = NIT_NULL
;
703 /* primitive_info.nit:119 */
704 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
705 fra
.me
.REG
[1] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
706 /* primitive_info.nit:120 */
707 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
708 if (UNTAG_Bool(REGB0
)) {
710 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
711 if (UNTAG_Bool(REGB1
)) {
712 REGB1
= TAG_Bool(false);
715 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
719 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
720 if (UNTAG_Bool(REGB0
)) {
721 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
722 if (UNTAG_Bool(REGB0
)) {
723 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 120);
725 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
727 REGB1
= TAG_Bool(false);
730 if (UNTAG_Bool(REGB0
)) {
731 /* primitive_info.nit:121 */
733 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
735 fra
.me
.REG
[3] = BOX_NativeString("TAG_");
737 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
738 once_value_1
= fra
.me
.REG
[3];
739 register_static_object(&once_value_1
);
740 } else fra
.me
.REG
[3] = once_value_1
;
741 fra
.me
.REG
[3] = fra
.me
.REG
[3];
742 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
743 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
744 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
745 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
746 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
748 fra
.me
.REG
[0] = BOX_NativeString("((");
750 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
751 once_value_2
= fra
.me
.REG
[0];
752 register_static_object(&once_value_2
);
753 } else fra
.me
.REG
[0] = once_value_2
;
754 fra
.me
.REG
[0] = fra
.me
.REG
[0];
755 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
756 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
757 if (UNTAG_Bool(REGB0
)) {
758 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 121);
760 fra
.me
.REG
[1] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
761 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
763 fra
.me
.REG
[1] = BOX_NativeString(")0)");
765 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
766 once_value_3
= fra
.me
.REG
[1];
767 register_static_object(&once_value_3
);
768 } else fra
.me
.REG
[1] = once_value_3
;
769 fra
.me
.REG
[1] = fra
.me
.REG
[1];
770 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
771 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
774 /* primitive_info.nit:123 */
776 fra
.me
.REG
[1] = BOX_NativeString("NIT_NULL");
778 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
779 once_value_5
= fra
.me
.REG
[1];
780 register_static_object(&once_value_5
);
781 } else fra
.me
.REG
[1] = once_value_5
;
782 fra
.me
.REG
[1] = fra
.me
.REG
[1];
783 fra
.me
.REG
[2] = fra
.me
.REG
[1];
787 stack_frame_head
= fra
.me
.prev
;
788 return fra
.me
.REG
[2];
790 val_t
primitive_info___MMType___boxtype(val_t p0
, val_t p1
){
791 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
795 static val_t once_value_2
; /* Once value */
796 static val_t once_value_3
; /* Once value */
797 static val_t once_value_4
; /* Once value */
798 static val_t once_value_5
; /* Once value */
799 static val_t once_value_6
; /* Once value */
800 static val_t once_value_7
; /* Once value */
801 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
802 fra
.me
.file
= LOCATE_primitive_info
;
804 fra
.me
.meth
= LOCATE_primitive_info___MMType___boxtype
;
805 fra
.me
.has_broke
= 0;
807 fra
.me
.nitni_local_ref_head
= NULL
;
808 fra
.me
.REG
[0] = NIT_NULL
;
809 fra
.me
.REG
[1] = NIT_NULL
;
810 fra
.me
.REG
[2] = NIT_NULL
;
811 fra
.me
.REG
[3] = NIT_NULL
;
812 fra
.me
.REG
[4] = NIT_NULL
;
815 /* primitive_info.nit:131 */
816 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
817 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
818 /* primitive_info.nit:132 */
819 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
820 if (UNTAG_Bool(REGB0
)) {
822 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
823 if (UNTAG_Bool(REGB1
)) {
824 REGB1
= TAG_Bool(false);
827 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
831 if (UNTAG_Bool(REGB0
)) {
832 REGB0
= TAG_Bool(true);
834 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
837 if (UNTAG_Bool(REGB0
)) {
838 /* primitive_info.nit:133 */
839 fra
.me
.REG
[3] = fra
.me
.REG
[1];
842 /* primitive_info.nit:134 */
843 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
844 if (UNTAG_Bool(REGB0
)) {
845 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 134);
847 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
848 if (UNTAG_Bool(REGB0
)) {
849 /* primitive_info.nit:135 */
851 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
853 fra
.me
.REG
[4] = BOX_NativeString("TAG_");
855 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
856 once_value_2
= fra
.me
.REG
[4];
857 register_static_object(&once_value_2
);
858 } else fra
.me
.REG
[4] = once_value_2
;
859 fra
.me
.REG
[4] = fra
.me
.REG
[4];
860 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
861 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
862 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
863 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
864 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
866 fra
.me
.REG
[4] = BOX_NativeString("(");
868 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
869 once_value_3
= fra
.me
.REG
[4];
870 register_static_object(&once_value_3
);
871 } else fra
.me
.REG
[4] = once_value_3
;
872 fra
.me
.REG
[4] = fra
.me
.REG
[4];
873 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
874 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
876 fra
.me
.REG
[4] = BOX_NativeString(")");
878 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
879 once_value_4
= fra
.me
.REG
[4];
880 register_static_object(&once_value_4
);
881 } else fra
.me
.REG
[4] = once_value_4
;
882 fra
.me
.REG
[4] = fra
.me
.REG
[4];
883 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
884 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
885 fra
.me
.REG
[3] = fra
.me
.REG
[2];
888 /* primitive_info.nit:137 */
890 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
892 fra
.me
.REG
[4] = BOX_NativeString("BOX_");
894 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
895 once_value_5
= fra
.me
.REG
[4];
896 register_static_object(&once_value_5
);
897 } else fra
.me
.REG
[4] = once_value_5
;
898 fra
.me
.REG
[4] = fra
.me
.REG
[4];
899 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
900 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
901 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
902 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
903 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
905 fra
.me
.REG
[0] = BOX_NativeString("(");
907 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
908 once_value_6
= fra
.me
.REG
[0];
909 register_static_object(&once_value_6
);
910 } else fra
.me
.REG
[0] = once_value_6
;
911 fra
.me
.REG
[0] = fra
.me
.REG
[0];
912 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
913 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
915 fra
.me
.REG
[1] = BOX_NativeString(")");
917 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
918 once_value_7
= fra
.me
.REG
[1];
919 register_static_object(&once_value_7
);
920 } else fra
.me
.REG
[1] = once_value_7
;
921 fra
.me
.REG
[1] = fra
.me
.REG
[1];
922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
923 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
924 fra
.me
.REG
[3] = fra
.me
.REG
[2];
929 stack_frame_head
= fra
.me
.prev
;
930 return fra
.me
.REG
[3];
932 val_t
primitive_info___MMType___unboxtype(val_t p0
, val_t p1
){
933 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
937 static val_t once_value_2
; /* Once value */
938 static val_t once_value_3
; /* Once value */
939 static val_t once_value_4
; /* Once value */
940 static val_t once_value_5
; /* Once value */
941 static val_t once_value_6
; /* Once value */
942 static val_t once_value_7
; /* Once value */
943 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
944 fra
.me
.file
= LOCATE_primitive_info
;
946 fra
.me
.meth
= LOCATE_primitive_info___MMType___unboxtype
;
947 fra
.me
.has_broke
= 0;
949 fra
.me
.nitni_local_ref_head
= NULL
;
950 fra
.me
.REG
[0] = NIT_NULL
;
951 fra
.me
.REG
[1] = NIT_NULL
;
952 fra
.me
.REG
[2] = NIT_NULL
;
953 fra
.me
.REG
[3] = NIT_NULL
;
954 fra
.me
.REG
[4] = NIT_NULL
;
957 /* primitive_info.nit:145 */
958 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
959 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
960 /* primitive_info.nit:146 */
961 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
962 if (UNTAG_Bool(REGB0
)) {
964 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
965 if (UNTAG_Bool(REGB1
)) {
966 REGB1
= TAG_Bool(false);
969 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
973 if (UNTAG_Bool(REGB0
)) {
974 REGB0
= TAG_Bool(true);
976 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
979 if (UNTAG_Bool(REGB0
)) {
980 /* primitive_info.nit:147 */
981 fra
.me
.REG
[3] = fra
.me
.REG
[1];
984 /* primitive_info.nit:148 */
985 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
986 if (UNTAG_Bool(REGB0
)) {
987 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 148);
989 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
990 if (UNTAG_Bool(REGB0
)) {
991 /* primitive_info.nit:149 */
993 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
995 fra
.me
.REG
[4] = BOX_NativeString("UNTAG_");
997 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
998 once_value_2
= fra
.me
.REG
[4];
999 register_static_object(&once_value_2
);
1000 } else fra
.me
.REG
[4] = once_value_2
;
1001 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1002 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1003 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1004 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1005 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1006 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1007 if (!once_value_3
) {
1008 fra
.me
.REG
[4] = BOX_NativeString("(");
1010 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1011 once_value_3
= fra
.me
.REG
[4];
1012 register_static_object(&once_value_3
);
1013 } else fra
.me
.REG
[4] = once_value_3
;
1014 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1015 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1016 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1017 if (!once_value_4
) {
1018 fra
.me
.REG
[4] = BOX_NativeString(")");
1020 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1021 once_value_4
= fra
.me
.REG
[4];
1022 register_static_object(&once_value_4
);
1023 } else fra
.me
.REG
[4] = once_value_4
;
1024 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1025 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1026 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1027 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1030 /* primitive_info.nit:151 */
1032 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1033 if (!once_value_5
) {
1034 fra
.me
.REG
[4] = BOX_NativeString("UNBOX_");
1036 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1037 once_value_5
= fra
.me
.REG
[4];
1038 register_static_object(&once_value_5
);
1039 } else fra
.me
.REG
[4] = once_value_5
;
1040 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1041 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1042 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1043 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1044 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1045 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1046 if (!once_value_6
) {
1047 fra
.me
.REG
[0] = BOX_NativeString("(");
1049 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1050 once_value_6
= fra
.me
.REG
[0];
1051 register_static_object(&once_value_6
);
1052 } else fra
.me
.REG
[0] = once_value_6
;
1053 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1054 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1055 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1056 if (!once_value_7
) {
1057 fra
.me
.REG
[1] = BOX_NativeString(")");
1059 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1060 once_value_7
= fra
.me
.REG
[1];
1061 register_static_object(&once_value_7
);
1062 } else fra
.me
.REG
[1] = once_value_7
;
1063 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1064 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1065 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1066 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1071 stack_frame_head
= fra
.me
.prev
;
1072 return fra
.me
.REG
[3];
1074 val_t
primitive_info___MMMethod___default_extern_name(val_t p0
){
1075 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1078 static val_t once_value_1
; /* Once value */
1079 static val_t once_value_2
; /* Once value */
1080 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1081 fra
.me
.file
= LOCATE_primitive_info
;
1083 fra
.me
.meth
= LOCATE_primitive_info___MMMethod___default_extern_name
;
1084 fra
.me
.has_broke
= 0;
1085 fra
.me
.REG_size
= 3;
1086 fra
.me
.nitni_local_ref_head
= NULL
;
1087 fra
.me
.REG
[0] = NIT_NULL
;
1088 fra
.me
.REG
[1] = NIT_NULL
;
1089 fra
.me
.REG
[2] = NIT_NULL
;
1091 /* primitive_info.nit:159 */
1093 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1094 if (!once_value_1
) {
1095 fra
.me
.REG
[2] = BOX_NativeString("");
1097 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1098 once_value_1
= fra
.me
.REG
[2];
1099 register_static_object(&once_value_1
);
1100 } else fra
.me
.REG
[2] = once_value_1
;
1101 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1102 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1103 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1104 fra
.me
.REG
[2] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1105 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1106 if (!once_value_2
) {
1107 fra
.me
.REG
[2] = BOX_NativeString("___impl");
1109 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
1110 once_value_2
= fra
.me
.REG
[2];
1111 register_static_object(&once_value_2
);
1112 } else fra
.me
.REG
[2] = once_value_2
;
1113 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1114 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1115 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1118 stack_frame_head
= fra
.me
.prev
;
1119 return fra
.me
.REG
[1];
1121 val_t
primitive_info___MMMethod___friendly_extern_name(val_t p0
, val_t p1
){
1122 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1127 static val_t once_value_1
; /* Once value */
1128 static val_t once_value_2
; /* Once value */
1129 static val_t once_value_3
; /* Once value */
1130 static val_t once_value_4
; /* Once value */
1131 static val_t once_value_5
; /* Once value */
1132 static val_t once_value_6
; /* Once value */
1133 static val_t once_value_7
; /* Once value */
1134 static val_t once_value_8
; /* Once value */
1135 static val_t once_value_9
; /* Once value */
1136 static val_t once_value_10
; /* Once value */
1137 static val_t once_value_11
; /* Once value */
1138 static val_t once_value_12
; /* Once value */
1139 static val_t once_value_13
; /* Once value */
1140 static val_t once_value_14
; /* Once value */
1141 static val_t once_value_15
; /* Once value */
1142 static val_t once_value_16
; /* Once value */
1143 static val_t once_value_17
; /* Once value */
1144 static val_t once_value_18
; /* Once value */
1145 static val_t once_value_19
; /* Once value */
1146 static val_t once_value_20
; /* Once value */
1147 static val_t once_value_21
; /* Once value */
1148 static val_t once_value_22
; /* Once value */
1149 static val_t once_value_23
; /* Once value */
1150 static val_t once_value_24
; /* Once value */
1151 static val_t once_value_25
; /* Once value */
1152 static val_t once_value_26
; /* Once value */
1153 static val_t once_value_27
; /* Once value */
1154 static val_t once_value_28
; /* Once value */
1155 static val_t once_value_29
; /* Once value */
1156 static val_t once_value_30
; /* Once value */
1157 static val_t once_value_31
; /* Once value */
1158 static val_t once_value_32
; /* Once value */
1159 static val_t once_value_33
; /* Once value */
1160 static val_t once_value_34
; /* Once value */
1161 static val_t once_value_35
; /* Once value */
1162 static val_t once_value_36
; /* Once value */
1163 static val_t once_value_37
; /* Once value */
1164 static val_t once_value_39
; /* Once value */
1165 static val_t once_value_40
; /* Once value */
1166 static val_t once_value_41
; /* Once value */
1167 static val_t once_value_42
; /* Once value */
1168 static val_t once_value_43
; /* Once value */
1169 static val_t once_value_44
; /* Once value */
1170 static val_t once_value_45
; /* Once value */
1171 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1172 fra
.me
.file
= LOCATE_primitive_info
;
1174 fra
.me
.meth
= LOCATE_primitive_info___MMMethod___friendly_extern_name
;
1175 fra
.me
.has_broke
= 0;
1176 fra
.me
.REG_size
= 6;
1177 fra
.me
.nitni_local_ref_head
= NULL
;
1178 fra
.me
.REG
[0] = NIT_NULL
;
1179 fra
.me
.REG
[1] = NIT_NULL
;
1180 fra
.me
.REG
[2] = NIT_NULL
;
1181 fra
.me
.REG
[3] = NIT_NULL
;
1182 fra
.me
.REG
[4] = NIT_NULL
;
1183 fra
.me
.REG
[5] = NIT_NULL
;
1186 /* primitive_info.nit:166 */
1187 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1188 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1189 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1190 if (UNTAG_Bool(REGB0
)) {
1191 /* primitive_info.nit:168 */
1192 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1193 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1194 /* primitive_info.nit:169 */
1195 if (!once_value_1
) {
1196 fra
.me
.REG
[3] = BOX_NativeString("+");
1198 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1199 once_value_1
= fra
.me
.REG
[3];
1200 register_static_object(&once_value_1
);
1201 } else fra
.me
.REG
[3] = once_value_1
;
1202 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1203 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1204 if (UNTAG_Bool(REGB0
)) {
1206 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1209 if (UNTAG_Bool(REGB0
)) {
1210 /* primitive_info.nit:170 */
1211 if (!once_value_2
) {
1212 fra
.me
.REG
[3] = BOX_NativeString("_plus");
1214 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
1215 once_value_2
= fra
.me
.REG
[3];
1216 register_static_object(&once_value_2
);
1217 } else fra
.me
.REG
[3] = once_value_2
;
1218 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1220 /* primitive_info.nit:171 */
1221 if (!once_value_3
) {
1222 fra
.me
.REG
[4] = BOX_NativeString("-");
1224 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1225 once_value_3
= fra
.me
.REG
[4];
1226 register_static_object(&once_value_3
);
1227 } else fra
.me
.REG
[4] = once_value_3
;
1228 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1229 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1230 if (UNTAG_Bool(REGB0
)) {
1232 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1235 if (UNTAG_Bool(REGB0
)) {
1236 /* primitive_info.nit:172 */
1237 if (!once_value_4
) {
1238 fra
.me
.REG
[4] = BOX_NativeString("_minus");
1240 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1241 once_value_4
= fra
.me
.REG
[4];
1242 register_static_object(&once_value_4
);
1243 } else fra
.me
.REG
[4] = once_value_4
;
1244 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1245 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1247 /* primitive_info.nit:173 */
1248 if (!once_value_5
) {
1249 fra
.me
.REG
[4] = BOX_NativeString("*");
1251 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1252 once_value_5
= fra
.me
.REG
[4];
1253 register_static_object(&once_value_5
);
1254 } else fra
.me
.REG
[4] = once_value_5
;
1255 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1256 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1257 if (UNTAG_Bool(REGB0
)) {
1259 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1262 if (UNTAG_Bool(REGB0
)) {
1263 /* primitive_info.nit:174 */
1264 if (!once_value_6
) {
1265 fra
.me
.REG
[4] = BOX_NativeString("_star");
1267 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1268 once_value_6
= fra
.me
.REG
[4];
1269 register_static_object(&once_value_6
);
1270 } else fra
.me
.REG
[4] = once_value_6
;
1271 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1272 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1274 /* primitive_info.nit:175 */
1275 if (!once_value_7
) {
1276 fra
.me
.REG
[4] = BOX_NativeString("/");
1278 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1279 once_value_7
= fra
.me
.REG
[4];
1280 register_static_object(&once_value_7
);
1281 } else fra
.me
.REG
[4] = once_value_7
;
1282 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1283 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1284 if (UNTAG_Bool(REGB0
)) {
1286 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1289 if (UNTAG_Bool(REGB0
)) {
1290 /* primitive_info.nit:176 */
1291 if (!once_value_8
) {
1292 fra
.me
.REG
[4] = BOX_NativeString("_slash");
1294 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1295 once_value_8
= fra
.me
.REG
[4];
1296 register_static_object(&once_value_8
);
1297 } else fra
.me
.REG
[4] = once_value_8
;
1298 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1299 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1301 /* primitive_info.nit:177 */
1302 if (!once_value_9
) {
1303 fra
.me
.REG
[4] = BOX_NativeString("%");
1305 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1306 once_value_9
= fra
.me
.REG
[4];
1307 register_static_object(&once_value_9
);
1308 } else fra
.me
.REG
[4] = once_value_9
;
1309 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1310 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1311 if (UNTAG_Bool(REGB0
)) {
1313 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1316 if (UNTAG_Bool(REGB0
)) {
1317 /* primitive_info.nit:178 */
1318 if (!once_value_10
) {
1319 fra
.me
.REG
[4] = BOX_NativeString("_percent");
1321 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1322 once_value_10
= fra
.me
.REG
[4];
1323 register_static_object(&once_value_10
);
1324 } else fra
.me
.REG
[4] = once_value_10
;
1325 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1326 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1328 /* primitive_info.nit:179 */
1329 if (!once_value_11
) {
1330 fra
.me
.REG
[4] = BOX_NativeString("[]");
1332 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1333 once_value_11
= fra
.me
.REG
[4];
1334 register_static_object(&once_value_11
);
1335 } else fra
.me
.REG
[4] = once_value_11
;
1336 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1337 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1338 if (UNTAG_Bool(REGB0
)) {
1340 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1343 if (UNTAG_Bool(REGB0
)) {
1344 /* primitive_info.nit:180 */
1345 if (!once_value_12
) {
1346 fra
.me
.REG
[4] = BOX_NativeString("_index");
1348 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1349 once_value_12
= fra
.me
.REG
[4];
1350 register_static_object(&once_value_12
);
1351 } else fra
.me
.REG
[4] = once_value_12
;
1352 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1353 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1355 /* primitive_info.nit:181 */
1356 if (!once_value_13
) {
1357 fra
.me
.REG
[4] = BOX_NativeString("[]=");
1359 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1360 once_value_13
= fra
.me
.REG
[4];
1361 register_static_object(&once_value_13
);
1362 } else fra
.me
.REG
[4] = once_value_13
;
1363 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1364 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1365 if (UNTAG_Bool(REGB0
)) {
1367 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1370 if (UNTAG_Bool(REGB0
)) {
1371 /* primitive_info.nit:182 */
1372 if (!once_value_14
) {
1373 fra
.me
.REG
[4] = BOX_NativeString("_index_assign");
1374 REGB0
= TAG_Int(13);
1375 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1376 once_value_14
= fra
.me
.REG
[4];
1377 register_static_object(&once_value_14
);
1378 } else fra
.me
.REG
[4] = once_value_14
;
1379 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1380 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1382 /* primitive_info.nit:183 */
1383 if (!once_value_15
) {
1384 fra
.me
.REG
[4] = BOX_NativeString("==");
1386 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1387 once_value_15
= fra
.me
.REG
[4];
1388 register_static_object(&once_value_15
);
1389 } else fra
.me
.REG
[4] = once_value_15
;
1390 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1391 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1392 if (UNTAG_Bool(REGB0
)) {
1394 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1397 if (UNTAG_Bool(REGB0
)) {
1398 /* primitive_info.nit:184 */
1399 if (!once_value_16
) {
1400 fra
.me
.REG
[4] = BOX_NativeString("_equal");
1402 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1403 once_value_16
= fra
.me
.REG
[4];
1404 register_static_object(&once_value_16
);
1405 } else fra
.me
.REG
[4] = once_value_16
;
1406 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1407 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1409 /* primitive_info.nit:185 */
1410 if (!once_value_17
) {
1411 fra
.me
.REG
[4] = BOX_NativeString("<");
1413 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1414 once_value_17
= fra
.me
.REG
[4];
1415 register_static_object(&once_value_17
);
1416 } else fra
.me
.REG
[4] = once_value_17
;
1417 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1418 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1419 if (UNTAG_Bool(REGB0
)) {
1421 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1424 if (UNTAG_Bool(REGB0
)) {
1425 /* primitive_info.nit:186 */
1426 if (!once_value_18
) {
1427 fra
.me
.REG
[4] = BOX_NativeString("_less");
1429 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1430 once_value_18
= fra
.me
.REG
[4];
1431 register_static_object(&once_value_18
);
1432 } else fra
.me
.REG
[4] = once_value_18
;
1433 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1434 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1436 /* primitive_info.nit:187 */
1437 if (!once_value_19
) {
1438 fra
.me
.REG
[4] = BOX_NativeString(">");
1440 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1441 once_value_19
= fra
.me
.REG
[4];
1442 register_static_object(&once_value_19
);
1443 } else fra
.me
.REG
[4] = once_value_19
;
1444 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1445 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1446 if (UNTAG_Bool(REGB0
)) {
1448 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1451 if (UNTAG_Bool(REGB0
)) {
1452 /* primitive_info.nit:188 */
1453 if (!once_value_20
) {
1454 fra
.me
.REG
[4] = BOX_NativeString("_greater");
1456 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1457 once_value_20
= fra
.me
.REG
[4];
1458 register_static_object(&once_value_20
);
1459 } else fra
.me
.REG
[4] = once_value_20
;
1460 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1461 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1463 /* primitive_info.nit:189 */
1464 if (!once_value_21
) {
1465 fra
.me
.REG
[4] = BOX_NativeString("<=");
1467 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1468 once_value_21
= fra
.me
.REG
[4];
1469 register_static_object(&once_value_21
);
1470 } else fra
.me
.REG
[4] = once_value_21
;
1471 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1472 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1473 if (UNTAG_Bool(REGB0
)) {
1475 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1478 if (UNTAG_Bool(REGB0
)) {
1479 /* primitive_info.nit:190 */
1480 if (!once_value_22
) {
1481 fra
.me
.REG
[4] = BOX_NativeString("_less_or_equal");
1482 REGB0
= TAG_Int(14);
1483 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1484 once_value_22
= fra
.me
.REG
[4];
1485 register_static_object(&once_value_22
);
1486 } else fra
.me
.REG
[4] = once_value_22
;
1487 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1488 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1490 /* primitive_info.nit:191 */
1491 if (!once_value_23
) {
1492 fra
.me
.REG
[4] = BOX_NativeString(">=");
1494 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1495 once_value_23
= fra
.me
.REG
[4];
1496 register_static_object(&once_value_23
);
1497 } else fra
.me
.REG
[4] = once_value_23
;
1498 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1499 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1500 if (UNTAG_Bool(REGB0
)) {
1502 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1505 if (UNTAG_Bool(REGB0
)) {
1506 /* primitive_info.nit:192 */
1507 if (!once_value_24
) {
1508 fra
.me
.REG
[4] = BOX_NativeString("_ge");
1510 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1511 once_value_24
= fra
.me
.REG
[4];
1512 register_static_object(&once_value_24
);
1513 } else fra
.me
.REG
[4] = once_value_24
;
1514 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1515 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1517 /* primitive_info.nit:193 */
1518 if (!once_value_25
) {
1519 fra
.me
.REG
[4] = BOX_NativeString("!=");
1521 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1522 once_value_25
= fra
.me
.REG
[4];
1523 register_static_object(&once_value_25
);
1524 } else fra
.me
.REG
[4] = once_value_25
;
1525 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1526 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1527 if (UNTAG_Bool(REGB0
)) {
1529 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1532 if (UNTAG_Bool(REGB0
)) {
1533 /* primitive_info.nit:194 */
1534 if (!once_value_26
) {
1535 fra
.me
.REG
[4] = BOX_NativeString("_not_equal");
1536 REGB0
= TAG_Int(10);
1537 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1538 once_value_26
= fra
.me
.REG
[4];
1539 register_static_object(&once_value_26
);
1540 } else fra
.me
.REG
[4] = once_value_26
;
1541 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1542 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1544 /* primitive_info.nit:195 */
1545 if (!once_value_27
) {
1546 fra
.me
.REG
[4] = BOX_NativeString(">>");
1548 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1549 once_value_27
= fra
.me
.REG
[4];
1550 register_static_object(&once_value_27
);
1551 } else fra
.me
.REG
[4] = once_value_27
;
1552 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1553 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1554 if (UNTAG_Bool(REGB0
)) {
1556 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1559 if (UNTAG_Bool(REGB0
)) {
1560 /* primitive_info.nit:196 */
1561 if (!once_value_28
) {
1562 fra
.me
.REG
[4] = BOX_NativeString("_right");
1564 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1565 once_value_28
= fra
.me
.REG
[4];
1566 register_static_object(&once_value_28
);
1567 } else fra
.me
.REG
[4] = once_value_28
;
1568 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1569 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1571 /* primitive_info.nit:197 */
1572 if (!once_value_29
) {
1573 fra
.me
.REG
[4] = BOX_NativeString("<<");
1575 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1576 once_value_29
= fra
.me
.REG
[4];
1577 register_static_object(&once_value_29
);
1578 } else fra
.me
.REG
[4] = once_value_29
;
1579 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1580 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1581 if (UNTAG_Bool(REGB0
)) {
1583 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1586 if (UNTAG_Bool(REGB0
)) {
1587 /* primitive_info.nit:198 */
1588 if (!once_value_30
) {
1589 fra
.me
.REG
[4] = BOX_NativeString("_left");
1591 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1592 once_value_30
= fra
.me
.REG
[4];
1593 register_static_object(&once_value_30
);
1594 } else fra
.me
.REG
[4] = once_value_30
;
1595 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1596 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1598 /* primitive_info.nit:199 */
1599 if (!once_value_31
) {
1600 fra
.me
.REG
[4] = BOX_NativeString("<=>");
1602 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1603 once_value_31
= fra
.me
.REG
[4];
1604 register_static_object(&once_value_31
);
1605 } else fra
.me
.REG
[4] = once_value_31
;
1606 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1607 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1608 if (UNTAG_Bool(REGB0
)) {
1610 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1613 if (UNTAG_Bool(REGB0
)) {
1614 /* primitive_info.nit:200 */
1615 if (!once_value_32
) {
1616 fra
.me
.REG
[4] = BOX_NativeString("_starship");
1618 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
1619 once_value_32
= fra
.me
.REG
[4];
1620 register_static_object(&once_value_32
);
1621 } else fra
.me
.REG
[4] = once_value_32
;
1622 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1623 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1625 /* ../lib/standard/collection/array.nit:24 */
1626 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1627 if (UNTAG_Bool(REGB0
)) {
1629 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1631 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1632 /* primitive_info.nit:201 */
1634 /* ../lib/standard/kernel.nit:237 */
1635 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1636 /* primitive_info.nit:201 */
1637 REGB1
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1638 REGB0
= TAG_Char('=');
1639 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1640 if (UNTAG_Bool(REGB2
)) {
1642 /* ../lib/standard/kernel.nit:378 */
1643 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1644 /* primitive_info.nit:201 */
1647 if (UNTAG_Bool(REGB2
)) {
1648 /* primitive_info.nit:202 */
1650 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1651 if (!once_value_33
) {
1652 fra
.me
.REG
[5] = BOX_NativeString("");
1654 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
1655 once_value_33
= fra
.me
.REG
[5];
1656 register_static_object(&once_value_33
);
1657 } else fra
.me
.REG
[5] = once_value_33
;
1658 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1659 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1661 /* ../lib/standard/collection/array.nit:24 */
1662 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1663 if (UNTAG_Bool(REGB0
)) {
1665 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1667 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1668 /* primitive_info.nit:202 */
1670 /* ../lib/standard/kernel.nit:237 */
1671 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1672 /* primitive_info.nit:202 */
1673 fra
.me
.REG
[5] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB1
);
1674 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1675 if (!once_value_34
) {
1676 fra
.me
.REG
[5] = BOX_NativeString("__assign");
1678 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
1679 once_value_34
= fra
.me
.REG
[5];
1680 register_static_object(&once_value_34
);
1681 } else fra
.me
.REG
[5] = once_value_34
;
1682 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1683 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1684 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1685 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1687 /* primitive_info.nit:204 */
1688 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1706 /* primitive_info.nit:207 */
1708 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1709 if (!once_value_35
) {
1710 fra
.me
.REG
[4] = BOX_NativeString("");
1712 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1713 once_value_35
= fra
.me
.REG
[4];
1714 register_static_object(&once_value_35
);
1715 } else fra
.me
.REG
[4] = once_value_35
;
1716 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1718 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1719 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1720 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1721 if (!once_value_36
) {
1722 fra
.me
.REG
[4] = BOX_NativeString("_");
1724 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1725 once_value_36
= fra
.me
.REG
[4];
1726 register_static_object(&once_value_36
);
1727 } else fra
.me
.REG
[4] = once_value_36
;
1728 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1729 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1730 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1731 if (!once_value_37
) {
1732 fra
.me
.REG
[3] = BOX_NativeString("");
1734 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1735 once_value_37
= fra
.me
.REG
[3];
1736 register_static_object(&once_value_37
);
1737 } else fra
.me
.REG
[3] = once_value_37
;
1738 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1739 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1740 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1743 /* primitive_info.nit:209 */
1744 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1745 if (!once_value_39
) {
1746 if (!once_value_40
) {
1747 fra
.me
.REG
[4] = BOX_NativeString("init");
1749 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
1750 once_value_40
= fra
.me
.REG
[4];
1751 register_static_object(&once_value_40
);
1752 } else fra
.me
.REG
[4] = once_value_40
;
1753 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1754 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1755 once_value_39
= fra
.me
.REG
[4];
1756 register_static_object(&once_value_39
);
1757 } else fra
.me
.REG
[4] = once_value_39
;
1758 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1759 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1760 if (UNTAG_Bool(REGB1
)) {
1762 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1765 if (UNTAG_Bool(REGB1
)) {
1766 /* primitive_info.nit:210 */
1768 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1769 if (!once_value_41
) {
1770 fra
.me
.REG
[3] = BOX_NativeString("new_");
1772 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1773 once_value_41
= fra
.me
.REG
[3];
1774 register_static_object(&once_value_41
);
1775 } else fra
.me
.REG
[3] = once_value_41
;
1776 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1778 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1779 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1780 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1781 if (!once_value_42
) {
1782 fra
.me
.REG
[3] = BOX_NativeString("");
1784 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1785 once_value_42
= fra
.me
.REG
[3];
1786 register_static_object(&once_value_42
);
1787 } else fra
.me
.REG
[3] = once_value_42
;
1788 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1789 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1790 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1791 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1794 /* primitive_info.nit:212 */
1796 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1797 if (!once_value_43
) {
1798 fra
.me
.REG
[3] = BOX_NativeString("new_");
1800 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
1801 once_value_43
= fra
.me
.REG
[3];
1802 register_static_object(&once_value_43
);
1803 } else fra
.me
.REG
[3] = once_value_43
;
1804 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1806 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1807 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1808 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1809 if (!once_value_44
) {
1810 fra
.me
.REG
[1] = BOX_NativeString("_");
1812 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
1813 once_value_44
= fra
.me
.REG
[1];
1814 register_static_object(&once_value_44
);
1815 } else fra
.me
.REG
[1] = once_value_44
;
1816 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1817 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1818 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1819 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1820 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1821 if (!once_value_45
) {
1822 fra
.me
.REG
[0] = BOX_NativeString("");
1824 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB1
);
1825 once_value_45
= fra
.me
.REG
[0];
1826 register_static_object(&once_value_45
);
1827 } else fra
.me
.REG
[0] = once_value_45
;
1828 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1830 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1831 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1836 stack_frame_head
= fra
.me
.prev
;
1837 return fra
.me
.REG
[2];