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