1 /* This C file is generated by NIT to compile module icode_dump. */
2 #include "icode_dump._sep.h"
3 void icode_dump___IRoutine___dump(val_t p0
, val_t p1
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
8 static val_t once_value_2
; /* Once value */
9 static val_t once_value_3
; /* Once value */
10 static val_t once_value_4
; /* Once value */
11 static val_t once_value_5
; /* Once value */
12 static val_t once_value_6
; /* Once value */
13 static val_t once_value_7
; /* Once value */
14 static val_t once_value_8
; /* Once value */
15 static val_t once_value_9
; /* Once value */
16 static val_t once_value_10
; /* Once value */
17 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
18 fra
.me
.file
= LOCATE_icode_dump
;
20 fra
.me
.meth
= LOCATE_icode_dump___IRoutine___dump
;
23 fra
.me
.REG
[0] = NIT_NULL
;
24 fra
.me
.REG
[1] = NIT_NULL
;
25 fra
.me
.REG
[2] = NIT_NULL
;
26 fra
.me
.REG
[3] = NIT_NULL
;
27 fra
.me
.REG
[4] = NIT_NULL
;
30 fra
.me
.REG
[2] = CALL_icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
31 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
32 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
33 /* ./analysis//icode_dump.nit:27 */
34 if (UNTAG_Bool(REGB0
)) {
35 fra
.me
.REG
[2] = NEW_Array_array___Array___init();
36 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___params(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
37 fra
.me
.REG
[3] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
38 /* ./analysis//icode_dump.nit:29 */
40 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
41 if (UNTAG_Bool(REGB0
)) {
42 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
43 fra
.me
.REG
[4] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
44 /* ./analysis//icode_dump.nit:30 */
45 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[4]);
47 /* ./analysis//icode_dump.nit:29 */
50 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
54 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
55 /* ./analysis//icode_dump.nit:32 */
57 fra
.me
.REG
[4] = BOX_NativeString("Parameters: ");
59 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
60 once_value_2
= fra
.me
.REG
[4];
61 register_static_object(&once_value_2
);
62 } else fra
.me
.REG
[4] = once_value_2
;
63 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
65 fra
.me
.REG
[4] = BOX_NativeString(", ");
67 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
68 once_value_3
= fra
.me
.REG
[4];
69 register_static_object(&once_value_3
);
70 } else fra
.me
.REG
[4] = once_value_3
;
71 fra
.me
.REG
[4] = CALL_string___Collection___join(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[4]);
72 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
74 fra
.me
.REG
[4] = BOX_NativeString("");
76 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
77 once_value_4
= fra
.me
.REG
[4];
78 register_static_object(&once_value_4
);
79 } else fra
.me
.REG
[4] = once_value_4
;
80 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
81 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
82 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
84 fra
.me
.REG
[3] = CALL_icode_base___IRoutine___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
85 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
86 /* ./analysis//icode_dump.nit:35 */
87 if (UNTAG_Bool(REGB0
)) {
89 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
90 if (UNTAG_Bool(REGB1
)) {
91 REGB1
= TAG_Bool(false);
94 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
98 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
99 if (UNTAG_Bool(REGB0
)) {
101 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
102 /* ./analysis//icode_dump.nit:36 */
104 fra
.me
.REG
[2] = BOX_NativeString("Result: ");
106 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
107 once_value_5
= fra
.me
.REG
[2];
108 register_static_object(&once_value_5
);
109 } else fra
.me
.REG
[2] = once_value_5
;
110 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[2]);
111 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
112 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
114 fra
.me
.REG
[3] = BOX_NativeString("");
116 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
117 once_value_6
= fra
.me
.REG
[3];
118 register_static_object(&once_value_6
);
119 } else fra
.me
.REG
[3] = once_value_6
;
120 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
121 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
122 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
124 REGB0
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
126 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
127 /* ./analysis//icode_dump.nit:38 */
128 if (UNTAG_Bool(REGB1
)) {
130 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
131 /* ./analysis//icode_dump.nit:39 */
133 fra
.me
.REG
[3] = BOX_NativeString("StdSlots: ");
135 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
136 once_value_7
= fra
.me
.REG
[3];
137 register_static_object(&once_value_7
);
138 } else fra
.me
.REG
[3] = once_value_7
;
139 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
140 REGB1
= CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
141 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB1
)(REGB1
);
142 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
144 fra
.me
.REG
[3] = BOX_NativeString("");
146 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
147 once_value_8
= fra
.me
.REG
[3];
148 register_static_object(&once_value_8
);
149 } else fra
.me
.REG
[3] = once_value_8
;
150 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
151 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
152 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
154 REGB1
= CALL_allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
156 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB0
));
157 /* ./analysis//icode_dump.nit:41 */
158 if (UNTAG_Bool(REGB0
)) {
160 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
161 /* ./analysis//icode_dump.nit:42 */
163 fra
.me
.REG
[3] = BOX_NativeString("TagSlots: ");
165 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
166 once_value_9
= fra
.me
.REG
[3];
167 register_static_object(&once_value_9
);
168 } else fra
.me
.REG
[3] = once_value_9
;
169 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
170 REGB0
= CALL_allocate_iregister_slots___IRoutine___tag_slots_nb(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
171 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
172 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
173 if (!once_value_10
) {
174 fra
.me
.REG
[3] = BOX_NativeString("");
176 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
177 once_value_10
= fra
.me
.REG
[3];
178 register_static_object(&once_value_10
);
179 } else fra
.me
.REG
[3] = once_value_10
;
180 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[3]);
181 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
182 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[4]);
184 fra
.me
.REG
[4] = CALL_icode_base___IRoutine___closure_decls(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
185 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
186 /* ./analysis//icode_dump.nit:45 */
187 if (UNTAG_Bool(REGB0
)) {
189 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
190 if (UNTAG_Bool(REGB1
)) {
191 REGB1
= TAG_Bool(false);
194 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
198 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
199 if (UNTAG_Bool(REGB0
)) {
200 fra
.me
.REG
[4] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
201 /* ./analysis//icode_dump.nit:46 */
203 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
204 if (UNTAG_Bool(REGB0
)) {
205 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
206 /* ./analysis//icode_dump.nit:47 */
207 CALL_icode_dump___IClosureDecl___dump(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
209 /* ./analysis//icode_dump.nit:46 */
212 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
216 fra
.me
.REG
[0] = CALL_icode_base___IRoutine___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
217 /* ./analysis//icode_dump.nit:50 */
218 CALL_icode_dump___ICode___dump(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
219 stack_frame_head
= fra
.me
.prev
;
222 void icode_dump___IClosureDecl___dump(val_t p0
, val_t p1
){
223 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
227 static val_t once_value_1
; /* Once value */
228 static val_t once_value_2
; /* Once value */
229 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
230 fra
.me
.file
= LOCATE_icode_dump
;
232 fra
.me
.meth
= LOCATE_icode_dump___IClosureDecl___dump
;
233 fra
.me
.has_broke
= 0;
235 fra
.me
.REG
[0] = NIT_NULL
;
236 fra
.me
.REG
[1] = NIT_NULL
;
237 fra
.me
.REG
[2] = NIT_NULL
;
238 fra
.me
.REG
[3] = NIT_NULL
;
242 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
243 /* ./analysis//icode_dump.nit:58 */
245 fra
.me
.REG
[3] = BOX_NativeString("Closure: ");
247 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
248 once_value_1
= fra
.me
.REG
[3];
249 register_static_object(&once_value_1
);
250 } else fra
.me
.REG
[3] = once_value_1
;
251 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
252 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___closdecl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
253 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
255 fra
.me
.REG
[3] = BOX_NativeString("");
257 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
258 once_value_2
= fra
.me
.REG
[3];
259 register_static_object(&once_value_2
);
260 } else fra
.me
.REG
[3] = once_value_2
;
261 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
262 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
263 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
264 fra
.me
.REG
[2] = CALL_icode_base___IClosureDecl___default(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
265 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
266 /* ./analysis//icode_dump.nit:59 */
267 if (UNTAG_Bool(REGB0
)) {
269 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
270 if (UNTAG_Bool(REGB1
)) {
271 REGB1
= TAG_Bool(false);
274 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
278 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
279 if (UNTAG_Bool(REGB0
)) {
280 /* ./analysis//icode_dump.nit:60 */
281 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
282 fra
.me
.REG
[0] = CALL_icode_base___IClosureDecl___default(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
283 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
284 /* ./analysis//icode_dump.nit:61 */
285 if (UNTAG_Bool(REGB0
)) {
286 fprintf(stderr
, "Reciever is null");
287 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 61);
290 CALL_icode_dump___IRoutine___dump(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
291 /* ./analysis//icode_dump.nit:62 */
292 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
294 stack_frame_head
= fra
.me
.prev
;
297 val_t
icode_dump___ICodeDumper___register(val_t p0
, val_t p1
){
298 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
302 static val_t once_value_2
; /* Once value */
303 static val_t once_value_3
; /* Once value */
304 static val_t once_value_4
; /* Once value */
305 static val_t once_value_5
; /* Once value */
306 static val_t once_value_6
; /* Once value */
307 static val_t once_value_7
; /* Once value */
308 static val_t once_value_8
; /* Once value */
309 static val_t once_value_9
; /* Once value */
310 static val_t once_value_10
; /* Once value */
311 static val_t once_value_11
; /* Once value */
312 static val_t once_value_12
; /* Once value */
313 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
314 fra
.me
.file
= LOCATE_icode_dump
;
316 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___register
;
317 fra
.me
.has_broke
= 0;
319 fra
.me
.REG
[0] = NIT_NULL
;
320 fra
.me
.REG
[1] = NIT_NULL
;
321 fra
.me
.REG
[2] = NIT_NULL
;
322 fra
.me
.REG
[3] = NIT_NULL
;
323 fra
.me
.REG
[4] = NIT_NULL
;
324 fra
.me
.REG
[5] = NIT_NULL
;
325 fra
.me
.REG
[6] = NIT_NULL
;
328 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
329 /* ./analysis//icode_dump.nit:75 */
330 if (UNTAG_Bool(REGB0
)) {
332 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
333 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 75);
336 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
337 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
338 if (UNTAG_Bool(REGB0
)) {
339 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
340 /* ./analysis//icode_dump.nit:76 */
341 if (UNTAG_Bool(REGB0
)) {
343 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
344 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 76);
347 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
348 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
351 fra
.me
.REG
[3] = CALL_allocate_iregister_slots___IRegister___slot_index(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
352 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
353 /* ./analysis//icode_dump.nit:79 */
354 if (UNTAG_Bool(REGB0
)) {
356 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
357 if (UNTAG_Bool(REGB1
)) {
358 REGB1
= TAG_Bool(false);
361 REGB1
= TAG_Bool((fra
.me
.REG
[3])==(NIT_NULL
));
363 /* ./analysis//icode_dump.nit:79 */
366 if (UNTAG_Bool(REGB0
)) {
367 REGB0
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
369 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
370 /* ./analysis//icode_dump.nit:80 */
371 ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]) = REGB1
;
373 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB1
);
374 /* ./analysis//icode_dump.nit:81 */
376 fra
.me
.REG
[5] = BOX_NativeString("r");
378 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
379 once_value_2
= fra
.me
.REG
[5];
380 register_static_object(&once_value_2
);
381 } else fra
.me
.REG
[5] = once_value_2
;
382 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
383 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0])!=NIT_NULL
);
384 if (UNTAG_Bool(REGB1
)) {
386 fprintf(stderr
, "Uninitialized attribute %s", "_last_value");
387 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 81);
390 REGB1
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
391 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB1
)(REGB1
);
392 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
394 fra
.me
.REG
[5] = BOX_NativeString("");
396 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB1
);
397 once_value_3
= fra
.me
.REG
[5];
398 register_static_object(&once_value_3
);
399 } else fra
.me
.REG
[5] = once_value_3
;
400 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
401 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
402 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
403 /* ./analysis//icode_dump.nit:82 */
404 if (UNTAG_Bool(REGB1
)) {
406 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
407 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 82);
410 fra
.me
.REG
[5] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
411 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[1], fra
.me
.REG
[4]);
412 fra
.me
.REG
[2] = fra
.me
.REG
[4];
413 /* ./analysis//icode_dump.nit:83 */
416 REGB1
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
418 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
419 /* ./analysis//icode_dump.nit:85 */
420 ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]) = REGB0
;
421 REGB0
= CALL_allocate_iregister_slots___IRegister___in_tag_slots(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
422 /* ./analysis//icode_dump.nit:87 */
423 if (UNTAG_Bool(REGB0
)) {
425 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB0
);
426 /* ./analysis//icode_dump.nit:88 */
428 fra
.me
.REG
[5] = BOX_NativeString("BREG");
430 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
431 once_value_4
= fra
.me
.REG
[5];
432 register_static_object(&once_value_4
);
433 } else fra
.me
.REG
[5] = once_value_4
;
434 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
435 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
436 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
438 fra
.me
.REG
[5] = BOX_NativeString("(r");
440 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
441 once_value_5
= fra
.me
.REG
[5];
442 register_static_object(&once_value_5
);
443 } else fra
.me
.REG
[5] = once_value_5
;
444 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
445 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0])!=NIT_NULL
);
446 if (UNTAG_Bool(REGB0
)) {
448 fprintf(stderr
, "Uninitialized attribute %s", "_last_value");
449 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 88);
452 REGB0
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
453 fra
.me
.REG
[5] = CALL_string___Object___to_s(REGB0
)(REGB0
);
454 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
456 fra
.me
.REG
[5] = BOX_NativeString(")");
458 fra
.me
.REG
[5] = NEW_String_string___String___with_native(fra
.me
.REG
[5], REGB0
);
459 once_value_6
= fra
.me
.REG
[5];
460 register_static_object(&once_value_6
);
461 } else fra
.me
.REG
[5] = once_value_6
;
462 array___Array___add(fra
.me
.REG
[4], fra
.me
.REG
[5]);
463 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
465 REGB0
= CALL_allocate_iregister_slots___IRegister___is_local(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
466 /* ./analysis//icode_dump.nit:89 */
467 if (UNTAG_Bool(REGB0
)) {
469 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
470 /* ./analysis//icode_dump.nit:90 */
472 fra
.me
.REG
[6] = BOX_NativeString("LREG");
474 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
475 once_value_7
= fra
.me
.REG
[6];
476 register_static_object(&once_value_7
);
477 } else fra
.me
.REG
[6] = once_value_7
;
478 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
479 fra
.me
.REG
[6] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
480 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
482 fra
.me
.REG
[6] = BOX_NativeString("(r");
484 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
485 once_value_8
= fra
.me
.REG
[6];
486 register_static_object(&once_value_8
);
487 } else fra
.me
.REG
[6] = once_value_8
;
488 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
489 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0])!=NIT_NULL
);
490 if (UNTAG_Bool(REGB0
)) {
492 fprintf(stderr
, "Uninitialized attribute %s", "_last_value");
493 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 90);
496 REGB0
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
497 fra
.me
.REG
[6] = CALL_string___Object___to_s(REGB0
)(REGB0
);
498 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
500 fra
.me
.REG
[6] = BOX_NativeString(")");
502 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
503 once_value_9
= fra
.me
.REG
[6];
504 register_static_object(&once_value_9
);
505 } else fra
.me
.REG
[6] = once_value_9
;
506 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
507 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
508 fra
.me
.REG
[4] = fra
.me
.REG
[5];
511 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
512 /* ./analysis//icode_dump.nit:92 */
513 if (!once_value_10
) {
514 fra
.me
.REG
[6] = BOX_NativeString("REG");
516 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
517 once_value_10
= fra
.me
.REG
[6];
518 register_static_object(&once_value_10
);
519 } else fra
.me
.REG
[6] = once_value_10
;
520 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
521 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
522 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
523 if (!once_value_11
) {
524 fra
.me
.REG
[3] = BOX_NativeString("(r");
526 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
527 once_value_11
= fra
.me
.REG
[3];
528 register_static_object(&once_value_11
);
529 } else fra
.me
.REG
[3] = once_value_11
;
530 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
531 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0])!=NIT_NULL
);
532 if (UNTAG_Bool(REGB0
)) {
534 fprintf(stderr
, "Uninitialized attribute %s", "_last_value");
535 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 92);
538 REGB0
= ATTR_icode_dump___ICodeDumper____last_value(fra
.me
.REG
[0]);
539 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
540 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
541 if (!once_value_12
) {
542 fra
.me
.REG
[3] = BOX_NativeString(")");
544 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
545 once_value_12
= fra
.me
.REG
[3];
546 register_static_object(&once_value_12
);
547 } else fra
.me
.REG
[3] = once_value_12
;
548 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
549 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
550 fra
.me
.REG
[4] = fra
.me
.REG
[5];
553 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
554 /* ./analysis//icode_dump.nit:94 */
555 if (UNTAG_Bool(REGB0
)) {
557 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
558 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 94);
561 fra
.me
.REG
[0] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
562 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[4]);
563 fra
.me
.REG
[2] = fra
.me
.REG
[4];
564 /* ./analysis//icode_dump.nit:95 */
569 stack_frame_head
= fra
.me
.prev
;
570 return fra
.me
.REG
[2];
572 val_t
icode_dump___ICodeDumper___register_all(val_t p0
, val_t p1
){
573 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
577 static val_t once_value_1
; /* Once value */
578 static val_t once_value_4
; /* Once value */
579 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
580 fra
.me
.file
= LOCATE_icode_dump
;
582 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___register_all
;
583 fra
.me
.has_broke
= 0;
585 fra
.me
.REG
[0] = NIT_NULL
;
586 fra
.me
.REG
[1] = NIT_NULL
;
587 fra
.me
.REG
[2] = NIT_NULL
;
588 fra
.me
.REG
[3] = NIT_NULL
;
589 fra
.me
.REG
[4] = NIT_NULL
;
592 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
593 /* ./analysis//icode_dump.nit:103 */
594 if (UNTAG_Bool(REGB0
)) {
596 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
597 if (UNTAG_Bool(REGB1
)) {
598 REGB1
= TAG_Bool(false);
601 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
605 if (UNTAG_Bool(REGB0
)) {
607 fra
.me
.REG
[2] = BOX_NativeString("");
609 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
610 once_value_1
= fra
.me
.REG
[2];
611 register_static_object(&once_value_1
);
612 } else fra
.me
.REG
[2] = once_value_1
;
615 fra
.me
.REG
[3] = NEW_Array_array___Array___init();
616 fra
.me
.REG
[1] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
617 /* ./analysis//icode_dump.nit:105 */
619 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
620 if (UNTAG_Bool(REGB0
)) {
621 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
622 fra
.me
.REG
[4] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
623 /* ./analysis//icode_dump.nit:106 */
624 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
626 /* ./analysis//icode_dump.nit:105 */
629 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
632 /* ./analysis//icode_dump.nit:108 */
634 fra
.me
.REG
[1] = BOX_NativeString(", ");
636 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
637 once_value_4
= fra
.me
.REG
[1];
638 register_static_object(&once_value_4
);
639 } else fra
.me
.REG
[1] = once_value_4
;
640 fra
.me
.REG
[1] = CALL_string___Collection___join(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
641 fra
.me
.REG
[2] = fra
.me
.REG
[1];
644 stack_frame_head
= fra
.me
.prev
;
645 return fra
.me
.REG
[2];
647 val_t
icode_dump___ICodeDumper___closdecl(val_t p0
, val_t p1
){
648 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
652 static val_t once_value_2
; /* Once value */
653 static val_t once_value_3
; /* Once value */
654 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
655 fra
.me
.file
= LOCATE_icode_dump
;
657 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___closdecl
;
658 fra
.me
.has_broke
= 0;
660 fra
.me
.REG
[0] = NIT_NULL
;
661 fra
.me
.REG
[1] = NIT_NULL
;
662 fra
.me
.REG
[2] = NIT_NULL
;
663 fra
.me
.REG
[3] = NIT_NULL
;
664 fra
.me
.REG
[4] = NIT_NULL
;
667 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
668 /* ./analysis//icode_dump.nit:117 */
669 if (UNTAG_Bool(REGB0
)) {
671 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
672 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 117);
675 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
676 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
677 if (UNTAG_Bool(REGB0
)) {
678 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
679 /* ./analysis//icode_dump.nit:118 */
680 if (UNTAG_Bool(REGB0
)) {
682 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
683 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 118);
686 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
687 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
690 REGB0
= ATTR_icode_dump___ICodeDumper____last_clos(fra
.me
.REG
[0]);
692 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
693 /* ./analysis//icode_dump.nit:120 */
694 ATTR_icode_dump___ICodeDumper____last_clos(fra
.me
.REG
[0]) = REGB1
;
696 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
697 /* ./analysis//icode_dump.nit:121 */
699 fra
.me
.REG
[4] = BOX_NativeString("clos");
701 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
702 once_value_2
= fra
.me
.REG
[4];
703 register_static_object(&once_value_2
);
704 } else fra
.me
.REG
[4] = once_value_2
;
705 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
706 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_clos(fra
.me
.REG
[0])!=NIT_NULL
);
707 if (UNTAG_Bool(REGB1
)) {
709 fprintf(stderr
, "Uninitialized attribute %s", "_last_clos");
710 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 121);
713 REGB1
= ATTR_icode_dump___ICodeDumper____last_clos(fra
.me
.REG
[0]);
714 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB1
)(REGB1
);
715 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
717 fra
.me
.REG
[4] = BOX_NativeString("");
719 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
720 once_value_3
= fra
.me
.REG
[4];
721 register_static_object(&once_value_3
);
722 } else fra
.me
.REG
[4] = once_value_3
;
723 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
724 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
725 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
726 /* ./analysis//icode_dump.nit:122 */
727 if (UNTAG_Bool(REGB1
)) {
729 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
730 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 122);
733 fra
.me
.REG
[0] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
734 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
735 fra
.me
.REG
[2] = fra
.me
.REG
[3];
736 /* ./analysis//icode_dump.nit:123 */
740 stack_frame_head
= fra
.me
.prev
;
741 return fra
.me
.REG
[2];
743 val_t
icode_dump___ICodeDumper___lab(val_t p0
, val_t p1
){
744 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
748 static val_t once_value_2
; /* Once value */
749 static val_t once_value_3
; /* Once value */
750 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
751 fra
.me
.file
= LOCATE_icode_dump
;
753 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___lab
;
754 fra
.me
.has_broke
= 0;
756 fra
.me
.REG
[0] = NIT_NULL
;
757 fra
.me
.REG
[1] = NIT_NULL
;
758 fra
.me
.REG
[2] = NIT_NULL
;
759 fra
.me
.REG
[3] = NIT_NULL
;
760 fra
.me
.REG
[4] = NIT_NULL
;
763 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
764 /* ./analysis//icode_dump.nit:132 */
765 if (UNTAG_Bool(REGB0
)) {
767 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
768 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 132);
771 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
772 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
773 if (UNTAG_Bool(REGB0
)) {
774 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
775 /* ./analysis//icode_dump.nit:133 */
776 if (UNTAG_Bool(REGB0
)) {
778 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
779 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 133);
782 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
783 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
786 REGB0
= ATTR_icode_dump___ICodeDumper____last_label(fra
.me
.REG
[0]);
788 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
789 /* ./analysis//icode_dump.nit:135 */
790 ATTR_icode_dump___ICodeDumper____last_label(fra
.me
.REG
[0]) = REGB1
;
792 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
793 /* ./analysis//icode_dump.nit:136 */
795 fra
.me
.REG
[4] = BOX_NativeString("[l");
797 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
798 once_value_2
= fra
.me
.REG
[4];
799 register_static_object(&once_value_2
);
800 } else fra
.me
.REG
[4] = once_value_2
;
801 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
802 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_label(fra
.me
.REG
[0])!=NIT_NULL
);
803 if (UNTAG_Bool(REGB1
)) {
805 fprintf(stderr
, "Uninitialized attribute %s", "_last_label");
806 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 136);
809 REGB1
= ATTR_icode_dump___ICodeDumper____last_label(fra
.me
.REG
[0]);
810 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB1
)(REGB1
);
811 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
813 fra
.me
.REG
[4] = BOX_NativeString("]");
815 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
816 once_value_3
= fra
.me
.REG
[4];
817 register_static_object(&once_value_3
);
818 } else fra
.me
.REG
[4] = once_value_3
;
819 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
820 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
821 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
822 /* ./analysis//icode_dump.nit:137 */
823 if (UNTAG_Bool(REGB1
)) {
825 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
826 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 137);
829 fra
.me
.REG
[0] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
830 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
831 fra
.me
.REG
[2] = fra
.me
.REG
[3];
832 /* ./analysis//icode_dump.nit:138 */
836 stack_frame_head
= fra
.me
.prev
;
837 return fra
.me
.REG
[2];
839 val_t
icode_dump___ICodeDumper___line(val_t p0
, val_t p1
){
840 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
844 static val_t once_value_2
; /* Once value */
845 static val_t once_value_3
; /* Once value */
846 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
847 fra
.me
.file
= LOCATE_icode_dump
;
849 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___line
;
850 fra
.me
.has_broke
= 0;
852 fra
.me
.REG
[0] = NIT_NULL
;
853 fra
.me
.REG
[1] = NIT_NULL
;
854 fra
.me
.REG
[2] = NIT_NULL
;
855 fra
.me
.REG
[3] = NIT_NULL
;
856 fra
.me
.REG
[4] = NIT_NULL
;
859 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
860 /* ./analysis//icode_dump.nit:146 */
861 if (UNTAG_Bool(REGB0
)) {
863 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
864 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 146);
867 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
868 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
869 if (UNTAG_Bool(REGB0
)) {
870 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
871 /* ./analysis//icode_dump.nit:147 */
872 if (UNTAG_Bool(REGB0
)) {
874 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
875 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 147);
878 fra
.me
.REG
[2] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
879 fra
.me
.REG
[2] = CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
882 REGB0
= ATTR_icode_dump___ICodeDumper____last_line(fra
.me
.REG
[0]);
884 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
885 /* ./analysis//icode_dump.nit:149 */
886 ATTR_icode_dump___ICodeDumper____last_line(fra
.me
.REG
[0]) = REGB1
;
888 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
889 /* ./analysis//icode_dump.nit:150 */
891 fra
.me
.REG
[4] = BOX_NativeString("");
893 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
894 once_value_2
= fra
.me
.REG
[4];
895 register_static_object(&once_value_2
);
896 } else fra
.me
.REG
[4] = once_value_2
;
897 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
898 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____last_line(fra
.me
.REG
[0])!=NIT_NULL
);
899 if (UNTAG_Bool(REGB1
)) {
901 fprintf(stderr
, "Uninitialized attribute %s", "_last_line");
902 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 150);
905 REGB1
= ATTR_icode_dump___ICodeDumper____last_line(fra
.me
.REG
[0]);
906 fra
.me
.REG
[4] = CALL_string___Object___to_s(REGB1
)(REGB1
);
907 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
909 fra
.me
.REG
[4] = BOX_NativeString("");
911 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
912 once_value_3
= fra
.me
.REG
[4];
913 register_static_object(&once_value_3
);
914 } else fra
.me
.REG
[4] = once_value_3
;
915 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
916 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
917 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
918 /* ./analysis//icode_dump.nit:151 */
919 if (UNTAG_Bool(REGB1
)) {
921 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
922 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 151);
925 fra
.me
.REG
[0] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
926 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], fra
.me
.REG
[3]);
927 fra
.me
.REG
[2] = fra
.me
.REG
[3];
928 /* ./analysis//icode_dump.nit:152 */
932 stack_frame_head
= fra
.me
.prev
;
933 return fra
.me
.REG
[2];
935 val_t
icode_dump___ICodeDumper___has_lab(val_t p0
, val_t p1
){
936 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
939 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
940 fra
.me
.file
= LOCATE_icode_dump
;
942 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___has_lab
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.REG
[0] = NIT_NULL
;
946 fra
.me
.REG
[1] = NIT_NULL
;
949 REGB0
= TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0])!=NIT_NULL
);
950 /* ./analysis//icode_dump.nit:159 */
951 if (UNTAG_Bool(REGB0
)) {
953 fprintf(stderr
, "Uninitialized attribute %s", "_ids");
954 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 159);
957 fra
.me
.REG
[0] = ATTR_icode_dump___ICodeDumper____ids(fra
.me
.REG
[0]);
958 REGB0
= CALL_abstract_collection___MapRead___has_key(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
961 stack_frame_head
= fra
.me
.prev
;
964 void icode_dump___ICodeDumper___write(val_t p0
, val_t p1
){
965 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
969 static val_t once_value_1
; /* Once value */
970 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
971 fra
.me
.file
= LOCATE_icode_dump
;
973 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___write
;
974 fra
.me
.has_broke
= 0;
976 fra
.me
.REG
[0] = NIT_NULL
;
977 fra
.me
.REG
[1] = NIT_NULL
;
978 fra
.me
.REG
[2] = NIT_NULL
;
979 fra
.me
.REG
[3] = NIT_NULL
;
980 fra
.me
.REG
[4] = NIT_NULL
;
984 REGB1
= TAG_Bool(ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0])!=NIT_NULL
);
985 /* ./analysis//icode_dump.nit:165 */
986 if (UNTAG_Bool(REGB1
)) {
988 fprintf(stderr
, "Uninitialized attribute %s", "_indent_level");
989 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 165);
992 REGB1
= ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0]);
993 fra
.me
.REG
[2] = NEW_Range_range___Range___without_last(REGB0
, REGB1
);
994 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
996 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
997 if (UNTAG_Bool(REGB1
)) {
998 REGB1
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1000 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB1
);
1001 /* ./analysis//icode_dump.nit:166 */
1002 if (!once_value_1
) {
1003 fra
.me
.REG
[4] = BOX_NativeString(" ");
1005 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB1
);
1006 once_value_1
= fra
.me
.REG
[4];
1007 register_static_object(&once_value_1
);
1008 } else fra
.me
.REG
[4] = once_value_1
;
1009 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
1010 CALL_file___Object___printn(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
1012 /* ./analysis//icode_dump.nit:165 */
1015 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1018 /* ./analysis//icode_dump.nit:168 */
1019 CALL_file___Object___print(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1020 stack_frame_head
= fra
.me
.prev
;
1023 void icode_dump___ICodeDumper___indent(val_t p0
){
1024 struct {struct stack_frame_t me
;} fra
;
1028 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1029 fra
.me
.file
= LOCATE_icode_dump
;
1031 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___indent
;
1032 fra
.me
.has_broke
= 0;
1033 fra
.me
.REG_size
= 1;
1034 fra
.me
.REG
[0] = NIT_NULL
;
1036 REGB0
= ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0]);
1038 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1039 /* ./analysis//icode_dump.nit:174 */
1040 ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0]) = REGB1
;
1041 stack_frame_head
= fra
.me
.prev
;
1044 void icode_dump___ICodeDumper___unindent(val_t p0
){
1045 struct {struct stack_frame_t me
;} fra
;
1049 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1050 fra
.me
.file
= LOCATE_icode_dump
;
1052 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___unindent
;
1053 fra
.me
.has_broke
= 0;
1054 fra
.me
.REG_size
= 1;
1055 fra
.me
.REG
[0] = NIT_NULL
;
1057 REGB0
= ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0]);
1059 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1060 /* ./analysis//icode_dump.nit:177 */
1061 ATTR_icode_dump___ICodeDumper____indent_level(fra
.me
.REG
[0]) = REGB1
;
1062 stack_frame_head
= fra
.me
.prev
;
1065 void icode_dump___ICodeDumper___init(val_t p0
, int* init_table
){
1066 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_ICodeDumper
].i
;
1067 struct {struct stack_frame_t me
;} fra
;
1069 if (init_table
[itpos0
]) return;
1070 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1071 fra
.me
.file
= LOCATE_icode_dump
;
1073 fra
.me
.meth
= LOCATE_icode_dump___ICodeDumper___init
;
1074 fra
.me
.has_broke
= 0;
1075 fra
.me
.REG_size
= 0;
1076 stack_frame_head
= fra
.me
.prev
;
1077 init_table
[itpos0
] = 1;
1080 void icode_dump___ICode___dump(val_t p0
, val_t p1
){
1081 struct {struct stack_frame_t me
; val_t MORE_REG
[6];} fra
;
1085 static val_t once_value_1
; /* Once value */
1086 static val_t once_value_2
; /* Once value */
1087 static val_t once_value_3
; /* Once value */
1088 static val_t once_value_4
; /* Once value */
1089 static val_t once_value_5
; /* Once value */
1090 static val_t once_value_6
; /* Once value */
1091 static val_t once_value_7
; /* Once value */
1092 static val_t once_value_8
; /* Once value */
1093 static val_t once_value_9
; /* Once value */
1094 static val_t once_value_10
; /* Once value */
1095 static val_t once_value_11
; /* Once value */
1096 static val_t once_value_12
; /* Once value */
1097 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1098 fra
.me
.file
= LOCATE_icode_dump
;
1100 fra
.me
.meth
= LOCATE_icode_dump___ICode___dump
;
1101 fra
.me
.has_broke
= 0;
1102 fra
.me
.REG_size
= 7;
1103 fra
.me
.REG
[0] = NIT_NULL
;
1104 fra
.me
.REG
[1] = NIT_NULL
;
1105 fra
.me
.REG
[2] = NIT_NULL
;
1106 fra
.me
.REG
[3] = NIT_NULL
;
1107 fra
.me
.REG
[4] = NIT_NULL
;
1108 fra
.me
.REG
[5] = NIT_NULL
;
1109 fra
.me
.REG
[6] = NIT_NULL
;
1112 fra
.me
.REG
[2] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1113 /* ./analysis//icode_dump.nit:185 */
1114 if (!once_value_1
) {
1115 fra
.me
.REG
[3] = BOX_NativeString("");
1117 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1118 once_value_1
= fra
.me
.REG
[3];
1119 register_static_object(&once_value_1
);
1120 } else fra
.me
.REG
[3] = once_value_1
;
1121 fra
.me
.REG
[4] = CALL_icode_base___ICode___location(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1122 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1123 /* ./analysis//icode_dump.nit:187 */
1124 if (UNTAG_Bool(REGB0
)) {
1126 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
1127 if (UNTAG_Bool(REGB1
)) {
1128 REGB1
= TAG_Bool(false);
1131 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
1135 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1136 if (UNTAG_Bool(REGB0
)) {
1138 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1139 /* ./analysis//icode_dump.nit:188 */
1140 if (!once_value_2
) {
1141 fra
.me
.REG
[6] = BOX_NativeString(" ... ");
1142 REGB0
= TAG_Int(12);
1143 fra
.me
.REG
[6] = NEW_String_string___String___with_native(fra
.me
.REG
[6], REGB0
);
1144 once_value_2
= fra
.me
.REG
[6];
1145 register_static_object(&once_value_2
);
1146 } else fra
.me
.REG
[6] = once_value_2
;
1147 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[6]);
1148 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
1149 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1150 if (!once_value_3
) {
1151 fra
.me
.REG
[4] = BOX_NativeString("");
1153 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1154 once_value_3
= fra
.me
.REG
[4];
1155 register_static_object(&once_value_3
);
1156 } else fra
.me
.REG
[4] = once_value_3
;
1157 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1158 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1159 fra
.me
.REG
[3] = fra
.me
.REG
[5];
1161 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1162 /* ./analysis//icode_dump.nit:190 */
1163 if (UNTAG_Bool(REGB0
)) {
1165 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1166 if (UNTAG_Bool(REGB1
)) {
1167 REGB1
= TAG_Bool(false);
1170 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1174 if (UNTAG_Bool(REGB0
)) {
1176 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1177 /* ./analysis//icode_dump.nit:191 */
1178 if (!once_value_4
) {
1179 fra
.me
.REG
[4] = BOX_NativeString("");
1181 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1182 once_value_4
= fra
.me
.REG
[4];
1183 register_static_object(&once_value_4
);
1184 } else fra
.me
.REG
[4] = once_value_4
;
1185 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1186 fra
.me
.REG
[4] = CALL_icode_dump___ICodeDumper___line(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1187 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1188 if (!once_value_5
) {
1189 fra
.me
.REG
[4] = BOX_NativeString(": ");
1191 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1192 once_value_5
= fra
.me
.REG
[4];
1193 register_static_object(&once_value_5
);
1194 } else fra
.me
.REG
[4] = once_value_5
;
1195 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1196 fra
.me
.REG
[4] = CALL_icode_dump___ICode___dump_intern(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1197 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1198 if (!once_value_6
) {
1199 fra
.me
.REG
[4] = BOX_NativeString("");
1201 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1202 once_value_6
= fra
.me
.REG
[4];
1203 register_static_object(&once_value_6
);
1204 } else fra
.me
.REG
[4] = once_value_6
;
1205 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1206 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1207 if (!once_value_7
) {
1208 fra
.me
.REG
[4] = BOX_NativeString("");
1210 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1211 once_value_7
= fra
.me
.REG
[4];
1212 register_static_object(&once_value_7
);
1213 } else fra
.me
.REG
[4] = once_value_7
;
1214 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1215 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1216 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1219 fra
.me
.REG
[5] = NEW_Array_array___Array___with_capacity(REGB0
);
1220 /* ./analysis//icode_dump.nit:193 */
1221 if (!once_value_8
) {
1222 fra
.me
.REG
[4] = BOX_NativeString("");
1224 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1225 once_value_8
= fra
.me
.REG
[4];
1226 register_static_object(&once_value_8
);
1227 } else fra
.me
.REG
[4] = once_value_8
;
1228 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1229 fra
.me
.REG
[4] = CALL_icode_dump___ICodeDumper___line(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1230 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1231 if (!once_value_9
) {
1232 fra
.me
.REG
[4] = BOX_NativeString(": ");
1234 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
1235 once_value_9
= fra
.me
.REG
[4];
1236 register_static_object(&once_value_9
);
1237 } else fra
.me
.REG
[4] = once_value_9
;
1238 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[4]);
1239 fra
.me
.REG
[2] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1240 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1241 if (!once_value_10
) {
1242 fra
.me
.REG
[2] = BOX_NativeString(" := ");
1244 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1245 once_value_10
= fra
.me
.REG
[2];
1246 register_static_object(&once_value_10
);
1247 } else fra
.me
.REG
[2] = once_value_10
;
1248 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[2]);
1249 fra
.me
.REG
[0] = CALL_icode_dump___ICode___dump_intern(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1250 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1251 if (!once_value_11
) {
1252 fra
.me
.REG
[0] = BOX_NativeString("");
1254 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1255 once_value_11
= fra
.me
.REG
[0];
1256 register_static_object(&once_value_11
);
1257 } else fra
.me
.REG
[0] = once_value_11
;
1258 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[0]);
1259 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1260 if (!once_value_12
) {
1261 fra
.me
.REG
[3] = BOX_NativeString("");
1263 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1264 once_value_12
= fra
.me
.REG
[3];
1265 register_static_object(&once_value_12
);
1266 } else fra
.me
.REG
[3] = once_value_12
;
1267 array___Array___add(fra
.me
.REG
[5], fra
.me
.REG
[3]);
1268 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
1269 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[5]);
1271 stack_frame_head
= fra
.me
.prev
;
1274 val_t
icode_dump___ICode___dump_intern(val_t p0
, val_t p1
){
1275 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1278 static val_t once_value_1
; /* Once value */
1279 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1280 fra
.me
.file
= LOCATE_icode_dump
;
1282 fra
.me
.meth
= LOCATE_icode_dump___ICode___dump_intern
;
1283 fra
.me
.has_broke
= 0;
1284 fra
.me
.REG_size
= 2;
1285 fra
.me
.REG
[0] = NIT_NULL
;
1286 fra
.me
.REG
[1] = NIT_NULL
;
1289 /* ./analysis//icode_dump.nit:198 */
1290 if (!once_value_1
) {
1291 fra
.me
.REG
[1] = BOX_NativeString("???");
1293 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
1294 once_value_1
= fra
.me
.REG
[1];
1295 register_static_object(&once_value_1
);
1296 } else fra
.me
.REG
[1] = once_value_1
;
1299 stack_frame_head
= fra
.me
.prev
;
1300 return fra
.me
.REG
[1];
1302 void icode_dump___ICodeN___dump(val_t p0
, val_t p1
){
1303 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1307 static val_t once_value_1
; /* Once value */
1308 static val_t once_value_2
; /* Once value */
1309 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1310 fra
.me
.file
= LOCATE_icode_dump
;
1312 fra
.me
.meth
= LOCATE_icode_dump___ICodeN___dump
;
1313 fra
.me
.has_broke
= 0;
1314 fra
.me
.REG_size
= 4;
1315 fra
.me
.REG
[0] = NIT_NULL
;
1316 fra
.me
.REG
[1] = NIT_NULL
;
1317 fra
.me
.REG
[2] = NIT_NULL
;
1318 fra
.me
.REG
[3] = NIT_NULL
;
1321 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1322 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1323 /* ./analysis//icode_dump.nit:204 */
1324 CALL_SUPER_icode_dump___ICodeN___dump(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1325 fra
.me
.REG
[2] = CALL_icode_base___ICodeN___closure_defs(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1326 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1327 /* ./analysis//icode_dump.nit:206 */
1328 if (UNTAG_Bool(REGB0
)) {
1330 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
1331 if (UNTAG_Bool(REGB1
)) {
1332 REGB1
= TAG_Bool(false);
1335 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
1339 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1340 if (UNTAG_Bool(REGB0
)) {
1341 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1342 /* ./analysis//icode_dump.nit:207 */
1344 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1345 if (UNTAG_Bool(REGB0
)) {
1346 fra
.me
.REG
[1] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1347 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1348 /* ./analysis//icode_dump.nit:208 */
1349 if (UNTAG_Bool(REGB0
)) {
1351 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1352 if (UNTAG_Bool(REGB1
)) {
1353 REGB1
= TAG_Bool(false);
1356 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
1360 if (UNTAG_Bool(REGB0
)) {
1361 /* ./analysis//icode_dump.nit:209 */
1362 if (!once_value_1
) {
1363 fra
.me
.REG
[0] = BOX_NativeString("CLOSURE = NULL");
1364 REGB0
= TAG_Int(14);
1365 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1366 once_value_1
= fra
.me
.REG
[0];
1367 register_static_object(&once_value_1
);
1368 } else fra
.me
.REG
[0] = once_value_1
;
1369 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1371 /* ./analysis//icode_dump.nit:211 */
1372 if (!once_value_2
) {
1373 fra
.me
.REG
[0] = BOX_NativeString("CLOSURE");
1375 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1376 once_value_2
= fra
.me
.REG
[0];
1377 register_static_object(&once_value_2
);
1378 } else fra
.me
.REG
[0] = once_value_2
;
1379 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[0]);
1380 /* ./analysis//icode_dump.nit:212 */
1381 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1382 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1383 /* ./analysis//icode_dump.nit:213 */
1384 if (UNTAG_Bool(REGB0
)) {
1385 fprintf(stderr
, "Reciever is null");
1386 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 213);
1389 CALL_icode_dump___IRoutine___dump(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1390 /* ./analysis//icode_dump.nit:214 */
1391 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1394 /* ./analysis//icode_dump.nit:207 */
1397 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1401 stack_frame_head
= fra
.me
.prev
;
1404 void icode_dump___ISeq___dump(val_t p0
, val_t p1
){
1405 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1409 static val_t once_value_2
; /* Once value */
1410 static val_t once_value_3
; /* Once value */
1411 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1412 fra
.me
.file
= LOCATE_icode_dump
;
1414 fra
.me
.meth
= LOCATE_icode_dump___ISeq___dump
;
1415 fra
.me
.has_broke
= 0;
1416 fra
.me
.REG_size
= 4;
1417 fra
.me
.REG
[0] = NIT_NULL
;
1418 fra
.me
.REG
[1] = NIT_NULL
;
1419 fra
.me
.REG
[2] = NIT_NULL
;
1420 fra
.me
.REG
[3] = NIT_NULL
;
1423 fra
.me
.REG
[2] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1424 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1425 /* ./analysis//icode_dump.nit:224 */
1427 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1428 if (UNTAG_Bool(REGB0
)) {
1429 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1430 /* ./analysis//icode_dump.nit:225 */
1431 CALL_icode_dump___ICode___dump(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1433 /* ./analysis//icode_dump.nit:224 */
1436 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1439 fra
.me
.REG
[0] = CALL_icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1440 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1441 /* ./analysis//icode_dump.nit:228 */
1442 if (UNTAG_Bool(REGB0
)) {
1444 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1445 if (UNTAG_Bool(REGB1
)) {
1446 REGB1
= TAG_Bool(false);
1449 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1453 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1454 if (UNTAG_Bool(REGB0
)) {
1455 REGB0
= CALL_icode_dump___ICodeDumper___has_lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1457 REGB1
= TAG_Bool(false);
1460 if (UNTAG_Bool(REGB0
)) {
1462 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1463 if (!once_value_2
) {
1464 fra
.me
.REG
[3] = BOX_NativeString("");
1466 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1467 once_value_2
= fra
.me
.REG
[3];
1468 register_static_object(&once_value_2
);
1469 } else fra
.me
.REG
[3] = once_value_2
;
1470 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1471 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1472 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1473 if (!once_value_3
) {
1474 fra
.me
.REG
[0] = BOX_NativeString(":");
1476 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1477 once_value_3
= fra
.me
.REG
[0];
1478 register_static_object(&once_value_3
);
1479 } else fra
.me
.REG
[0] = once_value_3
;
1480 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1481 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1482 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1484 stack_frame_head
= fra
.me
.prev
;
1487 void icode_dump___IIf___dump(val_t p0
, val_t p1
){
1488 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1491 static val_t once_value_1
; /* Once value */
1492 static val_t once_value_2
; /* Once value */
1493 static val_t once_value_3
; /* Once value */
1494 static val_t once_value_4
; /* Once value */
1495 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1496 fra
.me
.file
= LOCATE_icode_dump
;
1498 fra
.me
.meth
= LOCATE_icode_dump___IIf___dump
;
1499 fra
.me
.has_broke
= 0;
1500 fra
.me
.REG_size
= 4;
1501 fra
.me
.REG
[0] = NIT_NULL
;
1502 fra
.me
.REG
[1] = NIT_NULL
;
1503 fra
.me
.REG
[2] = NIT_NULL
;
1504 fra
.me
.REG
[3] = NIT_NULL
;
1508 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1509 /* ./analysis//icode_dump.nit:235 */
1510 if (!once_value_1
) {
1511 fra
.me
.REG
[3] = BOX_NativeString("IF(");
1513 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1514 once_value_1
= fra
.me
.REG
[3];
1515 register_static_object(&once_value_1
);
1516 } else fra
.me
.REG
[3] = once_value_1
;
1517 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1518 fra
.me
.REG
[3] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1519 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
1520 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1521 if (!once_value_2
) {
1522 fra
.me
.REG
[3] = BOX_NativeString(") {");
1524 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1525 once_value_2
= fra
.me
.REG
[3];
1526 register_static_object(&once_value_2
);
1527 } else fra
.me
.REG
[3] = once_value_2
;
1528 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1529 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1530 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1531 /* ./analysis//icode_dump.nit:236 */
1532 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1533 fra
.me
.REG
[2] = CALL_icode_base___IIf___then_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1534 /* ./analysis//icode_dump.nit:237 */
1535 CALL_icode_dump___ICode___dump(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1536 /* ./analysis//icode_dump.nit:238 */
1537 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1538 /* ./analysis//icode_dump.nit:239 */
1539 if (!once_value_3
) {
1540 fra
.me
.REG
[2] = BOX_NativeString("} ELSE {");
1542 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1543 once_value_3
= fra
.me
.REG
[2];
1544 register_static_object(&once_value_3
);
1545 } else fra
.me
.REG
[2] = once_value_3
;
1546 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1547 /* ./analysis//icode_dump.nit:240 */
1548 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1549 fra
.me
.REG
[0] = CALL_icode_base___IIf___else_seq(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1550 /* ./analysis//icode_dump.nit:241 */
1551 CALL_icode_dump___ICode___dump(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1552 /* ./analysis//icode_dump.nit:242 */
1553 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1554 /* ./analysis//icode_dump.nit:243 */
1555 if (!once_value_4
) {
1556 fra
.me
.REG
[0] = BOX_NativeString("}");
1558 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1559 once_value_4
= fra
.me
.REG
[0];
1560 register_static_object(&once_value_4
);
1561 } else fra
.me
.REG
[0] = once_value_4
;
1562 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1563 stack_frame_head
= fra
.me
.prev
;
1566 void icode_dump___ILoop___dump(val_t p0
, val_t p1
){
1567 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1571 static val_t once_value_1
; /* Once value */
1572 static val_t once_value_3
; /* Once value */
1573 static val_t once_value_4
; /* Once value */
1574 static val_t once_value_5
; /* Once value */
1575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1576 fra
.me
.file
= LOCATE_icode_dump
;
1578 fra
.me
.meth
= LOCATE_icode_dump___ILoop___dump
;
1579 fra
.me
.has_broke
= 0;
1580 fra
.me
.REG_size
= 4;
1581 fra
.me
.REG
[0] = NIT_NULL
;
1582 fra
.me
.REG
[1] = NIT_NULL
;
1583 fra
.me
.REG
[2] = NIT_NULL
;
1584 fra
.me
.REG
[3] = NIT_NULL
;
1587 /* ./analysis//icode_dump.nit:250 */
1588 if (!once_value_1
) {
1589 fra
.me
.REG
[2] = BOX_NativeString("LOOP {");
1591 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1592 once_value_1
= fra
.me
.REG
[2];
1593 register_static_object(&once_value_1
);
1594 } else fra
.me
.REG
[2] = once_value_1
;
1595 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1596 /* ./analysis//icode_dump.nit:251 */
1597 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1598 fra
.me
.REG
[2] = CALL_icode_base___ISeq___icodes(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1599 fra
.me
.REG
[2] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1600 /* ./analysis//icode_dump.nit:252 */
1602 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1603 if (UNTAG_Bool(REGB0
)) {
1604 fra
.me
.REG
[3] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1605 /* ./analysis//icode_dump.nit:253 */
1606 CALL_icode_dump___ICode___dump(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
1608 /* ./analysis//icode_dump.nit:252 */
1611 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1614 /* ./analysis//icode_dump.nit:255 */
1615 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1616 /* ./analysis//icode_dump.nit:256 */
1617 if (!once_value_3
) {
1618 fra
.me
.REG
[2] = BOX_NativeString("}");
1620 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1621 once_value_3
= fra
.me
.REG
[2];
1622 register_static_object(&once_value_3
);
1623 } else fra
.me
.REG
[2] = once_value_3
;
1624 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1625 fra
.me
.REG
[0] = CALL_icode_base___ISeq___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1626 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1627 /* ./analysis//icode_dump.nit:258 */
1628 if (UNTAG_Bool(REGB0
)) {
1630 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
1631 if (UNTAG_Bool(REGB1
)) {
1632 REGB1
= TAG_Bool(false);
1635 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
1639 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1640 if (UNTAG_Bool(REGB0
)) {
1641 REGB0
= CALL_icode_dump___ICodeDumper___has_lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1643 REGB1
= TAG_Bool(false);
1646 if (UNTAG_Bool(REGB0
)) {
1648 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1649 if (!once_value_4
) {
1650 fra
.me
.REG
[3] = BOX_NativeString("");
1652 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1653 once_value_4
= fra
.me
.REG
[3];
1654 register_static_object(&once_value_4
);
1655 } else fra
.me
.REG
[3] = once_value_4
;
1656 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1657 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1658 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1659 if (!once_value_5
) {
1660 fra
.me
.REG
[0] = BOX_NativeString(":");
1662 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1663 once_value_5
= fra
.me
.REG
[0];
1664 register_static_object(&once_value_5
);
1665 } else fra
.me
.REG
[0] = once_value_5
;
1666 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1667 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1668 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1670 stack_frame_head
= fra
.me
.prev
;
1673 val_t
icode_dump___IEscape___dump_intern(val_t p0
, val_t p1
){
1674 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1677 static val_t once_value_1
; /* Once value */
1678 static val_t once_value_2
; /* Once value */
1679 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1680 fra
.me
.file
= LOCATE_icode_dump
;
1682 fra
.me
.meth
= LOCATE_icode_dump___IEscape___dump_intern
;
1683 fra
.me
.has_broke
= 0;
1684 fra
.me
.REG_size
= 4;
1685 fra
.me
.REG
[0] = NIT_NULL
;
1686 fra
.me
.REG
[1] = NIT_NULL
;
1687 fra
.me
.REG
[2] = NIT_NULL
;
1688 fra
.me
.REG
[3] = NIT_NULL
;
1692 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1693 /* ./analysis//icode_dump.nit:265 */
1694 if (!once_value_1
) {
1695 fra
.me
.REG
[3] = BOX_NativeString("ESCAPE ");
1697 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1698 once_value_1
= fra
.me
.REG
[3];
1699 register_static_object(&once_value_1
);
1700 } else fra
.me
.REG
[3] = once_value_1
;
1701 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1702 fra
.me
.REG
[0] = CALL_icode_base___IEscape___iescape_mark(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1703 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___lab(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1704 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1705 if (!once_value_2
) {
1706 fra
.me
.REG
[0] = BOX_NativeString("");
1708 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1709 once_value_2
= fra
.me
.REG
[0];
1710 register_static_object(&once_value_2
);
1711 } else fra
.me
.REG
[0] = once_value_2
;
1712 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1713 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1716 stack_frame_head
= fra
.me
.prev
;
1717 return fra
.me
.REG
[2];
1719 val_t
icode_dump___IAbort___dump_intern(val_t p0
, val_t p1
){
1720 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1723 static val_t once_value_1
; /* Once value */
1724 static val_t once_value_2
; /* Once value */
1725 static val_t once_value_3
; /* Once value */
1726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1727 fra
.me
.file
= LOCATE_icode_dump
;
1729 fra
.me
.meth
= LOCATE_icode_dump___IAbort___dump_intern
;
1730 fra
.me
.has_broke
= 0;
1731 fra
.me
.REG_size
= 3;
1732 fra
.me
.REG
[0] = NIT_NULL
;
1733 fra
.me
.REG
[1] = NIT_NULL
;
1734 fra
.me
.REG
[2] = NIT_NULL
;
1738 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
1739 /* ./analysis//icode_dump.nit:272 */
1740 if (!once_value_1
) {
1741 fra
.me
.REG
[2] = BOX_NativeString("ABORT (\"");
1743 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1744 once_value_1
= fra
.me
.REG
[2];
1745 register_static_object(&once_value_1
);
1746 } else fra
.me
.REG
[2] = once_value_1
;
1747 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1748 fra
.me
.REG
[0] = CALL_icode_base___IAbort___texts(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1749 if (!once_value_2
) {
1750 fra
.me
.REG
[2] = BOX_NativeString("\", \"");
1752 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1753 once_value_2
= fra
.me
.REG
[2];
1754 register_static_object(&once_value_2
);
1755 } else fra
.me
.REG
[2] = once_value_2
;
1756 fra
.me
.REG
[2] = CALL_string___Collection___join(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
1757 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1758 if (!once_value_3
) {
1759 fra
.me
.REG
[2] = BOX_NativeString("\")");
1761 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
1762 once_value_3
= fra
.me
.REG
[2];
1763 register_static_object(&once_value_3
);
1764 } else fra
.me
.REG
[2] = once_value_3
;
1765 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
1766 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1769 stack_frame_head
= fra
.me
.prev
;
1770 return fra
.me
.REG
[1];
1772 val_t
icode_dump___ICall___dump_intern(val_t p0
, val_t p1
){
1773 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1776 static val_t once_value_1
; /* Once value */
1777 static val_t once_value_2
; /* Once value */
1778 static val_t once_value_3
; /* Once value */
1779 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1780 fra
.me
.file
= LOCATE_icode_dump
;
1782 fra
.me
.meth
= LOCATE_icode_dump___ICall___dump_intern
;
1783 fra
.me
.has_broke
= 0;
1784 fra
.me
.REG_size
= 4;
1785 fra
.me
.REG
[0] = NIT_NULL
;
1786 fra
.me
.REG
[1] = NIT_NULL
;
1787 fra
.me
.REG
[2] = NIT_NULL
;
1788 fra
.me
.REG
[3] = NIT_NULL
;
1792 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1793 /* ./analysis//icode_dump.nit:279 */
1794 if (!once_value_1
) {
1795 fra
.me
.REG
[3] = BOX_NativeString("CALL ");
1797 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1798 once_value_1
= fra
.me
.REG
[3];
1799 register_static_object(&once_value_1
);
1800 } else fra
.me
.REG
[3] = once_value_1
;
1801 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1802 fra
.me
.REG
[3] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1803 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1804 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1805 if (!once_value_2
) {
1806 fra
.me
.REG
[3] = BOX_NativeString("(");
1808 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1809 once_value_2
= fra
.me
.REG
[3];
1810 register_static_object(&once_value_2
);
1811 } else fra
.me
.REG
[3] = once_value_2
;
1812 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1813 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1814 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1815 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1816 if (!once_value_3
) {
1817 fra
.me
.REG
[0] = BOX_NativeString(")");
1819 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1820 once_value_3
= fra
.me
.REG
[0];
1821 register_static_object(&once_value_3
);
1822 } else fra
.me
.REG
[0] = once_value_3
;
1823 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1824 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1827 stack_frame_head
= fra
.me
.prev
;
1828 return fra
.me
.REG
[2];
1830 val_t
icode_dump___INew___dump_intern(val_t p0
, val_t p1
){
1831 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1834 static val_t once_value_1
; /* Once value */
1835 static val_t once_value_2
; /* Once value */
1836 static val_t once_value_3
; /* Once value */
1837 static val_t once_value_4
; /* Once value */
1838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1839 fra
.me
.file
= LOCATE_icode_dump
;
1841 fra
.me
.meth
= LOCATE_icode_dump___INew___dump_intern
;
1842 fra
.me
.has_broke
= 0;
1843 fra
.me
.REG_size
= 4;
1844 fra
.me
.REG
[0] = NIT_NULL
;
1845 fra
.me
.REG
[1] = NIT_NULL
;
1846 fra
.me
.REG
[2] = NIT_NULL
;
1847 fra
.me
.REG
[3] = NIT_NULL
;
1851 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1852 /* ./analysis//icode_dump.nit:286 */
1853 if (!once_value_1
) {
1854 fra
.me
.REG
[3] = BOX_NativeString("NEW ");
1856 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1857 once_value_1
= fra
.me
.REG
[3];
1858 register_static_object(&once_value_1
);
1859 } else fra
.me
.REG
[3] = once_value_1
;
1860 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1861 fra
.me
.REG
[3] = CALL_icode_base___INew___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1862 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1863 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1864 if (!once_value_2
) {
1865 fra
.me
.REG
[3] = BOX_NativeString(".");
1867 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1868 once_value_2
= fra
.me
.REG
[3];
1869 register_static_object(&once_value_2
);
1870 } else fra
.me
.REG
[3] = once_value_2
;
1871 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1872 fra
.me
.REG
[3] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1873 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1874 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1875 if (!once_value_3
) {
1876 fra
.me
.REG
[3] = BOX_NativeString("(");
1878 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1879 once_value_3
= fra
.me
.REG
[3];
1880 register_static_object(&once_value_3
);
1881 } else fra
.me
.REG
[3] = once_value_3
;
1882 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1883 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1884 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1885 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1886 if (!once_value_4
) {
1887 fra
.me
.REG
[0] = BOX_NativeString(")");
1889 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1890 once_value_4
= fra
.me
.REG
[0];
1891 register_static_object(&once_value_4
);
1892 } else fra
.me
.REG
[0] = once_value_4
;
1893 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1894 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1897 stack_frame_head
= fra
.me
.prev
;
1898 return fra
.me
.REG
[2];
1900 val_t
icode_dump___ISuper___dump_intern(val_t p0
, val_t p1
){
1901 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1904 static val_t once_value_1
; /* Once value */
1905 static val_t once_value_2
; /* Once value */
1906 static val_t once_value_3
; /* Once value */
1907 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1908 fra
.me
.file
= LOCATE_icode_dump
;
1910 fra
.me
.meth
= LOCATE_icode_dump___ISuper___dump_intern
;
1911 fra
.me
.has_broke
= 0;
1912 fra
.me
.REG_size
= 4;
1913 fra
.me
.REG
[0] = NIT_NULL
;
1914 fra
.me
.REG
[1] = NIT_NULL
;
1915 fra
.me
.REG
[2] = NIT_NULL
;
1916 fra
.me
.REG
[3] = NIT_NULL
;
1920 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1921 /* ./analysis//icode_dump.nit:293 */
1922 if (!once_value_1
) {
1923 fra
.me
.REG
[3] = BOX_NativeString("SUPER ");
1925 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1926 once_value_1
= fra
.me
.REG
[3];
1927 register_static_object(&once_value_1
);
1928 } else fra
.me
.REG
[3] = once_value_1
;
1929 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1930 fra
.me
.REG
[3] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1931 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1932 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1933 if (!once_value_2
) {
1934 fra
.me
.REG
[3] = BOX_NativeString("(");
1936 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1937 once_value_2
= fra
.me
.REG
[3];
1938 register_static_object(&once_value_2
);
1939 } else fra
.me
.REG
[3] = once_value_2
;
1940 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1941 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1942 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1943 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1944 if (!once_value_3
) {
1945 fra
.me
.REG
[0] = BOX_NativeString(")");
1947 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
1948 once_value_3
= fra
.me
.REG
[0];
1949 register_static_object(&once_value_3
);
1950 } else fra
.me
.REG
[0] = once_value_3
;
1951 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1952 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1955 stack_frame_head
= fra
.me
.prev
;
1956 return fra
.me
.REG
[2];
1958 val_t
icode_dump___IStaticCall___dump_intern(val_t p0
, val_t p1
){
1959 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1962 static val_t once_value_1
; /* Once value */
1963 static val_t once_value_2
; /* Once value */
1964 static val_t once_value_3
; /* Once value */
1965 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1966 fra
.me
.file
= LOCATE_icode_dump
;
1968 fra
.me
.meth
= LOCATE_icode_dump___IStaticCall___dump_intern
;
1969 fra
.me
.has_broke
= 0;
1970 fra
.me
.REG_size
= 4;
1971 fra
.me
.REG
[0] = NIT_NULL
;
1972 fra
.me
.REG
[1] = NIT_NULL
;
1973 fra
.me
.REG
[2] = NIT_NULL
;
1974 fra
.me
.REG
[3] = NIT_NULL
;
1978 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
1979 /* ./analysis//icode_dump.nit:300 */
1980 if (!once_value_1
) {
1981 fra
.me
.REG
[3] = BOX_NativeString("STATIC_CALL ");
1982 REGB0
= TAG_Int(12);
1983 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1984 once_value_1
= fra
.me
.REG
[3];
1985 register_static_object(&once_value_1
);
1986 } else fra
.me
.REG
[3] = once_value_1
;
1987 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1988 fra
.me
.REG
[3] = CALL_icode_base___IAbsCall___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1989 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1990 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1991 if (!once_value_2
) {
1992 fra
.me
.REG
[3] = BOX_NativeString("(");
1994 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
1995 once_value_2
= fra
.me
.REG
[3];
1996 register_static_object(&once_value_2
);
1997 } else fra
.me
.REG
[3] = once_value_2
;
1998 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
1999 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2000 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2001 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2002 if (!once_value_3
) {
2003 fra
.me
.REG
[0] = BOX_NativeString(")");
2005 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2006 once_value_3
= fra
.me
.REG
[0];
2007 register_static_object(&once_value_3
);
2008 } else fra
.me
.REG
[0] = once_value_3
;
2009 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2010 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2013 stack_frame_head
= fra
.me
.prev
;
2014 return fra
.me
.REG
[2];
2016 val_t
icode_dump___IAllocateInstance___dump_intern(val_t p0
, val_t p1
){
2017 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2020 static val_t once_value_1
; /* Once value */
2021 static val_t once_value_2
; /* Once value */
2022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2023 fra
.me
.file
= LOCATE_icode_dump
;
2025 fra
.me
.meth
= LOCATE_icode_dump___IAllocateInstance___dump_intern
;
2026 fra
.me
.has_broke
= 0;
2027 fra
.me
.REG_size
= 3;
2028 fra
.me
.REG
[0] = NIT_NULL
;
2029 fra
.me
.REG
[1] = NIT_NULL
;
2030 fra
.me
.REG
[2] = NIT_NULL
;
2034 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
2035 /* ./analysis//icode_dump.nit:307 */
2036 if (!once_value_1
) {
2037 fra
.me
.REG
[2] = BOX_NativeString("ALLOCATE NEW_");
2038 REGB0
= TAG_Int(13);
2039 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2040 once_value_1
= fra
.me
.REG
[2];
2041 register_static_object(&once_value_1
);
2042 } else fra
.me
.REG
[2] = once_value_1
;
2043 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2044 fra
.me
.REG
[0] = CALL_icode_base___IAllocateInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2045 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2046 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2047 if (!once_value_2
) {
2048 fra
.me
.REG
[0] = BOX_NativeString("");
2050 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2051 once_value_2
= fra
.me
.REG
[0];
2052 register_static_object(&once_value_2
);
2053 } else fra
.me
.REG
[0] = once_value_2
;
2054 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2055 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2058 stack_frame_head
= fra
.me
.prev
;
2059 return fra
.me
.REG
[1];
2061 val_t
icode_dump___ICheckInstance___dump_intern(val_t p0
, val_t p1
){
2062 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2065 static val_t once_value_1
; /* Once value */
2066 static val_t once_value_2
; /* Once value */
2067 static val_t once_value_3
; /* Once value */
2068 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2069 fra
.me
.file
= LOCATE_icode_dump
;
2071 fra
.me
.meth
= LOCATE_icode_dump___ICheckInstance___dump_intern
;
2072 fra
.me
.has_broke
= 0;
2073 fra
.me
.REG_size
= 4;
2074 fra
.me
.REG
[0] = NIT_NULL
;
2075 fra
.me
.REG
[1] = NIT_NULL
;
2076 fra
.me
.REG
[2] = NIT_NULL
;
2077 fra
.me
.REG
[3] = NIT_NULL
;
2081 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2082 /* ./analysis//icode_dump.nit:314 */
2083 if (!once_value_1
) {
2084 fra
.me
.REG
[3] = BOX_NativeString("CHECK_INSTANCE CHECKNEW_");
2085 REGB0
= TAG_Int(24);
2086 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2087 once_value_1
= fra
.me
.REG
[3];
2088 register_static_object(&once_value_1
);
2089 } else fra
.me
.REG
[3] = once_value_1
;
2090 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2091 fra
.me
.REG
[3] = CALL_icode_base___ICheckInstance___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2092 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2093 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2094 if (!once_value_2
) {
2095 fra
.me
.REG
[3] = BOX_NativeString("(");
2097 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2098 once_value_2
= fra
.me
.REG
[3];
2099 register_static_object(&once_value_2
);
2100 } else fra
.me
.REG
[3] = once_value_2
;
2101 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2102 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2103 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2104 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2105 if (!once_value_3
) {
2106 fra
.me
.REG
[0] = BOX_NativeString(")");
2108 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2109 once_value_3
= fra
.me
.REG
[0];
2110 register_static_object(&once_value_3
);
2111 } else fra
.me
.REG
[0] = once_value_3
;
2112 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2113 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2116 stack_frame_head
= fra
.me
.prev
;
2117 return fra
.me
.REG
[2];
2119 val_t
icode_dump___IInitAttributes___dump_intern(val_t p0
, val_t p1
){
2120 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2123 static val_t once_value_1
; /* Once value */
2124 static val_t once_value_2
; /* Once value */
2125 static val_t once_value_3
; /* Once value */
2126 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2127 fra
.me
.file
= LOCATE_icode_dump
;
2129 fra
.me
.meth
= LOCATE_icode_dump___IInitAttributes___dump_intern
;
2130 fra
.me
.has_broke
= 0;
2131 fra
.me
.REG_size
= 4;
2132 fra
.me
.REG
[0] = NIT_NULL
;
2133 fra
.me
.REG
[1] = NIT_NULL
;
2134 fra
.me
.REG
[2] = NIT_NULL
;
2135 fra
.me
.REG
[3] = NIT_NULL
;
2139 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2140 /* ./analysis//icode_dump.nit:321 */
2141 if (!once_value_1
) {
2142 fra
.me
.REG
[3] = BOX_NativeString("INIT_ATTRIBUTES INIT_ATTRIBUTES_");
2143 REGB0
= TAG_Int(32);
2144 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2145 once_value_1
= fra
.me
.REG
[3];
2146 register_static_object(&once_value_1
);
2147 } else fra
.me
.REG
[3] = once_value_1
;
2148 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2149 fra
.me
.REG
[3] = CALL_icode_base___IInitAttributes___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2150 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2151 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2152 if (!once_value_2
) {
2153 fra
.me
.REG
[3] = BOX_NativeString("(");
2155 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2156 once_value_2
= fra
.me
.REG
[3];
2157 register_static_object(&once_value_2
);
2158 } else fra
.me
.REG
[3] = once_value_2
;
2159 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2160 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2161 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2162 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2163 if (!once_value_3
) {
2164 fra
.me
.REG
[0] = BOX_NativeString(")");
2166 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2167 once_value_3
= fra
.me
.REG
[0];
2168 register_static_object(&once_value_3
);
2169 } else fra
.me
.REG
[0] = once_value_3
;
2170 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2171 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2174 stack_frame_head
= fra
.me
.prev
;
2175 return fra
.me
.REG
[2];
2177 val_t
icode_dump___IClosCall___dump_intern(val_t p0
, val_t p1
){
2178 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2181 static val_t once_value_1
; /* Once value */
2182 static val_t once_value_2
; /* Once value */
2183 static val_t once_value_3
; /* Once value */
2184 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2185 fra
.me
.file
= LOCATE_icode_dump
;
2187 fra
.me
.meth
= LOCATE_icode_dump___IClosCall___dump_intern
;
2188 fra
.me
.has_broke
= 0;
2189 fra
.me
.REG_size
= 4;
2190 fra
.me
.REG
[0] = NIT_NULL
;
2191 fra
.me
.REG
[1] = NIT_NULL
;
2192 fra
.me
.REG
[2] = NIT_NULL
;
2193 fra
.me
.REG
[3] = NIT_NULL
;
2197 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2198 /* ./analysis//icode_dump.nit:328 */
2199 if (!once_value_1
) {
2200 fra
.me
.REG
[3] = BOX_NativeString("CLOS_CALL ");
2201 REGB0
= TAG_Int(10);
2202 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2203 once_value_1
= fra
.me
.REG
[3];
2204 register_static_object(&once_value_1
);
2205 } else fra
.me
.REG
[3] = once_value_1
;
2206 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2207 fra
.me
.REG
[3] = CALL_icode_base___IClosCall___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2208 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___closdecl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2209 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2210 if (!once_value_2
) {
2211 fra
.me
.REG
[3] = BOX_NativeString("(");
2213 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2214 once_value_2
= fra
.me
.REG
[3];
2215 register_static_object(&once_value_2
);
2216 } else fra
.me
.REG
[3] = once_value_2
;
2217 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2218 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2219 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2220 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2221 if (!once_value_3
) {
2222 fra
.me
.REG
[0] = BOX_NativeString(")");
2224 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2225 once_value_3
= fra
.me
.REG
[0];
2226 register_static_object(&once_value_3
);
2227 } else fra
.me
.REG
[0] = once_value_3
;
2228 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2229 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2232 stack_frame_head
= fra
.me
.prev
;
2233 return fra
.me
.REG
[2];
2235 val_t
icode_dump___IAttrRead___dump_intern(val_t p0
, val_t p1
){
2236 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2239 static val_t once_value_1
; /* Once value */
2240 static val_t once_value_2
; /* Once value */
2241 static val_t once_value_3
; /* Once value */
2242 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2243 fra
.me
.file
= LOCATE_icode_dump
;
2245 fra
.me
.meth
= LOCATE_icode_dump___IAttrRead___dump_intern
;
2246 fra
.me
.has_broke
= 0;
2247 fra
.me
.REG_size
= 4;
2248 fra
.me
.REG
[0] = NIT_NULL
;
2249 fra
.me
.REG
[1] = NIT_NULL
;
2250 fra
.me
.REG
[2] = NIT_NULL
;
2251 fra
.me
.REG
[3] = NIT_NULL
;
2255 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2256 /* ./analysis//icode_dump.nit:335 */
2257 if (!once_value_1
) {
2258 fra
.me
.REG
[3] = BOX_NativeString("ATTR_READ ");
2259 REGB0
= TAG_Int(10);
2260 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2261 once_value_1
= fra
.me
.REG
[3];
2262 register_static_object(&once_value_1
);
2263 } else fra
.me
.REG
[3] = once_value_1
;
2264 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2265 fra
.me
.REG
[3] = CALL_icode_base___IAttrRead___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2266 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2267 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2268 if (!once_value_2
) {
2269 fra
.me
.REG
[3] = BOX_NativeString("(");
2271 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2272 once_value_2
= fra
.me
.REG
[3];
2273 register_static_object(&once_value_2
);
2274 } else fra
.me
.REG
[3] = once_value_2
;
2275 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2276 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2277 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2278 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2279 if (!once_value_3
) {
2280 fra
.me
.REG
[0] = BOX_NativeString(")");
2282 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2283 once_value_3
= fra
.me
.REG
[0];
2284 register_static_object(&once_value_3
);
2285 } else fra
.me
.REG
[0] = once_value_3
;
2286 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2287 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2290 stack_frame_head
= fra
.me
.prev
;
2291 return fra
.me
.REG
[2];
2293 val_t
icode_dump___IAttrWrite___dump_intern(val_t p0
, val_t p1
){
2294 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2297 static val_t once_value_1
; /* Once value */
2298 static val_t once_value_2
; /* Once value */
2299 static val_t once_value_3
; /* Once value */
2300 static val_t once_value_4
; /* Once value */
2301 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2302 fra
.me
.file
= LOCATE_icode_dump
;
2304 fra
.me
.meth
= LOCATE_icode_dump___IAttrWrite___dump_intern
;
2305 fra
.me
.has_broke
= 0;
2306 fra
.me
.REG_size
= 4;
2307 fra
.me
.REG
[0] = NIT_NULL
;
2308 fra
.me
.REG
[1] = NIT_NULL
;
2309 fra
.me
.REG
[2] = NIT_NULL
;
2310 fra
.me
.REG
[3] = NIT_NULL
;
2314 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2315 /* ./analysis//icode_dump.nit:342 */
2316 if (!once_value_1
) {
2317 fra
.me
.REG
[3] = BOX_NativeString("ATTR_WRITE ");
2318 REGB0
= TAG_Int(11);
2319 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2320 once_value_1
= fra
.me
.REG
[3];
2321 register_static_object(&once_value_1
);
2322 } else fra
.me
.REG
[3] = once_value_1
;
2323 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2324 fra
.me
.REG
[3] = CALL_icode_base___IAttrWrite___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2325 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2326 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2327 if (!once_value_2
) {
2328 fra
.me
.REG
[3] = BOX_NativeString("(");
2330 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2331 once_value_2
= fra
.me
.REG
[3];
2332 register_static_object(&once_value_2
);
2333 } else fra
.me
.REG
[3] = once_value_2
;
2334 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2335 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2336 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2337 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2338 if (!once_value_3
) {
2339 fra
.me
.REG
[3] = BOX_NativeString(") := ");
2341 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2342 once_value_3
= fra
.me
.REG
[3];
2343 register_static_object(&once_value_3
);
2344 } else fra
.me
.REG
[3] = once_value_3
;
2345 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2346 fra
.me
.REG
[0] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2347 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2348 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2349 if (!once_value_4
) {
2350 fra
.me
.REG
[0] = BOX_NativeString("");
2352 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2353 once_value_4
= fra
.me
.REG
[0];
2354 register_static_object(&once_value_4
);
2355 } else fra
.me
.REG
[0] = once_value_4
;
2356 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2357 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2360 stack_frame_head
= fra
.me
.prev
;
2361 return fra
.me
.REG
[2];
2363 val_t
icode_dump___IAttrIsset___dump_intern(val_t p0
, val_t p1
){
2364 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2367 static val_t once_value_1
; /* Once value */
2368 static val_t once_value_2
; /* Once value */
2369 static val_t once_value_3
; /* Once value */
2370 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2371 fra
.me
.file
= LOCATE_icode_dump
;
2373 fra
.me
.meth
= LOCATE_icode_dump___IAttrIsset___dump_intern
;
2374 fra
.me
.has_broke
= 0;
2375 fra
.me
.REG_size
= 4;
2376 fra
.me
.REG
[0] = NIT_NULL
;
2377 fra
.me
.REG
[1] = NIT_NULL
;
2378 fra
.me
.REG
[2] = NIT_NULL
;
2379 fra
.me
.REG
[3] = NIT_NULL
;
2383 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2384 /* ./analysis//icode_dump.nit:349 */
2385 if (!once_value_1
) {
2386 fra
.me
.REG
[3] = BOX_NativeString("ATTR_ISSET ");
2387 REGB0
= TAG_Int(11);
2388 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2389 once_value_1
= fra
.me
.REG
[3];
2390 register_static_object(&once_value_1
);
2391 } else fra
.me
.REG
[3] = once_value_1
;
2392 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2393 fra
.me
.REG
[3] = CALL_icode_base___IAttrIsset___property(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2394 fra
.me
.REG
[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2395 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2396 if (!once_value_2
) {
2397 fra
.me
.REG
[3] = BOX_NativeString("(");
2399 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2400 once_value_2
= fra
.me
.REG
[3];
2401 register_static_object(&once_value_2
);
2402 } else fra
.me
.REG
[3] = once_value_2
;
2403 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2404 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2405 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2406 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2407 if (!once_value_3
) {
2408 fra
.me
.REG
[0] = BOX_NativeString(")");
2410 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2411 once_value_3
= fra
.me
.REG
[0];
2412 register_static_object(&once_value_3
);
2413 } else fra
.me
.REG
[0] = once_value_3
;
2414 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2415 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2418 stack_frame_head
= fra
.me
.prev
;
2419 return fra
.me
.REG
[2];
2421 val_t
icode_dump___ITypeCheck___dump_intern(val_t p0
, val_t p1
){
2422 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2425 static val_t once_value_1
; /* Once value */
2426 static val_t once_value_2
; /* Once value */
2427 static val_t once_value_3
; /* Once value */
2428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2429 fra
.me
.file
= LOCATE_icode_dump
;
2431 fra
.me
.meth
= LOCATE_icode_dump___ITypeCheck___dump_intern
;
2432 fra
.me
.has_broke
= 0;
2433 fra
.me
.REG_size
= 4;
2434 fra
.me
.REG
[0] = NIT_NULL
;
2435 fra
.me
.REG
[1] = NIT_NULL
;
2436 fra
.me
.REG
[2] = NIT_NULL
;
2437 fra
.me
.REG
[3] = NIT_NULL
;
2441 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2442 /* ./analysis//icode_dump.nit:356 */
2443 if (!once_value_1
) {
2444 fra
.me
.REG
[3] = BOX_NativeString("CHECKTYPE ");
2445 REGB0
= TAG_Int(10);
2446 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2447 once_value_1
= fra
.me
.REG
[3];
2448 register_static_object(&once_value_1
);
2449 } else fra
.me
.REG
[3] = once_value_1
;
2450 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2451 fra
.me
.REG
[3] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2452 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2453 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2454 if (!once_value_2
) {
2455 fra
.me
.REG
[3] = BOX_NativeString(" isa ");
2457 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2458 once_value_2
= fra
.me
.REG
[3];
2459 register_static_object(&once_value_2
);
2460 } else fra
.me
.REG
[3] = once_value_2
;
2461 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2462 fra
.me
.REG
[0] = CALL_icode_base___ITypeCheck___stype(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2463 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2464 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2465 if (!once_value_3
) {
2466 fra
.me
.REG
[0] = BOX_NativeString("");
2468 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2469 once_value_3
= fra
.me
.REG
[0];
2470 register_static_object(&once_value_3
);
2471 } else fra
.me
.REG
[0] = once_value_3
;
2472 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2473 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2476 stack_frame_head
= fra
.me
.prev
;
2477 return fra
.me
.REG
[2];
2479 val_t
icode_dump___INative___dump_intern(val_t p0
, val_t p1
){
2480 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
2483 static val_t once_value_1
; /* Once value */
2484 static val_t once_value_2
; /* Once value */
2485 static val_t once_value_4
; /* Once value */
2486 static val_t once_value_5
; /* Once value */
2487 static val_t once_value_6
; /* Once value */
2488 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2489 fra
.me
.file
= LOCATE_icode_dump
;
2491 fra
.me
.meth
= LOCATE_icode_dump___INative___dump_intern
;
2492 fra
.me
.has_broke
= 0;
2493 fra
.me
.REG_size
= 5;
2494 fra
.me
.REG
[0] = NIT_NULL
;
2495 fra
.me
.REG
[1] = NIT_NULL
;
2496 fra
.me
.REG
[2] = NIT_NULL
;
2497 fra
.me
.REG
[3] = NIT_NULL
;
2498 fra
.me
.REG
[4] = NIT_NULL
;
2501 fra
.me
.REG
[2] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2502 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2503 /* ./analysis//icode_dump.nit:363 */
2504 if (UNTAG_Bool(REGB0
)) {
2506 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2507 /* ./analysis//icode_dump.nit:364 */
2508 if (!once_value_1
) {
2509 fra
.me
.REG
[3] = BOX_NativeString("NATIVE \"");
2511 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2512 once_value_1
= fra
.me
.REG
[3];
2513 register_static_object(&once_value_1
);
2514 } else fra
.me
.REG
[3] = once_value_1
;
2515 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2516 fra
.me
.REG
[3] = CALL_icode_base___INative___code(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2517 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2518 if (!once_value_2
) {
2519 fra
.me
.REG
[3] = BOX_NativeString("\"");
2521 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2522 once_value_2
= fra
.me
.REG
[3];
2523 register_static_object(&once_value_2
);
2524 } else fra
.me
.REG
[3] = once_value_2
;
2525 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2526 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2530 fra
.me
.REG
[3] = NEW_Array_array___Array___with_capacity(REGB0
);
2531 /* ./analysis//icode_dump.nit:366 */
2532 if (!once_value_4
) {
2533 fra
.me
.REG
[4] = BOX_NativeString("NATIVE \"");
2535 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2536 once_value_4
= fra
.me
.REG
[4];
2537 register_static_object(&once_value_4
);
2538 } else fra
.me
.REG
[4] = once_value_4
;
2539 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2540 fra
.me
.REG
[4] = CALL_icode_base___INative___code(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2541 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2542 if (!once_value_5
) {
2543 fra
.me
.REG
[4] = BOX_NativeString("\"(");
2545 fra
.me
.REG
[4] = NEW_String_string___String___with_native(fra
.me
.REG
[4], REGB0
);
2546 once_value_5
= fra
.me
.REG
[4];
2547 register_static_object(&once_value_5
);
2548 } else fra
.me
.REG
[4] = once_value_5
;
2549 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[4]);
2550 fra
.me
.REG
[0] = CALL_icode_base___ICodeN___exprs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2551 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register_all(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2552 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2553 if (!once_value_6
) {
2554 fra
.me
.REG
[0] = BOX_NativeString(")");
2556 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2557 once_value_6
= fra
.me
.REG
[0];
2558 register_static_object(&once_value_6
);
2559 } else fra
.me
.REG
[0] = once_value_6
;
2560 array___Array___add(fra
.me
.REG
[3], fra
.me
.REG
[0]);
2561 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2562 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2566 stack_frame_head
= fra
.me
.prev
;
2567 return fra
.me
.REG
[2];
2569 val_t
icode_dump___IMove___dump_intern(val_t p0
, val_t p1
){
2570 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2573 static val_t once_value_1
; /* Once value */
2574 static val_t once_value_2
; /* Once value */
2575 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2576 fra
.me
.file
= LOCATE_icode_dump
;
2578 fra
.me
.meth
= LOCATE_icode_dump___IMove___dump_intern
;
2579 fra
.me
.has_broke
= 0;
2580 fra
.me
.REG_size
= 4;
2581 fra
.me
.REG
[0] = NIT_NULL
;
2582 fra
.me
.REG
[1] = NIT_NULL
;
2583 fra
.me
.REG
[2] = NIT_NULL
;
2584 fra
.me
.REG
[3] = NIT_NULL
;
2588 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2589 /* ./analysis//icode_dump.nit:374 */
2590 if (!once_value_1
) {
2591 fra
.me
.REG
[3] = BOX_NativeString("");
2593 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2594 once_value_1
= fra
.me
.REG
[3];
2595 register_static_object(&once_value_1
);
2596 } else fra
.me
.REG
[3] = once_value_1
;
2597 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2598 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2599 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2600 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2601 if (!once_value_2
) {
2602 fra
.me
.REG
[0] = BOX_NativeString("");
2604 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2605 once_value_2
= fra
.me
.REG
[0];
2606 register_static_object(&once_value_2
);
2607 } else fra
.me
.REG
[0] = once_value_2
;
2608 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2609 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2612 stack_frame_head
= fra
.me
.prev
;
2613 return fra
.me
.REG
[2];
2615 val_t
icode_dump___IIs___dump_intern(val_t p0
, val_t p1
){
2616 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2619 static val_t once_value_1
; /* Once value */
2620 static val_t once_value_2
; /* Once value */
2621 static val_t once_value_3
; /* Once value */
2622 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2623 fra
.me
.file
= LOCATE_icode_dump
;
2625 fra
.me
.meth
= LOCATE_icode_dump___IIs___dump_intern
;
2626 fra
.me
.has_broke
= 0;
2627 fra
.me
.REG_size
= 4;
2628 fra
.me
.REG
[0] = NIT_NULL
;
2629 fra
.me
.REG
[1] = NIT_NULL
;
2630 fra
.me
.REG
[2] = NIT_NULL
;
2631 fra
.me
.REG
[3] = NIT_NULL
;
2635 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2636 /* ./analysis//icode_dump.nit:381 */
2637 if (!once_value_1
) {
2638 fra
.me
.REG
[3] = BOX_NativeString("");
2640 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2641 once_value_1
= fra
.me
.REG
[3];
2642 register_static_object(&once_value_1
);
2643 } else fra
.me
.REG
[3] = once_value_1
;
2644 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2645 fra
.me
.REG
[3] = CALL_icode_base___ICode2___expr1(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2646 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2647 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2648 if (!once_value_2
) {
2649 fra
.me
.REG
[3] = BOX_NativeString(" is ");
2651 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2652 once_value_2
= fra
.me
.REG
[3];
2653 register_static_object(&once_value_2
);
2654 } else fra
.me
.REG
[3] = once_value_2
;
2655 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2656 fra
.me
.REG
[0] = CALL_icode_base___ICode2___expr2(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2657 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2658 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2659 if (!once_value_3
) {
2660 fra
.me
.REG
[0] = BOX_NativeString("");
2662 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2663 once_value_3
= fra
.me
.REG
[0];
2664 register_static_object(&once_value_3
);
2665 } else fra
.me
.REG
[0] = once_value_3
;
2666 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2667 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2670 stack_frame_head
= fra
.me
.prev
;
2671 return fra
.me
.REG
[2];
2673 val_t
icode_dump___INot___dump_intern(val_t p0
, val_t p1
){
2674 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2677 static val_t once_value_1
; /* Once value */
2678 static val_t once_value_2
; /* Once value */
2679 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2680 fra
.me
.file
= LOCATE_icode_dump
;
2682 fra
.me
.meth
= LOCATE_icode_dump___INot___dump_intern
;
2683 fra
.me
.has_broke
= 0;
2684 fra
.me
.REG_size
= 4;
2685 fra
.me
.REG
[0] = NIT_NULL
;
2686 fra
.me
.REG
[1] = NIT_NULL
;
2687 fra
.me
.REG
[2] = NIT_NULL
;
2688 fra
.me
.REG
[3] = NIT_NULL
;
2692 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2693 /* ./analysis//icode_dump.nit:388 */
2694 if (!once_value_1
) {
2695 fra
.me
.REG
[3] = BOX_NativeString("NOT ");
2697 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2698 once_value_1
= fra
.me
.REG
[3];
2699 register_static_object(&once_value_1
);
2700 } else fra
.me
.REG
[3] = once_value_1
;
2701 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2702 fra
.me
.REG
[0] = CALL_icode_base___ICode1___expr(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2703 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2704 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2705 if (!once_value_2
) {
2706 fra
.me
.REG
[0] = BOX_NativeString("");
2708 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2709 once_value_2
= fra
.me
.REG
[0];
2710 register_static_object(&once_value_2
);
2711 } else fra
.me
.REG
[0] = once_value_2
;
2712 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2713 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2716 stack_frame_head
= fra
.me
.prev
;
2717 return fra
.me
.REG
[2];
2719 void icode_dump___IOnce___dump(val_t p0
, val_t p1
){
2720 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2723 static val_t once_value_1
; /* Once value */
2724 static val_t once_value_2
; /* Once value */
2725 static val_t once_value_3
; /* Once value */
2726 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2727 fra
.me
.file
= LOCATE_icode_dump
;
2729 fra
.me
.meth
= LOCATE_icode_dump___IOnce___dump
;
2730 fra
.me
.has_broke
= 0;
2731 fra
.me
.REG_size
= 4;
2732 fra
.me
.REG
[0] = NIT_NULL
;
2733 fra
.me
.REG
[1] = NIT_NULL
;
2734 fra
.me
.REG
[2] = NIT_NULL
;
2735 fra
.me
.REG
[3] = NIT_NULL
;
2739 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2740 /* ./analysis//icode_dump.nit:395 */
2741 if (!once_value_1
) {
2742 fra
.me
.REG
[3] = BOX_NativeString("");
2744 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2745 once_value_1
= fra
.me
.REG
[3];
2746 register_static_object(&once_value_1
);
2747 } else fra
.me
.REG
[3] = once_value_1
;
2748 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2749 fra
.me
.REG
[3] = CALL_icode_base___ICode___result(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2750 REGB0
= TAG_Bool((fra
.me
.REG
[3]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[3], COLOR_IRegister
, ID_IRegister
)) /*cast IRegister*/;
2751 if (UNTAG_Bool(REGB0
)) {
2753 fprintf(stderr
, "Cast failed");
2754 fprintf(stderr
, " (%s:%d)\n", LOCATE_icode_dump
, 395);
2757 fra
.me
.REG
[3] = CALL_icode_dump___ICodeDumper___register(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[3]);
2758 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2759 if (!once_value_2
) {
2760 fra
.me
.REG
[3] = BOX_NativeString(" := ONCE {");
2761 REGB0
= TAG_Int(10);
2762 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2763 once_value_2
= fra
.me
.REG
[3];
2764 register_static_object(&once_value_2
);
2765 } else fra
.me
.REG
[3] = once_value_2
;
2766 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2767 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2768 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2769 /* ./analysis//icode_dump.nit:396 */
2770 CALL_icode_dump___ICodeDumper___indent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2771 fra
.me
.REG
[0] = CALL_icode_base___IOnce___body(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2772 /* ./analysis//icode_dump.nit:397 */
2773 CALL_icode_dump___ICode___dump(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
2774 /* ./analysis//icode_dump.nit:398 */
2775 CALL_icode_dump___ICodeDumper___unindent(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2776 /* ./analysis//icode_dump.nit:399 */
2777 if (!once_value_3
) {
2778 fra
.me
.REG
[0] = BOX_NativeString("}");
2780 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2781 once_value_3
= fra
.me
.REG
[0];
2782 register_static_object(&once_value_3
);
2783 } else fra
.me
.REG
[0] = once_value_3
;
2784 CALL_icode_dump___ICodeDumper___write(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2785 stack_frame_head
= fra
.me
.prev
;
2788 val_t
icode_dump___IHasClos___dump_intern(val_t p0
, val_t p1
){
2789 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2792 static val_t once_value_1
; /* Once value */
2793 static val_t once_value_2
; /* Once value */
2794 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2795 fra
.me
.file
= LOCATE_icode_dump
;
2797 fra
.me
.meth
= LOCATE_icode_dump___IHasClos___dump_intern
;
2798 fra
.me
.has_broke
= 0;
2799 fra
.me
.REG_size
= 4;
2800 fra
.me
.REG
[0] = NIT_NULL
;
2801 fra
.me
.REG
[1] = NIT_NULL
;
2802 fra
.me
.REG
[2] = NIT_NULL
;
2803 fra
.me
.REG
[3] = NIT_NULL
;
2807 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB0
);
2808 /* ./analysis//icode_dump.nit:406 */
2809 if (!once_value_1
) {
2810 fra
.me
.REG
[3] = BOX_NativeString("HASCLOS ");
2812 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2813 once_value_1
= fra
.me
.REG
[3];
2814 register_static_object(&once_value_1
);
2815 } else fra
.me
.REG
[3] = once_value_1
;
2816 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2817 fra
.me
.REG
[0] = CALL_icode_base___IHasClos___closure_decl(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2818 fra
.me
.REG
[0] = CALL_icode_dump___ICodeDumper___closdecl(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2819 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2820 if (!once_value_2
) {
2821 fra
.me
.REG
[0] = BOX_NativeString("");
2823 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2824 once_value_2
= fra
.me
.REG
[0];
2825 register_static_object(&once_value_2
);
2826 } else fra
.me
.REG
[0] = once_value_2
;
2827 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[0]);
2828 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2831 stack_frame_head
= fra
.me
.prev
;
2832 return fra
.me
.REG
[2];