1 /* This C file is generated by NIT to compile module primitive_info. */
2 #include "primitive_info._sep.h"
3 static const char LOCATE_primitive_info___MMLocalClass___extern_c_type
[] = "primitive_info::MMLocalClass::extern_c_type";
4 val_t
primitive_info___MMLocalClass___extern_c_type(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_primitive_info
;
10 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___extern_c_type
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 /* primitive_info.nit:25 */
15 nit_abort("Deferred method called", NULL
, LOCATE_primitive_info
, 25);
16 stack_frame_head
= fra
.me
.prev
;
19 static const char LOCATE_primitive_info___MMLocalClass___primitive_info
[] = "primitive_info::MMLocalClass::primitive_info";
20 val_t
primitive_info___MMLocalClass___primitive_info(val_t p0
){
21 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
26 static val_t once_value_2
; /* Once value */
27 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
28 fra
.me
.file
= LOCATE_primitive_info
;
30 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___primitive_info
;
33 fra
.me
.nitni_local_ref_head
= NULL
;
34 fra
.me
.REG
[0] = NIT_NULL
;
35 fra
.me
.REG
[1] = NIT_NULL
;
36 fra
.me
.REG
[2] = NIT_NULL
;
37 fra
.me
.REG
[3] = NIT_NULL
;
38 fra
.me
.REG
[4] = NIT_NULL
;
40 /* primitive_info.nit:38 */
41 REGB0
= TAG_Bool(ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0])!=NIT_NULL
);
42 if (UNTAG_Bool(REGB0
)) {
44 nit_abort("Uninitialized attribute %s", "_primitive_info_b", LOCATE_primitive_info
, 38);
46 REGB0
= ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]);
48 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
49 if (UNTAG_Bool(REGB2
)) {
51 /* ../lib/standard/kernel.nit:199 */
52 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
53 /* primitive_info.nit:38 */
56 if (UNTAG_Bool(REGB2
)) {
57 fra
.me
.REG
[1] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
60 /* primitive_info.nit:40 */
62 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_ctypes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
63 once_value_2
= fra
.me
.REG
[2];
64 register_static_object(&once_value_2
);
65 } else fra
.me
.REG
[2] = once_value_2
;
66 fra
.me
.REG
[2] = fra
.me
.REG
[2];
67 /* primitive_info.nit:41 */
68 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
69 REGB2
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
70 if (UNTAG_Bool(REGB2
)) {
71 /* primitive_info.nit:42 */
72 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
73 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
74 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
75 /* primitive_info.nit:43 */
77 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
78 /* primitive_info.nit:44 */
79 fra
.me
.REG
[3] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
80 fra
.me
.REG
[1] = fra
.me
.REG
[3];
83 /* primitive_info.nit:46 */
84 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
85 REGB2
= CALL_metamodel___abstractmetamodel___MMGlobalClass___is_extern(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
86 if (UNTAG_Bool(REGB2
)) {
87 /* primitive_info.nit:47 */
88 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
90 fra
.me
.REG
[4] = CALL_primitive_info___MMLocalClass___extern_c_type(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
91 fra
.me
.REG
[4] = NEW_PrimitiveInfo_primitive_info___PrimitiveInfo___init(fra
.me
.REG
[3], REGB2
, fra
.me
.REG
[4]);
92 /* primitive_info.nit:48 */
93 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
94 /* primitive_info.nit:49 */
96 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
97 /* primitive_info.nit:50 */
98 fra
.me
.REG
[4] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
99 fra
.me
.REG
[1] = fra
.me
.REG
[4];
102 /* primitive_info.nit:52 */
103 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
104 /* primitive_info.nit:53 */
106 REGB2
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
107 if (UNTAG_Bool(REGB2
)) {
108 /* primitive_info.nit:54 */
109 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
110 /* primitive_info.nit:55 */
111 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
112 REGB2
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
113 if (UNTAG_Bool(REGB2
)) {
114 /* primitive_info.nit:56 */
115 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
116 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
117 /* primitive_info.nit:57 */
118 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
119 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
120 if (UNTAG_Bool(REGB2
)) {
121 /* primitive_info.nit:58 */
122 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
123 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[4];
124 /* primitive_info.nit:59 */
126 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
127 /* primitive_info.nit:60 */
128 fra
.me
.REG
[4] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
129 fra
.me
.REG
[1] = fra
.me
.REG
[4];
133 /* primitive_info.nit:63 */
134 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
136 /* primitive_info.nit:53 */
141 /* primitive_info.nit:65 */
143 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
144 /* primitive_info.nit:66 */
145 fra
.me
.REG
[1] = NIT_NULL
;
148 stack_frame_head
= fra
.me
.prev
;
149 return fra
.me
.REG
[1];
151 static const char LOCATE_primitive_info___MMLocalClass___primitive_ctypes
[] = "primitive_info::MMLocalClass::primitive_ctypes";
152 val_t
primitive_info___MMLocalClass___primitive_ctypes(val_t p0
){
153 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
161 static val_t once_value_1
; /* Once value */
162 static val_t once_value_2
; /* Once value */
163 static val_t once_value_3
; /* Once value */
164 static val_t once_value_4
; /* Once value */
165 static val_t once_value_5
; /* Once value */
166 static val_t once_value_6
; /* Once value */
167 static val_t once_value_7
; /* Once value */
168 static val_t once_value_8
; /* Once value */
169 static val_t once_value_9
; /* Once value */
170 static val_t once_value_10
; /* Once value */
171 static val_t once_value_11
; /* Once value */
172 static val_t once_value_12
; /* Once value */
173 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
174 fra
.me
.file
= LOCATE_primitive_info
;
176 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___primitive_ctypes
;
177 fra
.me
.has_broke
= 0;
179 fra
.me
.nitni_local_ref_head
= NULL
;
180 fra
.me
.REG
[0] = NIT_NULL
;
181 fra
.me
.REG
[1] = NIT_NULL
;
182 fra
.me
.REG
[2] = NIT_NULL
;
183 fra
.me
.REG
[3] = NIT_NULL
;
184 fra
.me
.REG
[4] = NIT_NULL
;
185 fra
.me
.REG
[5] = NIT_NULL
;
186 fra
.me
.REG
[6] = NIT_NULL
;
188 /* primitive_info.nit:72 */
189 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
190 /* primitive_info.nit:73 */
192 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
194 fra
.me
.REG
[2] = BOX_NativeString("Int");
196 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
197 once_value_1
= fra
.me
.REG
[2];
198 register_static_object(&once_value_1
);
199 } else fra
.me
.REG
[2] = once_value_1
;
200 fra
.me
.REG
[2] = fra
.me
.REG
[2];
201 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
203 fra
.me
.REG
[2] = BOX_NativeString("Char");
205 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
206 once_value_2
= fra
.me
.REG
[2];
207 register_static_object(&once_value_2
);
208 } else fra
.me
.REG
[2] = once_value_2
;
209 fra
.me
.REG
[2] = fra
.me
.REG
[2];
210 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
212 fra
.me
.REG
[2] = BOX_NativeString("Bool");
214 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
215 once_value_3
= fra
.me
.REG
[2];
216 register_static_object(&once_value_3
);
217 } else fra
.me
.REG
[2] = once_value_3
;
218 fra
.me
.REG
[2] = fra
.me
.REG
[2];
219 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
221 fra
.me
.REG
[2] = BOX_NativeString("Float");
223 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
224 once_value_4
= fra
.me
.REG
[2];
225 register_static_object(&once_value_4
);
226 } else fra
.me
.REG
[2] = once_value_4
;
227 fra
.me
.REG
[2] = fra
.me
.REG
[2];
228 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
230 fra
.me
.REG
[2] = BOX_NativeString("NativeString");
232 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
233 once_value_5
= fra
.me
.REG
[2];
234 register_static_object(&once_value_5
);
235 } else fra
.me
.REG
[2] = once_value_5
;
236 fra
.me
.REG
[2] = fra
.me
.REG
[2];
237 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
239 fra
.me
.REG
[2] = BOX_NativeString("Pointer");
241 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
242 once_value_6
= fra
.me
.REG
[2];
243 register_static_object(&once_value_6
);
244 } else fra
.me
.REG
[2] = once_value_6
;
245 fra
.me
.REG
[2] = fra
.me
.REG
[2];
246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
247 /* primitive_info.nit:74 */
249 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
251 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
253 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
255 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
259 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
262 /* primitive_info.nit:75 */
264 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
266 fra
.me
.REG
[4] = BOX_NativeString("bigint");
268 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
269 once_value_7
= fra
.me
.REG
[4];
270 register_static_object(&once_value_7
);
271 } else fra
.me
.REG
[4] = once_value_7
;
272 fra
.me
.REG
[4] = fra
.me
.REG
[4];
273 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
275 fra
.me
.REG
[4] = BOX_NativeString("char");
277 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
278 once_value_8
= fra
.me
.REG
[4];
279 register_static_object(&once_value_8
);
280 } else fra
.me
.REG
[4] = once_value_8
;
281 fra
.me
.REG
[4] = fra
.me
.REG
[4];
282 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
284 fra
.me
.REG
[4] = BOX_NativeString("int");
286 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
287 once_value_9
= fra
.me
.REG
[4];
288 register_static_object(&once_value_9
);
289 } else fra
.me
.REG
[4] = once_value_9
;
290 fra
.me
.REG
[4] = fra
.me
.REG
[4];
291 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
292 if (!once_value_10
) {
293 fra
.me
.REG
[4] = BOX_NativeString("float");
295 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
296 once_value_10
= fra
.me
.REG
[4];
297 register_static_object(&once_value_10
);
298 } else fra
.me
.REG
[4] = once_value_10
;
299 fra
.me
.REG
[4] = fra
.me
.REG
[4];
300 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
301 if (!once_value_11
) {
302 fra
.me
.REG
[4] = BOX_NativeString("char *");
304 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
305 once_value_11
= fra
.me
.REG
[4];
306 register_static_object(&once_value_11
);
307 } else fra
.me
.REG
[4] = once_value_11
;
308 fra
.me
.REG
[4] = fra
.me
.REG
[4];
309 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
310 if (!once_value_12
) {
311 fra
.me
.REG
[4] = BOX_NativeString("void *");
313 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
314 once_value_12
= fra
.me
.REG
[4];
315 register_static_object(&once_value_12
);
316 } else fra
.me
.REG
[4] = once_value_12
;
317 fra
.me
.REG
[4] = fra
.me
.REG
[4];
318 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
319 /* primitive_info.nit:76 */
321 /* ../lib/standard/collection/array.nit:24 */
322 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
323 if (UNTAG_Bool(REGB1
)) {
325 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
327 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
328 /* ../lib/standard/kernel.nit:404 */
330 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
331 if (UNTAG_Bool(REGB2
)) {
333 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
335 /* ../lib/standard/kernel.nit:242 */
336 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
337 /* ../lib/standard/kernel.nit:404 */
338 if (UNTAG_Bool(REGB2
)) {
339 /* primitive_info.nit:76 */
341 /* ../lib/standard/collection/array.nit:279 */
342 fra
.me
.REG
[4] = fra
.me
.REG
[1];
344 /* ../lib/standard/collection/array.nit:281 */
346 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
347 if (UNTAG_Bool(REGB5
)) {
349 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
351 /* ../lib/standard/kernel.nit:243 */
352 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
353 /* ../lib/standard/collection/array.nit:281 */
354 if (UNTAG_Bool(REGB4
)) {
355 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
356 if (UNTAG_Bool(REGB4
)) {
358 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
360 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
361 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
362 if (UNTAG_Bool(REGB5
)) {
364 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
366 /* ../lib/standard/kernel.nit:242 */
367 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
369 /* ../lib/standard/collection/array.nit:281 */
373 if (UNTAG_Bool(REGB4
)) {
375 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
377 /* ../lib/standard/collection/array.nit:282 */
378 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
379 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
380 if (UNTAG_Bool(REGB4
)) {
381 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
383 /* ../lib/standard/collection/array.nit:725 */
384 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
385 /* ../lib/standard/collection/array.nit:282 */
388 /* primitive_info.nit:77 */
389 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
390 if (UNTAG_Bool(REGB3
)) {
391 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 77);
393 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
394 /* ../lib/standard/collection/array.nit:279 */
395 fra
.me
.REG
[5] = fra
.me
.REG
[2];
397 /* ../lib/standard/collection/array.nit:281 */
399 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
400 if (UNTAG_Bool(REGB5
)) {
402 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
404 /* ../lib/standard/kernel.nit:243 */
405 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
406 /* ../lib/standard/collection/array.nit:281 */
407 if (UNTAG_Bool(REGB4
)) {
408 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
409 if (UNTAG_Bool(REGB4
)) {
411 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
413 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
414 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
415 if (UNTAG_Bool(REGB5
)) {
417 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
419 /* ../lib/standard/kernel.nit:242 */
420 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
422 /* ../lib/standard/collection/array.nit:281 */
426 if (UNTAG_Bool(REGB4
)) {
428 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
430 /* ../lib/standard/collection/array.nit:282 */
431 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
432 REGB4
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
433 if (UNTAG_Bool(REGB4
)) {
434 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
436 /* ../lib/standard/collection/array.nit:725 */
437 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB3
)];
438 /* ../lib/standard/collection/array.nit:282 */
441 /* ../lib/standard/collection/array.nit:279 */
442 fra
.me
.REG
[6] = fra
.me
.REG
[3];
443 /* ../lib/standard/collection/array.nit:281 */
445 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
446 if (UNTAG_Bool(REGB4
)) {
448 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
450 /* ../lib/standard/kernel.nit:243 */
451 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
452 /* ../lib/standard/collection/array.nit:281 */
453 if (UNTAG_Bool(REGB3
)) {
454 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
455 if (UNTAG_Bool(REGB3
)) {
457 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
459 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
460 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
461 if (UNTAG_Bool(REGB4
)) {
463 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
465 /* ../lib/standard/kernel.nit:242 */
466 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
468 /* ../lib/standard/collection/array.nit:281 */
472 if (UNTAG_Bool(REGB3
)) {
474 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
476 /* ../lib/standard/collection/array.nit:282 */
477 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
478 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
479 if (UNTAG_Bool(REGB3
)) {
480 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
482 /* ../lib/standard/collection/array.nit:725 */
483 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
484 /* ../lib/standard/collection/array.nit:282 */
487 /* primitive_info.nit:78 */
488 fra
.me
.REG
[6] = NEW_PrimitiveInfo_primitive_info___PrimitiveInfo___init(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
489 /* primitive_info.nit:79 */
490 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[6]);
491 /* ../lib/standard/kernel.nit:406 */
493 /* ../lib/standard/kernel.nit:245 */
494 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
495 /* ../lib/standard/kernel.nit:406 */
498 /* ../lib/standard/kernel.nit:404 */
503 /* primitive_info.nit:81 */
506 stack_frame_head
= fra
.me
.prev
;
507 return fra
.me
.REG
[0];
509 static const char LOCATE_primitive_info___PrimitiveInfo___name
[] = "primitive_info::PrimitiveInfo::name";
510 val_t
primitive_info___PrimitiveInfo___name(val_t p0
){
511 struct {struct stack_frame_t me
;} fra
;
514 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
515 fra
.me
.file
= LOCATE_primitive_info
;
517 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___name
;
518 fra
.me
.has_broke
= 0;
520 fra
.me
.nitni_local_ref_head
= NULL
;
521 fra
.me
.REG
[0] = NIT_NULL
;
523 /* primitive_info.nit:87 */
524 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0])!=NIT_NULL
);
525 if (UNTAG_Bool(REGB0
)) {
527 nit_abort("Uninitialized attribute %s", "_name", LOCATE_primitive_info
, 87);
529 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]);
530 stack_frame_head
= fra
.me
.prev
;
531 return fra
.me
.REG
[0];
533 static const char LOCATE_primitive_info___PrimitiveInfo___tagged
[] = "primitive_info::PrimitiveInfo::tagged";
534 val_t
primitive_info___PrimitiveInfo___tagged(val_t p0
){
535 struct {struct stack_frame_t me
;} fra
;
538 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
539 fra
.me
.file
= LOCATE_primitive_info
;
541 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___tagged
;
542 fra
.me
.has_broke
= 0;
544 fra
.me
.nitni_local_ref_head
= NULL
;
545 fra
.me
.REG
[0] = NIT_NULL
;
547 /* primitive_info.nit:90 */
548 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0])!=NIT_NULL
);
549 if (UNTAG_Bool(REGB0
)) {
551 nit_abort("Uninitialized attribute %s", "_tagged", LOCATE_primitive_info
, 90);
553 REGB0
= ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]);
554 stack_frame_head
= fra
.me
.prev
;
557 static const char LOCATE_primitive_info___PrimitiveInfo___cname
[] = "primitive_info::PrimitiveInfo::cname";
558 val_t
primitive_info___PrimitiveInfo___cname(val_t p0
){
559 struct {struct stack_frame_t me
;} fra
;
562 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
563 fra
.me
.file
= LOCATE_primitive_info
;
565 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___cname
;
566 fra
.me
.has_broke
= 0;
568 fra
.me
.nitni_local_ref_head
= NULL
;
569 fra
.me
.REG
[0] = NIT_NULL
;
571 /* primitive_info.nit:93 */
572 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0])!=NIT_NULL
);
573 if (UNTAG_Bool(REGB0
)) {
575 nit_abort("Uninitialized attribute %s", "_cname", LOCATE_primitive_info
, 93);
577 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]);
578 stack_frame_head
= fra
.me
.prev
;
579 return fra
.me
.REG
[0];
581 static const char LOCATE_primitive_info___PrimitiveInfo___init
[] = "primitive_info::PrimitiveInfo::init";
582 void primitive_info___PrimitiveInfo___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
583 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_primitive_info___PrimitiveInfo
].i
;
584 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
587 if (init_table
[itpos0
]) return;
588 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
589 fra
.me
.file
= LOCATE_primitive_info
;
591 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___init
;
592 fra
.me
.has_broke
= 0;
594 fra
.me
.nitni_local_ref_head
= NULL
;
595 fra
.me
.REG
[0] = NIT_NULL
;
596 fra
.me
.REG
[1] = NIT_NULL
;
597 fra
.me
.REG
[2] = NIT_NULL
;
602 /* primitive_info.nit:98 */
603 ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
604 /* primitive_info.nit:99 */
605 ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]) = REGB0
;
606 /* primitive_info.nit:100 */
607 ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
608 stack_frame_head
= fra
.me
.prev
;
609 init_table
[itpos0
] = 1;
612 static const char LOCATE_primitive_info___MMType___cname
[] = "primitive_info::MMType::cname";
613 val_t
primitive_info___MMType___cname(val_t p0
){
614 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
618 static val_t once_value_1
; /* Once value */
619 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
620 fra
.me
.file
= LOCATE_primitive_info
;
622 fra
.me
.meth
= LOCATE_primitive_info___MMType___cname
;
623 fra
.me
.has_broke
= 0;
625 fra
.me
.nitni_local_ref_head
= NULL
;
626 fra
.me
.REG
[0] = NIT_NULL
;
627 fra
.me
.REG
[1] = NIT_NULL
;
629 /* primitive_info.nit:108 */
630 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
631 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
632 /* primitive_info.nit:109 */
633 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
634 if (UNTAG_Bool(REGB0
)) {
636 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
637 if (UNTAG_Bool(REGB1
)) {
641 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
645 if (UNTAG_Bool(REGB0
)) {
646 /* primitive_info.nit:110 */
648 fra
.me
.REG
[1] = BOX_NativeString("val_t");
650 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
651 once_value_1
= fra
.me
.REG
[1];
652 register_static_object(&once_value_1
);
653 } else fra
.me
.REG
[1] = once_value_1
;
654 fra
.me
.REG
[1] = fra
.me
.REG
[1];
657 /* primitive_info.nit:112 */
658 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
659 if (UNTAG_Bool(REGB0
)) {
660 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 112);
662 fra
.me
.REG
[0] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
663 fra
.me
.REG
[1] = fra
.me
.REG
[0];
667 stack_frame_head
= fra
.me
.prev
;
668 return fra
.me
.REG
[1];
670 static const char LOCATE_primitive_info___MMType___is_tagged
[] = "primitive_info::MMType::is_tagged";
671 val_t
primitive_info___MMType___is_tagged(val_t p0
){
672 struct {struct stack_frame_t me
;} fra
;
677 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
678 fra
.me
.file
= LOCATE_primitive_info
;
680 fra
.me
.meth
= LOCATE_primitive_info___MMType___is_tagged
;
681 fra
.me
.has_broke
= 0;
683 fra
.me
.nitni_local_ref_head
= NULL
;
684 fra
.me
.REG
[0] = NIT_NULL
;
686 /* primitive_info.nit:119 */
687 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
688 if (UNTAG_Bool(REGB0
)) {
692 /* primitive_info.nit:120 */
693 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
694 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
695 /* primitive_info.nit:121 */
696 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
697 if (UNTAG_Bool(REGB1
)) {
699 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
700 if (UNTAG_Bool(REGB2
)) {
704 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
708 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
709 if (UNTAG_Bool(REGB1
)) {
710 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
711 if (UNTAG_Bool(REGB1
)) {
712 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 121);
714 REGB1
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
722 stack_frame_head
= fra
.me
.prev
;
725 static const char LOCATE_primitive_info___MMType___default_cvalue
[] = "primitive_info::MMType::default_cvalue";
726 val_t
primitive_info___MMType___default_cvalue(val_t p0
){
727 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
731 static val_t once_value_1
; /* Once value */
732 static val_t once_value_2
; /* Once value */
733 static val_t once_value_3
; /* Once value */
734 static val_t once_value_5
; /* Once value */
735 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
736 fra
.me
.file
= LOCATE_primitive_info
;
738 fra
.me
.meth
= LOCATE_primitive_info___MMType___default_cvalue
;
739 fra
.me
.has_broke
= 0;
741 fra
.me
.nitni_local_ref_head
= NULL
;
742 fra
.me
.REG
[0] = NIT_NULL
;
743 fra
.me
.REG
[1] = NIT_NULL
;
744 fra
.me
.REG
[2] = NIT_NULL
;
745 fra
.me
.REG
[3] = NIT_NULL
;
747 /* primitive_info.nit:128 */
748 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
749 fra
.me
.REG
[1] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
750 /* primitive_info.nit:129 */
751 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
752 if (UNTAG_Bool(REGB0
)) {
754 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
755 if (UNTAG_Bool(REGB1
)) {
759 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
763 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
764 if (UNTAG_Bool(REGB0
)) {
765 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
766 if (UNTAG_Bool(REGB0
)) {
767 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 129);
769 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
774 if (UNTAG_Bool(REGB0
)) {
775 /* primitive_info.nit:130 */
777 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
779 fra
.me
.REG
[3] = BOX_NativeString("TAG_");
781 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
782 once_value_1
= fra
.me
.REG
[3];
783 register_static_object(&once_value_1
);
784 } else fra
.me
.REG
[3] = once_value_1
;
785 fra
.me
.REG
[3] = fra
.me
.REG
[3];
786 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
787 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
788 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
789 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
790 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
792 fra
.me
.REG
[0] = BOX_NativeString("((");
794 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
795 once_value_2
= fra
.me
.REG
[0];
796 register_static_object(&once_value_2
);
797 } else fra
.me
.REG
[0] = once_value_2
;
798 fra
.me
.REG
[0] = fra
.me
.REG
[0];
799 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
800 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
801 if (UNTAG_Bool(REGB0
)) {
802 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 130);
804 fra
.me
.REG
[1] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
805 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
807 fra
.me
.REG
[1] = BOX_NativeString(")0)");
809 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
810 once_value_3
= fra
.me
.REG
[1];
811 register_static_object(&once_value_3
);
812 } else fra
.me
.REG
[1] = once_value_3
;
813 fra
.me
.REG
[1] = fra
.me
.REG
[1];
814 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
815 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
818 /* primitive_info.nit:132 */
820 fra
.me
.REG
[1] = BOX_NativeString("NIT_NULL");
822 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
823 once_value_5
= fra
.me
.REG
[1];
824 register_static_object(&once_value_5
);
825 } else fra
.me
.REG
[1] = once_value_5
;
826 fra
.me
.REG
[1] = fra
.me
.REG
[1];
827 fra
.me
.REG
[2] = fra
.me
.REG
[1];
831 stack_frame_head
= fra
.me
.prev
;
832 return fra
.me
.REG
[2];
834 static const char LOCATE_primitive_info___MMType___boxtype
[] = "primitive_info::MMType::boxtype";
835 val_t
primitive_info___MMType___boxtype(val_t p0
, val_t p1
){
836 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
840 static val_t once_value_2
; /* Once value */
841 static val_t once_value_3
; /* Once value */
842 static val_t once_value_4
; /* Once value */
843 static val_t once_value_5
; /* Once value */
844 static val_t once_value_6
; /* Once value */
845 static val_t once_value_7
; /* Once value */
846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
847 fra
.me
.file
= LOCATE_primitive_info
;
849 fra
.me
.meth
= LOCATE_primitive_info___MMType___boxtype
;
850 fra
.me
.has_broke
= 0;
852 fra
.me
.nitni_local_ref_head
= NULL
;
853 fra
.me
.REG
[0] = NIT_NULL
;
854 fra
.me
.REG
[1] = NIT_NULL
;
855 fra
.me
.REG
[2] = NIT_NULL
;
856 fra
.me
.REG
[3] = NIT_NULL
;
857 fra
.me
.REG
[4] = NIT_NULL
;
860 /* primitive_info.nit:140 */
861 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
862 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
863 /* primitive_info.nit:141 */
864 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
865 if (UNTAG_Bool(REGB0
)) {
867 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
868 if (UNTAG_Bool(REGB1
)) {
872 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
876 if (UNTAG_Bool(REGB0
)) {
879 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
882 if (UNTAG_Bool(REGB0
)) {
883 /* primitive_info.nit:142 */
884 fra
.me
.REG
[3] = fra
.me
.REG
[1];
887 /* primitive_info.nit:143 */
888 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
889 if (UNTAG_Bool(REGB0
)) {
890 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 143);
892 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
893 if (UNTAG_Bool(REGB0
)) {
894 /* primitive_info.nit:144 */
896 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
898 fra
.me
.REG
[4] = BOX_NativeString("TAG_");
900 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
901 once_value_2
= fra
.me
.REG
[4];
902 register_static_object(&once_value_2
);
903 } else fra
.me
.REG
[4] = once_value_2
;
904 fra
.me
.REG
[4] = fra
.me
.REG
[4];
905 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
906 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
907 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
908 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
909 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
911 fra
.me
.REG
[4] = BOX_NativeString("(");
913 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
914 once_value_3
= fra
.me
.REG
[4];
915 register_static_object(&once_value_3
);
916 } else fra
.me
.REG
[4] = once_value_3
;
917 fra
.me
.REG
[4] = fra
.me
.REG
[4];
918 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
919 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
921 fra
.me
.REG
[4] = BOX_NativeString(")");
923 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
924 once_value_4
= fra
.me
.REG
[4];
925 register_static_object(&once_value_4
);
926 } else fra
.me
.REG
[4] = once_value_4
;
927 fra
.me
.REG
[4] = fra
.me
.REG
[4];
928 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
929 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
930 fra
.me
.REG
[3] = fra
.me
.REG
[2];
933 /* primitive_info.nit:146 */
935 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
937 fra
.me
.REG
[4] = BOX_NativeString("BOX_");
939 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
940 once_value_5
= fra
.me
.REG
[4];
941 register_static_object(&once_value_5
);
942 } else fra
.me
.REG
[4] = once_value_5
;
943 fra
.me
.REG
[4] = fra
.me
.REG
[4];
944 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
945 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
946 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
947 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
948 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
950 fra
.me
.REG
[0] = BOX_NativeString("(");
952 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
953 once_value_6
= fra
.me
.REG
[0];
954 register_static_object(&once_value_6
);
955 } else fra
.me
.REG
[0] = once_value_6
;
956 fra
.me
.REG
[0] = fra
.me
.REG
[0];
957 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
958 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
960 fra
.me
.REG
[1] = BOX_NativeString(")");
962 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
963 once_value_7
= fra
.me
.REG
[1];
964 register_static_object(&once_value_7
);
965 } else fra
.me
.REG
[1] = once_value_7
;
966 fra
.me
.REG
[1] = fra
.me
.REG
[1];
967 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
968 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
969 fra
.me
.REG
[3] = fra
.me
.REG
[2];
974 stack_frame_head
= fra
.me
.prev
;
975 return fra
.me
.REG
[3];
977 static const char LOCATE_primitive_info___MMType___unboxtype
[] = "primitive_info::MMType::unboxtype";
978 val_t
primitive_info___MMType___unboxtype(val_t p0
, val_t p1
){
979 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
983 static val_t once_value_2
; /* Once value */
984 static val_t once_value_3
; /* Once value */
985 static val_t once_value_4
; /* Once value */
986 static val_t once_value_5
; /* Once value */
987 static val_t once_value_6
; /* Once value */
988 static val_t once_value_7
; /* Once value */
989 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
990 fra
.me
.file
= LOCATE_primitive_info
;
992 fra
.me
.meth
= LOCATE_primitive_info___MMType___unboxtype
;
993 fra
.me
.has_broke
= 0;
995 fra
.me
.nitni_local_ref_head
= NULL
;
996 fra
.me
.REG
[0] = NIT_NULL
;
997 fra
.me
.REG
[1] = NIT_NULL
;
998 fra
.me
.REG
[2] = NIT_NULL
;
999 fra
.me
.REG
[3] = NIT_NULL
;
1000 fra
.me
.REG
[4] = NIT_NULL
;
1003 /* primitive_info.nit:154 */
1004 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1005 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1006 /* primitive_info.nit:155 */
1007 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1008 if (UNTAG_Bool(REGB0
)) {
1010 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1011 if (UNTAG_Bool(REGB1
)) {
1012 REGB1
= TAG_Bool(0);
1015 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1019 if (UNTAG_Bool(REGB0
)) {
1020 REGB0
= TAG_Bool(1);
1022 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1025 if (UNTAG_Bool(REGB0
)) {
1026 /* primitive_info.nit:156 */
1027 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1030 /* primitive_info.nit:157 */
1031 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1032 if (UNTAG_Bool(REGB0
)) {
1033 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 157);
1035 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1036 if (UNTAG_Bool(REGB0
)) {
1037 /* primitive_info.nit:158 */
1039 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1040 if (!once_value_2
) {
1041 fra
.me
.REG
[4] = BOX_NativeString("UNTAG_");
1043 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1044 once_value_2
= fra
.me
.REG
[4];
1045 register_static_object(&once_value_2
);
1046 } else fra
.me
.REG
[4] = once_value_2
;
1047 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1048 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1049 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1050 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1051 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1052 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1053 if (!once_value_3
) {
1054 fra
.me
.REG
[4] = BOX_NativeString("(");
1056 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1057 once_value_3
= fra
.me
.REG
[4];
1058 register_static_object(&once_value_3
);
1059 } else fra
.me
.REG
[4] = once_value_3
;
1060 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1061 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1062 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1063 if (!once_value_4
) {
1064 fra
.me
.REG
[4] = BOX_NativeString(")");
1066 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1067 once_value_4
= fra
.me
.REG
[4];
1068 register_static_object(&once_value_4
);
1069 } else fra
.me
.REG
[4] = once_value_4
;
1070 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1071 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1072 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1073 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1076 /* primitive_info.nit:160 */
1078 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1079 if (!once_value_5
) {
1080 fra
.me
.REG
[4] = BOX_NativeString("UNBOX_");
1082 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1083 once_value_5
= fra
.me
.REG
[4];
1084 register_static_object(&once_value_5
);
1085 } else fra
.me
.REG
[4] = once_value_5
;
1086 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1087 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1088 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1089 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1090 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1091 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1092 if (!once_value_6
) {
1093 fra
.me
.REG
[0] = BOX_NativeString("(");
1095 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1096 once_value_6
= fra
.me
.REG
[0];
1097 register_static_object(&once_value_6
);
1098 } else fra
.me
.REG
[0] = once_value_6
;
1099 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1100 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1101 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1102 if (!once_value_7
) {
1103 fra
.me
.REG
[1] = BOX_NativeString(")");
1105 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1106 once_value_7
= fra
.me
.REG
[1];
1107 register_static_object(&once_value_7
);
1108 } else fra
.me
.REG
[1] = once_value_7
;
1109 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1110 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1111 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1112 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1117 stack_frame_head
= fra
.me
.prev
;
1118 return fra
.me
.REG
[3];
1120 static const char LOCATE_primitive_info___MMMethod___default_extern_name
[] = "primitive_info::MMMethod::default_extern_name";
1121 val_t
primitive_info___MMMethod___default_extern_name(val_t p0
){
1122 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1125 static val_t once_value_1
; /* Once value */
1126 static val_t once_value_2
; /* Once value */
1127 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1128 fra
.me
.file
= LOCATE_primitive_info
;
1130 fra
.me
.meth
= LOCATE_primitive_info___MMMethod___default_extern_name
;
1131 fra
.me
.has_broke
= 0;
1132 fra
.me
.REG_size
= 3;
1133 fra
.me
.nitni_local_ref_head
= NULL
;
1134 fra
.me
.REG
[0] = NIT_NULL
;
1135 fra
.me
.REG
[1] = NIT_NULL
;
1136 fra
.me
.REG
[2] = NIT_NULL
;
1138 /* primitive_info.nit:168 */
1140 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
1141 if (!once_value_1
) {
1142 fra
.me
.REG
[2] = BOX_NativeString("");
1144 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
1145 once_value_1
= fra
.me
.REG
[2];
1146 register_static_object(&once_value_1
);
1147 } else fra
.me
.REG
[2] = once_value_1
;
1148 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1149 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1150 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1151 fra
.me
.REG
[2] = CALL_primitive_info___MMMethod___friendly_extern_name(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1152 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1153 if (!once_value_2
) {
1154 fra
.me
.REG
[2] = BOX_NativeString("___impl");
1156 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
1157 once_value_2
= fra
.me
.REG
[2];
1158 register_static_object(&once_value_2
);
1159 } else fra
.me
.REG
[2] = once_value_2
;
1160 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1161 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1162 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1165 stack_frame_head
= fra
.me
.prev
;
1166 return fra
.me
.REG
[1];
1168 static const char LOCATE_primitive_info___MMMethod___friendly_extern_name
[] = "primitive_info::MMMethod::friendly_extern_name";
1169 val_t
primitive_info___MMMethod___friendly_extern_name(val_t p0
, val_t p1
){
1170 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1175 static val_t once_value_1
; /* Once value */
1176 static val_t once_value_2
; /* Once value */
1177 static val_t once_value_3
; /* Once value */
1178 static val_t once_value_4
; /* Once value */
1179 static val_t once_value_5
; /* Once value */
1180 static val_t once_value_6
; /* Once value */
1181 static val_t once_value_7
; /* Once value */
1182 static val_t once_value_8
; /* Once value */
1183 static val_t once_value_9
; /* Once value */
1184 static val_t once_value_10
; /* Once value */
1185 static val_t once_value_11
; /* Once value */
1186 static val_t once_value_12
; /* Once value */
1187 static val_t once_value_13
; /* Once value */
1188 static val_t once_value_14
; /* Once value */
1189 static val_t once_value_15
; /* Once value */
1190 static val_t once_value_16
; /* Once value */
1191 static val_t once_value_17
; /* Once value */
1192 static val_t once_value_18
; /* Once value */
1193 static val_t once_value_19
; /* Once value */
1194 static val_t once_value_20
; /* Once value */
1195 static val_t once_value_21
; /* Once value */
1196 static val_t once_value_22
; /* Once value */
1197 static val_t once_value_23
; /* Once value */
1198 static val_t once_value_24
; /* Once value */
1199 static val_t once_value_25
; /* Once value */
1200 static val_t once_value_26
; /* Once value */
1201 static val_t once_value_27
; /* Once value */
1202 static val_t once_value_28
; /* Once value */
1203 static val_t once_value_29
; /* Once value */
1204 static val_t once_value_30
; /* Once value */
1205 static val_t once_value_31
; /* Once value */
1206 static val_t once_value_32
; /* Once value */
1207 static val_t once_value_33
; /* Once value */
1208 static val_t once_value_34
; /* Once value */
1209 static val_t once_value_35
; /* Once value */
1210 static val_t once_value_36
; /* Once value */
1211 static val_t once_value_37
; /* Once value */
1212 static val_t once_value_39
; /* Once value */
1213 static val_t once_value_40
; /* Once value */
1214 static val_t once_value_41
; /* Once value */
1215 static val_t once_value_42
; /* Once value */
1216 static val_t once_value_43
; /* Once value */
1217 static val_t once_value_44
; /* Once value */
1218 static val_t once_value_45
; /* Once value */
1219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1220 fra
.me
.file
= LOCATE_primitive_info
;
1222 fra
.me
.meth
= LOCATE_primitive_info___MMMethod___friendly_extern_name
;
1223 fra
.me
.has_broke
= 0;
1224 fra
.me
.REG_size
= 6;
1225 fra
.me
.nitni_local_ref_head
= NULL
;
1226 fra
.me
.REG
[0] = NIT_NULL
;
1227 fra
.me
.REG
[1] = NIT_NULL
;
1228 fra
.me
.REG
[2] = NIT_NULL
;
1229 fra
.me
.REG
[3] = NIT_NULL
;
1230 fra
.me
.REG
[4] = NIT_NULL
;
1231 fra
.me
.REG
[5] = NIT_NULL
;
1234 /* primitive_info.nit:175 */
1235 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1236 REGB0
= CALL_metamodel___abstractmetamodel___MMGlobalProperty___is_init(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1237 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1238 if (UNTAG_Bool(REGB0
)) {
1239 /* primitive_info.nit:177 */
1240 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1241 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1242 /* primitive_info.nit:178 */
1243 if (!once_value_1
) {
1244 fra
.me
.REG
[3] = BOX_NativeString("+");
1246 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1247 once_value_1
= fra
.me
.REG
[3];
1248 register_static_object(&once_value_1
);
1249 } else fra
.me
.REG
[3] = once_value_1
;
1250 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1251 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[3]));
1252 if (UNTAG_Bool(REGB0
)) {
1254 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1257 if (UNTAG_Bool(REGB0
)) {
1258 /* primitive_info.nit:179 */
1259 if (!once_value_2
) {
1260 fra
.me
.REG
[3] = BOX_NativeString("_plus");
1262 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
1263 once_value_2
= fra
.me
.REG
[3];
1264 register_static_object(&once_value_2
);
1265 } else fra
.me
.REG
[3] = once_value_2
;
1266 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1268 /* primitive_info.nit:180 */
1269 if (!once_value_3
) {
1270 fra
.me
.REG
[4] = BOX_NativeString("-");
1272 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1273 once_value_3
= fra
.me
.REG
[4];
1274 register_static_object(&once_value_3
);
1275 } else fra
.me
.REG
[4] = once_value_3
;
1276 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1277 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1278 if (UNTAG_Bool(REGB0
)) {
1280 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1283 if (UNTAG_Bool(REGB0
)) {
1284 /* primitive_info.nit:181 */
1285 if (!once_value_4
) {
1286 fra
.me
.REG
[4] = BOX_NativeString("_minus");
1288 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1289 once_value_4
= fra
.me
.REG
[4];
1290 register_static_object(&once_value_4
);
1291 } else fra
.me
.REG
[4] = once_value_4
;
1292 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1293 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1295 /* primitive_info.nit:182 */
1296 if (!once_value_5
) {
1297 fra
.me
.REG
[4] = BOX_NativeString("*");
1299 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1300 once_value_5
= fra
.me
.REG
[4];
1301 register_static_object(&once_value_5
);
1302 } else fra
.me
.REG
[4] = once_value_5
;
1303 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1304 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1305 if (UNTAG_Bool(REGB0
)) {
1307 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1310 if (UNTAG_Bool(REGB0
)) {
1311 /* primitive_info.nit:183 */
1312 if (!once_value_6
) {
1313 fra
.me
.REG
[4] = BOX_NativeString("_star");
1315 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1316 once_value_6
= fra
.me
.REG
[4];
1317 register_static_object(&once_value_6
);
1318 } else fra
.me
.REG
[4] = once_value_6
;
1319 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1320 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1322 /* primitive_info.nit:184 */
1323 if (!once_value_7
) {
1324 fra
.me
.REG
[4] = BOX_NativeString("/");
1326 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1327 once_value_7
= fra
.me
.REG
[4];
1328 register_static_object(&once_value_7
);
1329 } else fra
.me
.REG
[4] = once_value_7
;
1330 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1331 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1332 if (UNTAG_Bool(REGB0
)) {
1334 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1337 if (UNTAG_Bool(REGB0
)) {
1338 /* primitive_info.nit:185 */
1339 if (!once_value_8
) {
1340 fra
.me
.REG
[4] = BOX_NativeString("_slash");
1342 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1343 once_value_8
= fra
.me
.REG
[4];
1344 register_static_object(&once_value_8
);
1345 } else fra
.me
.REG
[4] = once_value_8
;
1346 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1347 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1349 /* primitive_info.nit:186 */
1350 if (!once_value_9
) {
1351 fra
.me
.REG
[4] = BOX_NativeString("%");
1353 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1354 once_value_9
= fra
.me
.REG
[4];
1355 register_static_object(&once_value_9
);
1356 } else fra
.me
.REG
[4] = once_value_9
;
1357 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1358 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1359 if (UNTAG_Bool(REGB0
)) {
1361 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1364 if (UNTAG_Bool(REGB0
)) {
1365 /* primitive_info.nit:187 */
1366 if (!once_value_10
) {
1367 fra
.me
.REG
[4] = BOX_NativeString("_percent");
1369 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1370 once_value_10
= fra
.me
.REG
[4];
1371 register_static_object(&once_value_10
);
1372 } else fra
.me
.REG
[4] = once_value_10
;
1373 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1374 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1376 /* primitive_info.nit:188 */
1377 if (!once_value_11
) {
1378 fra
.me
.REG
[4] = BOX_NativeString("[]");
1380 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1381 once_value_11
= fra
.me
.REG
[4];
1382 register_static_object(&once_value_11
);
1383 } else fra
.me
.REG
[4] = once_value_11
;
1384 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1385 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1386 if (UNTAG_Bool(REGB0
)) {
1388 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1391 if (UNTAG_Bool(REGB0
)) {
1392 /* primitive_info.nit:189 */
1393 if (!once_value_12
) {
1394 fra
.me
.REG
[4] = BOX_NativeString("_index");
1396 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1397 once_value_12
= fra
.me
.REG
[4];
1398 register_static_object(&once_value_12
);
1399 } else fra
.me
.REG
[4] = once_value_12
;
1400 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1401 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1403 /* primitive_info.nit:190 */
1404 if (!once_value_13
) {
1405 fra
.me
.REG
[4] = BOX_NativeString("[]=");
1407 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1408 once_value_13
= fra
.me
.REG
[4];
1409 register_static_object(&once_value_13
);
1410 } else fra
.me
.REG
[4] = once_value_13
;
1411 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1412 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1413 if (UNTAG_Bool(REGB0
)) {
1415 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1418 if (UNTAG_Bool(REGB0
)) {
1419 /* primitive_info.nit:191 */
1420 if (!once_value_14
) {
1421 fra
.me
.REG
[4] = BOX_NativeString("_index_assign");
1422 REGB0
= TAG_Int(13);
1423 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1424 once_value_14
= fra
.me
.REG
[4];
1425 register_static_object(&once_value_14
);
1426 } else fra
.me
.REG
[4] = once_value_14
;
1427 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1428 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1430 /* primitive_info.nit:192 */
1431 if (!once_value_15
) {
1432 fra
.me
.REG
[4] = BOX_NativeString("==");
1434 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1435 once_value_15
= fra
.me
.REG
[4];
1436 register_static_object(&once_value_15
);
1437 } else fra
.me
.REG
[4] = once_value_15
;
1438 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1439 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1440 if (UNTAG_Bool(REGB0
)) {
1442 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1445 if (UNTAG_Bool(REGB0
)) {
1446 /* primitive_info.nit:193 */
1447 if (!once_value_16
) {
1448 fra
.me
.REG
[4] = BOX_NativeString("_equal");
1450 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1451 once_value_16
= fra
.me
.REG
[4];
1452 register_static_object(&once_value_16
);
1453 } else fra
.me
.REG
[4] = once_value_16
;
1454 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1455 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1457 /* primitive_info.nit:194 */
1458 if (!once_value_17
) {
1459 fra
.me
.REG
[4] = BOX_NativeString("<");
1461 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1462 once_value_17
= fra
.me
.REG
[4];
1463 register_static_object(&once_value_17
);
1464 } else fra
.me
.REG
[4] = once_value_17
;
1465 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1466 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1467 if (UNTAG_Bool(REGB0
)) {
1469 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1472 if (UNTAG_Bool(REGB0
)) {
1473 /* primitive_info.nit:195 */
1474 if (!once_value_18
) {
1475 fra
.me
.REG
[4] = BOX_NativeString("_less");
1477 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1478 once_value_18
= fra
.me
.REG
[4];
1479 register_static_object(&once_value_18
);
1480 } else fra
.me
.REG
[4] = once_value_18
;
1481 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1482 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1484 /* primitive_info.nit:196 */
1485 if (!once_value_19
) {
1486 fra
.me
.REG
[4] = BOX_NativeString(">");
1488 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1489 once_value_19
= fra
.me
.REG
[4];
1490 register_static_object(&once_value_19
);
1491 } else fra
.me
.REG
[4] = once_value_19
;
1492 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1493 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1494 if (UNTAG_Bool(REGB0
)) {
1496 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1499 if (UNTAG_Bool(REGB0
)) {
1500 /* primitive_info.nit:197 */
1501 if (!once_value_20
) {
1502 fra
.me
.REG
[4] = BOX_NativeString("_greater");
1504 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1505 once_value_20
= fra
.me
.REG
[4];
1506 register_static_object(&once_value_20
);
1507 } else fra
.me
.REG
[4] = once_value_20
;
1508 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1509 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1511 /* primitive_info.nit:198 */
1512 if (!once_value_21
) {
1513 fra
.me
.REG
[4] = BOX_NativeString("<=");
1515 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1516 once_value_21
= fra
.me
.REG
[4];
1517 register_static_object(&once_value_21
);
1518 } else fra
.me
.REG
[4] = once_value_21
;
1519 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1520 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1521 if (UNTAG_Bool(REGB0
)) {
1523 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1526 if (UNTAG_Bool(REGB0
)) {
1527 /* primitive_info.nit:199 */
1528 if (!once_value_22
) {
1529 fra
.me
.REG
[4] = BOX_NativeString("_less_or_equal");
1530 REGB0
= TAG_Int(14);
1531 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1532 once_value_22
= fra
.me
.REG
[4];
1533 register_static_object(&once_value_22
);
1534 } else fra
.me
.REG
[4] = once_value_22
;
1535 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1536 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1538 /* primitive_info.nit:200 */
1539 if (!once_value_23
) {
1540 fra
.me
.REG
[4] = BOX_NativeString(">=");
1542 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1543 once_value_23
= fra
.me
.REG
[4];
1544 register_static_object(&once_value_23
);
1545 } else fra
.me
.REG
[4] = once_value_23
;
1546 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1547 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1548 if (UNTAG_Bool(REGB0
)) {
1550 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1553 if (UNTAG_Bool(REGB0
)) {
1554 /* primitive_info.nit:201 */
1555 if (!once_value_24
) {
1556 fra
.me
.REG
[4] = BOX_NativeString("_ge");
1558 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1559 once_value_24
= fra
.me
.REG
[4];
1560 register_static_object(&once_value_24
);
1561 } else fra
.me
.REG
[4] = once_value_24
;
1562 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1563 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1565 /* primitive_info.nit:202 */
1566 if (!once_value_25
) {
1567 fra
.me
.REG
[4] = BOX_NativeString("!=");
1569 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1570 once_value_25
= fra
.me
.REG
[4];
1571 register_static_object(&once_value_25
);
1572 } else fra
.me
.REG
[4] = once_value_25
;
1573 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1574 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1575 if (UNTAG_Bool(REGB0
)) {
1577 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1580 if (UNTAG_Bool(REGB0
)) {
1581 /* primitive_info.nit:203 */
1582 if (!once_value_26
) {
1583 fra
.me
.REG
[4] = BOX_NativeString("_not_equal");
1584 REGB0
= TAG_Int(10);
1585 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1586 once_value_26
= fra
.me
.REG
[4];
1587 register_static_object(&once_value_26
);
1588 } else fra
.me
.REG
[4] = once_value_26
;
1589 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1590 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1592 /* primitive_info.nit:204 */
1593 if (!once_value_27
) {
1594 fra
.me
.REG
[4] = BOX_NativeString(">>");
1596 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1597 once_value_27
= fra
.me
.REG
[4];
1598 register_static_object(&once_value_27
);
1599 } else fra
.me
.REG
[4] = once_value_27
;
1600 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1601 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1602 if (UNTAG_Bool(REGB0
)) {
1604 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1607 if (UNTAG_Bool(REGB0
)) {
1608 /* primitive_info.nit:205 */
1609 if (!once_value_28
) {
1610 fra
.me
.REG
[4] = BOX_NativeString("_right");
1612 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1613 once_value_28
= fra
.me
.REG
[4];
1614 register_static_object(&once_value_28
);
1615 } else fra
.me
.REG
[4] = once_value_28
;
1616 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1617 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1619 /* primitive_info.nit:206 */
1620 if (!once_value_29
) {
1621 fra
.me
.REG
[4] = BOX_NativeString("<<");
1623 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1624 once_value_29
= fra
.me
.REG
[4];
1625 register_static_object(&once_value_29
);
1626 } else fra
.me
.REG
[4] = once_value_29
;
1627 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1628 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1629 if (UNTAG_Bool(REGB0
)) {
1631 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1634 if (UNTAG_Bool(REGB0
)) {
1635 /* primitive_info.nit:207 */
1636 if (!once_value_30
) {
1637 fra
.me
.REG
[4] = BOX_NativeString("_left");
1639 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1640 once_value_30
= fra
.me
.REG
[4];
1641 register_static_object(&once_value_30
);
1642 } else fra
.me
.REG
[4] = once_value_30
;
1643 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1644 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1646 /* primitive_info.nit:208 */
1647 if (!once_value_31
) {
1648 fra
.me
.REG
[4] = BOX_NativeString("<=>");
1650 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1651 once_value_31
= fra
.me
.REG
[4];
1652 register_static_object(&once_value_31
);
1653 } else fra
.me
.REG
[4] = once_value_31
;
1654 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1655 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[4]));
1656 if (UNTAG_Bool(REGB0
)) {
1658 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1661 if (UNTAG_Bool(REGB0
)) {
1662 /* primitive_info.nit:209 */
1663 if (!once_value_32
) {
1664 fra
.me
.REG
[4] = BOX_NativeString("_starship");
1666 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB0
);
1667 once_value_32
= fra
.me
.REG
[4];
1668 register_static_object(&once_value_32
);
1669 } else fra
.me
.REG
[4] = once_value_32
;
1670 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1671 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1673 /* ../lib/standard/collection/array.nit:24 */
1674 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1675 if (UNTAG_Bool(REGB0
)) {
1677 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1679 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1680 /* primitive_info.nit:210 */
1682 /* ../lib/standard/kernel.nit:247 */
1683 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1684 /* primitive_info.nit:210 */
1685 REGB1
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
1686 REGB0
= TAG_Char('=');
1687 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB0
));
1688 if (UNTAG_Bool(REGB2
)) {
1690 /* ../lib/standard/kernel.nit:434 */
1691 REGB0
= TAG_Bool((REGB1
)==(REGB0
));
1692 /* primitive_info.nit:210 */
1695 if (UNTAG_Bool(REGB2
)) {
1696 /* primitive_info.nit:211 */
1698 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
1699 if (!once_value_33
) {
1700 fra
.me
.REG
[5] = BOX_NativeString("");
1702 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB2
);
1703 once_value_33
= fra
.me
.REG
[5];
1704 register_static_object(&once_value_33
);
1705 } else fra
.me
.REG
[5] = once_value_33
;
1706 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1707 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1709 /* ../lib/standard/collection/array.nit:24 */
1710 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1711 if (UNTAG_Bool(REGB0
)) {
1713 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1715 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1716 /* primitive_info.nit:211 */
1718 /* ../lib/standard/kernel.nit:247 */
1719 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1720 /* primitive_info.nit:211 */
1721 fra
.me
.REG
[5] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
, REGB1
);
1722 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1723 if (!once_value_34
) {
1724 fra
.me
.REG
[5] = BOX_NativeString("__assign");
1726 fra
.me
.REG
[5] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[5])(fra
.me
.REG
[5], REGB1
);
1727 once_value_34
= fra
.me
.REG
[5];
1728 register_static_object(&once_value_34
);
1729 } else fra
.me
.REG
[5] = once_value_34
;
1730 fra
.me
.REG
[5] = fra
.me
.REG
[5];
1731 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
1732 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1733 fra
.me
.REG
[3] = fra
.me
.REG
[4];
1735 /* primitive_info.nit:213 */
1736 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1754 /* primitive_info.nit:216 */
1756 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1757 if (!once_value_35
) {
1758 fra
.me
.REG
[4] = BOX_NativeString("");
1760 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1761 once_value_35
= fra
.me
.REG
[4];
1762 register_static_object(&once_value_35
);
1763 } else fra
.me
.REG
[4] = once_value_35
;
1764 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1765 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1766 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1767 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1768 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1769 if (!once_value_36
) {
1770 fra
.me
.REG
[4] = BOX_NativeString("_");
1772 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1773 once_value_36
= fra
.me
.REG
[4];
1774 register_static_object(&once_value_36
);
1775 } else fra
.me
.REG
[4] = once_value_36
;
1776 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1777 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
1778 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1779 if (!once_value_37
) {
1780 fra
.me
.REG
[3] = BOX_NativeString("");
1782 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1783 once_value_37
= fra
.me
.REG
[3];
1784 register_static_object(&once_value_37
);
1785 } else fra
.me
.REG
[3] = once_value_37
;
1786 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1787 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1788 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1791 /* primitive_info.nit:218 */
1792 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1793 if (!once_value_39
) {
1794 if (!once_value_40
) {
1795 fra
.me
.REG
[4] = BOX_NativeString("init");
1797 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
1798 once_value_40
= fra
.me
.REG
[4];
1799 register_static_object(&once_value_40
);
1800 } else fra
.me
.REG
[4] = once_value_40
;
1801 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1802 fra
.me
.REG
[4] = CALL_symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1803 once_value_39
= fra
.me
.REG
[4];
1804 register_static_object(&once_value_39
);
1805 } else fra
.me
.REG
[4] = once_value_39
;
1806 fra
.me
.REG
[4] = fra
.me
.REG
[4];
1807 REGB1
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[3],fra
.me
.REG
[4]));
1808 if (UNTAG_Bool(REGB1
)) {
1810 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1813 if (UNTAG_Bool(REGB1
)) {
1814 /* primitive_info.nit:219 */
1816 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1817 if (!once_value_41
) {
1818 fra
.me
.REG
[3] = BOX_NativeString("new_");
1820 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1821 once_value_41
= fra
.me
.REG
[3];
1822 register_static_object(&once_value_41
);
1823 } else fra
.me
.REG
[3] = once_value_41
;
1824 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1825 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1826 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1827 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1829 if (!once_value_42
) {
1830 fra
.me
.REG
[3] = BOX_NativeString("");
1832 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1833 once_value_42
= fra
.me
.REG
[3];
1834 register_static_object(&once_value_42
);
1835 } else fra
.me
.REG
[3] = once_value_42
;
1836 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1837 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1838 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1839 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1842 /* primitive_info.nit:221 */
1844 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
1845 if (!once_value_43
) {
1846 fra
.me
.REG
[3] = BOX_NativeString("new_");
1848 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
1849 once_value_43
= fra
.me
.REG
[3];
1850 register_static_object(&once_value_43
);
1851 } else fra
.me
.REG
[3] = once_value_43
;
1852 fra
.me
.REG
[3] = fra
.me
.REG
[3];
1853 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
1854 fra
.me
.REG
[1] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1855 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1856 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1857 if (!once_value_44
) {
1858 fra
.me
.REG
[1] = BOX_NativeString("_");
1860 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1861 once_value_44
= fra
.me
.REG
[1];
1862 register_static_object(&once_value_44
);
1863 } else fra
.me
.REG
[1] = once_value_44
;
1864 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1865 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
1866 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalProperty___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1867 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1869 if (!once_value_45
) {
1870 fra
.me
.REG
[0] = BOX_NativeString("");
1872 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1873 once_value_45
= fra
.me
.REG
[0];
1874 register_static_object(&once_value_45
);
1875 } else fra
.me
.REG
[0] = once_value_45
;
1876 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
1878 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1879 fra
.me
.REG
[2] = fra
.me
.REG
[4];
1884 stack_frame_head
= fra
.me
.prev
;
1885 return fra
.me
.REG
[2];