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:175 */
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_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
51 REGB2
= CALL_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_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
55 fra
.me
.REG
[3] = CALL_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_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
67 /* ./primitive_info.nit:44 */
69 REGB2
= CALL_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_abstract_collection___MapIterator___key(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
73 /* ./primitive_info.nit:46 */
74 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
75 REGB2
= CALL_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_abstractmetamodel___MMLocalClass___mmmodule(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
79 fra
.me
.REG
[3] = CALL_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_abstractmetamodel___MMLocalClass___cshe(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
82 REGB2
= CALL_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_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_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_hash_collection___HashMap___init();
151 /* ./primitive_info.nit:64 */
153 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
155 fra
.me
.REG
[2] = BOX_NativeString("Int");
157 fra
.me
.REG
[2] = NEW_String_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_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_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_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_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_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_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_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_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_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_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_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_array___Array___with_capacity(REGB0
);
211 REGB0
= TAG_Bool(true);
212 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
213 REGB0
= TAG_Bool(true);
214 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
215 REGB0
= TAG_Bool(true);
216 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
217 REGB0
= TAG_Bool(false);
218 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
219 REGB0
= TAG_Bool(false);
220 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
221 REGB0
= TAG_Bool(false);
222 CALL_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_array___Array___with_capacity(REGB0
);
227 fra
.me
.REG
[4] = BOX_NativeString("bigint");
229 fra
.me
.REG
[4] = NEW_String_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_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_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_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_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_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_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_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_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_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_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_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_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
284 if (UNTAG_Bool(REGB1
)) {
286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
288 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
289 /* ./../lib/standard//kernel.nit:332 */
291 /* ./../lib/standard//kernel.nit:212 */
292 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
293 /* ./../lib/standard//kernel.nit:332 */
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:213 */
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_array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
307 if (UNTAG_Bool(REGB4
)) {
309 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
311 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[4]);
312 /* ./../lib/standard//kernel.nit:212 */
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_array
, 245);
323 /* ./../lib/standard//collection//array.nit:246 */
324 fra
.me
.REG
[4] = ATTR_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_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_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:213 */
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_array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
350 if (UNTAG_Bool(REGB4
)) {
352 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
354 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
355 /* ./../lib/standard//kernel.nit:212 */
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_array
, 245);
366 /* ./../lib/standard//collection//array.nit:246 */
367 fra
.me
.REG
[5] = ATTR_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_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:213 */
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_array___AbstractArrayRead____length(fra
.me
.REG
[6])!=NIT_NULL
);
386 if (UNTAG_Bool(REGB3
)) {
388 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
390 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[6]);
391 /* ./../lib/standard//kernel.nit:212 */
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_array
, 245);
402 /* ./../lib/standard//collection//array.nit:246 */
403 fra
.me
.REG
[6] = ATTR_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_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_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:334 */
419 /* ./../lib/standard//kernel.nit:215 */
420 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
421 /* ./../lib/standard//kernel.nit:334 */
424 /* ./../lib/standard//kernel.nit:332 */
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_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_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_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_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_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_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_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_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_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_array___Array___with_capacity(REGB0
);
691 fra
.me
.REG
[3] = BOX_NativeString("TAG_");
693 fra
.me
.REG
[3] = NEW_String_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
699 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
700 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
701 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
702 CALL_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_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_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_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_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_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
727 fra
.me
.REG
[2] = CALL_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_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_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_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
786 if (UNTAG_Bool(REGB0
)) {
787 /* ./primitive_info.nit:133 */
788 fra
.me
.REG
[3] = fra
.me
.REG
[1];
791 /* ./primitive_info.nit:134 */
792 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
793 if (UNTAG_Bool(REGB0
)) {
794 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 134);
796 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
797 if (UNTAG_Bool(REGB0
)) {
798 /* ./primitive_info.nit:135 */
800 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
802 fra
.me
.REG
[4] = BOX_NativeString("TAG_");
804 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
805 once_value_2
= fra
.me
.REG
[4];
806 register_static_object(&once_value_2
);
807 } else fra
.me
.REG
[4] = once_value_2
;
808 fra
.me
.REG
[4] = fra
.me
.REG
[4];
809 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
810 fra
.me
.REG
[4] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
811 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
812 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
813 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
815 fra
.me
.REG
[4] = BOX_NativeString("(");
817 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
818 once_value_3
= fra
.me
.REG
[4];
819 register_static_object(&once_value_3
);
820 } else fra
.me
.REG
[4] = once_value_3
;
821 fra
.me
.REG
[4] = fra
.me
.REG
[4];
822 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
823 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
825 fra
.me
.REG
[4] = BOX_NativeString(")");
827 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
828 once_value_4
= fra
.me
.REG
[4];
829 register_static_object(&once_value_4
);
830 } else fra
.me
.REG
[4] = once_value_4
;
831 fra
.me
.REG
[4] = fra
.me
.REG
[4];
832 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
833 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
834 fra
.me
.REG
[3] = fra
.me
.REG
[2];
837 /* ./primitive_info.nit:137 */
839 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
841 fra
.me
.REG
[4] = BOX_NativeString("BOX_");
843 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
844 once_value_5
= fra
.me
.REG
[4];
845 register_static_object(&once_value_5
);
846 } else fra
.me
.REG
[4] = once_value_5
;
847 fra
.me
.REG
[4] = fra
.me
.REG
[4];
848 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
849 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
850 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
851 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
852 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
854 fra
.me
.REG
[0] = BOX_NativeString("(");
856 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
857 once_value_6
= fra
.me
.REG
[0];
858 register_static_object(&once_value_6
);
859 } else fra
.me
.REG
[0] = once_value_6
;
860 fra
.me
.REG
[0] = fra
.me
.REG
[0];
861 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
862 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
864 fra
.me
.REG
[1] = BOX_NativeString(")");
866 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
867 once_value_7
= fra
.me
.REG
[1];
868 register_static_object(&once_value_7
);
869 } else fra
.me
.REG
[1] = once_value_7
;
870 fra
.me
.REG
[1] = fra
.me
.REG
[1];
871 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
872 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
873 fra
.me
.REG
[3] = fra
.me
.REG
[2];
878 stack_frame_head
= fra
.me
.prev
;
879 return fra
.me
.REG
[3];
881 val_t
primitive_info___MMType___unboxtype(val_t p0
, val_t p1
){
882 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
886 static val_t once_value_2
; /* Once value */
887 static val_t once_value_3
; /* Once value */
888 static val_t once_value_4
; /* Once value */
889 static val_t once_value_5
; /* Once value */
890 static val_t once_value_6
; /* Once value */
891 static val_t once_value_7
; /* Once value */
892 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
893 fra
.me
.file
= LOCATE_primitive_info
;
895 fra
.me
.meth
= LOCATE_primitive_info___MMType___unboxtype
;
896 fra
.me
.has_broke
= 0;
898 fra
.me
.REG
[0] = NIT_NULL
;
899 fra
.me
.REG
[1] = NIT_NULL
;
900 fra
.me
.REG
[2] = NIT_NULL
;
901 fra
.me
.REG
[3] = NIT_NULL
;
902 fra
.me
.REG
[4] = NIT_NULL
;
905 /* ./primitive_info.nit:145 */
906 fra
.me
.REG
[2] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
907 fra
.me
.REG
[2] = CALL_primitive_info___MMLocalClass___primitive_info(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
908 /* ./primitive_info.nit:146 */
909 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
910 if (UNTAG_Bool(REGB0
)) {
912 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
913 if (UNTAG_Bool(REGB1
)) {
914 REGB1
= TAG_Bool(false);
917 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
921 if (UNTAG_Bool(REGB0
)) {
922 /* ./primitive_info.nit:147 */
923 fra
.me
.REG
[3] = fra
.me
.REG
[1];
926 /* ./primitive_info.nit:148 */
927 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
928 if (UNTAG_Bool(REGB0
)) {
929 nit_abort("Reciever is null", NULL
, LOCATE_primitive_info
, 148);
931 REGB0
= CALL_primitive_info___PrimitiveInfo___tagged(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
932 if (UNTAG_Bool(REGB0
)) {
933 /* ./primitive_info.nit:149 */
935 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
937 fra
.me
.REG
[4] = BOX_NativeString("UNTAG_");
939 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
940 once_value_2
= fra
.me
.REG
[4];
941 register_static_object(&once_value_2
);
942 } else fra
.me
.REG
[4] = once_value_2
;
943 fra
.me
.REG
[4] = fra
.me
.REG
[4];
944 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
945 fra
.me
.REG
[4] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
946 fra
.me
.REG
[4] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
947 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
948 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
950 fra
.me
.REG
[4] = BOX_NativeString("(");
952 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
953 once_value_3
= fra
.me
.REG
[4];
954 register_static_object(&once_value_3
);
955 } else fra
.me
.REG
[4] = once_value_3
;
956 fra
.me
.REG
[4] = fra
.me
.REG
[4];
957 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
958 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
960 fra
.me
.REG
[4] = BOX_NativeString(")");
962 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
963 once_value_4
= fra
.me
.REG
[4];
964 register_static_object(&once_value_4
);
965 } else fra
.me
.REG
[4] = once_value_4
;
966 fra
.me
.REG
[4] = fra
.me
.REG
[4];
967 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
968 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
969 fra
.me
.REG
[3] = fra
.me
.REG
[2];
972 /* ./primitive_info.nit:151 */
974 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
976 fra
.me
.REG
[4] = BOX_NativeString("UNBOX_");
978 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
979 once_value_5
= fra
.me
.REG
[4];
980 register_static_object(&once_value_5
);
981 } else fra
.me
.REG
[4] = once_value_5
;
982 fra
.me
.REG
[4] = fra
.me
.REG
[4];
983 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
984 fra
.me
.REG
[0] = CALL_static_type___MMType___local_class(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
985 fra
.me
.REG
[0] = CALL_abstractmetamodel___MMLocalClass___name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
986 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
987 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
989 fra
.me
.REG
[0] = BOX_NativeString("(");
991 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
992 once_value_6
= fra
.me
.REG
[0];
993 register_static_object(&once_value_6
);
994 } else fra
.me
.REG
[0] = once_value_6
;
995 fra
.me
.REG
[0] = fra
.me
.REG
[0];
996 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
997 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
999 fra
.me
.REG
[1] = BOX_NativeString(")");
1001 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1002 once_value_7
= fra
.me
.REG
[1];
1003 register_static_object(&once_value_7
);
1004 } else fra
.me
.REG
[1] = once_value_7
;
1005 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1006 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1007 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1008 fra
.me
.REG
[3] = fra
.me
.REG
[2];
1013 stack_frame_head
= fra
.me
.prev
;
1014 return fra
.me
.REG
[3];