update NOTICE and LICENSE
[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 /* ./analysis//icode_dump.nit:27 */
31 fra.me.REG[2] = CALL_icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
32 REGB0 = CALL_abstract_collection___Collection___is_empty(fra.me.REG[2])(fra.me.REG[2]);
33 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
34 if (UNTAG_Bool(REGB0)) {
35 /* ./analysis//icode_dump.nit:28 */
36 fra.me.REG[2] = NEW_Array_array___Array___init();
37 /* ./analysis//icode_dump.nit:29 */
38 fra.me.REG[3] = CALL_icode_base___IRoutine___params(fra.me.REG[0])(fra.me.REG[0]);
39 CALL_abstract_collection___Collection___iterate(fra.me.REG[3])(fra.me.REG[3], (&(fra.me)), ((fun_t)OC_icode_dump___IRoutine___dump_1));
40 /* ./analysis//icode_dump.nit:32 */
41 REGB0 = TAG_Int(3);
42 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB0);
43 if (!once_value_2) {
44 fra.me.REG[4] = BOX_NativeString("Parameters: ");
45 REGB0 = TAG_Int(12);
46 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
47 once_value_2 = fra.me.REG[4];
48 register_static_object(&once_value_2);
49 } else fra.me.REG[4] = once_value_2;
50 fra.me.REG[4] = fra.me.REG[4];
51 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
52 if (!once_value_3) {
53 fra.me.REG[4] = BOX_NativeString(", ");
54 REGB0 = TAG_Int(2);
55 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
56 once_value_3 = fra.me.REG[4];
57 register_static_object(&once_value_3);
58 } else fra.me.REG[4] = once_value_3;
59 fra.me.REG[4] = fra.me.REG[4];
60 fra.me.REG[4] = CALL_string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
61 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
62 if (!once_value_4) {
63 fra.me.REG[4] = BOX_NativeString("");
64 REGB0 = TAG_Int(0);
65 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
66 once_value_4 = fra.me.REG[4];
67 register_static_object(&once_value_4);
68 } else fra.me.REG[4] = once_value_4;
69 fra.me.REG[4] = fra.me.REG[4];
70 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
71 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
72 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
73 }
74 /* ./analysis//icode_dump.nit:34 */
75 fra.me.REG[3] = CALL_icode_base___IRoutine___result(fra.me.REG[0])(fra.me.REG[0]);
76 /* ./analysis//icode_dump.nit:35 */
77 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
78 if (UNTAG_Bool(REGB0)) {
79 } else {
80 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
81 if (UNTAG_Bool(REGB1)) {
82 REGB1 = TAG_Bool(false);
83 REGB0 = REGB1;
84 } else {
85 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
86 REGB0 = REGB1;
87 }
88 }
89 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
90 if (UNTAG_Bool(REGB0)) {
91 /* ./analysis//icode_dump.nit:36 */
92 REGB0 = TAG_Int(3);
93 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
94 if (!once_value_5) {
95 fra.me.REG[2] = BOX_NativeString("Result: ");
96 REGB0 = TAG_Int(8);
97 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
98 once_value_5 = fra.me.REG[2];
99 register_static_object(&once_value_5);
100 } else fra.me.REG[2] = once_value_5;
101 fra.me.REG[2] = fra.me.REG[2];
102 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
103 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
104 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
105 if (!once_value_6) {
106 fra.me.REG[3] = BOX_NativeString("");
107 REGB0 = TAG_Int(0);
108 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
109 once_value_6 = fra.me.REG[3];
110 register_static_object(&once_value_6);
111 } else fra.me.REG[3] = once_value_6;
112 fra.me.REG[3] = fra.me.REG[3];
113 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
114 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
115 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
116 }
117 /* ./analysis//icode_dump.nit:38 */
118 REGB0 = CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
119 REGB1 = TAG_Int(0);
120 /* ./../lib/standard//kernel.nit:214 */
121 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
122 /* ./analysis//icode_dump.nit:38 */
123 if (UNTAG_Bool(REGB1)) {
124 /* ./analysis//icode_dump.nit:39 */
125 REGB1 = TAG_Int(3);
126 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
127 if (!once_value_7) {
128 fra.me.REG[3] = BOX_NativeString("StdSlots: ");
129 REGB1 = TAG_Int(10);
130 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
131 once_value_7 = fra.me.REG[3];
132 register_static_object(&once_value_7);
133 } else fra.me.REG[3] = once_value_7;
134 fra.me.REG[3] = fra.me.REG[3];
135 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
136 REGB1 = CALL_allocate_iregister_slots___IRoutine___std_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
137 fra.me.REG[3] = CALL_string___Object___to_s(REGB1)(REGB1);
138 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
139 if (!once_value_8) {
140 fra.me.REG[3] = BOX_NativeString("");
141 REGB1 = TAG_Int(0);
142 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
143 once_value_8 = fra.me.REG[3];
144 register_static_object(&once_value_8);
145 } else fra.me.REG[3] = once_value_8;
146 fra.me.REG[3] = fra.me.REG[3];
147 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
148 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
149 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
150 }
151 /* ./analysis//icode_dump.nit:41 */
152 REGB1 = CALL_allocate_iregister_slots___IRoutine___tag_slots_nb(fra.me.REG[0])(fra.me.REG[0]);
153 REGB0 = TAG_Int(0);
154 /* ./../lib/standard//kernel.nit:214 */
155 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
156 /* ./analysis//icode_dump.nit:41 */
157 if (UNTAG_Bool(REGB0)) {
158 /* ./analysis//icode_dump.nit:42 */
159 REGB0 = TAG_Int(3);
160 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
161 if (!once_value_9) {
162 fra.me.REG[3] = BOX_NativeString("TagSlots: ");
163 REGB0 = TAG_Int(10);
164 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
165 once_value_9 = fra.me.REG[3];
166 register_static_object(&once_value_9);
167 } else fra.me.REG[3] = once_value_9;
168 fra.me.REG[3] = fra.me.REG[3];
169 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(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 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(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 fra.me.REG[3] = fra.me.REG[3];
181 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
182 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
183 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[4]);
184 }
185 /* ./analysis//icode_dump.nit:44 */
186 fra.me.REG[4] = CALL_icode_base___IRoutine___closure_decls(fra.me.REG[0])(fra.me.REG[0]);
187 /* ./analysis//icode_dump.nit:45 */
188 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
189 if (UNTAG_Bool(REGB0)) {
190 } else {
191 REGB1 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
192 if (UNTAG_Bool(REGB1)) {
193 REGB1 = TAG_Bool(false);
194 REGB0 = REGB1;
195 } else {
196 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[4])(fra.me.REG[4], NIT_NULL);
197 REGB0 = REGB1;
198 }
199 }
200 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
201 if (UNTAG_Bool(REGB0)) {
202 /* ./analysis//icode_dump.nit:46 */
203 REGB0 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
204 if (UNTAG_Bool(REGB0)) {
205 nit_abort("Reciever is null", NULL, LOCATE_icode_dump, 46);
206 }
207 CALL_abstract_collection___Collection___iterate(fra.me.REG[4])(fra.me.REG[4], (&(fra.me)), ((fun_t)OC_icode_dump___IRoutine___dump_11));
208 }
209 /* ./analysis//icode_dump.nit:50 */
210 fra.me.REG[0] = CALL_icode_base___IRoutine___body(fra.me.REG[0])(fra.me.REG[0]);
211 CALL_icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
212 stack_frame_head = fra.me.prev;
213 return;
214 }
215 void OC_icode_dump___IRoutine___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
216 struct {struct stack_frame_t me;} fra;
217 fun_t CREG[1];
218 val_t tmp;
219 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
220 fra.me.file = LOCATE_icode_dump;
221 fra.me.line = 0;
222 fra.me.meth = LOCATE_icode_dump___IRoutine___dump;
223 fra.me.has_broke = 0;
224 fra.me.REG_size = 1;
225 fra.me.REG[0] = NIT_NULL;
226 fra.me.closure_ctx = closctx_param;
227 fra.me.closure_funs = CREG;
228 fra.me.REG[0] = p0;
229 CREG[0] = clos_fun0;
230 /* ./analysis//icode_dump.nit:30 */
231 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(closctx->REG[1])(closctx->REG[1], fra.me.REG[0]);
232 CALL_abstract_collection___SimpleCollection___add(closctx->REG[2])(closctx->REG[2], fra.me.REG[0]);
233 stack_frame_head = fra.me.prev;
234 return;
235 }
236 void OC_icode_dump___IRoutine___dump_11(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
237 struct {struct stack_frame_t me;} fra;
238 fun_t CREG[1];
239 val_t tmp;
240 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
241 fra.me.file = LOCATE_icode_dump;
242 fra.me.line = 0;
243 fra.me.meth = LOCATE_icode_dump___IRoutine___dump;
244 fra.me.has_broke = 0;
245 fra.me.REG_size = 1;
246 fra.me.REG[0] = NIT_NULL;
247 fra.me.closure_ctx = closctx_param;
248 fra.me.closure_funs = CREG;
249 fra.me.REG[0] = p0;
250 CREG[0] = clos_fun0;
251 /* ./analysis//icode_dump.nit:47 */
252 CALL_icode_dump___IClosureDecl___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
253 stack_frame_head = fra.me.prev;
254 return;
255 }
256 void icode_dump___IClosureDecl___dump(val_t p0, val_t p1){
257 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
258 val_t REGB0;
259 val_t REGB1;
260 val_t tmp;
261 static val_t once_value_1; /* Once value */
262 static val_t once_value_2; /* Once value */
263 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
264 fra.me.file = LOCATE_icode_dump;
265 fra.me.line = 55;
266 fra.me.meth = LOCATE_icode_dump___IClosureDecl___dump;
267 fra.me.has_broke = 0;
268 fra.me.REG_size = 4;
269 fra.me.REG[0] = NIT_NULL;
270 fra.me.REG[1] = NIT_NULL;
271 fra.me.REG[2] = NIT_NULL;
272 fra.me.REG[3] = NIT_NULL;
273 fra.me.REG[0] = p0;
274 fra.me.REG[1] = p1;
275 /* ./analysis//icode_dump.nit:58 */
276 REGB0 = TAG_Int(3);
277 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
278 if (!once_value_1) {
279 fra.me.REG[3] = BOX_NativeString("Closure: ");
280 REGB0 = TAG_Int(9);
281 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
282 once_value_1 = fra.me.REG[3];
283 register_static_object(&once_value_1);
284 } else fra.me.REG[3] = once_value_1;
285 fra.me.REG[3] = fra.me.REG[3];
286 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
287 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
288 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
289 if (!once_value_2) {
290 fra.me.REG[3] = BOX_NativeString("");
291 REGB0 = TAG_Int(0);
292 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
293 once_value_2 = fra.me.REG[3];
294 register_static_object(&once_value_2);
295 } else fra.me.REG[3] = once_value_2;
296 fra.me.REG[3] = fra.me.REG[3];
297 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
298 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
299 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
300 /* ./analysis//icode_dump.nit:59 */
301 fra.me.REG[2] = CALL_icode_base___IClosureDecl___default(fra.me.REG[0])(fra.me.REG[0]);
302 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
303 if (UNTAG_Bool(REGB0)) {
304 } else {
305 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
306 if (UNTAG_Bool(REGB1)) {
307 REGB1 = TAG_Bool(false);
308 REGB0 = REGB1;
309 } else {
310 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
311 REGB0 = REGB1;
312 }
313 }
314 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
315 if (UNTAG_Bool(REGB0)) {
316 /* ./analysis//icode_dump.nit:60 */
317 CALL_icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
318 /* ./analysis//icode_dump.nit:61 */
319 fra.me.REG[0] = CALL_icode_base___IClosureDecl___default(fra.me.REG[0])(fra.me.REG[0]);
320 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
321 if (UNTAG_Bool(REGB0)) {
322 nit_abort("Reciever is null", NULL, LOCATE_icode_dump, 61);
323 }
324 CALL_icode_dump___IRoutine___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
325 /* ./analysis//icode_dump.nit:62 */
326 CALL_icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
327 }
328 stack_frame_head = fra.me.prev;
329 return;
330 }
331 val_t icode_dump___ICodeDumper___dump_locations(val_t p0){
332 struct {struct stack_frame_t me;} fra;
333 val_t REGB0;
334 val_t tmp;
335 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
336 fra.me.file = LOCATE_icode_dump;
337 fra.me.line = 68;
338 fra.me.meth = LOCATE_icode_dump___ICodeDumper___dump_locations;
339 fra.me.has_broke = 0;
340 fra.me.REG_size = 1;
341 fra.me.REG[0] = NIT_NULL;
342 fra.me.REG[0] = p0;
343 /* ./analysis//icode_dump.nit:68 */
344 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____dump_locations(fra.me.REG[0])!=NIT_NULL);
345 if (UNTAG_Bool(REGB0)) {
346 } else {
347 nit_abort("Uninitialized attribute %s", "_dump_locations", LOCATE_icode_dump, 68);
348 }
349 REGB0 = ATTR_icode_dump___ICodeDumper____dump_locations(fra.me.REG[0]);
350 stack_frame_head = fra.me.prev;
351 return REGB0;
352 }
353 val_t icode_dump___ICodeDumper___dump_line_numbers(val_t p0){
354 struct {struct stack_frame_t me;} fra;
355 val_t REGB0;
356 val_t tmp;
357 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
358 fra.me.file = LOCATE_icode_dump;
359 fra.me.line = 69;
360 fra.me.meth = LOCATE_icode_dump___ICodeDumper___dump_line_numbers;
361 fra.me.has_broke = 0;
362 fra.me.REG_size = 1;
363 fra.me.REG[0] = NIT_NULL;
364 fra.me.REG[0] = p0;
365 /* ./analysis//icode_dump.nit:69 */
366 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0])!=NIT_NULL);
367 if (UNTAG_Bool(REGB0)) {
368 } else {
369 nit_abort("Uninitialized attribute %s", "_dump_line_numbers", LOCATE_icode_dump, 69);
370 }
371 REGB0 = ATTR_icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0]);
372 stack_frame_head = fra.me.prev;
373 return REGB0;
374 }
375 void icode_dump___ICodeDumper___init(val_t p0, val_t p1, val_t p2, int* init_table){
376 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_ICodeDumper].i;
377 struct {struct stack_frame_t me;} fra;
378 val_t REGB0;
379 val_t REGB1;
380 val_t tmp;
381 if (init_table[itpos0]) return;
382 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
383 fra.me.file = LOCATE_icode_dump;
384 fra.me.line = 73;
385 fra.me.meth = LOCATE_icode_dump___ICodeDumper___init;
386 fra.me.has_broke = 0;
387 fra.me.REG_size = 1;
388 fra.me.REG[0] = NIT_NULL;
389 fra.me.REG[0] = p0;
390 REGB0 = p1;
391 REGB1 = p2;
392 /* ./analysis//icode_dump.nit:74 */
393 ATTR_icode_dump___ICodeDumper____dump_locations(fra.me.REG[0]) = REGB0;
394 /* ./analysis//icode_dump.nit:75 */
395 ATTR_icode_dump___ICodeDumper____dump_line_numbers(fra.me.REG[0]) = REGB1;
396 stack_frame_head = fra.me.prev;
397 init_table[itpos0] = 1;
398 return;
399 }
400 val_t icode_dump___ICodeDumper___register(val_t p0, val_t p1){
401 struct {struct stack_frame_t me; val_t MORE_REG[6];} fra;
402 val_t REGB0;
403 val_t REGB1;
404 val_t tmp;
405 static val_t once_value_2; /* Once value */
406 static val_t once_value_3; /* Once value */
407 static val_t once_value_4; /* Once value */
408 static val_t once_value_5; /* Once value */
409 static val_t once_value_6; /* Once value */
410 static val_t once_value_7; /* Once value */
411 static val_t once_value_8; /* Once value */
412 static val_t once_value_9; /* Once value */
413 static val_t once_value_10; /* Once value */
414 static val_t once_value_11; /* Once value */
415 static val_t once_value_12; /* Once value */
416 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
417 fra.me.file = LOCATE_icode_dump;
418 fra.me.line = 78;
419 fra.me.meth = LOCATE_icode_dump___ICodeDumper___register;
420 fra.me.has_broke = 0;
421 fra.me.REG_size = 7;
422 fra.me.REG[0] = NIT_NULL;
423 fra.me.REG[1] = NIT_NULL;
424 fra.me.REG[2] = NIT_NULL;
425 fra.me.REG[3] = NIT_NULL;
426 fra.me.REG[4] = NIT_NULL;
427 fra.me.REG[5] = NIT_NULL;
428 fra.me.REG[6] = NIT_NULL;
429 fra.me.REG[0] = p0;
430 fra.me.REG[1] = p1;
431 /* ./analysis//icode_dump.nit:82 */
432 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
433 if (UNTAG_Bool(REGB0)) {
434 } else {
435 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 82);
436 }
437 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
438 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
439 if (UNTAG_Bool(REGB0)) {
440 /* ./analysis//icode_dump.nit:83 */
441 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
442 if (UNTAG_Bool(REGB0)) {
443 } else {
444 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 83);
445 }
446 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
447 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
448 goto label1;
449 } else {
450 /* ./analysis//icode_dump.nit:85 */
451 fra.me.REG[3] = CALL_allocate_iregister_slots___IRegister___slot_index(fra.me.REG[1])(fra.me.REG[1]);
452 /* ./analysis//icode_dump.nit:86 */
453 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
454 if (UNTAG_Bool(REGB0)) {
455 } else {
456 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
457 if (UNTAG_Bool(REGB1)) {
458 REGB1 = TAG_Bool(false);
459 REGB0 = REGB1;
460 } else {
461 /* ./../lib/standard//kernel.nit:207 */
462 REGB1 = TAG_Bool((fra.me.REG[3])==(NIT_NULL));
463 /* ./analysis//icode_dump.nit:86 */
464 REGB0 = REGB1;
465 }
466 }
467 if (UNTAG_Bool(REGB0)) {
468 /* ./analysis//icode_dump.nit:87 */
469 REGB0 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
470 REGB1 = TAG_Int(1);
471 /* ./../lib/standard//kernel.nit:215 */
472 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
473 /* ./analysis//icode_dump.nit:87 */
474 ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]) = REGB1;
475 /* ./analysis//icode_dump.nit:88 */
476 REGB1 = TAG_Int(3);
477 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB1);
478 if (!once_value_2) {
479 fra.me.REG[5] = BOX_NativeString("r");
480 REGB1 = TAG_Int(1);
481 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
482 once_value_2 = fra.me.REG[5];
483 register_static_object(&once_value_2);
484 } else fra.me.REG[5] = once_value_2;
485 fra.me.REG[5] = fra.me.REG[5];
486 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
487 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
488 if (UNTAG_Bool(REGB1)) {
489 } else {
490 nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_icode_dump, 88);
491 }
492 REGB1 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
493 fra.me.REG[5] = CALL_string___Object___to_s(REGB1)(REGB1);
494 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
495 if (!once_value_3) {
496 fra.me.REG[5] = BOX_NativeString("");
497 REGB1 = TAG_Int(0);
498 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB1);
499 once_value_3 = fra.me.REG[5];
500 register_static_object(&once_value_3);
501 } else fra.me.REG[5] = once_value_3;
502 fra.me.REG[5] = fra.me.REG[5];
503 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
504 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
505 /* ./analysis//icode_dump.nit:89 */
506 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
507 if (UNTAG_Bool(REGB1)) {
508 } else {
509 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 89);
510 }
511 fra.me.REG[5] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
512 CALL_abstract_collection___Map_____braeq(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[1], fra.me.REG[4]);
513 /* ./analysis//icode_dump.nit:90 */
514 fra.me.REG[2] = fra.me.REG[4];
515 goto label1;
516 } else {
517 /* ./analysis//icode_dump.nit:92 */
518 REGB1 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
519 REGB0 = TAG_Int(1);
520 /* ./../lib/standard//kernel.nit:215 */
521 REGB0 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB0));
522 /* ./analysis//icode_dump.nit:92 */
523 ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]) = REGB0;
524 /* ./analysis//icode_dump.nit:94 */
525 REGB0 = CALL_allocate_iregister_slots___IRegister___in_tag_slots(fra.me.REG[1])(fra.me.REG[1]);
526 if (UNTAG_Bool(REGB0)) {
527 /* ./analysis//icode_dump.nit:95 */
528 REGB0 = TAG_Int(5);
529 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB0);
530 if (!once_value_4) {
531 fra.me.REG[5] = BOX_NativeString("BREG");
532 REGB0 = TAG_Int(4);
533 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
534 once_value_4 = fra.me.REG[5];
535 register_static_object(&once_value_4);
536 } else fra.me.REG[5] = once_value_4;
537 fra.me.REG[5] = fra.me.REG[5];
538 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
539 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
540 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
541 if (!once_value_5) {
542 fra.me.REG[5] = BOX_NativeString("(r");
543 REGB0 = TAG_Int(2);
544 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
545 once_value_5 = fra.me.REG[5];
546 register_static_object(&once_value_5);
547 } else fra.me.REG[5] = once_value_5;
548 fra.me.REG[5] = fra.me.REG[5];
549 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
550 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
551 if (UNTAG_Bool(REGB0)) {
552 } else {
553 nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_icode_dump, 95);
554 }
555 REGB0 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
556 fra.me.REG[5] = CALL_string___Object___to_s(REGB0)(REGB0);
557 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
558 if (!once_value_6) {
559 fra.me.REG[5] = BOX_NativeString(")");
560 REGB0 = TAG_Int(1);
561 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
562 once_value_6 = fra.me.REG[5];
563 register_static_object(&once_value_6);
564 } else fra.me.REG[5] = once_value_6;
565 fra.me.REG[5] = fra.me.REG[5];
566 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
567 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
568 } else {
569 /* ./analysis//icode_dump.nit:96 */
570 REGB0 = CALL_allocate_iregister_slots___IRegister___is_local(fra.me.REG[1])(fra.me.REG[1]);
571 if (UNTAG_Bool(REGB0)) {
572 /* ./analysis//icode_dump.nit:97 */
573 REGB0 = TAG_Int(5);
574 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0);
575 if (!once_value_7) {
576 fra.me.REG[6] = BOX_NativeString("LREG");
577 REGB0 = TAG_Int(4);
578 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB0);
579 once_value_7 = fra.me.REG[6];
580 register_static_object(&once_value_7);
581 } else fra.me.REG[6] = once_value_7;
582 fra.me.REG[6] = fra.me.REG[6];
583 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
584 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
585 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
586 if (!once_value_8) {
587 fra.me.REG[6] = BOX_NativeString("(r");
588 REGB0 = TAG_Int(2);
589 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB0);
590 once_value_8 = fra.me.REG[6];
591 register_static_object(&once_value_8);
592 } else fra.me.REG[6] = once_value_8;
593 fra.me.REG[6] = fra.me.REG[6];
594 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
595 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
596 if (UNTAG_Bool(REGB0)) {
597 } else {
598 nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_icode_dump, 97);
599 }
600 REGB0 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
601 fra.me.REG[6] = CALL_string___Object___to_s(REGB0)(REGB0);
602 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
603 if (!once_value_9) {
604 fra.me.REG[6] = BOX_NativeString(")");
605 REGB0 = TAG_Int(1);
606 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB0);
607 once_value_9 = fra.me.REG[6];
608 register_static_object(&once_value_9);
609 } else fra.me.REG[6] = once_value_9;
610 fra.me.REG[6] = fra.me.REG[6];
611 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
612 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
613 fra.me.REG[4] = fra.me.REG[5];
614 } else {
615 /* ./analysis//icode_dump.nit:99 */
616 REGB0 = TAG_Int(5);
617 fra.me.REG[5] = NEW_Array_array___Array___with_capacity(REGB0);
618 if (!once_value_10) {
619 fra.me.REG[6] = BOX_NativeString("REG");
620 REGB0 = TAG_Int(3);
621 fra.me.REG[6] = NEW_String_string___String___with_native(fra.me.REG[6], REGB0);
622 once_value_10 = fra.me.REG[6];
623 register_static_object(&once_value_10);
624 } else fra.me.REG[6] = once_value_10;
625 fra.me.REG[6] = fra.me.REG[6];
626 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[6]);
627 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
628 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
629 if (!once_value_11) {
630 fra.me.REG[3] = BOX_NativeString("(r");
631 REGB0 = TAG_Int(2);
632 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
633 once_value_11 = fra.me.REG[3];
634 register_static_object(&once_value_11);
635 } else fra.me.REG[3] = once_value_11;
636 fra.me.REG[3] = fra.me.REG[3];
637 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
638 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0])!=NIT_NULL);
639 if (UNTAG_Bool(REGB0)) {
640 } else {
641 nit_abort("Uninitialized attribute %s", "_last_value", LOCATE_icode_dump, 99);
642 }
643 REGB0 = ATTR_icode_dump___ICodeDumper____last_value(fra.me.REG[0]);
644 fra.me.REG[3] = CALL_string___Object___to_s(REGB0)(REGB0);
645 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
646 if (!once_value_12) {
647 fra.me.REG[3] = BOX_NativeString(")");
648 REGB0 = TAG_Int(1);
649 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
650 once_value_12 = fra.me.REG[3];
651 register_static_object(&once_value_12);
652 } else fra.me.REG[3] = once_value_12;
653 fra.me.REG[3] = fra.me.REG[3];
654 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[5])(fra.me.REG[5], fra.me.REG[3]);
655 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
656 fra.me.REG[4] = fra.me.REG[5];
657 }
658 }
659 /* ./analysis//icode_dump.nit:101 */
660 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
661 if (UNTAG_Bool(REGB0)) {
662 } else {
663 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 101);
664 }
665 fra.me.REG[0] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
666 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[4]);
667 /* ./analysis//icode_dump.nit:102 */
668 fra.me.REG[2] = fra.me.REG[4];
669 goto label1;
670 }
671 }
672 label1: while(0);
673 stack_frame_head = fra.me.prev;
674 return fra.me.REG[2];
675 }
676 val_t icode_dump___ICodeDumper___register_all(val_t p0, val_t p1){
677 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
678 val_t REGB0;
679 val_t REGB1;
680 val_t tmp;
681 static val_t once_value_1; /* Once value */
682 static val_t once_value_4; /* Once value */
683 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
684 fra.me.file = LOCATE_icode_dump;
685 fra.me.line = 107;
686 fra.me.meth = LOCATE_icode_dump___ICodeDumper___register_all;
687 fra.me.has_broke = 0;
688 fra.me.REG_size = 4;
689 fra.me.REG[0] = NIT_NULL;
690 fra.me.REG[1] = NIT_NULL;
691 fra.me.REG[2] = NIT_NULL;
692 fra.me.REG[3] = NIT_NULL;
693 fra.me.REG[0] = p0;
694 fra.me.REG[1] = p1;
695 /* ./analysis//icode_dump.nit:110 */
696 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
697 if (UNTAG_Bool(REGB0)) {
698 } else {
699 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
700 if (UNTAG_Bool(REGB1)) {
701 REGB1 = TAG_Bool(false);
702 REGB0 = REGB1;
703 } else {
704 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], NIT_NULL);
705 REGB0 = REGB1;
706 }
707 }
708 if (UNTAG_Bool(REGB0)) {
709 if (!once_value_1) {
710 fra.me.REG[2] = BOX_NativeString("");
711 REGB0 = TAG_Int(0);
712 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
713 once_value_1 = fra.me.REG[2];
714 register_static_object(&once_value_1);
715 } else fra.me.REG[2] = once_value_1;
716 fra.me.REG[2] = fra.me.REG[2];
717 goto label2;
718 }
719 /* ./analysis//icode_dump.nit:111 */
720 fra.me.REG[3] = NEW_Array_array___Array___init();
721 /* ./analysis//icode_dump.nit:112 */
722 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
723 if (UNTAG_Bool(REGB0)) {
724 nit_abort("Reciever is null", NULL, LOCATE_icode_dump, 112);
725 }
726 CALL_abstract_collection___Collection___iterate(fra.me.REG[1])(fra.me.REG[1], (&(fra.me)), ((fun_t)OC_icode_dump___ICodeDumper___register_all_3));
727 /* ./analysis//icode_dump.nit:115 */
728 if (!once_value_4) {
729 fra.me.REG[0] = BOX_NativeString(", ");
730 REGB0 = TAG_Int(2);
731 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
732 once_value_4 = fra.me.REG[0];
733 register_static_object(&once_value_4);
734 } else fra.me.REG[0] = once_value_4;
735 fra.me.REG[0] = fra.me.REG[0];
736 fra.me.REG[0] = CALL_string___Collection___join(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[0]);
737 fra.me.REG[2] = fra.me.REG[0];
738 goto label2;
739 label2: while(0);
740 stack_frame_head = fra.me.prev;
741 return fra.me.REG[2];
742 }
743 void OC_icode_dump___ICodeDumper___register_all_3(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
744 struct {struct stack_frame_t me;} fra;
745 fun_t CREG[1];
746 val_t tmp;
747 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
748 fra.me.file = LOCATE_icode_dump;
749 fra.me.line = 0;
750 fra.me.meth = LOCATE_icode_dump___ICodeDumper___register_all;
751 fra.me.has_broke = 0;
752 fra.me.REG_size = 1;
753 fra.me.REG[0] = NIT_NULL;
754 fra.me.closure_ctx = closctx_param;
755 fra.me.closure_funs = CREG;
756 fra.me.REG[0] = p0;
757 CREG[0] = clos_fun0;
758 /* ./analysis//icode_dump.nit:113 */
759 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(closctx->REG[0])(closctx->REG[0], fra.me.REG[0]);
760 CALL_abstract_collection___SimpleCollection___add(closctx->REG[3])(closctx->REG[3], fra.me.REG[0]);
761 stack_frame_head = fra.me.prev;
762 return;
763 }
764 val_t icode_dump___ICodeDumper___closdecl(val_t p0, val_t p1){
765 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
766 val_t REGB0;
767 val_t REGB1;
768 val_t tmp;
769 static val_t once_value_2; /* Once value */
770 static val_t once_value_3; /* Once value */
771 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
772 fra.me.file = LOCATE_icode_dump;
773 fra.me.line = 120;
774 fra.me.meth = LOCATE_icode_dump___ICodeDumper___closdecl;
775 fra.me.has_broke = 0;
776 fra.me.REG_size = 5;
777 fra.me.REG[0] = NIT_NULL;
778 fra.me.REG[1] = NIT_NULL;
779 fra.me.REG[2] = NIT_NULL;
780 fra.me.REG[3] = NIT_NULL;
781 fra.me.REG[4] = NIT_NULL;
782 fra.me.REG[0] = p0;
783 fra.me.REG[1] = p1;
784 /* ./analysis//icode_dump.nit:124 */
785 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
786 if (UNTAG_Bool(REGB0)) {
787 } else {
788 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 124);
789 }
790 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
791 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
792 if (UNTAG_Bool(REGB0)) {
793 /* ./analysis//icode_dump.nit:125 */
794 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
795 if (UNTAG_Bool(REGB0)) {
796 } else {
797 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 125);
798 }
799 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
800 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
801 goto label1;
802 } else {
803 /* ./analysis//icode_dump.nit:127 */
804 REGB0 = ATTR_icode_dump___ICodeDumper____last_clos(fra.me.REG[0]);
805 REGB1 = TAG_Int(1);
806 /* ./../lib/standard//kernel.nit:215 */
807 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
808 /* ./analysis//icode_dump.nit:127 */
809 ATTR_icode_dump___ICodeDumper____last_clos(fra.me.REG[0]) = REGB1;
810 /* ./analysis//icode_dump.nit:128 */
811 REGB1 = TAG_Int(3);
812 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
813 if (!once_value_2) {
814 fra.me.REG[4] = BOX_NativeString("clos");
815 REGB1 = TAG_Int(4);
816 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
817 once_value_2 = fra.me.REG[4];
818 register_static_object(&once_value_2);
819 } else fra.me.REG[4] = once_value_2;
820 fra.me.REG[4] = fra.me.REG[4];
821 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
822 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_clos(fra.me.REG[0])!=NIT_NULL);
823 if (UNTAG_Bool(REGB1)) {
824 } else {
825 nit_abort("Uninitialized attribute %s", "_last_clos", LOCATE_icode_dump, 128);
826 }
827 REGB1 = ATTR_icode_dump___ICodeDumper____last_clos(fra.me.REG[0]);
828 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
829 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
830 if (!once_value_3) {
831 fra.me.REG[4] = BOX_NativeString("");
832 REGB1 = TAG_Int(0);
833 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
834 once_value_3 = fra.me.REG[4];
835 register_static_object(&once_value_3);
836 } else fra.me.REG[4] = once_value_3;
837 fra.me.REG[4] = fra.me.REG[4];
838 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
839 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
840 /* ./analysis//icode_dump.nit:129 */
841 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
842 if (UNTAG_Bool(REGB1)) {
843 } else {
844 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 129);
845 }
846 fra.me.REG[0] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
847 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
848 /* ./analysis//icode_dump.nit:130 */
849 fra.me.REG[2] = fra.me.REG[3];
850 goto label1;
851 }
852 label1: while(0);
853 stack_frame_head = fra.me.prev;
854 return fra.me.REG[2];
855 }
856 val_t icode_dump___ICodeDumper___lab(val_t p0, val_t p1){
857 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
858 val_t REGB0;
859 val_t REGB1;
860 val_t tmp;
861 static val_t once_value_2; /* Once value */
862 static val_t once_value_3; /* Once value */
863 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
864 fra.me.file = LOCATE_icode_dump;
865 fra.me.line = 135;
866 fra.me.meth = LOCATE_icode_dump___ICodeDumper___lab;
867 fra.me.has_broke = 0;
868 fra.me.REG_size = 5;
869 fra.me.REG[0] = NIT_NULL;
870 fra.me.REG[1] = NIT_NULL;
871 fra.me.REG[2] = NIT_NULL;
872 fra.me.REG[3] = NIT_NULL;
873 fra.me.REG[4] = NIT_NULL;
874 fra.me.REG[0] = p0;
875 fra.me.REG[1] = p1;
876 /* ./analysis//icode_dump.nit:139 */
877 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
878 if (UNTAG_Bool(REGB0)) {
879 } else {
880 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 139);
881 }
882 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
883 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
884 if (UNTAG_Bool(REGB0)) {
885 /* ./analysis//icode_dump.nit:140 */
886 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
887 if (UNTAG_Bool(REGB0)) {
888 } else {
889 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 140);
890 }
891 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
892 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
893 goto label1;
894 } else {
895 /* ./analysis//icode_dump.nit:142 */
896 REGB0 = ATTR_icode_dump___ICodeDumper____last_label(fra.me.REG[0]);
897 REGB1 = TAG_Int(1);
898 /* ./../lib/standard//kernel.nit:215 */
899 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
900 /* ./analysis//icode_dump.nit:142 */
901 ATTR_icode_dump___ICodeDumper____last_label(fra.me.REG[0]) = REGB1;
902 /* ./analysis//icode_dump.nit:143 */
903 REGB1 = TAG_Int(3);
904 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
905 if (!once_value_2) {
906 fra.me.REG[4] = BOX_NativeString("[l");
907 REGB1 = TAG_Int(2);
908 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
909 once_value_2 = fra.me.REG[4];
910 register_static_object(&once_value_2);
911 } else fra.me.REG[4] = once_value_2;
912 fra.me.REG[4] = fra.me.REG[4];
913 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
914 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_label(fra.me.REG[0])!=NIT_NULL);
915 if (UNTAG_Bool(REGB1)) {
916 } else {
917 nit_abort("Uninitialized attribute %s", "_last_label", LOCATE_icode_dump, 143);
918 }
919 REGB1 = ATTR_icode_dump___ICodeDumper____last_label(fra.me.REG[0]);
920 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
921 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
922 if (!once_value_3) {
923 fra.me.REG[4] = BOX_NativeString("]");
924 REGB1 = TAG_Int(1);
925 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
926 once_value_3 = fra.me.REG[4];
927 register_static_object(&once_value_3);
928 } else fra.me.REG[4] = once_value_3;
929 fra.me.REG[4] = fra.me.REG[4];
930 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
931 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
932 /* ./analysis//icode_dump.nit:144 */
933 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
934 if (UNTAG_Bool(REGB1)) {
935 } else {
936 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 144);
937 }
938 fra.me.REG[0] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
939 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
940 /* ./analysis//icode_dump.nit:145 */
941 fra.me.REG[2] = fra.me.REG[3];
942 goto label1;
943 }
944 label1: while(0);
945 stack_frame_head = fra.me.prev;
946 return fra.me.REG[2];
947 }
948 val_t icode_dump___ICodeDumper___line(val_t p0, val_t p1){
949 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
950 val_t REGB0;
951 val_t REGB1;
952 val_t tmp;
953 static val_t once_value_2; /* Once value */
954 static val_t once_value_3; /* Once value */
955 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
956 fra.me.file = LOCATE_icode_dump;
957 fra.me.line = 150;
958 fra.me.meth = LOCATE_icode_dump___ICodeDumper___line;
959 fra.me.has_broke = 0;
960 fra.me.REG_size = 5;
961 fra.me.REG[0] = NIT_NULL;
962 fra.me.REG[1] = NIT_NULL;
963 fra.me.REG[2] = NIT_NULL;
964 fra.me.REG[3] = NIT_NULL;
965 fra.me.REG[4] = NIT_NULL;
966 fra.me.REG[0] = p0;
967 fra.me.REG[1] = p1;
968 /* ./analysis//icode_dump.nit:153 */
969 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
970 if (UNTAG_Bool(REGB0)) {
971 } else {
972 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 153);
973 }
974 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
975 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
976 if (UNTAG_Bool(REGB0)) {
977 /* ./analysis//icode_dump.nit:154 */
978 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
979 if (UNTAG_Bool(REGB0)) {
980 } else {
981 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 154);
982 }
983 fra.me.REG[2] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
984 fra.me.REG[2] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
985 goto label1;
986 } else {
987 /* ./analysis//icode_dump.nit:156 */
988 REGB0 = ATTR_icode_dump___ICodeDumper____last_line(fra.me.REG[0]);
989 REGB1 = TAG_Int(1);
990 /* ./../lib/standard//kernel.nit:215 */
991 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
992 /* ./analysis//icode_dump.nit:156 */
993 ATTR_icode_dump___ICodeDumper____last_line(fra.me.REG[0]) = REGB1;
994 /* ./analysis//icode_dump.nit:157 */
995 REGB1 = TAG_Int(3);
996 fra.me.REG[3] = NEW_Array_array___Array___with_capacity(REGB1);
997 if (!once_value_2) {
998 fra.me.REG[4] = BOX_NativeString("");
999 REGB1 = TAG_Int(0);
1000 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1001 once_value_2 = fra.me.REG[4];
1002 register_static_object(&once_value_2);
1003 } else fra.me.REG[4] = once_value_2;
1004 fra.me.REG[4] = fra.me.REG[4];
1005 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1006 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____last_line(fra.me.REG[0])!=NIT_NULL);
1007 if (UNTAG_Bool(REGB1)) {
1008 } else {
1009 nit_abort("Uninitialized attribute %s", "_last_line", LOCATE_icode_dump, 157);
1010 }
1011 REGB1 = ATTR_icode_dump___ICodeDumper____last_line(fra.me.REG[0]);
1012 fra.me.REG[4] = CALL_string___Object___to_s(REGB1)(REGB1);
1013 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1014 if (!once_value_3) {
1015 fra.me.REG[4] = BOX_NativeString("");
1016 REGB1 = TAG_Int(0);
1017 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1018 once_value_3 = fra.me.REG[4];
1019 register_static_object(&once_value_3);
1020 } else fra.me.REG[4] = once_value_3;
1021 fra.me.REG[4] = fra.me.REG[4];
1022 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1023 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
1024 /* ./analysis//icode_dump.nit:158 */
1025 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
1026 if (UNTAG_Bool(REGB1)) {
1027 } else {
1028 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 158);
1029 }
1030 fra.me.REG[0] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
1031 CALL_abstract_collection___Map_____braeq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3]);
1032 /* ./analysis//icode_dump.nit:159 */
1033 fra.me.REG[2] = fra.me.REG[3];
1034 goto label1;
1035 }
1036 label1: while(0);
1037 stack_frame_head = fra.me.prev;
1038 return fra.me.REG[2];
1039 }
1040 val_t icode_dump___ICodeDumper___has_lab(val_t p0, val_t p1){
1041 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1042 val_t REGB0;
1043 val_t tmp;
1044 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1045 fra.me.file = LOCATE_icode_dump;
1046 fra.me.line = 163;
1047 fra.me.meth = LOCATE_icode_dump___ICodeDumper___has_lab;
1048 fra.me.has_broke = 0;
1049 fra.me.REG_size = 2;
1050 fra.me.REG[0] = NIT_NULL;
1051 fra.me.REG[1] = NIT_NULL;
1052 fra.me.REG[0] = p0;
1053 fra.me.REG[1] = p1;
1054 /* ./analysis//icode_dump.nit:166 */
1055 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0])!=NIT_NULL);
1056 if (UNTAG_Bool(REGB0)) {
1057 } else {
1058 nit_abort("Uninitialized attribute %s", "_ids", LOCATE_icode_dump, 166);
1059 }
1060 fra.me.REG[0] = ATTR_icode_dump___ICodeDumper____ids(fra.me.REG[0]);
1061 REGB0 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1062 goto label1;
1063 label1: while(0);
1064 stack_frame_head = fra.me.prev;
1065 return REGB0;
1066 }
1067 void icode_dump___ICodeDumper___write(val_t p0, val_t p1){
1068 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1069 val_t REGB0;
1070 val_t REGB1;
1071 val_t REGB2;
1072 val_t tmp;
1073 static val_t once_value_1; /* Once value */
1074 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1075 fra.me.file = LOCATE_icode_dump;
1076 fra.me.line = 169;
1077 fra.me.meth = LOCATE_icode_dump___ICodeDumper___write;
1078 fra.me.has_broke = 0;
1079 fra.me.REG_size = 4;
1080 fra.me.REG[0] = NIT_NULL;
1081 fra.me.REG[1] = NIT_NULL;
1082 fra.me.REG[2] = NIT_NULL;
1083 fra.me.REG[3] = NIT_NULL;
1084 fra.me.REG[0] = p0;
1085 fra.me.REG[1] = p1;
1086 /* ./analysis//icode_dump.nit:172 */
1087 REGB0 = TAG_Int(0);
1088 REGB1 = TAG_Bool(ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0])!=NIT_NULL);
1089 if (UNTAG_Bool(REGB1)) {
1090 } else {
1091 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_icode_dump, 172);
1092 }
1093 REGB1 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1094 /* ./../lib/standard//kernel.nit:332 */
1095 while(1) {
1096 /* ./../lib/standard//kernel.nit:212 */
1097 REGB2 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1098 /* ./../lib/standard//kernel.nit:332 */
1099 if (UNTAG_Bool(REGB2)) {
1100 /* ./analysis//icode_dump.nit:173 */
1101 REGB2 = TAG_Int(0);
1102 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB2);
1103 if (!once_value_1) {
1104 fra.me.REG[3] = BOX_NativeString(" ");
1105 REGB2 = TAG_Int(4);
1106 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB2);
1107 once_value_1 = fra.me.REG[3];
1108 register_static_object(&once_value_1);
1109 } else fra.me.REG[3] = once_value_1;
1110 fra.me.REG[3] = fra.me.REG[3];
1111 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1112 CALL_file___Object___printn(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1113 /* ./../lib/standard//kernel.nit:334 */
1114 REGB2 = TAG_Int(1);
1115 /* ./../lib/standard//kernel.nit:215 */
1116 REGB2 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB2));
1117 /* ./../lib/standard//kernel.nit:334 */
1118 REGB0 = REGB2;
1119 } else {
1120 /* ./../lib/standard//kernel.nit:332 */
1121 goto label2;
1122 }
1123 }
1124 label2: while(0);
1125 /* ./analysis//icode_dump.nit:175 */
1126 CALL_file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1127 stack_frame_head = fra.me.prev;
1128 return;
1129 }
1130 val_t icode_dump___ICodeDumper___indent_level(val_t p0){
1131 struct {struct stack_frame_t me;} fra;
1132 val_t REGB0;
1133 val_t tmp;
1134 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1135 fra.me.file = LOCATE_icode_dump;
1136 fra.me.line = 178;
1137 fra.me.meth = LOCATE_icode_dump___ICodeDumper___indent_level;
1138 fra.me.has_broke = 0;
1139 fra.me.REG_size = 1;
1140 fra.me.REG[0] = NIT_NULL;
1141 fra.me.REG[0] = p0;
1142 /* ./analysis//icode_dump.nit:178 */
1143 REGB0 = TAG_Bool(ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0])!=NIT_NULL);
1144 if (UNTAG_Bool(REGB0)) {
1145 } else {
1146 nit_abort("Uninitialized attribute %s", "_indent_level", LOCATE_icode_dump, 178);
1147 }
1148 REGB0 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1149 stack_frame_head = fra.me.prev;
1150 return REGB0;
1151 }
1152 void icode_dump___ICodeDumper___indent(val_t p0){
1153 struct {struct stack_frame_t me;} fra;
1154 val_t REGB0;
1155 val_t REGB1;
1156 val_t tmp;
1157 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1158 fra.me.file = LOCATE_icode_dump;
1159 fra.me.line = 180;
1160 fra.me.meth = LOCATE_icode_dump___ICodeDumper___indent;
1161 fra.me.has_broke = 0;
1162 fra.me.REG_size = 1;
1163 fra.me.REG[0] = NIT_NULL;
1164 fra.me.REG[0] = p0;
1165 /* ./analysis//icode_dump.nit:181 */
1166 REGB0 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1167 REGB1 = TAG_Int(1);
1168 /* ./../lib/standard//kernel.nit:215 */
1169 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1170 /* ./analysis//icode_dump.nit:181 */
1171 ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]) = REGB1;
1172 stack_frame_head = fra.me.prev;
1173 return;
1174 }
1175 void icode_dump___ICodeDumper___unindent(val_t p0){
1176 struct {struct stack_frame_t me;} fra;
1177 val_t REGB0;
1178 val_t REGB1;
1179 val_t tmp;
1180 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1181 fra.me.file = LOCATE_icode_dump;
1182 fra.me.line = 183;
1183 fra.me.meth = LOCATE_icode_dump___ICodeDumper___unindent;
1184 fra.me.has_broke = 0;
1185 fra.me.REG_size = 1;
1186 fra.me.REG[0] = NIT_NULL;
1187 fra.me.REG[0] = p0;
1188 /* ./analysis//icode_dump.nit:184 */
1189 REGB0 = ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]);
1190 REGB1 = TAG_Int(1);
1191 /* ./../lib/standard//kernel.nit:217 */
1192 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
1193 /* ./analysis//icode_dump.nit:184 */
1194 ATTR_icode_dump___ICodeDumper____indent_level(fra.me.REG[0]) = REGB1;
1195 stack_frame_head = fra.me.prev;
1196 return;
1197 }
1198 void icode_dump___ICode___dump(val_t p0, val_t p1){
1199 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
1200 val_t REGB0;
1201 val_t REGB1;
1202 val_t tmp;
1203 static val_t once_value_1; /* Once value */
1204 static val_t once_value_2; /* Once value */
1205 static val_t once_value_3; /* Once value */
1206 static val_t once_value_4; /* Once value */
1207 static val_t once_value_5; /* Once value */
1208 static val_t once_value_6; /* Once value */
1209 static val_t once_value_7; /* Once value */
1210 static val_t once_value_8; /* Once value */
1211 static val_t once_value_9; /* Once value */
1212 static val_t once_value_10; /* Once value */
1213 static val_t once_value_11; /* Once value */
1214 static val_t once_value_12; /* Once value */
1215 static val_t once_value_13; /* Once value */
1216 static val_t once_value_14; /* Once value */
1217 static val_t once_value_15; /* Once value */
1218 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1219 fra.me.file = LOCATE_icode_dump;
1220 fra.me.line = 188;
1221 fra.me.meth = LOCATE_icode_dump___ICode___dump;
1222 fra.me.has_broke = 0;
1223 fra.me.REG_size = 8;
1224 fra.me.REG[0] = NIT_NULL;
1225 fra.me.REG[1] = NIT_NULL;
1226 fra.me.REG[2] = NIT_NULL;
1227 fra.me.REG[3] = NIT_NULL;
1228 fra.me.REG[4] = NIT_NULL;
1229 fra.me.REG[5] = NIT_NULL;
1230 fra.me.REG[6] = NIT_NULL;
1231 fra.me.REG[7] = NIT_NULL;
1232 fra.me.REG[0] = p0;
1233 fra.me.REG[1] = p1;
1234 /* ./analysis//icode_dump.nit:191 */
1235 fra.me.REG[2] = CALL_icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
1236 /* ./analysis//icode_dump.nit:192 */
1237 if (!once_value_1) {
1238 fra.me.REG[3] = BOX_NativeString("");
1239 REGB0 = TAG_Int(0);
1240 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1241 once_value_1 = fra.me.REG[3];
1242 register_static_object(&once_value_1);
1243 } else fra.me.REG[3] = once_value_1;
1244 fra.me.REG[3] = fra.me.REG[3];
1245 /* ./analysis//icode_dump.nit:193 */
1246 if (!once_value_2) {
1247 fra.me.REG[4] = BOX_NativeString("");
1248 REGB0 = TAG_Int(0);
1249 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
1250 once_value_2 = fra.me.REG[4];
1251 register_static_object(&once_value_2);
1252 } else fra.me.REG[4] = once_value_2;
1253 fra.me.REG[4] = fra.me.REG[4];
1254 /* ./analysis//icode_dump.nit:194 */
1255 fra.me.REG[5] = CALL_icode_base___ICode___location(fra.me.REG[0])(fra.me.REG[0]);
1256 /* ./analysis//icode_dump.nit:195 */
1257 REGB0 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1258 if (UNTAG_Bool(REGB0)) {
1259 } else {
1260 REGB1 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1261 if (UNTAG_Bool(REGB1)) {
1262 REGB1 = TAG_Bool(false);
1263 REGB0 = REGB1;
1264 } else {
1265 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[5])(fra.me.REG[5], NIT_NULL);
1266 REGB0 = REGB1;
1267 }
1268 }
1269 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1270 if (UNTAG_Bool(REGB0)) {
1271 REGB0 = CALL_icode_dump___ICodeDumper___dump_locations(fra.me.REG[1])(fra.me.REG[1]);
1272 } else {
1273 REGB1 = TAG_Bool(false);
1274 REGB0 = REGB1;
1275 }
1276 if (UNTAG_Bool(REGB0)) {
1277 /* ./analysis//icode_dump.nit:196 */
1278 REGB0 = TAG_Int(3);
1279 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0);
1280 if (!once_value_3) {
1281 fra.me.REG[7] = BOX_NativeString(" ... ");
1282 REGB0 = TAG_Int(12);
1283 fra.me.REG[7] = NEW_String_string___String___with_native(fra.me.REG[7], REGB0);
1284 once_value_3 = fra.me.REG[7];
1285 register_static_object(&once_value_3);
1286 } else fra.me.REG[7] = once_value_3;
1287 fra.me.REG[7] = fra.me.REG[7];
1288 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[7]);
1289 fra.me.REG[5] = CALL_string___Object___to_s(fra.me.REG[5])(fra.me.REG[5]);
1290 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1291 if (!once_value_4) {
1292 fra.me.REG[5] = BOX_NativeString("");
1293 REGB0 = TAG_Int(0);
1294 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1295 once_value_4 = fra.me.REG[5];
1296 register_static_object(&once_value_4);
1297 } else fra.me.REG[5] = once_value_4;
1298 fra.me.REG[5] = fra.me.REG[5];
1299 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1300 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1301 fra.me.REG[3] = fra.me.REG[6];
1302 }
1303 /* ./analysis//icode_dump.nit:198 */
1304 REGB0 = CALL_icode_dump___ICodeDumper___dump_line_numbers(fra.me.REG[1])(fra.me.REG[1]);
1305 if (UNTAG_Bool(REGB0)) {
1306 /* ./analysis//icode_dump.nit:199 */
1307 REGB0 = TAG_Int(3);
1308 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0);
1309 if (!once_value_5) {
1310 fra.me.REG[5] = BOX_NativeString("");
1311 REGB0 = TAG_Int(0);
1312 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1313 once_value_5 = fra.me.REG[5];
1314 register_static_object(&once_value_5);
1315 } else fra.me.REG[5] = once_value_5;
1316 fra.me.REG[5] = fra.me.REG[5];
1317 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1318 fra.me.REG[5] = CALL_icode_dump___ICodeDumper___line(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1319 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1320 if (!once_value_6) {
1321 fra.me.REG[5] = BOX_NativeString(": ");
1322 REGB0 = TAG_Int(2);
1323 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1324 once_value_6 = fra.me.REG[5];
1325 register_static_object(&once_value_6);
1326 } else fra.me.REG[5] = once_value_6;
1327 fra.me.REG[5] = fra.me.REG[5];
1328 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1329 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1330 fra.me.REG[4] = fra.me.REG[6];
1331 }
1332 /* ./analysis//icode_dump.nit:201 */
1333 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1334 if (UNTAG_Bool(REGB0)) {
1335 } else {
1336 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1337 if (UNTAG_Bool(REGB1)) {
1338 REGB1 = TAG_Bool(false);
1339 REGB0 = REGB1;
1340 } else {
1341 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1342 REGB0 = REGB1;
1343 }
1344 }
1345 if (UNTAG_Bool(REGB0)) {
1346 /* ./analysis//icode_dump.nit:202 */
1347 REGB0 = TAG_Int(7);
1348 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0);
1349 if (!once_value_7) {
1350 fra.me.REG[5] = BOX_NativeString("");
1351 REGB0 = TAG_Int(0);
1352 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1353 once_value_7 = fra.me.REG[5];
1354 register_static_object(&once_value_7);
1355 } else fra.me.REG[5] = once_value_7;
1356 fra.me.REG[5] = fra.me.REG[5];
1357 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1358 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
1359 if (!once_value_8) {
1360 fra.me.REG[5] = BOX_NativeString("");
1361 REGB0 = TAG_Int(0);
1362 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1363 once_value_8 = fra.me.REG[5];
1364 register_static_object(&once_value_8);
1365 } else fra.me.REG[5] = once_value_8;
1366 fra.me.REG[5] = fra.me.REG[5];
1367 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1368 fra.me.REG[5] = CALL_icode_dump___ICode___dump_intern(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1369 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1370 if (!once_value_9) {
1371 fra.me.REG[5] = BOX_NativeString("");
1372 REGB0 = TAG_Int(0);
1373 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1374 once_value_9 = fra.me.REG[5];
1375 register_static_object(&once_value_9);
1376 } else fra.me.REG[5] = once_value_9;
1377 fra.me.REG[5] = fra.me.REG[5];
1378 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1379 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
1380 if (!once_value_10) {
1381 fra.me.REG[5] = BOX_NativeString("");
1382 REGB0 = TAG_Int(0);
1383 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1384 once_value_10 = fra.me.REG[5];
1385 register_static_object(&once_value_10);
1386 } else fra.me.REG[5] = once_value_10;
1387 fra.me.REG[5] = fra.me.REG[5];
1388 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1389 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1390 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
1391 } else {
1392 /* ./analysis//icode_dump.nit:204 */
1393 REGB0 = TAG_Int(9);
1394 fra.me.REG[6] = NEW_Array_array___Array___with_capacity(REGB0);
1395 if (!once_value_11) {
1396 fra.me.REG[5] = BOX_NativeString("");
1397 REGB0 = TAG_Int(0);
1398 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB0);
1399 once_value_11 = fra.me.REG[5];
1400 register_static_object(&once_value_11);
1401 } else fra.me.REG[5] = once_value_11;
1402 fra.me.REG[5] = fra.me.REG[5];
1403 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[5]);
1404 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
1405 if (!once_value_12) {
1406 fra.me.REG[4] = BOX_NativeString("");
1407 REGB0 = TAG_Int(0);
1408 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB0);
1409 once_value_12 = fra.me.REG[4];
1410 register_static_object(&once_value_12);
1411 } else fra.me.REG[4] = once_value_12;
1412 fra.me.REG[4] = fra.me.REG[4];
1413 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[4]);
1414 fra.me.REG[2] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1415 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1416 if (!once_value_13) {
1417 fra.me.REG[2] = BOX_NativeString(" := ");
1418 REGB0 = TAG_Int(4);
1419 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1420 once_value_13 = fra.me.REG[2];
1421 register_static_object(&once_value_13);
1422 } else fra.me.REG[2] = once_value_13;
1423 fra.me.REG[2] = fra.me.REG[2];
1424 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[2]);
1425 fra.me.REG[0] = CALL_icode_dump___ICode___dump_intern(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1426 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
1427 if (!once_value_14) {
1428 fra.me.REG[0] = BOX_NativeString("");
1429 REGB0 = TAG_Int(0);
1430 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1431 once_value_14 = fra.me.REG[0];
1432 register_static_object(&once_value_14);
1433 } else fra.me.REG[0] = once_value_14;
1434 fra.me.REG[0] = fra.me.REG[0];
1435 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[0]);
1436 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
1437 if (!once_value_15) {
1438 fra.me.REG[3] = BOX_NativeString("");
1439 REGB0 = TAG_Int(0);
1440 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1441 once_value_15 = fra.me.REG[3];
1442 register_static_object(&once_value_15);
1443 } else fra.me.REG[3] = once_value_15;
1444 fra.me.REG[3] = fra.me.REG[3];
1445 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[6])(fra.me.REG[6], fra.me.REG[3]);
1446 fra.me.REG[6] = CALL_string___Object___to_s(fra.me.REG[6])(fra.me.REG[6]);
1447 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[6]);
1448 }
1449 stack_frame_head = fra.me.prev;
1450 return;
1451 }
1452 val_t icode_dump___ICode___dump_intern(val_t p0, val_t p1){
1453 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1454 val_t REGB0;
1455 val_t tmp;
1456 static val_t once_value_1; /* Once value */
1457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1458 fra.me.file = LOCATE_icode_dump;
1459 fra.me.line = 208;
1460 fra.me.meth = LOCATE_icode_dump___ICode___dump_intern;
1461 fra.me.has_broke = 0;
1462 fra.me.REG_size = 2;
1463 fra.me.REG[0] = NIT_NULL;
1464 fra.me.REG[1] = NIT_NULL;
1465 fra.me.REG[0] = p0;
1466 fra.me.REG[1] = p1;
1467 /* ./analysis//icode_dump.nit:209 */
1468 if (!once_value_1) {
1469 fra.me.REG[1] = BOX_NativeString("???");
1470 REGB0 = TAG_Int(3);
1471 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1472 once_value_1 = fra.me.REG[1];
1473 register_static_object(&once_value_1);
1474 } else fra.me.REG[1] = once_value_1;
1475 fra.me.REG[1] = fra.me.REG[1];
1476 goto label2;
1477 label2: while(0);
1478 stack_frame_head = fra.me.prev;
1479 return fra.me.REG[1];
1480 }
1481 void icode_dump___ICodeN___dump(val_t p0, val_t p1){
1482 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1483 val_t REGB0;
1484 val_t REGB1;
1485 val_t tmp;
1486 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1487 fra.me.file = LOCATE_icode_dump;
1488 fra.me.line = 213;
1489 fra.me.meth = LOCATE_icode_dump___ICodeN___dump;
1490 fra.me.has_broke = 0;
1491 fra.me.REG_size = 4;
1492 fra.me.REG[0] = NIT_NULL;
1493 fra.me.REG[1] = NIT_NULL;
1494 fra.me.REG[2] = NIT_NULL;
1495 fra.me.REG[3] = NIT_NULL;
1496 fra.me.REG[0] = p0;
1497 fra.me.REG[1] = p1;
1498 /* ./analysis//icode_dump.nit:213 */
1499 fra.me.REG[2] = fra.me.REG[0];
1500 fra.me.REG[3] = fra.me.REG[1];
1501 /* ./analysis//icode_dump.nit:215 */
1502 CALL_SUPER_icode_dump___ICodeN___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1503 /* ./analysis//icode_dump.nit:216 */
1504 fra.me.REG[2] = CALL_icode_base___ICodeN___closure_defs(fra.me.REG[2])(fra.me.REG[2]);
1505 /* ./analysis//icode_dump.nit:217 */
1506 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1507 if (UNTAG_Bool(REGB0)) {
1508 } else {
1509 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1510 if (UNTAG_Bool(REGB1)) {
1511 REGB1 = TAG_Bool(false);
1512 REGB0 = REGB1;
1513 } else {
1514 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], NIT_NULL);
1515 REGB0 = REGB1;
1516 }
1517 }
1518 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1519 if (UNTAG_Bool(REGB0)) {
1520 /* ./analysis//icode_dump.nit:218 */
1521 REGB0 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1522 if (UNTAG_Bool(REGB0)) {
1523 nit_abort("Reciever is null", NULL, LOCATE_icode_dump, 218);
1524 }
1525 CALL_abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_icode_dump___ICodeN___dump_1));
1526 }
1527 stack_frame_head = fra.me.prev;
1528 return;
1529 }
1530 void OC_icode_dump___ICodeN___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1531 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1532 val_t REGB0;
1533 val_t REGB1;
1534 fun_t CREG[1];
1535 val_t tmp;
1536 static val_t once_value_2; /* Once value */
1537 static val_t once_value_3; /* Once value */
1538 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1539 fra.me.file = LOCATE_icode_dump;
1540 fra.me.line = 0;
1541 fra.me.meth = LOCATE_icode_dump___ICodeN___dump;
1542 fra.me.has_broke = 0;
1543 fra.me.REG_size = 2;
1544 fra.me.REG[0] = NIT_NULL;
1545 fra.me.REG[1] = NIT_NULL;
1546 fra.me.closure_ctx = closctx_param;
1547 fra.me.closure_funs = CREG;
1548 fra.me.REG[0] = p0;
1549 CREG[0] = clos_fun0;
1550 /* ./analysis//icode_dump.nit:219 */
1551 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1552 if (UNTAG_Bool(REGB0)) {
1553 } else {
1554 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1555 if (UNTAG_Bool(REGB1)) {
1556 REGB1 = TAG_Bool(false);
1557 REGB0 = REGB1;
1558 } else {
1559 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
1560 REGB0 = REGB1;
1561 }
1562 }
1563 if (UNTAG_Bool(REGB0)) {
1564 /* ./analysis//icode_dump.nit:220 */
1565 if (!once_value_2) {
1566 fra.me.REG[1] = BOX_NativeString("CLOSURE = NULL");
1567 REGB0 = TAG_Int(14);
1568 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1569 once_value_2 = fra.me.REG[1];
1570 register_static_object(&once_value_2);
1571 } else fra.me.REG[1] = once_value_2;
1572 fra.me.REG[1] = fra.me.REG[1];
1573 CALL_icode_dump___ICodeDumper___write(closctx->REG[3])(closctx->REG[3], fra.me.REG[1]);
1574 } else {
1575 /* ./analysis//icode_dump.nit:222 */
1576 if (!once_value_3) {
1577 fra.me.REG[1] = BOX_NativeString("CLOSURE");
1578 REGB0 = TAG_Int(7);
1579 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB0);
1580 once_value_3 = fra.me.REG[1];
1581 register_static_object(&once_value_3);
1582 } else fra.me.REG[1] = once_value_3;
1583 fra.me.REG[1] = fra.me.REG[1];
1584 CALL_icode_dump___ICodeDumper___write(closctx->REG[3])(closctx->REG[3], fra.me.REG[1]);
1585 /* ./analysis//icode_dump.nit:223 */
1586 CALL_icode_dump___ICodeDumper___indent(closctx->REG[3])(closctx->REG[3]);
1587 /* ./analysis//icode_dump.nit:224 */
1588 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1589 if (UNTAG_Bool(REGB0)) {
1590 nit_abort("Reciever is null", NULL, LOCATE_icode_dump, 224);
1591 }
1592 CALL_icode_dump___IRoutine___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[3]);
1593 /* ./analysis//icode_dump.nit:225 */
1594 CALL_icode_dump___ICodeDumper___unindent(closctx->REG[3])(closctx->REG[3]);
1595 }
1596 stack_frame_head = fra.me.prev;
1597 return;
1598 }
1599 void icode_dump___ISeq___dump(val_t p0, val_t p1){
1600 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1601 val_t REGB0;
1602 val_t REGB1;
1603 val_t tmp;
1604 static val_t once_value_2; /* Once value */
1605 static val_t once_value_3; /* Once value */
1606 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1607 fra.me.file = LOCATE_icode_dump;
1608 fra.me.line = 233;
1609 fra.me.meth = LOCATE_icode_dump___ISeq___dump;
1610 fra.me.has_broke = 0;
1611 fra.me.REG_size = 4;
1612 fra.me.REG[0] = NIT_NULL;
1613 fra.me.REG[1] = NIT_NULL;
1614 fra.me.REG[2] = NIT_NULL;
1615 fra.me.REG[3] = NIT_NULL;
1616 fra.me.REG[0] = p0;
1617 fra.me.REG[1] = p1;
1618 /* ./analysis//icode_dump.nit:235 */
1619 fra.me.REG[2] = CALL_icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
1620 CALL_abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_icode_dump___ISeq___dump_1));
1621 /* ./analysis//icode_dump.nit:238 */
1622 fra.me.REG[0] = CALL_icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
1623 /* ./analysis//icode_dump.nit:239 */
1624 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1625 if (UNTAG_Bool(REGB0)) {
1626 } else {
1627 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1628 if (UNTAG_Bool(REGB1)) {
1629 REGB1 = TAG_Bool(false);
1630 REGB0 = REGB1;
1631 } else {
1632 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
1633 REGB0 = REGB1;
1634 }
1635 }
1636 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1637 if (UNTAG_Bool(REGB0)) {
1638 REGB0 = CALL_icode_dump___ICodeDumper___has_lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1639 } else {
1640 REGB1 = TAG_Bool(false);
1641 REGB0 = REGB1;
1642 }
1643 if (UNTAG_Bool(REGB0)) {
1644 REGB0 = TAG_Int(3);
1645 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1646 if (!once_value_2) {
1647 fra.me.REG[3] = BOX_NativeString("");
1648 REGB0 = TAG_Int(0);
1649 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1650 once_value_2 = fra.me.REG[3];
1651 register_static_object(&once_value_2);
1652 } else fra.me.REG[3] = once_value_2;
1653 fra.me.REG[3] = fra.me.REG[3];
1654 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1655 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1656 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1657 if (!once_value_3) {
1658 fra.me.REG[0] = BOX_NativeString(":");
1659 REGB0 = TAG_Int(1);
1660 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1661 once_value_3 = fra.me.REG[0];
1662 register_static_object(&once_value_3);
1663 } else fra.me.REG[0] = once_value_3;
1664 fra.me.REG[0] = fra.me.REG[0];
1665 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1666 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1667 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1668 }
1669 stack_frame_head = fra.me.prev;
1670 return;
1671 }
1672 void OC_icode_dump___ISeq___dump_1(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1673 struct {struct stack_frame_t me;} fra;
1674 fun_t CREG[1];
1675 val_t tmp;
1676 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1677 fra.me.file = LOCATE_icode_dump;
1678 fra.me.line = 0;
1679 fra.me.meth = LOCATE_icode_dump___ISeq___dump;
1680 fra.me.has_broke = 0;
1681 fra.me.REG_size = 1;
1682 fra.me.REG[0] = NIT_NULL;
1683 fra.me.closure_ctx = closctx_param;
1684 fra.me.closure_funs = CREG;
1685 fra.me.REG[0] = p0;
1686 CREG[0] = clos_fun0;
1687 /* ./analysis//icode_dump.nit:236 */
1688 CALL_icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
1689 stack_frame_head = fra.me.prev;
1690 return;
1691 }
1692 void icode_dump___IIf___dump(val_t p0, val_t p1){
1693 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1694 val_t REGB0;
1695 val_t tmp;
1696 static val_t once_value_1; /* Once value */
1697 static val_t once_value_2; /* Once value */
1698 static val_t once_value_3; /* Once value */
1699 static val_t once_value_4; /* Once value */
1700 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1701 fra.me.file = LOCATE_icode_dump;
1702 fra.me.line = 244;
1703 fra.me.meth = LOCATE_icode_dump___IIf___dump;
1704 fra.me.has_broke = 0;
1705 fra.me.REG_size = 4;
1706 fra.me.REG[0] = NIT_NULL;
1707 fra.me.REG[1] = NIT_NULL;
1708 fra.me.REG[2] = NIT_NULL;
1709 fra.me.REG[3] = NIT_NULL;
1710 fra.me.REG[0] = p0;
1711 fra.me.REG[1] = p1;
1712 /* ./analysis//icode_dump.nit:246 */
1713 REGB0 = TAG_Int(3);
1714 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1715 if (!once_value_1) {
1716 fra.me.REG[3] = BOX_NativeString("IF(");
1717 REGB0 = TAG_Int(3);
1718 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1719 once_value_1 = fra.me.REG[3];
1720 register_static_object(&once_value_1);
1721 } else fra.me.REG[3] = once_value_1;
1722 fra.me.REG[3] = fra.me.REG[3];
1723 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1724 fra.me.REG[3] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
1725 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
1726 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1727 if (!once_value_2) {
1728 fra.me.REG[3] = BOX_NativeString(") {");
1729 REGB0 = TAG_Int(3);
1730 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1731 once_value_2 = fra.me.REG[3];
1732 register_static_object(&once_value_2);
1733 } else fra.me.REG[3] = once_value_2;
1734 fra.me.REG[3] = fra.me.REG[3];
1735 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1736 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1737 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1738 /* ./analysis//icode_dump.nit:247 */
1739 CALL_icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
1740 /* ./analysis//icode_dump.nit:248 */
1741 fra.me.REG[2] = CALL_icode_base___IIf___then_seq(fra.me.REG[0])(fra.me.REG[0]);
1742 CALL_icode_dump___ICode___dump(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1743 /* ./analysis//icode_dump.nit:249 */
1744 CALL_icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
1745 /* ./analysis//icode_dump.nit:250 */
1746 if (!once_value_3) {
1747 fra.me.REG[2] = BOX_NativeString("} ELSE {");
1748 REGB0 = TAG_Int(8);
1749 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1750 once_value_3 = fra.me.REG[2];
1751 register_static_object(&once_value_3);
1752 } else fra.me.REG[2] = once_value_3;
1753 fra.me.REG[2] = fra.me.REG[2];
1754 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1755 /* ./analysis//icode_dump.nit:251 */
1756 CALL_icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
1757 /* ./analysis//icode_dump.nit:252 */
1758 fra.me.REG[0] = CALL_icode_base___IIf___else_seq(fra.me.REG[0])(fra.me.REG[0]);
1759 CALL_icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1760 /* ./analysis//icode_dump.nit:253 */
1761 CALL_icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
1762 /* ./analysis//icode_dump.nit:254 */
1763 if (!once_value_4) {
1764 fra.me.REG[0] = BOX_NativeString("}");
1765 REGB0 = TAG_Int(1);
1766 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1767 once_value_4 = fra.me.REG[0];
1768 register_static_object(&once_value_4);
1769 } else fra.me.REG[0] = once_value_4;
1770 fra.me.REG[0] = fra.me.REG[0];
1771 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1772 stack_frame_head = fra.me.prev;
1773 return;
1774 }
1775 void icode_dump___ILoop___dump(val_t p0, val_t p1){
1776 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1777 val_t REGB0;
1778 val_t REGB1;
1779 val_t tmp;
1780 static val_t once_value_1; /* Once value */
1781 static val_t once_value_3; /* Once value */
1782 static val_t once_value_4; /* Once value */
1783 static val_t once_value_5; /* Once value */
1784 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1785 fra.me.file = LOCATE_icode_dump;
1786 fra.me.line = 259;
1787 fra.me.meth = LOCATE_icode_dump___ILoop___dump;
1788 fra.me.has_broke = 0;
1789 fra.me.REG_size = 4;
1790 fra.me.REG[0] = NIT_NULL;
1791 fra.me.REG[1] = NIT_NULL;
1792 fra.me.REG[2] = NIT_NULL;
1793 fra.me.REG[3] = NIT_NULL;
1794 fra.me.REG[0] = p0;
1795 fra.me.REG[1] = p1;
1796 /* ./analysis//icode_dump.nit:261 */
1797 if (!once_value_1) {
1798 fra.me.REG[2] = BOX_NativeString("LOOP {");
1799 REGB0 = TAG_Int(6);
1800 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1801 once_value_1 = fra.me.REG[2];
1802 register_static_object(&once_value_1);
1803 } else fra.me.REG[2] = once_value_1;
1804 fra.me.REG[2] = fra.me.REG[2];
1805 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1806 /* ./analysis//icode_dump.nit:262 */
1807 CALL_icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
1808 /* ./analysis//icode_dump.nit:263 */
1809 fra.me.REG[2] = CALL_icode_base___ISeq___icodes(fra.me.REG[0])(fra.me.REG[0]);
1810 CALL_abstract_collection___Collection___iterate(fra.me.REG[2])(fra.me.REG[2], (&(fra.me)), ((fun_t)OC_icode_dump___ILoop___dump_2));
1811 /* ./analysis//icode_dump.nit:266 */
1812 CALL_icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
1813 /* ./analysis//icode_dump.nit:267 */
1814 if (!once_value_3) {
1815 fra.me.REG[2] = BOX_NativeString("}");
1816 REGB0 = TAG_Int(1);
1817 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1818 once_value_3 = fra.me.REG[2];
1819 register_static_object(&once_value_3);
1820 } else fra.me.REG[2] = once_value_3;
1821 fra.me.REG[2] = fra.me.REG[2];
1822 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1823 /* ./analysis//icode_dump.nit:268 */
1824 fra.me.REG[0] = CALL_icode_base___ISeq___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
1825 /* ./analysis//icode_dump.nit:269 */
1826 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1827 if (UNTAG_Bool(REGB0)) {
1828 } else {
1829 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
1830 if (UNTAG_Bool(REGB1)) {
1831 REGB1 = TAG_Bool(false);
1832 REGB0 = REGB1;
1833 } else {
1834 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
1835 REGB0 = REGB1;
1836 }
1837 }
1838 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
1839 if (UNTAG_Bool(REGB0)) {
1840 REGB0 = CALL_icode_dump___ICodeDumper___has_lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1841 } else {
1842 REGB1 = TAG_Bool(false);
1843 REGB0 = REGB1;
1844 }
1845 if (UNTAG_Bool(REGB0)) {
1846 REGB0 = TAG_Int(3);
1847 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1848 if (!once_value_4) {
1849 fra.me.REG[3] = BOX_NativeString("");
1850 REGB0 = TAG_Int(0);
1851 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1852 once_value_4 = fra.me.REG[3];
1853 register_static_object(&once_value_4);
1854 } else fra.me.REG[3] = once_value_4;
1855 fra.me.REG[3] = fra.me.REG[3];
1856 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1857 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1858 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1859 if (!once_value_5) {
1860 fra.me.REG[0] = BOX_NativeString(":");
1861 REGB0 = TAG_Int(1);
1862 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1863 once_value_5 = fra.me.REG[0];
1864 register_static_object(&once_value_5);
1865 } else fra.me.REG[0] = once_value_5;
1866 fra.me.REG[0] = fra.me.REG[0];
1867 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1868 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1869 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1870 }
1871 stack_frame_head = fra.me.prev;
1872 return;
1873 }
1874 void OC_icode_dump___ILoop___dump_2(struct stack_frame_t *closctx, val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
1875 struct {struct stack_frame_t me;} fra;
1876 fun_t CREG[1];
1877 val_t tmp;
1878 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1879 fra.me.file = LOCATE_icode_dump;
1880 fra.me.line = 0;
1881 fra.me.meth = LOCATE_icode_dump___ILoop___dump;
1882 fra.me.has_broke = 0;
1883 fra.me.REG_size = 1;
1884 fra.me.REG[0] = NIT_NULL;
1885 fra.me.closure_ctx = closctx_param;
1886 fra.me.closure_funs = CREG;
1887 fra.me.REG[0] = p0;
1888 CREG[0] = clos_fun0;
1889 /* ./analysis//icode_dump.nit:264 */
1890 CALL_icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], closctx->REG[1]);
1891 stack_frame_head = fra.me.prev;
1892 return;
1893 }
1894 val_t icode_dump___IEscape___dump_intern(val_t p0, val_t p1){
1895 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1896 val_t REGB0;
1897 val_t tmp;
1898 static val_t once_value_1; /* Once value */
1899 static val_t once_value_2; /* Once value */
1900 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1901 fra.me.file = LOCATE_icode_dump;
1902 fra.me.line = 274;
1903 fra.me.meth = LOCATE_icode_dump___IEscape___dump_intern;
1904 fra.me.has_broke = 0;
1905 fra.me.REG_size = 4;
1906 fra.me.REG[0] = NIT_NULL;
1907 fra.me.REG[1] = NIT_NULL;
1908 fra.me.REG[2] = NIT_NULL;
1909 fra.me.REG[3] = NIT_NULL;
1910 fra.me.REG[0] = p0;
1911 fra.me.REG[1] = p1;
1912 /* ./analysis//icode_dump.nit:276 */
1913 REGB0 = TAG_Int(3);
1914 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
1915 if (!once_value_1) {
1916 fra.me.REG[3] = BOX_NativeString("ESCAPE ");
1917 REGB0 = TAG_Int(7);
1918 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
1919 once_value_1 = fra.me.REG[3];
1920 register_static_object(&once_value_1);
1921 } else fra.me.REG[3] = once_value_1;
1922 fra.me.REG[3] = fra.me.REG[3];
1923 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1924 fra.me.REG[0] = CALL_icode_base___IEscape___iescape_mark(fra.me.REG[0])(fra.me.REG[0]);
1925 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___lab(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
1926 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1927 if (!once_value_2) {
1928 fra.me.REG[0] = BOX_NativeString("");
1929 REGB0 = TAG_Int(0);
1930 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
1931 once_value_2 = fra.me.REG[0];
1932 register_static_object(&once_value_2);
1933 } else fra.me.REG[0] = once_value_2;
1934 fra.me.REG[0] = fra.me.REG[0];
1935 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
1936 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
1937 goto label3;
1938 label3: while(0);
1939 stack_frame_head = fra.me.prev;
1940 return fra.me.REG[2];
1941 }
1942 val_t icode_dump___IAbort___dump_intern(val_t p0, val_t p1){
1943 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1944 val_t REGB0;
1945 val_t tmp;
1946 static val_t once_value_1; /* Once value */
1947 static val_t once_value_2; /* Once value */
1948 static val_t once_value_3; /* Once value */
1949 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1950 fra.me.file = LOCATE_icode_dump;
1951 fra.me.line = 281;
1952 fra.me.meth = LOCATE_icode_dump___IAbort___dump_intern;
1953 fra.me.has_broke = 0;
1954 fra.me.REG_size = 3;
1955 fra.me.REG[0] = NIT_NULL;
1956 fra.me.REG[1] = NIT_NULL;
1957 fra.me.REG[2] = NIT_NULL;
1958 fra.me.REG[0] = p0;
1959 fra.me.REG[1] = p1;
1960 /* ./analysis//icode_dump.nit:283 */
1961 REGB0 = TAG_Int(3);
1962 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
1963 if (!once_value_1) {
1964 fra.me.REG[2] = BOX_NativeString("ABORT (\"");
1965 REGB0 = TAG_Int(8);
1966 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1967 once_value_1 = fra.me.REG[2];
1968 register_static_object(&once_value_1);
1969 } else fra.me.REG[2] = once_value_1;
1970 fra.me.REG[2] = fra.me.REG[2];
1971 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1972 fra.me.REG[0] = CALL_icode_base___IAbort___texts(fra.me.REG[0])(fra.me.REG[0]);
1973 if (!once_value_2) {
1974 fra.me.REG[2] = BOX_NativeString("\", \"");
1975 REGB0 = TAG_Int(4);
1976 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1977 once_value_2 = fra.me.REG[2];
1978 register_static_object(&once_value_2);
1979 } else fra.me.REG[2] = once_value_2;
1980 fra.me.REG[2] = fra.me.REG[2];
1981 fra.me.REG[2] = CALL_string___Collection___join(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
1982 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1983 if (!once_value_3) {
1984 fra.me.REG[2] = BOX_NativeString("\")");
1985 REGB0 = TAG_Int(2);
1986 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1987 once_value_3 = fra.me.REG[2];
1988 register_static_object(&once_value_3);
1989 } else fra.me.REG[2] = once_value_3;
1990 fra.me.REG[2] = fra.me.REG[2];
1991 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1992 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1993 goto label4;
1994 label4: while(0);
1995 stack_frame_head = fra.me.prev;
1996 return fra.me.REG[1];
1997 }
1998 val_t icode_dump___ICall___dump_intern(val_t p0, val_t p1){
1999 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2000 val_t REGB0;
2001 val_t tmp;
2002 static val_t once_value_1; /* Once value */
2003 static val_t once_value_2; /* Once value */
2004 static val_t once_value_3; /* Once value */
2005 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2006 fra.me.file = LOCATE_icode_dump;
2007 fra.me.line = 288;
2008 fra.me.meth = LOCATE_icode_dump___ICall___dump_intern;
2009 fra.me.has_broke = 0;
2010 fra.me.REG_size = 4;
2011 fra.me.REG[0] = NIT_NULL;
2012 fra.me.REG[1] = NIT_NULL;
2013 fra.me.REG[2] = NIT_NULL;
2014 fra.me.REG[3] = NIT_NULL;
2015 fra.me.REG[0] = p0;
2016 fra.me.REG[1] = p1;
2017 /* ./analysis//icode_dump.nit:290 */
2018 REGB0 = TAG_Int(5);
2019 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2020 if (!once_value_1) {
2021 fra.me.REG[3] = BOX_NativeString("CALL ");
2022 REGB0 = TAG_Int(5);
2023 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2024 once_value_1 = fra.me.REG[3];
2025 register_static_object(&once_value_1);
2026 } else fra.me.REG[3] = once_value_1;
2027 fra.me.REG[3] = fra.me.REG[3];
2028 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2029 fra.me.REG[3] = CALL_icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
2030 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2031 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2032 if (!once_value_2) {
2033 fra.me.REG[3] = BOX_NativeString("(");
2034 REGB0 = TAG_Int(1);
2035 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2036 once_value_2 = fra.me.REG[3];
2037 register_static_object(&once_value_2);
2038 } else fra.me.REG[3] = once_value_2;
2039 fra.me.REG[3] = fra.me.REG[3];
2040 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2041 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2042 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2043 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2044 if (!once_value_3) {
2045 fra.me.REG[0] = BOX_NativeString(")");
2046 REGB0 = TAG_Int(1);
2047 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2048 once_value_3 = fra.me.REG[0];
2049 register_static_object(&once_value_3);
2050 } else fra.me.REG[0] = once_value_3;
2051 fra.me.REG[0] = fra.me.REG[0];
2052 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2053 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2054 goto label4;
2055 label4: while(0);
2056 stack_frame_head = fra.me.prev;
2057 return fra.me.REG[2];
2058 }
2059 val_t icode_dump___INew___dump_intern(val_t p0, val_t p1){
2060 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2061 val_t REGB0;
2062 val_t tmp;
2063 static val_t once_value_1; /* Once value */
2064 static val_t once_value_2; /* Once value */
2065 static val_t once_value_3; /* Once value */
2066 static val_t once_value_4; /* Once value */
2067 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2068 fra.me.file = LOCATE_icode_dump;
2069 fra.me.line = 295;
2070 fra.me.meth = LOCATE_icode_dump___INew___dump_intern;
2071 fra.me.has_broke = 0;
2072 fra.me.REG_size = 4;
2073 fra.me.REG[0] = NIT_NULL;
2074 fra.me.REG[1] = NIT_NULL;
2075 fra.me.REG[2] = NIT_NULL;
2076 fra.me.REG[3] = NIT_NULL;
2077 fra.me.REG[0] = p0;
2078 fra.me.REG[1] = p1;
2079 /* ./analysis//icode_dump.nit:297 */
2080 REGB0 = TAG_Int(7);
2081 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2082 if (!once_value_1) {
2083 fra.me.REG[3] = BOX_NativeString("NEW ");
2084 REGB0 = TAG_Int(4);
2085 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2086 once_value_1 = fra.me.REG[3];
2087 register_static_object(&once_value_1);
2088 } else fra.me.REG[3] = once_value_1;
2089 fra.me.REG[3] = fra.me.REG[3];
2090 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2091 fra.me.REG[3] = CALL_icode_base___INew___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 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(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 fra.me.REG[3] = fra.me.REG[3];
2102 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2103 fra.me.REG[3] = CALL_icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
2104 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2105 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2106 if (!once_value_3) {
2107 fra.me.REG[3] = BOX_NativeString("(");
2108 REGB0 = TAG_Int(1);
2109 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2110 once_value_3 = fra.me.REG[3];
2111 register_static_object(&once_value_3);
2112 } else fra.me.REG[3] = once_value_3;
2113 fra.me.REG[3] = fra.me.REG[3];
2114 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2115 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2116 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2117 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2118 if (!once_value_4) {
2119 fra.me.REG[0] = BOX_NativeString(")");
2120 REGB0 = TAG_Int(1);
2121 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2122 once_value_4 = fra.me.REG[0];
2123 register_static_object(&once_value_4);
2124 } else fra.me.REG[0] = once_value_4;
2125 fra.me.REG[0] = fra.me.REG[0];
2126 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2127 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2128 goto label5;
2129 label5: while(0);
2130 stack_frame_head = fra.me.prev;
2131 return fra.me.REG[2];
2132 }
2133 val_t icode_dump___ISuper___dump_intern(val_t p0, val_t p1){
2134 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2135 val_t REGB0;
2136 val_t tmp;
2137 static val_t once_value_1; /* Once value */
2138 static val_t once_value_2; /* Once value */
2139 static val_t once_value_3; /* Once value */
2140 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2141 fra.me.file = LOCATE_icode_dump;
2142 fra.me.line = 302;
2143 fra.me.meth = LOCATE_icode_dump___ISuper___dump_intern;
2144 fra.me.has_broke = 0;
2145 fra.me.REG_size = 4;
2146 fra.me.REG[0] = NIT_NULL;
2147 fra.me.REG[1] = NIT_NULL;
2148 fra.me.REG[2] = NIT_NULL;
2149 fra.me.REG[3] = NIT_NULL;
2150 fra.me.REG[0] = p0;
2151 fra.me.REG[1] = p1;
2152 /* ./analysis//icode_dump.nit:304 */
2153 REGB0 = TAG_Int(5);
2154 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2155 if (!once_value_1) {
2156 fra.me.REG[3] = BOX_NativeString("SUPER ");
2157 REGB0 = TAG_Int(6);
2158 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2159 once_value_1 = fra.me.REG[3];
2160 register_static_object(&once_value_1);
2161 } else fra.me.REG[3] = once_value_1;
2162 fra.me.REG[3] = fra.me.REG[3];
2163 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2164 fra.me.REG[3] = CALL_icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
2165 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2166 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2167 if (!once_value_2) {
2168 fra.me.REG[3] = BOX_NativeString("(");
2169 REGB0 = TAG_Int(1);
2170 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2171 once_value_2 = fra.me.REG[3];
2172 register_static_object(&once_value_2);
2173 } else fra.me.REG[3] = once_value_2;
2174 fra.me.REG[3] = fra.me.REG[3];
2175 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2176 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2177 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2178 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2179 if (!once_value_3) {
2180 fra.me.REG[0] = BOX_NativeString(")");
2181 REGB0 = TAG_Int(1);
2182 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2183 once_value_3 = fra.me.REG[0];
2184 register_static_object(&once_value_3);
2185 } else fra.me.REG[0] = once_value_3;
2186 fra.me.REG[0] = fra.me.REG[0];
2187 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2188 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2189 goto label4;
2190 label4: while(0);
2191 stack_frame_head = fra.me.prev;
2192 return fra.me.REG[2];
2193 }
2194 val_t icode_dump___IStaticCall___dump_intern(val_t p0, val_t p1){
2195 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2196 val_t REGB0;
2197 val_t tmp;
2198 static val_t once_value_1; /* Once value */
2199 static val_t once_value_2; /* Once value */
2200 static val_t once_value_3; /* Once value */
2201 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2202 fra.me.file = LOCATE_icode_dump;
2203 fra.me.line = 309;
2204 fra.me.meth = LOCATE_icode_dump___IStaticCall___dump_intern;
2205 fra.me.has_broke = 0;
2206 fra.me.REG_size = 4;
2207 fra.me.REG[0] = NIT_NULL;
2208 fra.me.REG[1] = NIT_NULL;
2209 fra.me.REG[2] = NIT_NULL;
2210 fra.me.REG[3] = NIT_NULL;
2211 fra.me.REG[0] = p0;
2212 fra.me.REG[1] = p1;
2213 /* ./analysis//icode_dump.nit:311 */
2214 REGB0 = TAG_Int(5);
2215 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2216 if (!once_value_1) {
2217 fra.me.REG[3] = BOX_NativeString("STATIC_CALL ");
2218 REGB0 = TAG_Int(12);
2219 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2220 once_value_1 = fra.me.REG[3];
2221 register_static_object(&once_value_1);
2222 } else fra.me.REG[3] = once_value_1;
2223 fra.me.REG[3] = fra.me.REG[3];
2224 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2225 fra.me.REG[3] = CALL_icode_base___IAbsCall___property(fra.me.REG[0])(fra.me.REG[0]);
2226 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2227 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2228 if (!once_value_2) {
2229 fra.me.REG[3] = BOX_NativeString("(");
2230 REGB0 = TAG_Int(1);
2231 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2232 once_value_2 = fra.me.REG[3];
2233 register_static_object(&once_value_2);
2234 } else fra.me.REG[3] = once_value_2;
2235 fra.me.REG[3] = fra.me.REG[3];
2236 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2237 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2238 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2239 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2240 if (!once_value_3) {
2241 fra.me.REG[0] = BOX_NativeString(")");
2242 REGB0 = TAG_Int(1);
2243 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2244 once_value_3 = fra.me.REG[0];
2245 register_static_object(&once_value_3);
2246 } else fra.me.REG[0] = once_value_3;
2247 fra.me.REG[0] = fra.me.REG[0];
2248 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2249 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2250 goto label4;
2251 label4: while(0);
2252 stack_frame_head = fra.me.prev;
2253 return fra.me.REG[2];
2254 }
2255 val_t icode_dump___IAllocateInstance___dump_intern(val_t p0, val_t p1){
2256 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2257 val_t REGB0;
2258 val_t tmp;
2259 static val_t once_value_1; /* Once value */
2260 static val_t once_value_2; /* Once value */
2261 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2262 fra.me.file = LOCATE_icode_dump;
2263 fra.me.line = 316;
2264 fra.me.meth = LOCATE_icode_dump___IAllocateInstance___dump_intern;
2265 fra.me.has_broke = 0;
2266 fra.me.REG_size = 3;
2267 fra.me.REG[0] = NIT_NULL;
2268 fra.me.REG[1] = NIT_NULL;
2269 fra.me.REG[2] = NIT_NULL;
2270 fra.me.REG[0] = p0;
2271 fra.me.REG[1] = p1;
2272 /* ./analysis//icode_dump.nit:318 */
2273 REGB0 = TAG_Int(3);
2274 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2275 if (!once_value_1) {
2276 fra.me.REG[2] = BOX_NativeString("ALLOCATE NEW_");
2277 REGB0 = TAG_Int(13);
2278 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2279 once_value_1 = fra.me.REG[2];
2280 register_static_object(&once_value_1);
2281 } else fra.me.REG[2] = once_value_1;
2282 fra.me.REG[2] = fra.me.REG[2];
2283 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2284 fra.me.REG[0] = CALL_icode_base___IAllocateInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
2285 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2286 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2287 if (!once_value_2) {
2288 fra.me.REG[0] = BOX_NativeString("");
2289 REGB0 = TAG_Int(0);
2290 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2291 once_value_2 = fra.me.REG[0];
2292 register_static_object(&once_value_2);
2293 } else fra.me.REG[0] = once_value_2;
2294 fra.me.REG[0] = fra.me.REG[0];
2295 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2296 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2297 goto label3;
2298 label3: while(0);
2299 stack_frame_head = fra.me.prev;
2300 return fra.me.REG[1];
2301 }
2302 val_t icode_dump___ICheckInstance___dump_intern(val_t p0, val_t p1){
2303 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2304 val_t REGB0;
2305 val_t tmp;
2306 static val_t once_value_1; /* Once value */
2307 static val_t once_value_2; /* Once value */
2308 static val_t once_value_3; /* Once value */
2309 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2310 fra.me.file = LOCATE_icode_dump;
2311 fra.me.line = 323;
2312 fra.me.meth = LOCATE_icode_dump___ICheckInstance___dump_intern;
2313 fra.me.has_broke = 0;
2314 fra.me.REG_size = 4;
2315 fra.me.REG[0] = NIT_NULL;
2316 fra.me.REG[1] = NIT_NULL;
2317 fra.me.REG[2] = NIT_NULL;
2318 fra.me.REG[3] = NIT_NULL;
2319 fra.me.REG[0] = p0;
2320 fra.me.REG[1] = p1;
2321 /* ./analysis//icode_dump.nit:325 */
2322 REGB0 = TAG_Int(5);
2323 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2324 if (!once_value_1) {
2325 fra.me.REG[3] = BOX_NativeString("CHECK_INSTANCE CHECKNEW_");
2326 REGB0 = TAG_Int(24);
2327 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2328 once_value_1 = fra.me.REG[3];
2329 register_static_object(&once_value_1);
2330 } else fra.me.REG[3] = once_value_1;
2331 fra.me.REG[3] = fra.me.REG[3];
2332 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2333 fra.me.REG[3] = CALL_icode_base___ICheckInstance___stype(fra.me.REG[0])(fra.me.REG[0]);
2334 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
2335 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2336 if (!once_value_2) {
2337 fra.me.REG[3] = BOX_NativeString("(");
2338 REGB0 = TAG_Int(1);
2339 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2340 once_value_2 = fra.me.REG[3];
2341 register_static_object(&once_value_2);
2342 } else fra.me.REG[3] = once_value_2;
2343 fra.me.REG[3] = fra.me.REG[3];
2344 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2345 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
2346 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2347 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2348 if (!once_value_3) {
2349 fra.me.REG[0] = BOX_NativeString(")");
2350 REGB0 = TAG_Int(1);
2351 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2352 once_value_3 = fra.me.REG[0];
2353 register_static_object(&once_value_3);
2354 } else fra.me.REG[0] = once_value_3;
2355 fra.me.REG[0] = fra.me.REG[0];
2356 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(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 label4;
2359 label4: while(0);
2360 stack_frame_head = fra.me.prev;
2361 return fra.me.REG[2];
2362 }
2363 val_t icode_dump___IInitAttributes___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 = 330;
2373 fra.me.meth = LOCATE_icode_dump___IInitAttributes___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 /* ./analysis//icode_dump.nit:332 */
2383 REGB0 = TAG_Int(5);
2384 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2385 if (!once_value_1) {
2386 fra.me.REG[3] = BOX_NativeString("INIT_ATTRIBUTES INIT_ATTRIBUTES_");
2387 REGB0 = TAG_Int(32);
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 fra.me.REG[3] = fra.me.REG[3];
2393 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2394 fra.me.REG[3] = CALL_icode_base___IInitAttributes___stype(fra.me.REG[0])(fra.me.REG[0]);
2395 fra.me.REG[3] = CALL_string___Object___to_s(fra.me.REG[3])(fra.me.REG[3]);
2396 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2397 if (!once_value_2) {
2398 fra.me.REG[3] = BOX_NativeString("(");
2399 REGB0 = TAG_Int(1);
2400 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2401 once_value_2 = fra.me.REG[3];
2402 register_static_object(&once_value_2);
2403 } else fra.me.REG[3] = once_value_2;
2404 fra.me.REG[3] = fra.me.REG[3];
2405 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2406 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
2407 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2408 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2409 if (!once_value_3) {
2410 fra.me.REG[0] = BOX_NativeString(")");
2411 REGB0 = TAG_Int(1);
2412 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2413 once_value_3 = fra.me.REG[0];
2414 register_static_object(&once_value_3);
2415 } else fra.me.REG[0] = once_value_3;
2416 fra.me.REG[0] = fra.me.REG[0];
2417 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2418 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2419 goto label4;
2420 label4: while(0);
2421 stack_frame_head = fra.me.prev;
2422 return fra.me.REG[2];
2423 }
2424 val_t icode_dump___IClosCall___dump_intern(val_t p0, val_t p1){
2425 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2426 val_t REGB0;
2427 val_t tmp;
2428 static val_t once_value_1; /* Once value */
2429 static val_t once_value_2; /* Once value */
2430 static val_t once_value_3; /* Once value */
2431 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2432 fra.me.file = LOCATE_icode_dump;
2433 fra.me.line = 337;
2434 fra.me.meth = LOCATE_icode_dump___IClosCall___dump_intern;
2435 fra.me.has_broke = 0;
2436 fra.me.REG_size = 4;
2437 fra.me.REG[0] = NIT_NULL;
2438 fra.me.REG[1] = NIT_NULL;
2439 fra.me.REG[2] = NIT_NULL;
2440 fra.me.REG[3] = NIT_NULL;
2441 fra.me.REG[0] = p0;
2442 fra.me.REG[1] = p1;
2443 /* ./analysis//icode_dump.nit:339 */
2444 REGB0 = TAG_Int(5);
2445 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2446 if (!once_value_1) {
2447 fra.me.REG[3] = BOX_NativeString("CLOS_CALL ");
2448 REGB0 = TAG_Int(10);
2449 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2450 once_value_1 = fra.me.REG[3];
2451 register_static_object(&once_value_1);
2452 } else fra.me.REG[3] = once_value_1;
2453 fra.me.REG[3] = fra.me.REG[3];
2454 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2455 fra.me.REG[3] = CALL_icode_base___IClosCall___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
2456 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
2457 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2458 if (!once_value_2) {
2459 fra.me.REG[3] = BOX_NativeString("(");
2460 REGB0 = TAG_Int(1);
2461 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2462 once_value_2 = fra.me.REG[3];
2463 register_static_object(&once_value_2);
2464 } else fra.me.REG[3] = once_value_2;
2465 fra.me.REG[3] = fra.me.REG[3];
2466 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2467 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2468 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2469 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2470 if (!once_value_3) {
2471 fra.me.REG[0] = BOX_NativeString(")");
2472 REGB0 = TAG_Int(1);
2473 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2474 once_value_3 = fra.me.REG[0];
2475 register_static_object(&once_value_3);
2476 } else fra.me.REG[0] = once_value_3;
2477 fra.me.REG[0] = fra.me.REG[0];
2478 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2479 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2480 goto label4;
2481 label4: while(0);
2482 stack_frame_head = fra.me.prev;
2483 return fra.me.REG[2];
2484 }
2485 val_t icode_dump___IAttrRead___dump_intern(val_t p0, val_t p1){
2486 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2487 val_t REGB0;
2488 val_t tmp;
2489 static val_t once_value_1; /* Once value */
2490 static val_t once_value_2; /* Once value */
2491 static val_t once_value_3; /* Once value */
2492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2493 fra.me.file = LOCATE_icode_dump;
2494 fra.me.line = 344;
2495 fra.me.meth = LOCATE_icode_dump___IAttrRead___dump_intern;
2496 fra.me.has_broke = 0;
2497 fra.me.REG_size = 4;
2498 fra.me.REG[0] = NIT_NULL;
2499 fra.me.REG[1] = NIT_NULL;
2500 fra.me.REG[2] = NIT_NULL;
2501 fra.me.REG[3] = NIT_NULL;
2502 fra.me.REG[0] = p0;
2503 fra.me.REG[1] = p1;
2504 /* ./analysis//icode_dump.nit:346 */
2505 REGB0 = TAG_Int(5);
2506 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2507 if (!once_value_1) {
2508 fra.me.REG[3] = BOX_NativeString("ATTR_READ ");
2509 REGB0 = TAG_Int(10);
2510 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2511 once_value_1 = fra.me.REG[3];
2512 register_static_object(&once_value_1);
2513 } else fra.me.REG[3] = once_value_1;
2514 fra.me.REG[3] = fra.me.REG[3];
2515 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2516 fra.me.REG[3] = CALL_icode_base___IAttrRead___property(fra.me.REG[0])(fra.me.REG[0]);
2517 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2518 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2519 if (!once_value_2) {
2520 fra.me.REG[3] = BOX_NativeString("(");
2521 REGB0 = TAG_Int(1);
2522 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2523 once_value_2 = fra.me.REG[3];
2524 register_static_object(&once_value_2);
2525 } else fra.me.REG[3] = once_value_2;
2526 fra.me.REG[3] = fra.me.REG[3];
2527 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2528 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
2529 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2530 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2531 if (!once_value_3) {
2532 fra.me.REG[0] = BOX_NativeString(")");
2533 REGB0 = TAG_Int(1);
2534 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2535 once_value_3 = fra.me.REG[0];
2536 register_static_object(&once_value_3);
2537 } else fra.me.REG[0] = once_value_3;
2538 fra.me.REG[0] = fra.me.REG[0];
2539 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2540 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2541 goto label4;
2542 label4: while(0);
2543 stack_frame_head = fra.me.prev;
2544 return fra.me.REG[2];
2545 }
2546 val_t icode_dump___IAttrWrite___dump_intern(val_t p0, val_t p1){
2547 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2548 val_t REGB0;
2549 val_t tmp;
2550 static val_t once_value_1; /* Once value */
2551 static val_t once_value_2; /* Once value */
2552 static val_t once_value_3; /* Once value */
2553 static val_t once_value_4; /* Once value */
2554 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2555 fra.me.file = LOCATE_icode_dump;
2556 fra.me.line = 351;
2557 fra.me.meth = LOCATE_icode_dump___IAttrWrite___dump_intern;
2558 fra.me.has_broke = 0;
2559 fra.me.REG_size = 4;
2560 fra.me.REG[0] = NIT_NULL;
2561 fra.me.REG[1] = NIT_NULL;
2562 fra.me.REG[2] = NIT_NULL;
2563 fra.me.REG[3] = NIT_NULL;
2564 fra.me.REG[0] = p0;
2565 fra.me.REG[1] = p1;
2566 /* ./analysis//icode_dump.nit:353 */
2567 REGB0 = TAG_Int(7);
2568 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2569 if (!once_value_1) {
2570 fra.me.REG[3] = BOX_NativeString("ATTR_WRITE ");
2571 REGB0 = TAG_Int(11);
2572 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2573 once_value_1 = fra.me.REG[3];
2574 register_static_object(&once_value_1);
2575 } else fra.me.REG[3] = once_value_1;
2576 fra.me.REG[3] = fra.me.REG[3];
2577 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2578 fra.me.REG[3] = CALL_icode_base___IAttrWrite___property(fra.me.REG[0])(fra.me.REG[0]);
2579 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2580 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2581 if (!once_value_2) {
2582 fra.me.REG[3] = BOX_NativeString("(");
2583 REGB0 = TAG_Int(1);
2584 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2585 once_value_2 = fra.me.REG[3];
2586 register_static_object(&once_value_2);
2587 } else fra.me.REG[3] = once_value_2;
2588 fra.me.REG[3] = fra.me.REG[3];
2589 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2590 fra.me.REG[3] = CALL_icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
2591 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
2592 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2593 if (!once_value_3) {
2594 fra.me.REG[3] = BOX_NativeString(") := ");
2595 REGB0 = TAG_Int(5);
2596 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2597 once_value_3 = fra.me.REG[3];
2598 register_static_object(&once_value_3);
2599 } else fra.me.REG[3] = once_value_3;
2600 fra.me.REG[3] = fra.me.REG[3];
2601 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2602 fra.me.REG[0] = CALL_icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
2603 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2604 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2605 if (!once_value_4) {
2606 fra.me.REG[0] = BOX_NativeString("");
2607 REGB0 = TAG_Int(0);
2608 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2609 once_value_4 = fra.me.REG[0];
2610 register_static_object(&once_value_4);
2611 } else fra.me.REG[0] = once_value_4;
2612 fra.me.REG[0] = fra.me.REG[0];
2613 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2614 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2615 goto label5;
2616 label5: while(0);
2617 stack_frame_head = fra.me.prev;
2618 return fra.me.REG[2];
2619 }
2620 val_t icode_dump___IAttrIsset___dump_intern(val_t p0, val_t p1){
2621 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2622 val_t REGB0;
2623 val_t tmp;
2624 static val_t once_value_1; /* Once value */
2625 static val_t once_value_2; /* Once value */
2626 static val_t once_value_3; /* Once value */
2627 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2628 fra.me.file = LOCATE_icode_dump;
2629 fra.me.line = 358;
2630 fra.me.meth = LOCATE_icode_dump___IAttrIsset___dump_intern;
2631 fra.me.has_broke = 0;
2632 fra.me.REG_size = 4;
2633 fra.me.REG[0] = NIT_NULL;
2634 fra.me.REG[1] = NIT_NULL;
2635 fra.me.REG[2] = NIT_NULL;
2636 fra.me.REG[3] = NIT_NULL;
2637 fra.me.REG[0] = p0;
2638 fra.me.REG[1] = p1;
2639 /* ./analysis//icode_dump.nit:360 */
2640 REGB0 = TAG_Int(5);
2641 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2642 if (!once_value_1) {
2643 fra.me.REG[3] = BOX_NativeString("ATTR_ISSET ");
2644 REGB0 = TAG_Int(11);
2645 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2646 once_value_1 = fra.me.REG[3];
2647 register_static_object(&once_value_1);
2648 } else fra.me.REG[3] = once_value_1;
2649 fra.me.REG[3] = fra.me.REG[3];
2650 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2651 fra.me.REG[3] = CALL_icode_base___IAttrIsset___property(fra.me.REG[0])(fra.me.REG[0]);
2652 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2653 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2654 if (!once_value_2) {
2655 fra.me.REG[3] = BOX_NativeString("(");
2656 REGB0 = TAG_Int(1);
2657 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2658 once_value_2 = fra.me.REG[3];
2659 register_static_object(&once_value_2);
2660 } else fra.me.REG[3] = once_value_2;
2661 fra.me.REG[3] = fra.me.REG[3];
2662 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2663 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
2664 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2665 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2666 if (!once_value_3) {
2667 fra.me.REG[0] = BOX_NativeString(")");
2668 REGB0 = TAG_Int(1);
2669 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2670 once_value_3 = fra.me.REG[0];
2671 register_static_object(&once_value_3);
2672 } else fra.me.REG[0] = once_value_3;
2673 fra.me.REG[0] = fra.me.REG[0];
2674 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2675 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2676 goto label4;
2677 label4: while(0);
2678 stack_frame_head = fra.me.prev;
2679 return fra.me.REG[2];
2680 }
2681 val_t icode_dump___ITypeCheck___dump_intern(val_t p0, val_t p1){
2682 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2683 val_t REGB0;
2684 val_t tmp;
2685 static val_t once_value_1; /* Once value */
2686 static val_t once_value_2; /* Once value */
2687 static val_t once_value_3; /* Once value */
2688 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2689 fra.me.file = LOCATE_icode_dump;
2690 fra.me.line = 365;
2691 fra.me.meth = LOCATE_icode_dump___ITypeCheck___dump_intern;
2692 fra.me.has_broke = 0;
2693 fra.me.REG_size = 4;
2694 fra.me.REG[0] = NIT_NULL;
2695 fra.me.REG[1] = NIT_NULL;
2696 fra.me.REG[2] = NIT_NULL;
2697 fra.me.REG[3] = NIT_NULL;
2698 fra.me.REG[0] = p0;
2699 fra.me.REG[1] = p1;
2700 /* ./analysis//icode_dump.nit:367 */
2701 REGB0 = TAG_Int(5);
2702 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2703 if (!once_value_1) {
2704 fra.me.REG[3] = BOX_NativeString("CHECKTYPE ");
2705 REGB0 = TAG_Int(10);
2706 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2707 once_value_1 = fra.me.REG[3];
2708 register_static_object(&once_value_1);
2709 } else fra.me.REG[3] = once_value_1;
2710 fra.me.REG[3] = fra.me.REG[3];
2711 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2712 fra.me.REG[3] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
2713 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
2714 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2715 if (!once_value_2) {
2716 fra.me.REG[3] = BOX_NativeString(" isa ");
2717 REGB0 = TAG_Int(5);
2718 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2719 once_value_2 = fra.me.REG[3];
2720 register_static_object(&once_value_2);
2721 } else fra.me.REG[3] = once_value_2;
2722 fra.me.REG[3] = fra.me.REG[3];
2723 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2724 fra.me.REG[0] = CALL_icode_base___ITypeCheck___stype(fra.me.REG[0])(fra.me.REG[0]);
2725 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
2726 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2727 if (!once_value_3) {
2728 fra.me.REG[0] = BOX_NativeString("");
2729 REGB0 = TAG_Int(0);
2730 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2731 once_value_3 = fra.me.REG[0];
2732 register_static_object(&once_value_3);
2733 } else fra.me.REG[0] = once_value_3;
2734 fra.me.REG[0] = fra.me.REG[0];
2735 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2736 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2737 goto label4;
2738 label4: while(0);
2739 stack_frame_head = fra.me.prev;
2740 return fra.me.REG[2];
2741 }
2742 val_t icode_dump___INative___dump_intern(val_t p0, val_t p1){
2743 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
2744 val_t REGB0;
2745 val_t tmp;
2746 static val_t once_value_1; /* Once value */
2747 static val_t once_value_2; /* Once value */
2748 static val_t once_value_3; /* Once value */
2749 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2750 fra.me.file = LOCATE_icode_dump;
2751 fra.me.line = 372;
2752 fra.me.meth = LOCATE_icode_dump___INative___dump_intern;
2753 fra.me.has_broke = 0;
2754 fra.me.REG_size = 4;
2755 fra.me.REG[0] = NIT_NULL;
2756 fra.me.REG[1] = NIT_NULL;
2757 fra.me.REG[2] = NIT_NULL;
2758 fra.me.REG[3] = NIT_NULL;
2759 fra.me.REG[0] = p0;
2760 fra.me.REG[1] = p1;
2761 /* ./analysis//icode_dump.nit:374 */
2762 REGB0 = TAG_Int(5);
2763 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
2764 if (!once_value_1) {
2765 fra.me.REG[3] = BOX_NativeString("NATIVE \"");
2766 REGB0 = TAG_Int(8);
2767 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2768 once_value_1 = fra.me.REG[3];
2769 register_static_object(&once_value_1);
2770 } else fra.me.REG[3] = once_value_1;
2771 fra.me.REG[3] = fra.me.REG[3];
2772 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2773 fra.me.REG[3] = CALL_icode_base___INative___method(fra.me.REG[0])(fra.me.REG[0]);
2774 fra.me.REG[3] = CALL_abstractmetamodel___MMLocalProperty___full_name(fra.me.REG[3])(fra.me.REG[3]);
2775 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2776 if (!once_value_2) {
2777 fra.me.REG[3] = BOX_NativeString("\"(");
2778 REGB0 = TAG_Int(2);
2779 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
2780 once_value_2 = fra.me.REG[3];
2781 register_static_object(&once_value_2);
2782 } else fra.me.REG[3] = once_value_2;
2783 fra.me.REG[3] = fra.me.REG[3];
2784 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
2785 fra.me.REG[0] = CALL_icode_base___ICodeN___exprs(fra.me.REG[0])(fra.me.REG[0]);
2786 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register_all(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2787 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2788 if (!once_value_3) {
2789 fra.me.REG[0] = BOX_NativeString(")");
2790 REGB0 = TAG_Int(1);
2791 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2792 once_value_3 = fra.me.REG[0];
2793 register_static_object(&once_value_3);
2794 } else fra.me.REG[0] = once_value_3;
2795 fra.me.REG[0] = fra.me.REG[0];
2796 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
2797 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
2798 goto label4;
2799 label4: while(0);
2800 stack_frame_head = fra.me.prev;
2801 return fra.me.REG[2];
2802 }
2803 val_t icode_dump___IIntValue___dump_intern(val_t p0, val_t p1){
2804 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2805 val_t REGB0;
2806 val_t tmp;
2807 static val_t once_value_1; /* Once value */
2808 static val_t once_value_2; /* Once value */
2809 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2810 fra.me.file = LOCATE_icode_dump;
2811 fra.me.line = 379;
2812 fra.me.meth = LOCATE_icode_dump___IIntValue___dump_intern;
2813 fra.me.has_broke = 0;
2814 fra.me.REG_size = 3;
2815 fra.me.REG[0] = NIT_NULL;
2816 fra.me.REG[1] = NIT_NULL;
2817 fra.me.REG[2] = NIT_NULL;
2818 fra.me.REG[0] = p0;
2819 fra.me.REG[1] = p1;
2820 /* ./analysis//icode_dump.nit:381 */
2821 REGB0 = TAG_Int(3);
2822 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2823 if (!once_value_1) {
2824 fra.me.REG[2] = BOX_NativeString("INTVALUE ");
2825 REGB0 = TAG_Int(9);
2826 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2827 once_value_1 = fra.me.REG[2];
2828 register_static_object(&once_value_1);
2829 } else fra.me.REG[2] = once_value_1;
2830 fra.me.REG[2] = fra.me.REG[2];
2831 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2832 fra.me.REG[0] = CALL_icode_base___IIntValue___value(fra.me.REG[0])(fra.me.REG[0]);
2833 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2834 if (!once_value_2) {
2835 fra.me.REG[0] = BOX_NativeString("");
2836 REGB0 = TAG_Int(0);
2837 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2838 once_value_2 = fra.me.REG[0];
2839 register_static_object(&once_value_2);
2840 } else fra.me.REG[0] = once_value_2;
2841 fra.me.REG[0] = fra.me.REG[0];
2842 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2843 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2844 goto label3;
2845 label3: while(0);
2846 stack_frame_head = fra.me.prev;
2847 return fra.me.REG[1];
2848 }
2849 val_t icode_dump___IBoolValue___dump_intern(val_t p0, val_t p1){
2850 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2851 val_t REGB0;
2852 val_t tmp;
2853 static val_t once_value_1; /* Once value */
2854 static val_t once_value_2; /* Once value */
2855 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2856 fra.me.file = LOCATE_icode_dump;
2857 fra.me.line = 386;
2858 fra.me.meth = LOCATE_icode_dump___IBoolValue___dump_intern;
2859 fra.me.has_broke = 0;
2860 fra.me.REG_size = 3;
2861 fra.me.REG[0] = NIT_NULL;
2862 fra.me.REG[1] = NIT_NULL;
2863 fra.me.REG[2] = NIT_NULL;
2864 fra.me.REG[0] = p0;
2865 fra.me.REG[1] = p1;
2866 /* ./analysis//icode_dump.nit:388 */
2867 REGB0 = TAG_Int(3);
2868 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2869 if (!once_value_1) {
2870 fra.me.REG[2] = BOX_NativeString("BOOLVALUE ");
2871 REGB0 = TAG_Int(10);
2872 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2873 once_value_1 = fra.me.REG[2];
2874 register_static_object(&once_value_1);
2875 } else fra.me.REG[2] = once_value_1;
2876 fra.me.REG[2] = fra.me.REG[2];
2877 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2878 REGB0 = CALL_icode_base___IBoolValue___value(fra.me.REG[0])(fra.me.REG[0]);
2879 fra.me.REG[0] = CALL_string___Object___to_s(REGB0)(REGB0);
2880 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2881 if (!once_value_2) {
2882 fra.me.REG[0] = BOX_NativeString("");
2883 REGB0 = TAG_Int(0);
2884 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2885 once_value_2 = fra.me.REG[0];
2886 register_static_object(&once_value_2);
2887 } else fra.me.REG[0] = once_value_2;
2888 fra.me.REG[0] = fra.me.REG[0];
2889 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2890 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2891 goto label3;
2892 label3: while(0);
2893 stack_frame_head = fra.me.prev;
2894 return fra.me.REG[1];
2895 }
2896 val_t icode_dump___IStringValue___dump_intern(val_t p0, val_t p1){
2897 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2898 val_t REGB0;
2899 val_t tmp;
2900 static val_t once_value_1; /* Once value */
2901 static val_t once_value_2; /* Once value */
2902 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2903 fra.me.file = LOCATE_icode_dump;
2904 fra.me.line = 393;
2905 fra.me.meth = LOCATE_icode_dump___IStringValue___dump_intern;
2906 fra.me.has_broke = 0;
2907 fra.me.REG_size = 3;
2908 fra.me.REG[0] = NIT_NULL;
2909 fra.me.REG[1] = NIT_NULL;
2910 fra.me.REG[2] = NIT_NULL;
2911 fra.me.REG[0] = p0;
2912 fra.me.REG[1] = p1;
2913 /* ./analysis//icode_dump.nit:395 */
2914 REGB0 = TAG_Int(3);
2915 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2916 if (!once_value_1) {
2917 fra.me.REG[2] = BOX_NativeString("STRINGVALUE ");
2918 REGB0 = TAG_Int(12);
2919 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2920 once_value_1 = fra.me.REG[2];
2921 register_static_object(&once_value_1);
2922 } else fra.me.REG[2] = once_value_1;
2923 fra.me.REG[2] = fra.me.REG[2];
2924 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2925 fra.me.REG[0] = CALL_icode_base___IStringValue___value(fra.me.REG[0])(fra.me.REG[0]);
2926 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2927 if (!once_value_2) {
2928 fra.me.REG[0] = BOX_NativeString("");
2929 REGB0 = TAG_Int(0);
2930 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2931 once_value_2 = fra.me.REG[0];
2932 register_static_object(&once_value_2);
2933 } else fra.me.REG[0] = once_value_2;
2934 fra.me.REG[0] = fra.me.REG[0];
2935 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2936 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2937 goto label3;
2938 label3: while(0);
2939 stack_frame_head = fra.me.prev;
2940 return fra.me.REG[1];
2941 }
2942 val_t icode_dump___ICharValue___dump_intern(val_t p0, val_t p1){
2943 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2944 val_t REGB0;
2945 val_t tmp;
2946 static val_t once_value_1; /* Once value */
2947 static val_t once_value_2; /* Once value */
2948 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2949 fra.me.file = LOCATE_icode_dump;
2950 fra.me.line = 400;
2951 fra.me.meth = LOCATE_icode_dump___ICharValue___dump_intern;
2952 fra.me.has_broke = 0;
2953 fra.me.REG_size = 3;
2954 fra.me.REG[0] = NIT_NULL;
2955 fra.me.REG[1] = NIT_NULL;
2956 fra.me.REG[2] = NIT_NULL;
2957 fra.me.REG[0] = p0;
2958 fra.me.REG[1] = p1;
2959 /* ./analysis//icode_dump.nit:402 */
2960 REGB0 = TAG_Int(3);
2961 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
2962 if (!once_value_1) {
2963 fra.me.REG[2] = BOX_NativeString("CHARVALUE ");
2964 REGB0 = TAG_Int(10);
2965 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
2966 once_value_1 = fra.me.REG[2];
2967 register_static_object(&once_value_1);
2968 } else fra.me.REG[2] = once_value_1;
2969 fra.me.REG[2] = fra.me.REG[2];
2970 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
2971 fra.me.REG[0] = CALL_icode_base___ICharValue___value(fra.me.REG[0])(fra.me.REG[0]);
2972 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2973 if (!once_value_2) {
2974 fra.me.REG[0] = BOX_NativeString("");
2975 REGB0 = TAG_Int(0);
2976 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
2977 once_value_2 = fra.me.REG[0];
2978 register_static_object(&once_value_2);
2979 } else fra.me.REG[0] = once_value_2;
2980 fra.me.REG[0] = fra.me.REG[0];
2981 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
2982 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
2983 goto label3;
2984 label3: while(0);
2985 stack_frame_head = fra.me.prev;
2986 return fra.me.REG[1];
2987 }
2988 val_t icode_dump___IFloatValue___dump_intern(val_t p0, val_t p1){
2989 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
2990 val_t REGB0;
2991 val_t tmp;
2992 static val_t once_value_1; /* Once value */
2993 static val_t once_value_2; /* Once value */
2994 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
2995 fra.me.file = LOCATE_icode_dump;
2996 fra.me.line = 407;
2997 fra.me.meth = LOCATE_icode_dump___IFloatValue___dump_intern;
2998 fra.me.has_broke = 0;
2999 fra.me.REG_size = 3;
3000 fra.me.REG[0] = NIT_NULL;
3001 fra.me.REG[1] = NIT_NULL;
3002 fra.me.REG[2] = NIT_NULL;
3003 fra.me.REG[0] = p0;
3004 fra.me.REG[1] = p1;
3005 /* ./analysis//icode_dump.nit:409 */
3006 REGB0 = TAG_Int(3);
3007 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
3008 if (!once_value_1) {
3009 fra.me.REG[2] = BOX_NativeString("FLOATVALUE ");
3010 REGB0 = TAG_Int(11);
3011 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
3012 once_value_1 = fra.me.REG[2];
3013 register_static_object(&once_value_1);
3014 } else fra.me.REG[2] = once_value_1;
3015 fra.me.REG[2] = fra.me.REG[2];
3016 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3017 fra.me.REG[0] = CALL_icode_base___IFloatValue___value(fra.me.REG[0])(fra.me.REG[0]);
3018 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3019 if (!once_value_2) {
3020 fra.me.REG[0] = BOX_NativeString("");
3021 REGB0 = TAG_Int(0);
3022 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3023 once_value_2 = fra.me.REG[0];
3024 register_static_object(&once_value_2);
3025 } else fra.me.REG[0] = once_value_2;
3026 fra.me.REG[0] = fra.me.REG[0];
3027 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3028 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
3029 goto label3;
3030 label3: while(0);
3031 stack_frame_head = fra.me.prev;
3032 return fra.me.REG[1];
3033 }
3034 val_t icode_dump___IMove___dump_intern(val_t p0, val_t p1){
3035 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3036 val_t REGB0;
3037 val_t tmp;
3038 static val_t once_value_1; /* Once value */
3039 static val_t once_value_2; /* Once value */
3040 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3041 fra.me.file = LOCATE_icode_dump;
3042 fra.me.line = 414;
3043 fra.me.meth = LOCATE_icode_dump___IMove___dump_intern;
3044 fra.me.has_broke = 0;
3045 fra.me.REG_size = 4;
3046 fra.me.REG[0] = NIT_NULL;
3047 fra.me.REG[1] = NIT_NULL;
3048 fra.me.REG[2] = NIT_NULL;
3049 fra.me.REG[3] = NIT_NULL;
3050 fra.me.REG[0] = p0;
3051 fra.me.REG[1] = p1;
3052 /* ./analysis//icode_dump.nit:416 */
3053 REGB0 = TAG_Int(3);
3054 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3055 if (!once_value_1) {
3056 fra.me.REG[3] = BOX_NativeString("");
3057 REGB0 = TAG_Int(0);
3058 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3059 once_value_1 = fra.me.REG[3];
3060 register_static_object(&once_value_1);
3061 } else fra.me.REG[3] = once_value_1;
3062 fra.me.REG[3] = fra.me.REG[3];
3063 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3064 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
3065 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3066 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3067 if (!once_value_2) {
3068 fra.me.REG[0] = BOX_NativeString("");
3069 REGB0 = TAG_Int(0);
3070 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3071 once_value_2 = fra.me.REG[0];
3072 register_static_object(&once_value_2);
3073 } else fra.me.REG[0] = once_value_2;
3074 fra.me.REG[0] = fra.me.REG[0];
3075 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3076 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3077 goto label3;
3078 label3: while(0);
3079 stack_frame_head = fra.me.prev;
3080 return fra.me.REG[2];
3081 }
3082 val_t icode_dump___IIs___dump_intern(val_t p0, val_t p1){
3083 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3084 val_t REGB0;
3085 val_t tmp;
3086 static val_t once_value_1; /* Once value */
3087 static val_t once_value_2; /* Once value */
3088 static val_t once_value_3; /* Once value */
3089 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3090 fra.me.file = LOCATE_icode_dump;
3091 fra.me.line = 421;
3092 fra.me.meth = LOCATE_icode_dump___IIs___dump_intern;
3093 fra.me.has_broke = 0;
3094 fra.me.REG_size = 4;
3095 fra.me.REG[0] = NIT_NULL;
3096 fra.me.REG[1] = NIT_NULL;
3097 fra.me.REG[2] = NIT_NULL;
3098 fra.me.REG[3] = NIT_NULL;
3099 fra.me.REG[0] = p0;
3100 fra.me.REG[1] = p1;
3101 /* ./analysis//icode_dump.nit:423 */
3102 REGB0 = TAG_Int(5);
3103 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3104 if (!once_value_1) {
3105 fra.me.REG[3] = BOX_NativeString("");
3106 REGB0 = TAG_Int(0);
3107 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3108 once_value_1 = fra.me.REG[3];
3109 register_static_object(&once_value_1);
3110 } else fra.me.REG[3] = once_value_1;
3111 fra.me.REG[3] = fra.me.REG[3];
3112 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3113 fra.me.REG[3] = CALL_icode_base___ICode2___expr1(fra.me.REG[0])(fra.me.REG[0]);
3114 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
3115 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3116 if (!once_value_2) {
3117 fra.me.REG[3] = BOX_NativeString(" is ");
3118 REGB0 = TAG_Int(4);
3119 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3120 once_value_2 = fra.me.REG[3];
3121 register_static_object(&once_value_2);
3122 } else fra.me.REG[3] = once_value_2;
3123 fra.me.REG[3] = fra.me.REG[3];
3124 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3125 fra.me.REG[0] = CALL_icode_base___ICode2___expr2(fra.me.REG[0])(fra.me.REG[0]);
3126 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3127 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3128 if (!once_value_3) {
3129 fra.me.REG[0] = BOX_NativeString("");
3130 REGB0 = TAG_Int(0);
3131 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3132 once_value_3 = fra.me.REG[0];
3133 register_static_object(&once_value_3);
3134 } else fra.me.REG[0] = once_value_3;
3135 fra.me.REG[0] = fra.me.REG[0];
3136 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3137 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3138 goto label4;
3139 label4: while(0);
3140 stack_frame_head = fra.me.prev;
3141 return fra.me.REG[2];
3142 }
3143 val_t icode_dump___INot___dump_intern(val_t p0, val_t p1){
3144 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3145 val_t REGB0;
3146 val_t tmp;
3147 static val_t once_value_1; /* Once value */
3148 static val_t once_value_2; /* Once value */
3149 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3150 fra.me.file = LOCATE_icode_dump;
3151 fra.me.line = 428;
3152 fra.me.meth = LOCATE_icode_dump___INot___dump_intern;
3153 fra.me.has_broke = 0;
3154 fra.me.REG_size = 4;
3155 fra.me.REG[0] = NIT_NULL;
3156 fra.me.REG[1] = NIT_NULL;
3157 fra.me.REG[2] = NIT_NULL;
3158 fra.me.REG[3] = NIT_NULL;
3159 fra.me.REG[0] = p0;
3160 fra.me.REG[1] = p1;
3161 /* ./analysis//icode_dump.nit:430 */
3162 REGB0 = TAG_Int(3);
3163 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3164 if (!once_value_1) {
3165 fra.me.REG[3] = BOX_NativeString("NOT ");
3166 REGB0 = TAG_Int(4);
3167 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3168 once_value_1 = fra.me.REG[3];
3169 register_static_object(&once_value_1);
3170 } else fra.me.REG[3] = once_value_1;
3171 fra.me.REG[3] = fra.me.REG[3];
3172 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3173 fra.me.REG[0] = CALL_icode_base___ICode1___expr(fra.me.REG[0])(fra.me.REG[0]);
3174 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3175 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3176 if (!once_value_2) {
3177 fra.me.REG[0] = BOX_NativeString("");
3178 REGB0 = TAG_Int(0);
3179 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3180 once_value_2 = fra.me.REG[0];
3181 register_static_object(&once_value_2);
3182 } else fra.me.REG[0] = once_value_2;
3183 fra.me.REG[0] = fra.me.REG[0];
3184 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3185 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3186 goto label3;
3187 label3: while(0);
3188 stack_frame_head = fra.me.prev;
3189 return fra.me.REG[2];
3190 }
3191 void icode_dump___IOnce___dump(val_t p0, val_t p1){
3192 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3193 val_t REGB0;
3194 val_t tmp;
3195 static val_t once_value_1; /* Once value */
3196 static val_t once_value_2; /* Once value */
3197 static val_t once_value_3; /* Once value */
3198 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3199 fra.me.file = LOCATE_icode_dump;
3200 fra.me.line = 435;
3201 fra.me.meth = LOCATE_icode_dump___IOnce___dump;
3202 fra.me.has_broke = 0;
3203 fra.me.REG_size = 4;
3204 fra.me.REG[0] = NIT_NULL;
3205 fra.me.REG[1] = NIT_NULL;
3206 fra.me.REG[2] = NIT_NULL;
3207 fra.me.REG[3] = NIT_NULL;
3208 fra.me.REG[0] = p0;
3209 fra.me.REG[1] = p1;
3210 /* ./analysis//icode_dump.nit:437 */
3211 REGB0 = TAG_Int(3);
3212 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3213 if (!once_value_1) {
3214 fra.me.REG[3] = BOX_NativeString("");
3215 REGB0 = TAG_Int(0);
3216 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3217 once_value_1 = fra.me.REG[3];
3218 register_static_object(&once_value_1);
3219 } else fra.me.REG[3] = once_value_1;
3220 fra.me.REG[3] = fra.me.REG[3];
3221 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3222 fra.me.REG[3] = CALL_icode_base___ICode___result(fra.me.REG[0])(fra.me.REG[0]);
3223 REGB0 = TAG_Bool((fra.me.REG[3]!=NIT_NULL) && VAL_ISA(fra.me.REG[3], COLOR_IRegister, ID_IRegister)) /*cast IRegister*/;
3224 if (UNTAG_Bool(REGB0)) {
3225 } else {
3226 nit_abort("Cast failed", NULL, LOCATE_icode_dump, 437);
3227 }
3228 fra.me.REG[3] = CALL_icode_dump___ICodeDumper___register(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
3229 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3230 if (!once_value_2) {
3231 fra.me.REG[3] = BOX_NativeString(" := ONCE {");
3232 REGB0 = TAG_Int(10);
3233 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3234 once_value_2 = fra.me.REG[3];
3235 register_static_object(&once_value_2);
3236 } else fra.me.REG[3] = once_value_2;
3237 fra.me.REG[3] = fra.me.REG[3];
3238 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3239 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3240 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
3241 /* ./analysis//icode_dump.nit:438 */
3242 CALL_icode_dump___ICodeDumper___indent(fra.me.REG[1])(fra.me.REG[1]);
3243 /* ./analysis//icode_dump.nit:439 */
3244 fra.me.REG[0] = CALL_icode_base___IOnce___body(fra.me.REG[0])(fra.me.REG[0]);
3245 CALL_icode_dump___ICode___dump(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
3246 /* ./analysis//icode_dump.nit:440 */
3247 CALL_icode_dump___ICodeDumper___unindent(fra.me.REG[1])(fra.me.REG[1]);
3248 /* ./analysis//icode_dump.nit:441 */
3249 if (!once_value_3) {
3250 fra.me.REG[0] = BOX_NativeString("}");
3251 REGB0 = TAG_Int(1);
3252 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3253 once_value_3 = fra.me.REG[0];
3254 register_static_object(&once_value_3);
3255 } else fra.me.REG[0] = once_value_3;
3256 fra.me.REG[0] = fra.me.REG[0];
3257 CALL_icode_dump___ICodeDumper___write(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3258 stack_frame_head = fra.me.prev;
3259 return;
3260 }
3261 val_t icode_dump___IHasClos___dump_intern(val_t p0, val_t p1){
3262 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
3263 val_t REGB0;
3264 val_t tmp;
3265 static val_t once_value_1; /* Once value */
3266 static val_t once_value_2; /* Once value */
3267 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
3268 fra.me.file = LOCATE_icode_dump;
3269 fra.me.line = 446;
3270 fra.me.meth = LOCATE_icode_dump___IHasClos___dump_intern;
3271 fra.me.has_broke = 0;
3272 fra.me.REG_size = 4;
3273 fra.me.REG[0] = NIT_NULL;
3274 fra.me.REG[1] = NIT_NULL;
3275 fra.me.REG[2] = NIT_NULL;
3276 fra.me.REG[3] = NIT_NULL;
3277 fra.me.REG[0] = p0;
3278 fra.me.REG[1] = p1;
3279 /* ./analysis//icode_dump.nit:448 */
3280 REGB0 = TAG_Int(3);
3281 fra.me.REG[2] = NEW_Array_array___Array___with_capacity(REGB0);
3282 if (!once_value_1) {
3283 fra.me.REG[3] = BOX_NativeString("HASCLOS ");
3284 REGB0 = TAG_Int(8);
3285 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
3286 once_value_1 = fra.me.REG[3];
3287 register_static_object(&once_value_1);
3288 } else fra.me.REG[3] = once_value_1;
3289 fra.me.REG[3] = fra.me.REG[3];
3290 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
3291 fra.me.REG[0] = CALL_icode_base___IHasClos___closure_decl(fra.me.REG[0])(fra.me.REG[0]);
3292 fra.me.REG[0] = CALL_icode_dump___ICodeDumper___closdecl(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
3293 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3294 if (!once_value_2) {
3295 fra.me.REG[0] = BOX_NativeString("");
3296 REGB0 = TAG_Int(0);
3297 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
3298 once_value_2 = fra.me.REG[0];
3299 register_static_object(&once_value_2);
3300 } else fra.me.REG[0] = once_value_2;
3301 fra.me.REG[0] = fra.me.REG[0];
3302 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[0]);
3303 fra.me.REG[2] = CALL_string___Object___to_s(fra.me.REG[2])(fra.me.REG[2]);
3304 goto label3;
3305 label3: while(0);
3306 stack_frame_head = fra.me.prev;
3307 return fra.me.REG[2];
3308 }