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