gc: show default GC on warnings
[nit.git] / c_src / icode_dump._sep.c
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;
5 val_t REGB0;
6 val_t REGB1;
7 val_t tmp;
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;
19 fra.me.line = 24;
20 fra.me.meth = LOCATE_icode_dump___IRoutine___dump;
21 fra.me.has_broke = 0;
22 fra.me.REG_size = 5;
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;
28 fra.me.REG[0] = p0;
29 fra.me.REG[1] = p1;
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 */
39 while(1) {
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]);
46 } else {
47 /* ./analysis//icode_dump.nit:29 */
48 goto label1;
49 }
50 CALL_abstract_collection___Iterator___next(fra.me.REG[3])(fra.me.REG[3]);
51 }
52 label1: while(0);
53 REGB0 = TAG_Int(3);
54 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
55 /* ./analysis//icode_dump.nit:32 */
56 if (!once_value_2) {
57 fra.me.REG[4] = BOX_NativeString("Parameters: ");
58 REGB0 = TAG_Int(12);
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]);
64 if (!once_value_3) {
65 fra.me.REG[4] = BOX_NativeString(", ");
66 REGB0 = TAG_Int(2);
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]);
73 if (!once_value_4) {
74 fra.me.REG[4] = BOX_NativeString("");
75 REGB0 = TAG_Int(0);
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]);
83 }
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)) {
88 } else {
89 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
90 if (UNTAG_Bool(REGB1)) {
91 REGB1 = TAG_Bool(false);
92 REGB0 = REGB1;
93 } else {
94 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
95 REGB0 = REGB1;
96 }
97 }
98 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
99 if (UNTAG_Bool(REGB0)) {
100 REGB0 = TAG_Int(3);
101 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
102 /* ./analysis//icode_dump.nit:36 */
103 if (!once_value_5) {
104 fra.me.REG[2] = BOX_NativeString("Result: ");
105 REGB0 = TAG_Int(8);
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]);
113 if (!once_value_6) {
114 fra.me.REG[3] = BOX_NativeString("");
115 REGB0 = TAG_Int(0);
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]);
123 }
124 REGB0 = CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
125 REGB1 = TAG_Int(0);
126 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
127 /* ./analysis//icode_dump.nit:38 */
128 if (UNTAG_Bool(REGB1)) {
129 REGB1 = TAG_Int(3);
130 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
131 /* ./analysis//icode_dump.nit:39 */
132 if (!once_value_7) {
133 fra.me.REG[3] = BOX_NativeString("StdSlots: ");
134 REGB1 = TAG_Int(10);
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]);
143 if (!once_value_8) {
144 fra.me.REG[3] = BOX_NativeString("");
145 REGB1 = TAG_Int(0);
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]);
153 }
154 REGB1 = CALL_allocate_iregister_slots___IRoutine___tag_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
155 REGB0 = TAG_Int(0);
156 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
157 /* ./analysis//icode_dump.nit:41 */
158 if (UNTAG_Bool(REGB0)) {
159 REGB0 = TAG_Int(3);
160 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
161 /* ./analysis//icode_dump.nit:42 */
162 if (!once_value_9) {
163 fra.me.REG[3] = BOX_NativeString("TagSlots: ");
164 REGB0 = TAG_Int(10);
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("");
175 REGB0 = TAG_Int(0);
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]);
183 }
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)) {
188 } else {
189 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
190 if (UNTAG_Bool(REGB1)) {
191 REGB1 = TAG_Bool(false);
192 REGB0 = REGB1;
193 } else {
194 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
195 REGB0 = REGB1;
196 }
197 }
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 */
202 while(1) {
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]);
208 } else {
209 /* ./analysis//icode_dump.nit:46 */
210 goto label11;
211 }
212 CALL_abstract_collection___Iterator___next(fra.me.REG[4])(fra.me.REG[4]);
213 }
214 label11: while(0);
215 }
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;
220 return;
221 }
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;
224 val_t REGB0;
225 val_t REGB1;
226 val_t tmp;
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;
231 fra.me.line = 55;
232 fra.me.meth = LOCATE_icode_dump___IClosureDecl___dump;
233 fra.me.has_broke = 0;
234 fra.me.REG_size = 4;
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;
239 fra.me.REG[0] = p0;
240 fra.me.REG[1] = p1;
241 REGB0 = TAG_Int(3);
242 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
243 /* ./analysis//icode_dump.nit:58 */
244 if (!once_value_1) {
245 fra.me.REG[3] = BOX_NativeString("Closure: ");
246 REGB0 = TAG_Int(9);
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]);
254 if (!once_value_2) {
255 fra.me.REG[3] = BOX_NativeString("");
256 REGB0 = TAG_Int(0);
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)) {
268 } else {
269 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
270 if (UNTAG_Bool(REGB1)) {
271 REGB1 = TAG_Bool(false);
272 REGB0 = REGB1;
273 } else {
274 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
275 REGB0 = REGB1;
276 }
277 }
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);
288 nit_exit(1);
289 }
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]);
293 }
294 stack_frame_head = fra.me.prev;
295 return;
296 }
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;
299 val_t REGB0;
300 val_t REGB1;
301 val_t tmp;
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;
315 fra.me.line = 71;
316 fra.me.meth = LOCATE_icode_dump___ICodeDumper___register;
317 fra.me.has_broke = 0;
318 fra.me.REG_size = 7;
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;
326 fra.me.REG[0] = p0;
327 fra.me.REG[1] = p1;
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)) {
331 } else {
332 fprintf(stderr, "Uninitialized attribute %s", "_ids");
333 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 75);
334 nit_exit(1);
335 }
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)) {
342 } else {
343 fprintf(stderr, "Uninitialized attribute %s", "_ids");
344 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 76);
345 nit_exit(1);
346 }
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]);
349 goto label1;
350 } else {
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)) {
355 } else {
356 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
357 if (UNTAG_Bool(REGB1)) {
358 REGB1 = TAG_Bool(false);
359 REGB0 = REGB1;
360 } else {
361 REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
362 REGB0 = REGB1;
363 /* ./analysis//icode_dump.nit:79 */
364 }
365 }
366 if (UNTAG_Bool(REGB0)) {
367 REGB0 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
368 REGB1 = TAG_Int(1);
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;
372 REGB1 = TAG_Int(3);
373 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
374 /* ./analysis//icode_dump.nit:81 */
375 if (!once_value_2) {
376 fra.me.REG[5] = BOX_NativeString("r");
377 REGB1 = TAG_Int(1);
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)) {
385 } else {
386 fprintf(stderr, "Uninitialized attribute %s", "_last_value");
387 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 81);
388 nit_exit(1);
389 }
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]);
393 if (!once_value_3) {
394 fra.me.REG[5] = BOX_NativeString("");
395 REGB1 = TAG_Int(0);
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)) {
405 } else {
406 fprintf(stderr, "Uninitialized attribute %s", "_ids");
407 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 82);
408 nit_exit(1);
409 }
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 */
414 goto label1;
415 } else {
416 REGB1 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
417 REGB0 = TAG_Int(1);
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)) {
424 REGB0 = TAG_Int(5);
425 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
426 /* ./analysis//icode_dump.nit:88 */
427 if (!once_value_4) {
428 fra.me.REG[5] = BOX_NativeString("BREG");
429 REGB0 = TAG_Int(4);
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]);
437 if (!once_value_5) {
438 fra.me.REG[5] = BOX_NativeString("(r");
439 REGB0 = TAG_Int(2);
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)) {
447 } else {
448 fprintf(stderr, "Uninitialized attribute %s", "_last_value");
449 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 88);
450 nit_exit(1);
451 }
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]);
455 if (!once_value_6) {
456 fra.me.REG[5] = BOX_NativeString(")");
457 REGB0 = TAG_Int(1);
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]);
464 } else {
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)) {
468 REGB0 = TAG_Int(5);
469 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0);
470 /* ./analysis//icode_dump.nit:90 */
471 if (!once_value_7) {
472 fra.me.REG[6] = BOX_NativeString("LREG");
473 REGB0 = TAG_Int(4);
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]);
481 if (!once_value_8) {
482 fra.me.REG[6] = BOX_NativeString("(r");
483 REGB0 = TAG_Int(2);
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)) {
491 } else {
492 fprintf(stderr, "Uninitialized attribute %s", "_last_value");
493 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 90);
494 nit_exit(1);
495 }
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]);
499 if (!once_value_9) {
500 fra.me.REG[6] = BOX_NativeString(")");
501 REGB0 = TAG_Int(1);
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];
509 } else {
510 REGB0 = TAG_Int(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");
515 REGB0 = TAG_Int(3);
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");
525 REGB0 = TAG_Int(2);
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)) {
533 } else {
534 fprintf(stderr, "Uninitialized attribute %s", "_last_value");
535 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 92);
536 nit_exit(1);
537 }
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(")");
543 REGB0 = TAG_Int(1);
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];
551 }
552 }
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)) {
556 } else {
557 fprintf(stderr, "Uninitialized attribute %s", "_ids");
558 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 94);
559 nit_exit(1);
560 }
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 */
565 goto label1;
566 }
567 }
568 label1: while(0);
569 stack_frame_head = fra.me.prev;
570 return fra.me.REG[2];
571 }
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;
574 val_t REGB0;
575 val_t REGB1;
576 val_t tmp;
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;
581 fra.me.line = 100;
582 fra.me.meth = LOCATE_icode_dump___ICodeDumper___register_all;
583 fra.me.has_broke = 0;
584 fra.me.REG_size = 5;
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;
590 fra.me.REG[0] = p0;
591 fra.me.REG[1] = p1;
592 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
593 /* ./analysis//icode_dump.nit:103 */
594 if (UNTAG_Bool(REGB0)) {
595 } else {
596 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
597 if (UNTAG_Bool(REGB1)) {
598 REGB1 = TAG_Bool(false);
599 REGB0 = REGB1;
600 } else {
601 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
602 REGB0 = REGB1;
603 }
604 }
605 if (UNTAG_Bool(REGB0)) {
606 if (!once_value_1) {
607 fra.me.REG[2] = BOX_NativeString("");
608 REGB0 = TAG_Int(0);
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;
613 goto label2;
614 }
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 */
618 while(1) {
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]);
625 } else {
626 /* ./analysis//icode_dump.nit:105 */
627 goto label3;
628 }
629 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
630 }
631 label3: while(0);
632 /* ./analysis//icode_dump.nit:108 */
633 if (!once_value_4) {
634 fra.me.REG[1] = BOX_NativeString(", ");
635 REGB0 = TAG_Int(2);
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];
642 goto label2;
643 label2: while(0);
644 stack_frame_head = fra.me.prev;
645 return fra.me.REG[2];
646 }
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;
649 val_t REGB0;
650 val_t REGB1;
651 val_t tmp;
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;
656 fra.me.line = 113;
657 fra.me.meth = LOCATE_icode_dump___ICodeDumper___closdecl;
658 fra.me.has_broke = 0;
659 fra.me.REG_size = 5;
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;
665 fra.me.REG[0] = p0;
666 fra.me.REG[1] = p1;
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)) {
670 } else {
671 fprintf(stderr, "Uninitialized attribute %s", "_ids");
672 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 117);
673 nit_exit(1);
674 }
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)) {
681 } else {
682 fprintf(stderr, "Uninitialized attribute %s", "_ids");
683 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 118);
684 nit_exit(1);
685 }
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]);
688 goto label1;
689 } else {
690 REGB0 = ATTR_icode_dump___ICodeDumper____last_clos(fra.me.REG[0]);
691 REGB1 = TAG_Int(1);
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;
695 REGB1 = TAG_Int(3);
696 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
697 /* ./analysis//icode_dump.nit:121 */
698 if (!once_value_2) {
699 fra.me.REG[4] = BOX_NativeString("clos");
700 REGB1 = TAG_Int(4);
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)) {
708 } else {
709 fprintf(stderr, "Uninitialized attribute %s", "_last_clos");
710 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 121);
711 nit_exit(1);
712 }
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]);
716 if (!once_value_3) {
717 fra.me.REG[4] = BOX_NativeString("");
718 REGB1 = TAG_Int(0);
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)) {
728 } else {
729 fprintf(stderr, "Uninitialized attribute %s", "_ids");
730 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 122);
731 nit_exit(1);
732 }
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 */
737 goto label1;
738 }
739 label1: while(0);
740 stack_frame_head = fra.me.prev;
741 return fra.me.REG[2];
742 }
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;
745 val_t REGB0;
746 val_t REGB1;
747 val_t tmp;
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;
752 fra.me.line = 128;
753 fra.me.meth = LOCATE_icode_dump___ICodeDumper___lab;
754 fra.me.has_broke = 0;
755 fra.me.REG_size = 5;
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;
761 fra.me.REG[0] = p0;
762 fra.me.REG[1] = p1;
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)) {
766 } else {
767 fprintf(stderr, "Uninitialized attribute %s", "_ids");
768 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 132);
769 nit_exit(1);
770 }
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)) {
777 } else {
778 fprintf(stderr, "Uninitialized attribute %s", "_ids");
779 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 133);
780 nit_exit(1);
781 }
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]);
784 goto label1;
785 } else {
786 REGB0 = ATTR_icode_dump___ICodeDumper____last_label(fra.me.REG[0]);
787 REGB1 = TAG_Int(1);
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;
791 REGB1 = TAG_Int(3);
792 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
793 /* ./analysis//icode_dump.nit:136 */
794 if (!once_value_2) {
795 fra.me.REG[4] = BOX_NativeString("[l");
796 REGB1 = TAG_Int(2);
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)) {
804 } else {
805 fprintf(stderr, "Uninitialized attribute %s", "_last_label");
806 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 136);
807 nit_exit(1);
808 }
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]);
812 if (!once_value_3) {
813 fra.me.REG[4] = BOX_NativeString("]");
814 REGB1 = TAG_Int(1);
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)) {
824 } else {
825 fprintf(stderr, "Uninitialized attribute %s", "_ids");
826 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 137);
827 nit_exit(1);
828 }
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 */
833 goto label1;
834 }
835 label1: while(0);
836 stack_frame_head = fra.me.prev;
837 return fra.me.REG[2];
838 }
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;
841 val_t REGB0;
842 val_t REGB1;
843 val_t tmp;
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;
848 fra.me.line = 143;
849 fra.me.meth = LOCATE_icode_dump___ICodeDumper___line;
850 fra.me.has_broke = 0;
851 fra.me.REG_size = 5;
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;
857 fra.me.REG[0] = p0;
858 fra.me.REG[1] = p1;
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)) {
862 } else {
863 fprintf(stderr, "Uninitialized attribute %s", "_ids");
864 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 146);
865 nit_exit(1);
866 }
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)) {
873 } else {
874 fprintf(stderr, "Uninitialized attribute %s", "_ids");
875 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 147);
876 nit_exit(1);
877 }
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]);
880 goto label1;
881 } else {
882 REGB0 = ATTR_icode_dump___ICodeDumper____last_line(fra.me.REG[0]);
883 REGB1 = TAG_Int(1);
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;
887 REGB1 = TAG_Int(3);
888 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
889 /* ./analysis//icode_dump.nit:150 */
890 if (!once_value_2) {
891 fra.me.REG[4] = BOX_NativeString("");
892 REGB1 = TAG_Int(0);
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)) {
900 } else {
901 fprintf(stderr, "Uninitialized attribute %s", "_last_line");
902 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 150);
903 nit_exit(1);
904 }
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]);
908 if (!once_value_3) {
909 fra.me.REG[4] = BOX_NativeString("");
910 REGB1 = TAG_Int(0);
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)) {
920 } else {
921 fprintf(stderr, "Uninitialized attribute %s", "_ids");
922 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 151);
923 nit_exit(1);
924 }
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 */
929 goto label1;
930 }
931 label1: while(0);
932 stack_frame_head = fra.me.prev;
933 return fra.me.REG[2];
934 }
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;
937 val_t REGB0;
938 val_t tmp;
939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
940 fra.me.file = LOCATE_icode_dump;
941 fra.me.line = 156;
942 fra.me.meth = LOCATE_icode_dump___ICodeDumper___has_lab;
943 fra.me.has_broke = 0;
944 fra.me.REG_size = 2;
945 fra.me.REG[0] = NIT_NULL;
946 fra.me.REG[1] = NIT_NULL;
947 fra.me.REG[0] = p0;
948 fra.me.REG[1] = p1;
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)) {
952 } else {
953 fprintf(stderr, "Uninitialized attribute %s", "_ids");
954 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 159);
955 nit_exit(1);
956 }
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]);
959 goto label1;
960 label1: while(0);
961 stack_frame_head = fra.me.prev;
962 return REGB0;
963 }
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;
966 val_t REGB0;
967 val_t REGB1;
968 val_t tmp;
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;
972 fra.me.line = 162;
973 fra.me.meth = LOCATE_icode_dump___ICodeDumper___write;
974 fra.me.has_broke = 0;
975 fra.me.REG_size = 5;
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;
981 fra.me.REG[0] = p0;
982 fra.me.REG[1] = p1;
983 REGB0 = TAG_Int(0);
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)) {
987 } else {
988 fprintf(stderr, "Uninitialized attribute %s", "_indent_level");
989 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 165);
990 nit_exit(1);
991 }
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]);
995 while(1) {
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]);
999 REGB1 = TAG_Int(0);
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(" ");
1004 REGB1 = TAG_Int(4);
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]);
1011 } else {
1012 /* ./analysis//icode_dump.nit:165 */
1013 goto label2;
1014 }
1015 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
1016 }
1017 label2: while(0);
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;
1021 return;
1022 }
1023 void icode_dump___ICodeDumper___indent(val_t p0){
1024 struct {struct stack_frame_t me;} fra;
1025 val_t REGB0;
1026 val_t REGB1;
1027 val_t tmp;
1028 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1029 fra.me.file = LOCATE_icode_dump;
1030 fra.me.line = 173;
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;
1035 fra.me.REG[0] = p0;
1036 REGB0 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1037 REGB1 = TAG_Int(1);
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;
1042 return;
1043 }
1044 void icode_dump___ICodeDumper___unindent(val_t p0){
1045 struct {struct stack_frame_t me;} fra;
1046 val_t REGB0;
1047 val_t REGB1;
1048 val_t tmp;
1049 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1050 fra.me.file = LOCATE_icode_dump;
1051 fra.me.line = 176;
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;
1056 fra.me.REG[0] = p0;
1057 REGB0 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1058 REGB1 = TAG_Int(1);
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;
1063 return;
1064 }
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;
1068 val_t tmp;
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;
1072 fra.me.line = 0;
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;
1078 return;
1079 }
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;
1082 val_t REGB0;
1083 val_t REGB1;
1084 val_t tmp;
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;
1099 fra.me.line = 181;
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;
1110 fra.me.REG[0] = p0;
1111 fra.me.REG[1] = p1;
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("");
1116 REGB0 = TAG_Int(0);
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)) {
1125 } else {
1126 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1127 if (UNTAG_Bool(REGB1)) {
1128 REGB1 = TAG_Bool(false);
1129 REGB0 = REGB1;
1130 } else {
1131 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
1132 REGB0 = REGB1;
1133 }
1134 }
1135 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1136 if (UNTAG_Bool(REGB0)) {
1137 REGB0 = TAG_Int(3);
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("");
1152 REGB0 = TAG_Int(0);
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];
1160 }
1161 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1162 /* ./analysis//icode_dump.nit:190 */
1163 if (UNTAG_Bool(REGB0)) {
1164 } else {
1165 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1166 if (UNTAG_Bool(REGB1)) {
1167 REGB1 = TAG_Bool(false);
1168 REGB0 = REGB1;
1169 } else {
1170 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1171 REGB0 = REGB1;
1172 }
1173 }
1174 if (UNTAG_Bool(REGB0)) {
1175 REGB0 = TAG_Int(7);
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("");
1180 REGB0 = TAG_Int(0);
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(": ");
1190 REGB0 = TAG_Int(2);
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("");
1200 REGB0 = TAG_Int(0);
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("");
1209 REGB0 = TAG_Int(0);
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]);
1217 } else {
1218 REGB0 = TAG_Int(9);
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("");
1223 REGB0 = TAG_Int(0);
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(": ");
1233 REGB0 = TAG_Int(2);
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(" := ");
1243 REGB0 = TAG_Int(4);
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("");
1253 REGB0 = TAG_Int(0);
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("");
1262 REGB0 = TAG_Int(0);
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]);
1270 }
1271 stack_frame_head = fra.me.prev;
1272 return;
1273 }
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;
1276 val_t REGB0;
1277 val_t tmp;
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;
1281 fra.me.line = 197;
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;
1287 fra.me.REG[0] = p0;
1288 fra.me.REG[1] = p1;
1289 /* ./analysis//icode_dump.nit:198 */
1290 if (!once_value_1) {
1291 fra.me.REG[1] = BOX_NativeString("???");
1292 REGB0 = TAG_Int(3);
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;
1297 goto label2;
1298 label2: while(0);
1299 stack_frame_head = fra.me.prev;
1300 return fra.me.REG[1];
1301 }
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;
1304 val_t REGB0;
1305 val_t REGB1;
1306 val_t tmp;
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;
1311 fra.me.line = 202;
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;
1319 fra.me.REG[0] = p0;
1320 fra.me.REG[1] = p1;
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)) {
1329 } else {
1330 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1331 if (UNTAG_Bool(REGB1)) {
1332 REGB1 = TAG_Bool(false);
1333 REGB0 = REGB1;
1334 } else {
1335 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1336 REGB0 = REGB1;
1337 }
1338 }
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 */
1343 while(1) {
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)) {
1350 } else {
1351 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1352 if (UNTAG_Bool(REGB1)) {
1353 REGB1 = TAG_Bool(false);
1354 REGB0 = REGB1;
1355 } else {
1356 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
1357 REGB0 = REGB1;
1358 }
1359 }
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]);
1370 } else {
1371 /* ./analysis//icode_dump.nit:211 */
1372 if (!once_value_2) {
1373 fra.me.REG[0] = BOX_NativeString("CLOSURE");
1374 REGB0 = TAG_Int(7);
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);
1387 nit_exit(1);
1388 }
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]);
1392 }
1393 } else {
1394 /* ./analysis//icode_dump.nit:207 */
1395 goto label3;
1396 }
1397 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
1398 }
1399 label3: while(0);
1400 }
1401 stack_frame_head = fra.me.prev;
1402 return;
1403 }
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;
1406 val_t REGB0;
1407 val_t REGB1;
1408 val_t tmp;
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;
1413 fra.me.line = 222;
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;
1421 fra.me.REG[0] = p0;
1422 fra.me.REG[1] = p1;
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 */
1426 while(1) {
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]);
1432 } else {
1433 /* ./analysis//icode_dump.nit:224 */
1434 goto label1;
1435 }
1436 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
1437 }
1438 label1: while(0);
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)) {
1443 } else {
1444 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1445 if (UNTAG_Bool(REGB1)) {
1446 REGB1 = TAG_Bool(false);
1447 REGB0 = REGB1;
1448 } else {
1449 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
1450 REGB0 = REGB1;
1451 }
1452 }
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]);
1456 } else {
1457 REGB1 = TAG_Bool(false);
1458 REGB0 = REGB1;
1459 }
1460 if (UNTAG_Bool(REGB0)) {
1461 REGB0 = TAG_Int(3);
1462 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1463 if (!once_value_2) {
1464 fra.me.REG[3] = BOX_NativeString("");
1465 REGB0 = TAG_Int(0);
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(":");
1475 REGB0 = TAG_Int(1);
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]);
1483 }
1484 stack_frame_head = fra.me.prev;
1485 return;
1486 }
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;
1489 val_t REGB0;
1490 val_t tmp;
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;
1497 fra.me.line = 233;
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;
1505 fra.me.REG[0] = p0;
1506 fra.me.REG[1] = p1;
1507 REGB0 = TAG_Int(3);
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(");
1512 REGB0 = TAG_Int(3);
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(") {");
1523 REGB0 = TAG_Int(3);
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 {");
1541 REGB0 = TAG_Int(8);
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("}");
1557 REGB0 = TAG_Int(1);
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;
1564 return;
1565 }
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;
1568 val_t REGB0;
1569 val_t REGB1;
1570 val_t tmp;
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;
1577 fra.me.line = 248;
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;
1585 fra.me.REG[0] = p0;
1586 fra.me.REG[1] = p1;
1587 /* ./analysis//icode_dump.nit:250 */
1588 if (!once_value_1) {
1589 fra.me.REG[2] = BOX_NativeString("LOOP {");
1590 REGB0 = TAG_Int(6);
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 */
1601 while(1) {
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]);
1607 } else {
1608 /* ./analysis//icode_dump.nit:252 */
1609 goto label2;
1610 }
1611 CALL_abstract_collection___Iterator___next(fra.me.REG[2])(fra.me.REG[2]);
1612 }
1613 label2: while(0);
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("}");
1619 REGB0 = TAG_Int(1);
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)) {
1629 } else {
1630 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1631 if (UNTAG_Bool(REGB1)) {
1632 REGB1 = TAG_Bool(false);
1633 REGB0 = REGB1;
1634 } else {
1635 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
1636 REGB0 = REGB1;
1637 }
1638 }
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]);
1642 } else {
1643 REGB1 = TAG_Bool(false);
1644 REGB0 = REGB1;
1645 }
1646 if (UNTAG_Bool(REGB0)) {
1647 REGB0 = TAG_Int(3);
1648 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1649 if (!once_value_4) {
1650 fra.me.REG[3] = BOX_NativeString("");
1651 REGB0 = TAG_Int(0);
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(":");
1661 REGB0 = TAG_Int(1);
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]);
1669 }
1670 stack_frame_head = fra.me.prev;
1671 return;
1672 }
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;
1675 val_t REGB0;
1676 val_t tmp;
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;
1681 fra.me.line = 263;
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;
1689 fra.me.REG[0] = p0;
1690 fra.me.REG[1] = p1;
1691 REGB0 = TAG_Int(3);
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 ");
1696 REGB0 = TAG_Int(7);
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("");
1707 REGB0 = TAG_Int(0);
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]);
1714 goto label3;
1715 label3: while(0);
1716 stack_frame_head = fra.me.prev;
1717 return fra.me.REG[2];
1718 }
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;
1721 val_t REGB0;
1722 val_t tmp;
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;
1728 fra.me.line = 270;
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;
1735 fra.me.REG[0] = p0;
1736 fra.me.REG[1] = p1;
1737 REGB0 = TAG_Int(3);
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 (\"");
1742 REGB0 = TAG_Int(8);
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("\", \"");
1751 REGB0 = TAG_Int(4);
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("\")");
1760 REGB0 = TAG_Int(2);
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]);
1767 goto label4;
1768 label4: while(0);
1769 stack_frame_head = fra.me.prev;
1770 return fra.me.REG[1];
1771 }
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;
1774 val_t REGB0;
1775 val_t tmp;
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;
1781 fra.me.line = 277;
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;
1789 fra.me.REG[0] = p0;
1790 fra.me.REG[1] = p1;
1791 REGB0 = TAG_Int(5);
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 ");
1796 REGB0 = TAG_Int(5);
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("(");
1807 REGB0 = TAG_Int(1);
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(")");
1818 REGB0 = TAG_Int(1);
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]);
1825 goto label4;
1826 label4: while(0);
1827 stack_frame_head = fra.me.prev;
1828 return fra.me.REG[2];
1829 }
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;
1832 val_t REGB0;
1833 val_t tmp;
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;
1840 fra.me.line = 284;
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;
1848 fra.me.REG[0] = p0;
1849 fra.me.REG[1] = p1;
1850 REGB0 = TAG_Int(7);
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 ");
1855 REGB0 = TAG_Int(4);
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(".");
1866 REGB0 = TAG_Int(1);
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("(");
1877 REGB0 = TAG_Int(1);
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(")");
1888 REGB0 = TAG_Int(1);
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]);
1895 goto label5;
1896 label5: while(0);
1897 stack_frame_head = fra.me.prev;
1898 return fra.me.REG[2];
1899 }
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;
1902 val_t REGB0;
1903 val_t tmp;
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;
1909 fra.me.line = 291;
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;
1917 fra.me.REG[0] = p0;
1918 fra.me.REG[1] = p1;
1919 REGB0 = TAG_Int(5);
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 ");
1924 REGB0 = TAG_Int(6);
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("(");
1935 REGB0 = TAG_Int(1);
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(")");
1946 REGB0 = TAG_Int(1);
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]);
1953 goto label4;
1954 label4: while(0);
1955 stack_frame_head = fra.me.prev;
1956 return fra.me.REG[2];
1957 }
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;
1960 val_t REGB0;
1961 val_t tmp;
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;
1967 fra.me.line = 298;
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;
1975 fra.me.REG[0] = p0;
1976 fra.me.REG[1] = p1;
1977 REGB0 = TAG_Int(5);
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("(");
1993 REGB0 = TAG_Int(1);
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(")");
2004 REGB0 = TAG_Int(1);
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]);
2011 goto label4;
2012 label4: while(0);
2013 stack_frame_head = fra.me.prev;
2014 return fra.me.REG[2];
2015 }
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;
2018 val_t REGB0;
2019 val_t tmp;
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;
2024 fra.me.line = 305;
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;
2031 fra.me.REG[0] = p0;
2032 fra.me.REG[1] = p1;
2033 REGB0 = TAG_Int(3);
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("");
2049 REGB0 = TAG_Int(0);
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]);
2056 goto label3;
2057 label3: while(0);
2058 stack_frame_head = fra.me.prev;
2059 return fra.me.REG[1];
2060 }
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;
2063 val_t REGB0;
2064 val_t tmp;
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;
2070 fra.me.line = 312;
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;
2078 fra.me.REG[0] = p0;
2079 fra.me.REG[1] = p1;
2080 REGB0 = TAG_Int(5);
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("(");
2096 REGB0 = TAG_Int(1);
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(")");
2107 REGB0 = TAG_Int(1);
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]);
2114 goto label4;
2115 label4: while(0);
2116 stack_frame_head = fra.me.prev;
2117 return fra.me.REG[2];
2118 }
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;
2121 val_t REGB0;
2122 val_t tmp;
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;
2128 fra.me.line = 319;
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;
2136 fra.me.REG[0] = p0;
2137 fra.me.REG[1] = p1;
2138 REGB0 = TAG_Int(5);
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("(");
2154 REGB0 = TAG_Int(1);
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(")");
2165 REGB0 = TAG_Int(1);
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]);
2172 goto label4;
2173 label4: while(0);
2174 stack_frame_head = fra.me.prev;
2175 return fra.me.REG[2];
2176 }
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;
2179 val_t REGB0;
2180 val_t tmp;
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;
2186 fra.me.line = 326;
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;
2194 fra.me.REG[0] = p0;
2195 fra.me.REG[1] = p1;
2196 REGB0 = TAG_Int(5);
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("(");
2212 REGB0 = TAG_Int(1);
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(")");
2223 REGB0 = TAG_Int(1);
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]);
2230 goto label4;
2231 label4: while(0);
2232 stack_frame_head = fra.me.prev;
2233 return fra.me.REG[2];
2234 }
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;
2237 val_t REGB0;
2238 val_t tmp;
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;
2244 fra.me.line = 333;
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;
2252 fra.me.REG[0] = p0;
2253 fra.me.REG[1] = p1;
2254 REGB0 = TAG_Int(5);
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("(");
2270 REGB0 = TAG_Int(1);
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(")");
2281 REGB0 = TAG_Int(1);
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]);
2288 goto label4;
2289 label4: while(0);
2290 stack_frame_head = fra.me.prev;
2291 return fra.me.REG[2];
2292 }
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;
2295 val_t REGB0;
2296 val_t tmp;
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;
2303 fra.me.line = 340;
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;
2311 fra.me.REG[0] = p0;
2312 fra.me.REG[1] = p1;
2313 REGB0 = TAG_Int(7);
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("(");
2329 REGB0 = TAG_Int(1);
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(") := ");
2340 REGB0 = TAG_Int(5);
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("");
2351 REGB0 = TAG_Int(0);
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]);
2358 goto label5;
2359 label5: while(0);
2360 stack_frame_head = fra.me.prev;
2361 return fra.me.REG[2];
2362 }
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;
2365 val_t REGB0;
2366 val_t tmp;
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;
2372 fra.me.line = 347;
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;
2380 fra.me.REG[0] = p0;
2381 fra.me.REG[1] = p1;
2382 REGB0 = TAG_Int(5);
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("(");
2398 REGB0 = TAG_Int(1);
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(")");
2409 REGB0 = TAG_Int(1);
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]);
2416 goto label4;
2417 label4: while(0);
2418 stack_frame_head = fra.me.prev;
2419 return fra.me.REG[2];
2420 }
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;
2423 val_t REGB0;
2424 val_t tmp;
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;
2430 fra.me.line = 354;
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;
2438 fra.me.REG[0] = p0;
2439 fra.me.REG[1] = p1;
2440 REGB0 = TAG_Int(5);
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 ");
2456 REGB0 = TAG_Int(5);
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("");
2467 REGB0 = TAG_Int(0);
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]);
2474 goto label4;
2475 label4: while(0);
2476 stack_frame_head = fra.me.prev;
2477 return fra.me.REG[2];
2478 }
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;
2481 val_t REGB0;
2482 val_t tmp;
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;
2490 fra.me.line = 361;
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;
2499 fra.me.REG[0] = p0;
2500 fra.me.REG[1] = p1;
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)) {
2505 REGB0 = TAG_Int(3);
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 \"");
2510 REGB0 = TAG_Int(8);
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("\"");
2520 REGB0 = TAG_Int(1);
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]);
2527 goto label3;
2528 } else {
2529 REGB0 = TAG_Int(5);
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 \"");
2534 REGB0 = TAG_Int(8);
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("\"(");
2544 REGB0 = TAG_Int(2);
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(")");
2555 REGB0 = TAG_Int(1);
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];
2563 goto label3;
2564 }
2565 label3: while(0);
2566 stack_frame_head = fra.me.prev;
2567 return fra.me.REG[2];
2568 }
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;
2571 val_t REGB0;
2572 val_t tmp;
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;
2577 fra.me.line = 372;
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;
2585 fra.me.REG[0] = p0;
2586 fra.me.REG[1] = p1;
2587 REGB0 = TAG_Int(3);
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("");
2592 REGB0 = TAG_Int(0);
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("");
2603 REGB0 = TAG_Int(0);
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]);
2610 goto label3;
2611 label3: while(0);
2612 stack_frame_head = fra.me.prev;
2613 return fra.me.REG[2];
2614 }
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;
2617 val_t REGB0;
2618 val_t tmp;
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;
2624 fra.me.line = 379;
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;
2632 fra.me.REG[0] = p0;
2633 fra.me.REG[1] = p1;
2634 REGB0 = TAG_Int(5);
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("");
2639 REGB0 = TAG_Int(0);
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 ");
2650 REGB0 = TAG_Int(4);
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("");
2661 REGB0 = TAG_Int(0);
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]);
2668 goto label4;
2669 label4: while(0);
2670 stack_frame_head = fra.me.prev;
2671 return fra.me.REG[2];
2672 }
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;
2675 val_t REGB0;
2676 val_t tmp;
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;
2681 fra.me.line = 386;
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;
2689 fra.me.REG[0] = p0;
2690 fra.me.REG[1] = p1;
2691 REGB0 = TAG_Int(3);
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 ");
2696 REGB0 = TAG_Int(4);
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("");
2707 REGB0 = TAG_Int(0);
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]);
2714 goto label3;
2715 label3: while(0);
2716 stack_frame_head = fra.me.prev;
2717 return fra.me.REG[2];
2718 }
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;
2721 val_t REGB0;
2722 val_t tmp;
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;
2728 fra.me.line = 393;
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;
2736 fra.me.REG[0] = p0;
2737 fra.me.REG[1] = p1;
2738 REGB0 = TAG_Int(3);
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("");
2743 REGB0 = TAG_Int(0);
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)) {
2752 } else {
2753 fprintf(stderr, "Cast failed");
2754 fprintf(stderr, " (%s:%d)\n", LOCATE_icode_dump, 395);
2755 nit_exit(1);
2756 }
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("}");
2779 REGB0 = TAG_Int(1);
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;
2786 return;
2787 }
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;
2790 val_t REGB0;
2791 val_t tmp;
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;
2796 fra.me.line = 404;
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;
2804 fra.me.REG[0] = p0;
2805 fra.me.REG[1] = p1;
2806 REGB0 = TAG_Int(3);
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 ");
2811 REGB0 = TAG_Int(8);
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("");
2822 REGB0 = TAG_Int(0);
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]);
2829 goto label3;
2830 label3: while(0);
2831 stack_frame_head = fra.me.prev;
2832 return fra.me.REG[2];
2833 }