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
.REG
[0] = NIT_NULL
;
17 fra
.me
.REG
[1] = NIT_NULL
;
18 fra
.me
.REG
[2] = NIT_NULL
;
19 fra
.me
.REG
[3] = NIT_NULL
;
20 fra
.me
.REG
[4] = NIT_NULL
;
22 /* ./primitive_info.nit:35 */
23 REGB0
= TAG_Bool(ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0])!=NIT_NULL
);
24 if (UNTAG_Bool(REGB0
)) {
26 nit_abort("Uninitialized attribute %s", "_primitive_info_b", LOCATE_primitive_info
, 35);
28 REGB0
= ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]);
29 REGB1
= TAG_Bool(true);
30 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
31 if (UNTAG_Bool(REGB2
)) {
33 /* ./../lib/standard//kernel.nit:178 */
34 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
35 /* ./primitive_info.nit:35 */
38 if (UNTAG_Bool(REGB2
)) {
39 fra
.me
.REG
[1] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
42 /* ./primitive_info.nit:37 */
44 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_ctypes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
45 once_value_2
= fra
.me
.REG
[2];
46 register_static_object(&once_value_2
);
47 } else fra
.me
.REG
[2] = once_value_2
;
48 fra
.me
.REG
[2] = fra
.me
.REG
[2];
49 /* ./primitive_info.nit:38 */
50 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
51 REGB2
= CALL_standard___collection___abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
52 if (UNTAG_Bool(REGB2
)) {
53 /* ./primitive_info.nit:39 */
54 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
55 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
56 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
57 /* ./primitive_info.nit:40 */
58 REGB2
= TAG_Bool(true);
59 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
60 /* ./primitive_info.nit:41 */
61 fra
.me
.REG
[3] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
62 fra
.me
.REG
[1] = fra
.me
.REG
[3];
65 /* ./primitive_info.nit:43 */
66 fra
.me
.REG
[2] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
67 /* ./primitive_info.nit:44 */
69 REGB2
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
70 if (UNTAG_Bool(REGB2
)) {
71 /* ./primitive_info.nit:45 */
72 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
73 /* ./primitive_info.nit:46 */
74 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
75 REGB2
= CALL_metamodel___abstractmetamodel___MMModule___has_global_class_named(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
76 if (UNTAG_Bool(REGB2
)) {
77 /* ./primitive_info.nit:47 */
78 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
79 fra
.me
.REG
[3] = CALL_metamodel___abstractmetamodel___MMModule___class_by_name(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
80 /* ./primitive_info.nit:48 */
81 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
82 REGB2
= CALL_metamodel___partial_order___PartialOrderElement_____l(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
83 if (UNTAG_Bool(REGB2
)) {
84 /* ./primitive_info.nit:49 */
85 fra
.me
.REG
[3] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
86 ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[3];
87 /* ./primitive_info.nit:50 */
88 REGB2
= TAG_Bool(true);
89 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
90 /* ./primitive_info.nit:51 */
91 fra
.me
.REG
[3] = ATTR_primitive_info___MMLocalClass____primitive_info_cache(fra
.me
.REG
[0]);
92 fra
.me
.REG
[1] = fra
.me
.REG
[3];
96 /* ./primitive_info.nit:54 */
97 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
99 /* ./primitive_info.nit:44 */
104 /* ./primitive_info.nit:56 */
105 REGB2
= TAG_Bool(true);
106 ATTR_primitive_info___MMLocalClass____primitive_info_b(fra
.me
.REG
[0]) = REGB2
;
107 /* ./primitive_info.nit:57 */
108 fra
.me
.REG
[1] = NIT_NULL
;
111 stack_frame_head
= fra
.me
.prev
;
112 return fra
.me
.REG
[1];
114 val_t
primitive_info___MMLocalClass___primitive_ctypes(val_t p0
){
115 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
123 static val_t once_value_1
; /* Once value */
124 static val_t once_value_2
; /* Once value */
125 static val_t once_value_3
; /* Once value */
126 static val_t once_value_4
; /* Once value */
127 static val_t once_value_5
; /* Once value */
128 static val_t once_value_6
; /* Once value */
129 static val_t once_value_7
; /* Once value */
130 static val_t once_value_8
; /* Once value */
131 static val_t once_value_9
; /* Once value */
132 static val_t once_value_10
; /* Once value */
133 static val_t once_value_11
; /* Once value */
134 static val_t once_value_12
; /* Once value */
135 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
136 fra
.me
.file
= LOCATE_primitive_info
;
138 fra
.me
.meth
= LOCATE_primitive_info___MMLocalClass___primitive_ctypes
;
139 fra
.me
.has_broke
= 0;
141 fra
.me
.REG
[0] = NIT_NULL
;
142 fra
.me
.REG
[1] = NIT_NULL
;
143 fra
.me
.REG
[2] = NIT_NULL
;
144 fra
.me
.REG
[3] = NIT_NULL
;
145 fra
.me
.REG
[4] = NIT_NULL
;
146 fra
.me
.REG
[5] = NIT_NULL
;
147 fra
.me
.REG
[6] = NIT_NULL
;
149 /* ./primitive_info.nit:63 */
150 fra
.me
.REG
[0] = NEW_HashMap_standard___collection___hash_collection___HashMap___init();
151 /* ./primitive_info.nit:64 */
153 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
155 fra
.me
.REG
[2] = BOX_NativeString("Int");
157 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
158 once_value_1
= fra
.me
.REG
[2];
159 register_static_object(&once_value_1
);
160 } else fra
.me
.REG
[2] = once_value_1
;
161 fra
.me
.REG
[2] = fra
.me
.REG
[2];
162 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
164 fra
.me
.REG
[2] = BOX_NativeString("Char");
166 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
167 once_value_2
= fra
.me
.REG
[2];
168 register_static_object(&once_value_2
);
169 } else fra
.me
.REG
[2] = once_value_2
;
170 fra
.me
.REG
[2] = fra
.me
.REG
[2];
171 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
173 fra
.me
.REG
[2] = BOX_NativeString("Bool");
175 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
176 once_value_3
= fra
.me
.REG
[2];
177 register_static_object(&once_value_3
);
178 } else fra
.me
.REG
[2] = once_value_3
;
179 fra
.me
.REG
[2] = fra
.me
.REG
[2];
180 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
182 fra
.me
.REG
[2] = BOX_NativeString("Float");
184 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
185 once_value_4
= fra
.me
.REG
[2];
186 register_static_object(&once_value_4
);
187 } else fra
.me
.REG
[2] = once_value_4
;
188 fra
.me
.REG
[2] = fra
.me
.REG
[2];
189 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
191 fra
.me
.REG
[2] = BOX_NativeString("NativeString");
193 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
194 once_value_5
= fra
.me
.REG
[2];
195 register_static_object(&once_value_5
);
196 } else fra
.me
.REG
[2] = once_value_5
;
197 fra
.me
.REG
[2] = fra
.me
.REG
[2];
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
200 fra
.me
.REG
[2] = BOX_NativeString("Pointer");
202 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
203 once_value_6
= fra
.me
.REG
[2];
204 register_static_object(&once_value_6
);
205 } else fra
.me
.REG
[2] = once_value_6
;
206 fra
.me
.REG
[2] = fra
.me
.REG
[2];
207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
208 /* ./primitive_info.nit:65 */
210 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
211 REGB0
= TAG_Bool(true);
212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], 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(false);
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 /* ./primitive_info.nit:66 */
225 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
227 fra
.me
.REG
[4] = BOX_NativeString("bigint");
229 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
230 once_value_7
= fra
.me
.REG
[4];
231 register_static_object(&once_value_7
);
232 } else fra
.me
.REG
[4] = once_value_7
;
233 fra
.me
.REG
[4] = fra
.me
.REG
[4];
234 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
236 fra
.me
.REG
[4] = BOX_NativeString("char");
238 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
239 once_value_8
= fra
.me
.REG
[4];
240 register_static_object(&once_value_8
);
241 } else fra
.me
.REG
[4] = once_value_8
;
242 fra
.me
.REG
[4] = fra
.me
.REG
[4];
243 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
245 fra
.me
.REG
[4] = BOX_NativeString("int");
247 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
248 once_value_9
= fra
.me
.REG
[4];
249 register_static_object(&once_value_9
);
250 } else fra
.me
.REG
[4] = once_value_9
;
251 fra
.me
.REG
[4] = fra
.me
.REG
[4];
252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
253 if (!once_value_10
) {
254 fra
.me
.REG
[4] = BOX_NativeString("float");
256 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
257 once_value_10
= fra
.me
.REG
[4];
258 register_static_object(&once_value_10
);
259 } else fra
.me
.REG
[4] = once_value_10
;
260 fra
.me
.REG
[4] = fra
.me
.REG
[4];
261 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
262 if (!once_value_11
) {
263 fra
.me
.REG
[4] = BOX_NativeString("char *");
265 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
266 once_value_11
= fra
.me
.REG
[4];
267 register_static_object(&once_value_11
);
268 } else fra
.me
.REG
[4] = once_value_11
;
269 fra
.me
.REG
[4] = fra
.me
.REG
[4];
270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
271 if (!once_value_12
) {
272 fra
.me
.REG
[4] = BOX_NativeString("void *");
274 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
275 once_value_12
= fra
.me
.REG
[4];
276 register_static_object(&once_value_12
);
277 } else fra
.me
.REG
[4] = once_value_12
;
278 fra
.me
.REG
[4] = fra
.me
.REG
[4];
279 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
280 /* ./primitive_info.nit:67 */
282 /* ./../lib/standard//collection//array.nit:23 */
283 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
284 if (UNTAG_Bool(REGB1
)) {
286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 23);
288 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
289 /* ./../lib/standard//kernel.nit:335 */
291 /* ./../lib/standard//kernel.nit:215 */
292 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
293 /* ./../lib/standard//kernel.nit:335 */
294 if (UNTAG_Bool(REGB2
)) {
295 /* ./primitive_info.nit:67 */
297 /* ./../lib/standard//collection//array.nit:243 */
298 fra
.me
.REG
[4] = fra
.me
.REG
[1];
300 /* ./../lib/standard//collection//array.nit:245 */
302 /* ./../lib/standard//kernel.nit:216 */
303 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
304 /* ./../lib/standard//collection//array.nit:245 */
305 if (UNTAG_Bool(REGB4
)) {
306 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
307 if (UNTAG_Bool(REGB4
)) {
309 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 245);
311 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
312 /* ./../lib/standard//kernel.nit:215 */
313 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
315 /* ./../lib/standard//collection//array.nit:245 */
316 REGB5
= TAG_Bool(false);
319 if (UNTAG_Bool(REGB4
)) {
321 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 245);
323 /* ./../lib/standard//collection//array.nit:246 */
324 fra
.me
.REG
[4] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[4]);
325 REGB4
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
326 if (UNTAG_Bool(REGB4
)) {
327 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 246);
329 /* ./../lib/standard//collection//array.nit:654 */
330 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[4])->val
[UNTAG_Int(REGB3
)];
331 /* ./../lib/standard//collection//array.nit:246 */
334 /* ./primitive_info.nit:68 */
335 REGB3
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
336 if (UNTAG_Bool(REGB3
)) {
337 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 68);
339 fra
.me
.REG
[4] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
340 /* ./../lib/standard//collection//array.nit:243 */
341 fra
.me
.REG
[5] = fra
.me
.REG
[2];
343 /* ./../lib/standard//collection//array.nit:245 */
345 /* ./../lib/standard//kernel.nit:216 */
346 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>=UNTAG_Int(REGB4
));
347 /* ./../lib/standard//collection//array.nit:245 */
348 if (UNTAG_Bool(REGB4
)) {
349 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
350 if (UNTAG_Bool(REGB4
)) {
352 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 245);
354 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
355 /* ./../lib/standard//kernel.nit:215 */
356 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
358 /* ./../lib/standard//collection//array.nit:245 */
359 REGB5
= TAG_Bool(false);
362 if (UNTAG_Bool(REGB4
)) {
364 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 245);
366 /* ./../lib/standard//collection//array.nit:246 */
367 fra
.me
.REG
[5] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
368 REGB4
= TAG_Bool(fra
.me
.REG
[5]==NIT_NULL
);
369 if (UNTAG_Bool(REGB4
)) {
370 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 246);
372 /* ./../lib/standard//collection//array.nit:654 */
373 fra
.me
.REG
[5] = ((Nit_NativeArray
)fra
.me
.REG
[5])->val
[UNTAG_Int(REGB3
)];
374 /* ./../lib/standard//collection//array.nit:246 */
377 /* ./../lib/standard//collection//array.nit:243 */
378 fra
.me
.REG
[6] = fra
.me
.REG
[3];
379 /* ./../lib/standard//collection//array.nit:245 */
381 /* ./../lib/standard//kernel.nit:216 */
382 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
383 /* ./../lib/standard//collection//array.nit:245 */
384 if (UNTAG_Bool(REGB3
)) {
385 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
386 if (UNTAG_Bool(REGB3
)) {
388 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 245);
390 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[6]);
391 /* ./../lib/standard//kernel.nit:215 */
392 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
394 /* ./../lib/standard//collection//array.nit:245 */
395 REGB4
= TAG_Bool(false);
398 if (UNTAG_Bool(REGB3
)) {
400 nit_abort("Assert %s failed", "'index'", LOCATE_standard___collection___array
, 245);
402 /* ./../lib/standard//collection//array.nit:246 */
403 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[6]);
404 REGB3
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
405 if (UNTAG_Bool(REGB3
)) {
406 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 246);
408 /* ./../lib/standard//collection//array.nit:654 */
409 fra
.me
.REG
[6] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB2
)];
410 /* ./../lib/standard//collection//array.nit:246 */
413 /* ./primitive_info.nit:69 */
414 fra
.me
.REG
[6] = NEW_PrimitiveInfo_primitive_info___PrimitiveInfo___init(fra
.me
.REG
[4], fra
.me
.REG
[5], fra
.me
.REG
[6]);
415 /* ./primitive_info.nit:70 */
416 CALL_standard___collection___abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4], fra
.me
.REG
[6]);
417 /* ./../lib/standard//kernel.nit:337 */
419 /* ./../lib/standard//kernel.nit:218 */
420 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
421 /* ./../lib/standard//kernel.nit:337 */
424 /* ./../lib/standard//kernel.nit:335 */
429 /* ./primitive_info.nit:72 */
432 stack_frame_head
= fra
.me
.prev
;
433 return fra
.me
.REG
[0];
435 val_t
primitive_info___PrimitiveInfo___name(val_t p0
){
436 struct {struct stack_frame_t me
;} fra
;
439 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
440 fra
.me
.file
= LOCATE_primitive_info
;
442 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___name
;
443 fra
.me
.has_broke
= 0;
445 fra
.me
.REG
[0] = NIT_NULL
;
447 /* ./primitive_info.nit:78 */
448 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0])!=NIT_NULL
);
449 if (UNTAG_Bool(REGB0
)) {
451 nit_abort("Uninitialized attribute %s", "_name", LOCATE_primitive_info
, 78);
453 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]);
454 stack_frame_head
= fra
.me
.prev
;
455 return fra
.me
.REG
[0];
457 val_t
primitive_info___PrimitiveInfo___tagged(val_t p0
){
458 struct {struct stack_frame_t me
;} fra
;
461 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
462 fra
.me
.file
= LOCATE_primitive_info
;
464 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___tagged
;
465 fra
.me
.has_broke
= 0;
467 fra
.me
.REG
[0] = NIT_NULL
;
469 /* ./primitive_info.nit:81 */
470 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0])!=NIT_NULL
);
471 if (UNTAG_Bool(REGB0
)) {
473 nit_abort("Uninitialized attribute %s", "_tagged", LOCATE_primitive_info
, 81);
475 REGB0
= ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]);
476 stack_frame_head
= fra
.me
.prev
;
479 val_t
primitive_info___PrimitiveInfo___cname(val_t p0
){
480 struct {struct stack_frame_t me
;} fra
;
483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
484 fra
.me
.file
= LOCATE_primitive_info
;
486 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___cname
;
487 fra
.me
.has_broke
= 0;
489 fra
.me
.REG
[0] = NIT_NULL
;
491 /* ./primitive_info.nit:84 */
492 REGB0
= TAG_Bool(ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0])!=NIT_NULL
);
493 if (UNTAG_Bool(REGB0
)) {
495 nit_abort("Uninitialized attribute %s", "_cname", LOCATE_primitive_info
, 84);
497 fra
.me
.REG
[0] = ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]);
498 stack_frame_head
= fra
.me
.prev
;
499 return fra
.me
.REG
[0];
501 void primitive_info___PrimitiveInfo___init(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
502 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_primitive_info___PrimitiveInfo
].i
;
503 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
506 if (init_table
[itpos0
]) return;
507 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
508 fra
.me
.file
= LOCATE_primitive_info
;
510 fra
.me
.meth
= LOCATE_primitive_info___PrimitiveInfo___init
;
511 fra
.me
.has_broke
= 0;
513 fra
.me
.REG
[0] = NIT_NULL
;
514 fra
.me
.REG
[1] = NIT_NULL
;
515 fra
.me
.REG
[2] = NIT_NULL
;
520 /* ./primitive_info.nit:89 */
521 ATTR_primitive_info___PrimitiveInfo____name(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
522 /* ./primitive_info.nit:90 */
523 ATTR_primitive_info___PrimitiveInfo____tagged(fra
.me
.REG
[0]) = REGB0
;
524 /* ./primitive_info.nit:91 */
525 ATTR_primitive_info___PrimitiveInfo____cname(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
526 stack_frame_head
= fra
.me
.prev
;
527 init_table
[itpos0
] = 1;
530 val_t
primitive_info___MMType___cname(val_t p0
){
531 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
535 static val_t once_value_1
; /* Once value */
536 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
537 fra
.me
.file
= LOCATE_primitive_info
;
539 fra
.me
.meth
= LOCATE_primitive_info___MMType___cname
;
540 fra
.me
.has_broke
= 0;
542 fra
.me
.REG
[0] = NIT_NULL
;
543 fra
.me
.REG
[1] = NIT_NULL
;
545 /* ./primitive_info.nit:99 */
546 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
547 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
548 /* ./primitive_info.nit:100 */
549 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
550 if (UNTAG_Bool(REGB0
)) {
552 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
553 if (UNTAG_Bool(REGB1
)) {
554 REGB1
= TAG_Bool(false);
557 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
561 if (UNTAG_Bool(REGB0
)) {
562 /* ./primitive_info.nit:101 */
564 fra
.me
.REG
[1] = BOX_NativeString("val_t");
566 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
567 once_value_1
= fra
.me
.REG
[1];
568 register_static_object(&once_value_1
);
569 } else fra
.me
.REG
[1] = once_value_1
;
570 fra
.me
.REG
[1] = fra
.me
.REG
[1];
573 /* ./primitive_info.nit:103 */
574 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
575 if (UNTAG_Bool(REGB0
)) {
576 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 103);
578 fra
.me
.REG
[0] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
579 fra
.me
.REG
[1] = fra
.me
.REG
[0];
583 stack_frame_head
= fra
.me
.prev
;
584 return fra
.me
.REG
[1];
586 val_t
primitive_info___MMType___is_tagged(val_t p0
){
587 struct {struct stack_frame_t me
;} fra
;
592 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
593 fra
.me
.file
= LOCATE_primitive_info
;
595 fra
.me
.meth
= LOCATE_primitive_info___MMType___is_tagged
;
596 fra
.me
.has_broke
= 0;
598 fra
.me
.REG
[0] = NIT_NULL
;
600 /* ./primitive_info.nit:110 */
601 REGB0
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
602 if (UNTAG_Bool(REGB0
)) {
603 REGB0
= TAG_Bool(false);
606 /* ./primitive_info.nit:111 */
607 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
608 fra
.me
.REG
[0] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
609 /* ./primitive_info.nit:112 */
610 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
611 if (UNTAG_Bool(REGB1
)) {
613 REGB2
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
614 if (UNTAG_Bool(REGB2
)) {
615 REGB2
= TAG_Bool(false);
618 REGB2
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
622 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
623 if (UNTAG_Bool(REGB1
)) {
624 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
625 if (UNTAG_Bool(REGB1
)) {
626 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 112);
628 REGB1
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
630 REGB2
= TAG_Bool(false);
636 stack_frame_head
= fra
.me
.prev
;
639 val_t
primitive_info___MMType___default_cvalue(val_t p0
){
640 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
644 static val_t once_value_1
; /* Once value */
645 static val_t once_value_2
; /* Once value */
646 static val_t once_value_3
; /* Once value */
647 static val_t once_value_5
; /* Once value */
648 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
649 fra
.me
.file
= LOCATE_primitive_info
;
651 fra
.me
.meth
= LOCATE_primitive_info___MMType___default_cvalue
;
652 fra
.me
.has_broke
= 0;
654 fra
.me
.REG
[0] = NIT_NULL
;
655 fra
.me
.REG
[1] = NIT_NULL
;
656 fra
.me
.REG
[2] = NIT_NULL
;
657 fra
.me
.REG
[3] = NIT_NULL
;
659 /* ./primitive_info.nit:119 */
660 fra
.me
.REG
[1] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
661 fra
.me
.REG
[1] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
662 /* ./primitive_info.nit:120 */
663 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
664 if (UNTAG_Bool(REGB0
)) {
666 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
667 if (UNTAG_Bool(REGB1
)) {
668 REGB1
= TAG_Bool(false);
671 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
675 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
676 if (UNTAG_Bool(REGB0
)) {
677 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
678 if (UNTAG_Bool(REGB0
)) {
679 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 120);
681 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
683 REGB1
= TAG_Bool(false);
686 if (UNTAG_Bool(REGB0
)) {
687 /* ./primitive_info.nit:121 */
689 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
691 fra
.me
.REG
[3] = BOX_NativeString("TAG_");
693 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
694 once_value_1
= fra
.me
.REG
[3];
695 register_static_object(&once_value_1
);
696 } else fra
.me
.REG
[3] = once_value_1
;
697 fra
.me
.REG
[3] = fra
.me
.REG
[3];
698 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
699 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
700 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
701 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
702 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
704 fra
.me
.REG
[0] = BOX_NativeString("((");
706 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
707 once_value_2
= fra
.me
.REG
[0];
708 register_static_object(&once_value_2
);
709 } else fra
.me
.REG
[0] = once_value_2
;
710 fra
.me
.REG
[0] = fra
.me
.REG
[0];
711 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
712 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
713 if (UNTAG_Bool(REGB0
)) {
714 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 121);
716 fra
.me
.REG
[1] = CALL_primitive_info___PrimitiveInfo___cname(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
717 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
719 fra
.me
.REG
[1] = BOX_NativeString(")0)");
721 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
722 once_value_3
= fra
.me
.REG
[1];
723 register_static_object(&once_value_3
);
724 } else fra
.me
.REG
[1] = once_value_3
;
725 fra
.me
.REG
[1] = fra
.me
.REG
[1];
726 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
727 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
730 /* ./primitive_info.nit:123 */
732 fra
.me
.REG
[1] = BOX_NativeString("NIT_NULL");
734 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
735 once_value_5
= fra
.me
.REG
[1];
736 register_static_object(&once_value_5
);
737 } else fra
.me
.REG
[1] = once_value_5
;
738 fra
.me
.REG
[1] = fra
.me
.REG
[1];
739 fra
.me
.REG
[2] = fra
.me
.REG
[1];
743 stack_frame_head
= fra
.me
.prev
;
744 return fra
.me
.REG
[2];
746 val_t
primitive_info___MMType___boxtype(val_t p0
, val_t p1
){
747 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
751 static val_t once_value_2
; /* Once value */
752 static val_t once_value_3
; /* Once value */
753 static val_t once_value_4
; /* Once value */
754 static val_t once_value_5
; /* Once value */
755 static val_t once_value_6
; /* Once value */
756 static val_t once_value_7
; /* Once value */
757 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
758 fra
.me
.file
= LOCATE_primitive_info
;
760 fra
.me
.meth
= LOCATE_primitive_info___MMType___boxtype
;
761 fra
.me
.has_broke
= 0;
763 fra
.me
.REG
[0] = NIT_NULL
;
764 fra
.me
.REG
[1] = NIT_NULL
;
765 fra
.me
.REG
[2] = NIT_NULL
;
766 fra
.me
.REG
[3] = NIT_NULL
;
767 fra
.me
.REG
[4] = NIT_NULL
;
770 /* ./primitive_info.nit:131 */
771 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
772 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
773 /* ./primitive_info.nit:132 */
774 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
775 if (UNTAG_Bool(REGB0
)) {
777 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
778 if (UNTAG_Bool(REGB1
)) {
779 REGB1
= TAG_Bool(false);
782 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
786 if (UNTAG_Bool(REGB0
)) {
787 REGB0
= TAG_Bool(true);
789 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
792 if (UNTAG_Bool(REGB0
)) {
793 /* ./primitive_info.nit:133 */
794 fra
.me
.REG
[3] = fra
.me
.REG
[1];
797 /* ./primitive_info.nit:134 */
798 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
799 if (UNTAG_Bool(REGB0
)) {
800 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 134);
802 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
803 if (UNTAG_Bool(REGB0
)) {
804 /* ./primitive_info.nit:135 */
806 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
808 fra
.me
.REG
[4] = BOX_NativeString("TAG_");
810 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
811 once_value_2
= fra
.me
.REG
[4];
812 register_static_object(&once_value_2
);
813 } else fra
.me
.REG
[4] = once_value_2
;
814 fra
.me
.REG
[4] = fra
.me
.REG
[4];
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
816 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
817 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
818 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
819 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
821 fra
.me
.REG
[4] = BOX_NativeString("(");
823 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
824 once_value_3
= fra
.me
.REG
[4];
825 register_static_object(&once_value_3
);
826 } else fra
.me
.REG
[4] = once_value_3
;
827 fra
.me
.REG
[4] = fra
.me
.REG
[4];
828 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
829 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
831 fra
.me
.REG
[4] = BOX_NativeString(")");
833 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
834 once_value_4
= fra
.me
.REG
[4];
835 register_static_object(&once_value_4
);
836 } else fra
.me
.REG
[4] = once_value_4
;
837 fra
.me
.REG
[4] = fra
.me
.REG
[4];
838 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
839 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
840 fra
.me
.REG
[3] = fra
.me
.REG
[2];
843 /* ./primitive_info.nit:137 */
845 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
847 fra
.me
.REG
[4] = BOX_NativeString("BOX_");
849 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
850 once_value_5
= fra
.me
.REG
[4];
851 register_static_object(&once_value_5
);
852 } else fra
.me
.REG
[4] = once_value_5
;
853 fra
.me
.REG
[4] = fra
.me
.REG
[4];
854 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
855 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
856 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
857 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
858 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
860 fra
.me
.REG
[0] = BOX_NativeString("(");
862 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
863 once_value_6
= fra
.me
.REG
[0];
864 register_static_object(&once_value_6
);
865 } else fra
.me
.REG
[0] = once_value_6
;
866 fra
.me
.REG
[0] = fra
.me
.REG
[0];
867 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
868 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
870 fra
.me
.REG
[1] = BOX_NativeString(")");
872 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
873 once_value_7
= fra
.me
.REG
[1];
874 register_static_object(&once_value_7
);
875 } else fra
.me
.REG
[1] = once_value_7
;
876 fra
.me
.REG
[1] = fra
.me
.REG
[1];
877 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
878 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
879 fra
.me
.REG
[3] = fra
.me
.REG
[2];
884 stack_frame_head
= fra
.me
.prev
;
885 return fra
.me
.REG
[3];
887 val_t
primitive_info___MMType___unboxtype(val_t p0
, val_t p1
){
888 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
892 static val_t once_value_2
; /* Once value */
893 static val_t once_value_3
; /* Once value */
894 static val_t once_value_4
; /* Once value */
895 static val_t once_value_5
; /* Once value */
896 static val_t once_value_6
; /* Once value */
897 static val_t once_value_7
; /* Once value */
898 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
899 fra
.me
.file
= LOCATE_primitive_info
;
901 fra
.me
.meth
= LOCATE_primitive_info___MMType___unboxtype
;
902 fra
.me
.has_broke
= 0;
904 fra
.me
.REG
[0] = NIT_NULL
;
905 fra
.me
.REG
[1] = NIT_NULL
;
906 fra
.me
.REG
[2] = NIT_NULL
;
907 fra
.me
.REG
[3] = NIT_NULL
;
908 fra
.me
.REG
[4] = NIT_NULL
;
911 /* ./primitive_info.nit:145 */
912 fra
.me
.REG
[2] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
913 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
914 /* ./primitive_info.nit:146 */
915 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
916 if (UNTAG_Bool(REGB0
)) {
918 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
919 if (UNTAG_Bool(REGB1
)) {
920 REGB1
= TAG_Bool(false);
923 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
927 if (UNTAG_Bool(REGB0
)) {
928 REGB0
= TAG_Bool(true);
930 REGB1
= CALL_metamodel___static_type___MMType___is_nullable(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
933 if (UNTAG_Bool(REGB0
)) {
934 /* ./primitive_info.nit:147 */
935 fra
.me
.REG
[3] = fra
.me
.REG
[1];
938 /* ./primitive_info.nit:148 */
939 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
940 if (UNTAG_Bool(REGB0
)) {
941 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 148);
943 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
944 if (UNTAG_Bool(REGB0
)) {
945 /* ./primitive_info.nit:149 */
947 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
949 fra
.me
.REG
[4] = BOX_NativeString("UNTAG_");
951 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
952 once_value_2
= fra
.me
.REG
[4];
953 register_static_object(&once_value_2
);
954 } else fra
.me
.REG
[4] = once_value_2
;
955 fra
.me
.REG
[4] = fra
.me
.REG
[4];
956 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
957 fra
.me
.REG
[4] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
958 fra
.me
.REG
[4] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
959 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
960 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
962 fra
.me
.REG
[4] = BOX_NativeString("(");
964 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
965 once_value_3
= fra
.me
.REG
[4];
966 register_static_object(&once_value_3
);
967 } else fra
.me
.REG
[4] = once_value_3
;
968 fra
.me
.REG
[4] = fra
.me
.REG
[4];
969 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
972 fra
.me
.REG
[4] = BOX_NativeString(")");
974 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
975 once_value_4
= fra
.me
.REG
[4];
976 register_static_object(&once_value_4
);
977 } else fra
.me
.REG
[4] = once_value_4
;
978 fra
.me
.REG
[4] = fra
.me
.REG
[4];
979 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
980 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
981 fra
.me
.REG
[3] = fra
.me
.REG
[2];
984 /* ./primitive_info.nit:151 */
986 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
988 fra
.me
.REG
[4] = BOX_NativeString("UNBOX_");
990 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB0
);
991 once_value_5
= fra
.me
.REG
[4];
992 register_static_object(&once_value_5
);
993 } else fra
.me
.REG
[4] = once_value_5
;
994 fra
.me
.REG
[4] = fra
.me
.REG
[4];
995 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
996 fra
.me
.REG
[0] = CALL_metamodel___static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
997 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
998 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
999 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1000 if (!once_value_6
) {
1001 fra
.me
.REG
[0] = BOX_NativeString("(");
1003 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
1004 once_value_6
= fra
.me
.REG
[0];
1005 register_static_object(&once_value_6
);
1006 } else fra
.me
.REG
[0] = once_value_6
;
1007 fra
.me
.REG
[0] = fra
.me
.REG
[0];
1008 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1009 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1010 if (!once_value_7
) {
1011 fra
.me
.REG
[1] = BOX_NativeString(")");
1013 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
1014 once_value_7
= fra
.me
.REG
[1];
1015 register_static_object(&once_value_7
);
1016 } else fra
.me
.REG
[1] = once_value_7
;
1017 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1018 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1019 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1020 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1025 stack_frame_head
= fra
.me
.prev
;
1026 return fra
.me
.REG
[3];