First NIT release and new clean mercurial repository
[nit.git] / c_src / compiling_methods._sep.c
1 #include "compiling_methods._sep.h"
2 void compiling_methods___CompilerVisitor___compile_stmt(val_t self, val_t param0) {
3 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::compile_stmt (src/compiling//compiling_methods.nit:24,2--30:21)"};
4 val_t variable0;
5 val_t variable1;
6 val_t variable2;
7 trace.prev = tracehead; tracehead = &trace;
8 variable0 = param0;
9 ((compiling_methods___PExpr___prepare_compile_stmt_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___prepare_compile_stmt))( variable0 /*n*/, self) /*PExpr::prepare_compile_stmt*/;
10 variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
11 variable1 = variable2;
12 ((compiling_methods___PExpr___compile_stmt_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___compile_stmt))( variable0 /*n*/, self) /*PExpr::compile_stmt*/;
13 ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1 /*i*/;
14 tracehead = trace.prev;
15 return;
16 }
17 val_t compiling_methods___CompilerVisitor___compile_expr(val_t self, val_t param0) {
18 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::compile_expr (src/compiling//compiling_methods.nit:33,2--47:10)"};
19 val_t variable0;
20 val_t variable1;
21 val_t variable2;
22 val_t variable3;
23 val_t variable4;
24 trace.prev = tracehead; tracehead = &trace;
25 variable0 = param0;
26 variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
27 variable1 = variable2;
28 variable3 = ((compiling_methods___PExpr___compile_expr_t)CALL( variable0 /*n*/,COLOR_compiling_methods___PExpr___compile_expr))( variable0 /*n*/, self) /*PExpr::compile_expr*/;
29 variable2 = variable3;
30 ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1 /*i*/;
31 variable3 = ((string___String_____bra_t)CALL( variable2 /*s*/,COLOR_abstract_collection___Map_____bra))( variable2 /*s*/, TAG_Int(0)) /*String::[]*/;
32 variable3 = TAG_Bool((variable3)==( TAG_Char(' ')));
33 if (UNTAG_Bool(variable3)) { /*if*/
34 variable1 = variable2 /*s*/;
35 goto return_label1;
36 }
37 variable3 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
38 variable3 = TAG_Int(UNTAG_Int(variable3)-UNTAG_Int( TAG_Int(1)));
39 variable3 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable3) /*CompilerVisitor::variable*/;
40 variable3 = TAG_Bool(( variable2 /*s*/ == variable3) || (( variable2 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable2 /*s*/,COLOR_kernel___Object_____eqeq))( variable2 /*s*/, variable3) /*String::==*/)));
41 if (UNTAG_Bool(variable3)) { /*if*/
42 variable1 = variable2 /*s*/;
43 goto return_label1;
44 }
45 variable4 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___get_var))( self) /*CompilerVisitor::get_var*/;
46 variable3 = variable4;
47 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___add_assignment))( self, variable3 /*v*/, variable2 /*s*/) /*CompilerVisitor::add_assignment*/;
48 variable1 = variable3 /*v*/;
49 goto return_label1;
50 return_label1: while(false);
51 tracehead = trace.prev;
52 return variable1;
53 }
54 val_t compiling_methods___CompilerVisitor___ensure_var(val_t self, val_t param0) {
55 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::ensure_var (src/compiling//compiling_methods.nit:50,2--58:10)"};
56 val_t variable0;
57 val_t variable1;
58 val_t variable2;
59 trace.prev = tracehead; tracehead = &trace;
60 variable0 = param0;
61 variable1 = ((string___String___substring_t)CALL( variable0 /*s*/,COLOR_string___String___substring))( variable0 /*s*/, TAG_Int(0), TAG_Int(3)) /*String::substring*/;
62 variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
63 variable1 = TAG_Bool((variable1 == variable2) || ((variable1 != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, variable2) /*String::==*/)));
64 if (UNTAG_Bool(variable1)) { /*if*/
65 variable1 = variable0 /*s*/;
66 goto return_label2;
67 }
68 variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___get_var))( self) /*CompilerVisitor::get_var*/;
69 variable1 = variable2;
70 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___add_assignment))( self, variable1 /*v*/, variable0 /*s*/) /*CompilerVisitor::add_assignment*/;
71 variable1 = variable1 /*v*/;
72 goto return_label2;
73 return_label2: while(false);
74 tracehead = trace.prev;
75 return variable1;
76 }
77 void compiling_methods___CompilerVisitor___add_assignment(val_t self, val_t param0, val_t param1) {
78 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::add_assignment (src/compiling//compiling_methods.nit:61,2--65:25)"};
79 val_t variable0;
80 val_t variable1;
81 val_t variable2;
82 val_t variable3;
83 val_t variable4;
84 val_t variable5;
85 val_t variable6;
86 val_t variable7;
87 val_t variable8;
88 val_t variable9;
89 val_t variable10;
90 trace.prev = tracehead; tracehead = &trace;
91 variable0 = param0;
92 variable1 = param1;
93 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*v*/ == variable1 /*s*/) || (( variable0 /*v*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/, variable1 /*s*/) /*String::==*/)))));
94 if (UNTAG_Bool(variable2)) { /*if*/
95 variable2 = NEW_string___String___init(); /*new String*/
96 variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
97 variable4 = variable3;
98 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
99 variable5 = variable0 /*v*/;
100 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
101 variable6 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
102 variable7 = variable6;
103 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
104 variable8 = variable1 /*s*/;
105 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
106 variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
107 variable10 = variable9;
108 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable10) /*String::append*/;
109 ((compiling_base___CompilerVisitor___add_instr_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_instr))( self, variable2) /*CompilerVisitor::add_instr*/;
110 }
111 tracehead = trace.prev;
112 return;
113 }
114 val_t compiling_methods___CompilerVisitor___variable(val_t self, val_t param0) {
115 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::variable (src/compiling//compiling_methods.nit:69,2--72:22)"};
116 val_t variable0;
117 val_t variable1;
118 val_t variable2;
119 val_t variable3;
120 val_t variable4;
121 val_t variable5;
122 val_t variable6;
123 trace.prev = tracehead; tracehead = &trace;
124 variable0 = param0;
125 variable1 = NEW_string___String___init(); /*new String*/
126 variable2 = NEW_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
127 variable3 = variable2;
128 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
129 variable4 = variable0 /*i*/;
130 variable4 = ((string___String___to_s_t)CALL(variable4,COLOR_string___Object___to_s))(variable4) /*String::to_s*/;
131 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
132 variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
133 variable6 = variable5;
134 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
135 goto return_label4;
136 return_label4: while(false);
137 tracehead = trace.prev;
138 return variable1;
139 }
140 val_t compiling_methods___CompilerVisitor___get_var(val_t self) {
141 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::get_var (src/compiling//compiling_methods.nit:81,2--90:10)"};
142 val_t variable0;
143 val_t variable1;
144 val_t variable2;
145 val_t variable3;
146 val_t variable4;
147 val_t variable5;
148 val_t variable6;
149 trace.prev = tracehead; tracehead = &trace;
150 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
151 variable1 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable1) /*CompilerVisitor::variable*/;
152 variable0 = variable1;
153 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
154 variable1 = TAG_Int(UNTAG_Int(variable1)+UNTAG_Int( TAG_Int(1)));
155 ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1;
156 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
157 variable2 = ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/;
158 variable1 = TAG_Bool(UNTAG_Int(variable1)>UNTAG_Int(variable2));
159 if (UNTAG_Bool(variable1)) { /*if*/
160 variable1 = NEW_string___String___init(); /*new String*/
161 variable2 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
162 variable3 = variable2;
163 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
164 variable4 = variable0 /*v*/;
165 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable4) /*String::append*/;
166 variable5 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
167 variable6 = variable5;
168 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable6) /*String::append*/;
169 ((compiling_base___CompilerVisitor___add_decl_t)CALL( self,COLOR_compiling_base___CompilerVisitor___add_decl))( self, variable1) /*CompilerVisitor::add_decl*/;
170 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
171 ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/ = variable1;
172 }
173 variable0 = variable0 /*v*/;
174 goto return_label5;
175 return_label5: while(false);
176 tracehead = trace.prev;
177 return variable0;
178 }
179 void compiling_methods___CompilerVisitor___free_var(val_t self, val_t param0) {
180 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::free_var (src/compiling//compiling_methods.nit:93,2--98:40)"};
181 val_t variable0;
182 val_t variable1;
183 trace.prev = tracehead; tracehead = &trace;
184 variable0 = param0;
185 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
186 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
187 variable1 = ((compiling_methods___CompilerVisitor___variable_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___variable))( self, variable1) /*CompilerVisitor::variable*/;
188 variable1 = TAG_Bool(( variable0 /*v*/ == variable1) || (( variable0 /*v*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable0 /*v*/,COLOR_kernel___Object_____eqeq))( variable0 /*v*/, variable1) /*String::==*/)));
189 if (UNTAG_Bool(variable1)) { /*if*/
190 variable1 = ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/;
191 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(1)));
192 ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = variable1;
193 }
194 tracehead = trace.prev;
195 return;
196 }
197 void compiling_methods___CompilerVisitor___clear(val_t self) {
198 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::clear (src/compiling//compiling_methods.nit:102,2--108:25)"};
199 trace.prev = tracehead; tracehead = &trace;
200 ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ = TAG_Bool(false);
201 ((compiling_base___CompilerVisitor___indent_level__eq_t)CALL( self,COLOR_compiling_base___CompilerVisitor___indent_level__eq))( self, TAG_Int(0)) /*CompilerVisitor::indent_level=*/;
202 ATTR_compiling_methods___CompilerVisitor____variable_index( self) /*CompilerVisitor::_variable_index*/ = TAG_Int(0);
203 ATTR_compiling_methods___CompilerVisitor____variable_index_max( self) /*CompilerVisitor::_variable_index_max*/ = TAG_Int(0);
204 tracehead = trace.prev;
205 return;
206 }
207 val_t compiling_methods___CompilerVisitor___varnames(val_t self) {
208 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::varnames (src/compiling//compiling_methods.nit:111,2--112:78)"};
209 trace.prev = tracehead; tracehead = &trace;
210 tracehead = trace.prev;
211 return ATTR_compiling_methods___CompilerVisitor____varnames( self) /*CompilerVisitor::_varnames*/;
212 }
213 val_t compiling_methods___CompilerVisitor___has_return(val_t self) {
214 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::has_return (src/compiling//compiling_methods.nit:114,2--115:41)"};
215 trace.prev = tracehead; tracehead = &trace;
216 tracehead = trace.prev;
217 return ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/;
218 }
219 void compiling_methods___CompilerVisitor___has_return__eq(val_t self, val_t param0) {
220 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::has_return= (src/compiling//compiling_methods.nit:114,2--115:41)"};
221 trace.prev = tracehead; tracehead = &trace;
222 ATTR_compiling_methods___CompilerVisitor____has_return( self) /*CompilerVisitor::_has_return*/ = param0;
223 tracehead = trace.prev;
224 return;
225 }
226 val_t compiling_methods___CompilerVisitor___method_params(val_t self) {
227 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method_params (src/compiling//compiling_methods.nit:117,2--118:52)"};
228 trace.prev = tracehead; tracehead = &trace;
229 tracehead = trace.prev;
230 return ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/;
231 }
232 void compiling_methods___CompilerVisitor___method_params__eq(val_t self, val_t param0) {
233 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method_params= (src/compiling//compiling_methods.nit:117,2--118:52)"};
234 trace.prev = tracehead; tracehead = &trace;
235 ATTR_compiling_methods___CompilerVisitor____method_params( self) /*CompilerVisitor::_method_params*/ = param0;
236 tracehead = trace.prev;
237 return;
238 }
239 val_t compiling_methods___CompilerVisitor___method(val_t self) {
240 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method (src/compiling//compiling_methods.nit:120,2--121:44)"};
241 trace.prev = tracehead; tracehead = &trace;
242 tracehead = trace.prev;
243 return ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/;
244 }
245 void compiling_methods___CompilerVisitor___method__eq(val_t self, val_t param0) {
246 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::method= (src/compiling//compiling_methods.nit:120,2--121:44)"};
247 trace.prev = tracehead; tracehead = &trace;
248 ATTR_compiling_methods___CompilerVisitor____method( self) /*CompilerVisitor::_method*/ = param0;
249 tracehead = trace.prev;
250 return;
251 }
252 val_t compiling_methods___CompilerVisitor___return_label(val_t self) {
253 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_label (src/compiling//compiling_methods.nit:123,2--124:45)"};
254 trace.prev = tracehead; tracehead = &trace;
255 tracehead = trace.prev;
256 return ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/;
257 }
258 void compiling_methods___CompilerVisitor___return_label__eq(val_t self, val_t param0) {
259 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_label= (src/compiling//compiling_methods.nit:123,2--124:45)"};
260 trace.prev = tracehead; tracehead = &trace;
261 ATTR_compiling_methods___CompilerVisitor____return_label( self) /*CompilerVisitor::_return_label*/ = param0;
262 tracehead = trace.prev;
263 return;
264 }
265 val_t compiling_methods___CompilerVisitor___break_label(val_t self) {
266 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::break_label (src/compiling//compiling_methods.nit:126,2--127:44)"};
267 trace.prev = tracehead; tracehead = &trace;
268 tracehead = trace.prev;
269 return ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/;
270 }
271 void compiling_methods___CompilerVisitor___break_label__eq(val_t self, val_t param0) {
272 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::break_label= (src/compiling//compiling_methods.nit:126,2--127:44)"};
273 trace.prev = tracehead; tracehead = &trace;
274 ATTR_compiling_methods___CompilerVisitor____break_label( self) /*CompilerVisitor::_break_label*/ = param0;
275 tracehead = trace.prev;
276 return;
277 }
278 val_t compiling_methods___CompilerVisitor___continue_label(val_t self) {
279 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::continue_label (src/compiling//compiling_methods.nit:129,2--130:47)"};
280 trace.prev = tracehead; tracehead = &trace;
281 tracehead = trace.prev;
282 return ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/;
283 }
284 void compiling_methods___CompilerVisitor___continue_label__eq(val_t self, val_t param0) {
285 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::continue_label= (src/compiling//compiling_methods.nit:129,2--130:47)"};
286 trace.prev = tracehead; tracehead = &trace;
287 ATTR_compiling_methods___CompilerVisitor____continue_label( self) /*CompilerVisitor::_continue_label*/ = param0;
288 tracehead = trace.prev;
289 return;
290 }
291 val_t compiling_methods___CompilerVisitor___return_value(val_t self) {
292 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_value (src/compiling//compiling_methods.nit:132,2--133:45)"};
293 trace.prev = tracehead; tracehead = &trace;
294 tracehead = trace.prev;
295 return ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/;
296 }
297 void compiling_methods___CompilerVisitor___return_value__eq(val_t self, val_t param0) {
298 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::return_value= (src/compiling//compiling_methods.nit:132,2--133:45)"};
299 trace.prev = tracehead; tracehead = &trace;
300 ATTR_compiling_methods___CompilerVisitor____return_value( self) /*CompilerVisitor::_return_value*/ = param0;
301 tracehead = trace.prev;
302 return;
303 }
304 void compiling_methods___CompilerVisitor___init(val_t self, val_t param0, int* init_table) {
305 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::init (src/compiling//compiling_methods.nit:135,2--138:7)"};
306 val_t variable0;
307 trace.prev = tracehead; tracehead = &trace;
308 variable0 = param0;
309 if (init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
310 ((compiling_methods___CompilerVisitor___init_t)CALL( self,COLOR_SUPER_compiling_methods___CompilerVisitor___init))( self, param0, init_table) /*super CompilerVisitor::init*/;
311 ((compiling_methods___CompilerVisitor___clear_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___clear))( self) /*CompilerVisitor::clear*/;
312 init_table[VAL2OBJ( self)->vft[INIT_TABLE_POS_CompilerVisitor].i] = 1;
313 tracehead = trace.prev;
314 return;
315 }
316 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t self, val_t param0) {
317 struct trace_t trace = {NULL, "compiling_methods::CompilerVisitor::invoke_super_init_calls_after (src/compiling//compiling_methods.nit:141,2--178:9)"};
318 val_t variable0;
319 val_t variable1;
320 val_t variable2;
321 val_t variable3;
322 val_t variable4;
323 val_t variable5;
324 val_t variable6;
325 val_t variable7;
326 val_t variable8;
327 val_t variable9;
328 val_t variable10;
329 val_t variable11;
330 val_t variable12;
331 trace.prev = tracehead; tracehead = &trace;
332 variable0 = param0;
333 variable2 = ((compiling_methods___CompilerVisitor___method_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method))( self) /*CompilerVisitor::method*/;
334 variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL(variable2,COLOR_syntax_base___MMSrcLocalProperty___node))(variable2) /*MMSrcMethod::node*/;
335 variable1 = variable2;
336 variable2 = TAG_Bool(( variable1 /*n*/==NIT_NULL) || VAL_ISA( variable1 /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
337 if (!UNTAG_Bool(variable2)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:144,3--35\n"); nit_exit(1);}
338 variable2 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
339 variable2 = ((array___AbstractArray___is_empty_t)CALL(variable2,COLOR_abstract_collection___Collection___is_empty))(variable2) /*Array::is_empty*/;
340 if (UNTAG_Bool(variable2)) { /*if*/
341 goto return_label9;
342 }
343 variable2 = TAG_Int(0);
344 variable3 = TAG_Int(0);
345 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0 /*start_prop*/ == NIT_NULL /*null*/) || (( variable0 /*start_prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable0 /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable0 /*start_prop*/,COLOR_kernel___Object_____eqeq))( variable0 /*start_prop*/, NIT_NULL /*null*/) /*MMMethod::==*/)))))));
346 if (UNTAG_Bool(variable4)) { /*if*/
347 while (true) { /*while*/
348 variable4 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
349 variable5 = variable2 /*i*/;
350 variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
351 variable7 = variable6;
352 if (UNTAG_Bool(variable7)) { /* and */
353 variable7 = variable4;
354 variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
355 variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
356 }
357 variable6 = variable7;
358 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
359 variable6 = variable4;
360 variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
361 variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
362 goto return_label11;
363 return_label11: while(false);
364 variable4 = variable6;
365 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 == variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*start_prop*/) /*MMMethod::==*/)))))));
366 if (!UNTAG_Bool(variable4)) break; /* while*/
367 variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
368 continue_10: while(0);
369 }
370 break_10: while(0);
371 variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
372 while (true) { /*while*/
373 variable4 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
374 variable5 = variable3 /*j*/;
375 variable6 = TAG_Bool(UNTAG_Int( variable5 /*index*/)>=UNTAG_Int( TAG_Int(0)));
376 variable7 = variable6;
377 if (UNTAG_Bool(variable7)) { /* and */
378 variable7 = variable4;
379 variable7 = ATTR_array___AbstractArray____length(variable7) /*Array::_length*/;
380 variable7 = TAG_Bool(UNTAG_Int( variable5 /*index*/)<UNTAG_Int(variable7));
381 }
382 variable6 = variable7;
383 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
384 variable6 = variable4;
385 variable6 = ATTR_array___Array____items(variable6) /*Array::_items*/;
386 variable6 = UNBOX_NativeArray(variable6)[UNTAG_Int( variable5 /*index*/)];
387 goto return_label13;
388 return_label13: while(false);
389 variable4 = variable6;
390 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 == variable0 /*start_prop*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, variable0 /*start_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable0 /*start_prop*/) /*MMMethod::==*/)))))));
391 if (!UNTAG_Bool(variable4)) break; /* while*/
392 variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
393 continue_12: while(0);
394 }
395 break_12: while(0);
396 variable3 = TAG_Int(UNTAG_Int(variable3)+UNTAG_Int( TAG_Int(1))) /*j*/;
397 }
398 variable4 = NIT_NULL /*decl variable stop_prop*/;
399 variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
400 variable5 = ((array___AbstractArray___length_t)CALL(variable5,COLOR_abstract_collection___Collection___length))(variable5) /*Array::length*/;
401 variable5 = TAG_Bool(UNTAG_Int( variable3 /*j*/)<UNTAG_Int(variable5));
402 if (UNTAG_Bool(variable5)) { /*if*/
403 variable5 = ((typing___AConcreteInitPropdef___explicit_super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___explicit_super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
404 variable6 = variable3 /*j*/;
405 variable7 = TAG_Bool(UNTAG_Int( variable6 /*index*/)>=UNTAG_Int( TAG_Int(0)));
406 variable8 = variable7;
407 if (UNTAG_Bool(variable8)) { /* and */
408 variable8 = variable5;
409 variable8 = ATTR_array___AbstractArray____length(variable8) /*Array::_length*/;
410 variable8 = TAG_Bool(UNTAG_Int( variable6 /*index*/)<UNTAG_Int(variable8));
411 }
412 variable7 = variable8;
413 if (!UNTAG_Bool(variable7)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
414 variable7 = variable5;
415 variable7 = ATTR_array___Array____items(variable7) /*Array::_items*/;
416 variable7 = UNBOX_NativeArray(variable7)[UNTAG_Int( variable6 /*index*/)];
417 goto return_label14;
418 return_label14: while(false);
419 variable5 = variable7;
420 variable4 = variable5 /*stop_prop=*/;
421 }
422 variable6 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
423 variable6 = ((array___AbstractArray___length_t)CALL(variable6,COLOR_abstract_collection___Collection___length))(variable6) /*Array::length*/;
424 variable5 = variable6;
425 while (true) { /*while*/
426 variable6 = TAG_Bool(UNTAG_Int( variable2 /*i*/)<UNTAG_Int( variable5 /*l*/));
427 if (!UNTAG_Bool(variable6)) break; /* while*/
428 variable7 = ((typing___AConcreteInitPropdef___super_init_calls_t)CALL( variable1 /*n*/,COLOR_typing___AConcreteInitPropdef___super_init_calls))( variable1 /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
429 variable8 = variable2 /*i*/;
430 variable9 = TAG_Bool(UNTAG_Int( variable8 /*index*/)>=UNTAG_Int( TAG_Int(0)));
431 variable10 = variable9;
432 if (UNTAG_Bool(variable10)) { /* and */
433 variable10 = variable7;
434 variable10 = ATTR_array___AbstractArray____length(variable10) /*Array::_length*/;
435 variable10 = TAG_Bool(UNTAG_Int( variable8 /*index*/)<UNTAG_Int(variable10));
436 }
437 variable9 = variable10;
438 if (!UNTAG_Bool(variable9)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
439 variable9 = variable7;
440 variable9 = ATTR_array___Array____items(variable9) /*Array::_items*/;
441 variable9 = UNBOX_NativeArray(variable9)[UNTAG_Int( variable8 /*index*/)];
442 goto return_label16;
443 return_label16: while(false);
444 variable7 = variable9;
445 variable6 = variable7;
446 variable7 = TAG_Bool(( variable6 /*p*/ == variable4 /*stop_prop*/) || (( variable6 /*p*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*p*/, variable4 /*stop_prop*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*p*/,COLOR_kernel___Object_____eqeq))( variable6 /*p*/, variable4 /*stop_prop*/) /*MMMethod::==*/)))));
447 if (UNTAG_Bool(variable7)) { /*if*/
448 goto break_15;
449 }
450 variable8 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
451 variable7 = variable8;
452 variable8 = ((genericity___MMLocalProperty___signature_t)CALL( variable6 /*p*/,COLOR_static_type___MMLocalProperty___signature))( variable6 /*p*/) /*MMMethod::signature*/;
453 variable8 = ((static_type___MMSignature___arity_t)CALL(variable8,COLOR_static_type___MMSignature___arity))(variable8) /*MMSignature::arity*/;
454 variable8 = TAG_Bool((variable8)==( TAG_Int(0)));
455 if (UNTAG_Bool(variable8)) { /*if*/
456 variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
457 variable9 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( self,COLOR_compiling_methods___CompilerVisitor___method_params))( self) /*CompilerVisitor::method_params*/;
458 variable10 = TAG_Int(0);
459 variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
460 variable12 = variable11;
461 if (UNTAG_Bool(variable12)) { /* and */
462 variable12 = variable9;
463 variable12 = ATTR_array___AbstractArray____length(variable12) /*Array::_length*/;
464 variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
465 }
466 variable11 = variable12;
467 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
468 variable11 = variable9;
469 variable11 = ATTR_array___Array____items(variable11) /*Array::_items*/;
470 variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
471 goto return_label17;
472 return_label17: while(false);
473 variable9 = variable11;
474 ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable9) /*Array::add*/;
475 variable7 = variable8 /*cargs=*/;
476 }
477 ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*p*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*p*/, self, variable7 /*cargs*/) /*MMMethod::compile_call*/;
478 variable2 = TAG_Int(UNTAG_Int(variable2)+UNTAG_Int( TAG_Int(1))) /*i*/;
479 continue_15: while(0);
480 }
481 break_15: while(0);
482 return_label9: while(false);
483 tracehead = trace.prev;
484 return;
485 }
486 val_t compiling_methods___MMMethod___compile_call(val_t self, val_t param0, val_t param1) {
487 struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_call (src/compiling//compiling_methods.nit:193,2--233:14)"};
488 val_t variable0;
489 val_t variable1;
490 val_t variable2;
491 val_t variable3;
492 val_t variable4;
493 val_t variable5;
494 static val_t once_value_variable5_19; static int once_bool_variable5_19;
495 val_t variable6;
496 static val_t once_value_variable6_20; static int once_bool_variable6_20;
497 static val_t once_value_variable4_21; static int once_bool_variable4_21;
498 static val_t once_value_variable5_22; static int once_bool_variable5_22;
499 val_t variable7;
500 val_t variable8;
501 val_t variable9;
502 val_t variable10;
503 val_t variable11;
504 val_t variable12;
505 val_t variable13;
506 val_t variable14;
507 val_t variable15;
508 val_t variable16;
509 val_t variable17;
510 val_t variable18;
511 val_t variable19;
512 val_t variable20;
513 val_t variable21;
514 val_t variable22;
515 val_t variable23;
516 val_t variable24;
517 static val_t once_value_variable8_24; static int once_bool_variable8_24;
518 val_t variable25;
519 val_t variable26;
520 val_t variable27;
521 val_t variable28;
522 trace.prev = tracehead; tracehead = &trace;
523 variable0 = param0;
524 variable1 = param1;
525 variable3 = ((abstractmetamodel___MMLocalProperty___concrete_property_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___concrete_property))( self) /*MMMethod::concrete_property*/;
526 variable2 = variable3;
527 variable3 = TAG_Bool(( variable2 /*i*/==NIT_NULL) || VAL_ISA( variable2 /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
528 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:200,3--26\n"); nit_exit(1);}
529 variable3 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( variable2 /*i*/,COLOR_syntax_base___MMSrcLocalProperty___node))( variable2 /*i*/) /*MMSrcMethod::node*/;
530 variable3 = TAG_Bool((variable3==NIT_NULL) || VAL_ISA(variable3, COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
531 variable4 = variable3;
532 if (!UNTAG_Bool(variable4)) { /* or */
533 variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMSrcMethod::local_class*/;
534 variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
535 if (once_bool_variable5_19) variable5 = once_value_variable5_19;
536 else {
537 variable5 = NEW_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
538 variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
539 once_value_variable5_19 = variable5;
540 once_bool_variable5_19 = true;
541 }
542 variable4 = TAG_Bool((variable4 == variable5) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4,variable5)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, variable5) /*Symbol::==*/)))));
543 variable5 = variable4;
544 if (UNTAG_Bool(variable5)) { /* and */
545 variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
546 if (once_bool_variable6_20) variable6 = once_value_variable6_20;
547 else {
548 variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
549 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
550 once_value_variable6_20 = variable6;
551 once_bool_variable6_20 = true;
552 }
553 variable5 = TAG_Bool((variable5 == variable6) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, variable6) /*Symbol::==*/)))));
554 }
555 variable4 = variable5;
556 }
557 variable3 = variable4;
558 if (UNTAG_Bool(variable3)) { /*if*/
559 variable4 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( variable2 /*i*/,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( variable2 /*i*/, variable0 /*v*/, variable1 /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
560 variable3 = variable4;
561 variable2 = variable3 /*e*/;
562 goto return_label18;
563 }
564 if (once_bool_variable4_21) variable4 = once_value_variable4_21;
565 else {
566 variable4 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
567 variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
568 once_value_variable4_21 = variable4;
569 once_bool_variable4_21 = true;
570 }
571 variable3 = variable4;
572 if (once_bool_variable5_22) variable5 = once_value_variable5_22;
573 else {
574 variable5 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
575 variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
576 once_value_variable5_22 = variable5;
577 once_bool_variable5_22 = true;
578 }
579 variable4 = variable5;
580 variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
581 variable5 = TAG_Bool((variable5 == variable4 /*ne*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, variable4 /*ne*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, variable4 /*ne*/) /*Symbol::==*/)))));
582 if (UNTAG_Bool(variable5)) { /*if*/
583 variable6 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
584 variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
585 variable6 = ((static_type___MMType___select_method_t)CALL(variable6,COLOR_static_type___MMType___select_method))(variable6, variable3 /*ee*/) /*MMType::select_method*/;
586 variable5 = variable6;
587 variable7 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*eqp*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*eqp*/, variable0 /*v*/, variable1 /*cargs*/) /*MMMethod::compile_call*/;
588 variable6 = variable7;
589 variable7 = NEW_string___String___init(); /*new String*/
590 variable8 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)); /*new String*/
591 variable9 = variable8;
592 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
593 variable10 = variable6 /*eqcall*/;
594 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
595 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
596 variable12 = variable11;
597 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
598 variable2 = variable7;
599 goto return_label18;
600 }
601 variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
602 variable5 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable5,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable5) /*MMGlobalProperty::is_init*/;
603 if (UNTAG_Bool(variable5)) { /*if*/
604 variable5 = ((array___Collection___to_a_t)CALL( variable1 /*cargs*/,COLOR_array___Collection___to_a))( variable1 /*cargs*/) /*Array::to_a*/;
605 variable1 = variable5 /*cargs=*/;
606 variable5 = NEW_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)); /*new String*/
607 ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable5) /*Array::add*/;
608 }
609 variable6 = NEW_string___String___init(); /*new String*/
610 variable7 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
611 variable8 = variable7;
612 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
613 variable9 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMMethod::cname*/;
614 variable10 = variable9;
615 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
616 variable11 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
617 variable12 = variable11;
618 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
619 variable13 = TAG_Int(0);
620 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
621 variable15 = variable14;
622 if (UNTAG_Bool(variable15)) { /* and */
623 variable15 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
624 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
625 }
626 variable14 = variable15;
627 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
628 variable14 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
629 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
630 goto return_label23;
631 return_label23: while(false);
632 variable13 = variable14;
633 variable14 = variable13;
634 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
635 variable15 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
636 variable16 = variable15;
637 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
638 variable17 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
639 variable17 = ((compiling_base___MMGlobalProperty___color_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalProperty___color_id))(variable17) /*MMGlobalProperty::color_id*/;
640 variable18 = variable17;
641 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
642 variable19 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
643 variable20 = variable19;
644 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
645 variable5 = variable6;
646 variable7 = NEW_string___String___init(); /*new String*/
647 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
648 variable9 = variable8;
649 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
650 variable10 = variable5 /*m*/;
651 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
652 variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
653 variable12 = variable11;
654 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
655 variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
656 variable13 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable13) /*Array::join*/;
657 variable14 = variable13;
658 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
659 variable15 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
660 variable16 = variable15;
661 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
662 variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMMethod::local_class*/;
663 variable18 = variable17;
664 variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
665 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable18) /*String::append*/;
666 variable19 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
667 variable20 = variable19;
668 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable20) /*String::append*/;
669 variable21 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
670 variable22 = variable21;
671 variable22 = ((string___String___to_s_t)CALL(variable22,COLOR_string___Object___to_s))(variable22) /*String::to_s*/;
672 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable22) /*String::append*/;
673 variable23 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
674 variable24 = variable23;
675 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable24) /*String::append*/;
676 variable6 = variable7;
677 variable7 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
678 variable7 = TAG_Bool((variable7 == variable3 /*ee*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, variable3 /*ee*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, variable3 /*ee*/) /*Symbol::==*/)))));
679 if (UNTAG_Bool(variable7)) { /*if*/
680 variable7 = NEW_string___String___init(); /*new String*/
681 variable8 = NEW_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)); /*new String*/
682 variable9 = variable8;
683 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
684 variable10 = variable6 /*vcall*/;
685 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
686 variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
687 variable12 = variable11;
688 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
689 variable6 = variable7 /*vcall=*/;
690 if (once_bool_variable8_24) variable8 = once_value_variable8_24;
691 else {
692 variable8 = NEW_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
693 variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
694 once_value_variable8_24 = variable8;
695 once_bool_variable8_24 = true;
696 }
697 variable7 = variable8;
698 variable8 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable2 /*i*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable2 /*i*/) /*MMSrcMethod::local_class*/;
699 variable8 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable8,COLOR_abstractmetamodel___MMLocalClass___name))(variable8) /*MMLocalClass::name*/;
700 variable8 = TAG_Bool((variable8 == variable7 /*obj*/) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8, variable7 /*obj*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8, variable7 /*obj*/) /*Symbol::==*/)))));
701 if (UNTAG_Bool(variable8)) { /*if*/
702 variable8 = NEW_string___String___init(); /*new String*/
703 variable9 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
704 variable10 = variable9;
705 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
706 variable11 = variable5 /*m*/;
707 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable11) /*String::append*/;
708 variable12 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
709 variable13 = variable12;
710 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable13) /*String::append*/;
711 variable14 = ((compiling_base___MMLocalProperty___cname_t)CALL( variable2 /*i*/,COLOR_compiling_base___MMLocalProperty___cname))( variable2 /*i*/) /*MMSrcMethod::cname*/;
712 variable15 = variable14;
713 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable15) /*String::append*/;
714 variable16 = NEW_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)); /*new String*/
715 variable17 = variable16;
716 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable17) /*String::append*/;
717 variable18 = TAG_Int(0);
718 variable19 = TAG_Bool(UNTAG_Int( variable18 /*index*/)>=UNTAG_Int( TAG_Int(0)));
719 variable20 = variable19;
720 if (UNTAG_Bool(variable20)) { /* and */
721 variable20 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
722 variable20 = TAG_Bool(UNTAG_Int( variable18 /*index*/)<UNTAG_Int(variable20));
723 }
724 variable19 = variable20;
725 if (!UNTAG_Bool(variable19)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
726 variable19 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
727 variable19 = UNBOX_NativeArray(variable19)[UNTAG_Int( variable18 /*index*/)];
728 goto return_label25;
729 return_label25: while(false);
730 variable18 = variable19;
731 variable19 = variable18;
732 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable19) /*String::append*/;
733 variable20 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
734 variable21 = variable20;
735 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable21) /*String::append*/;
736 variable22 = TAG_Int(1);
737 variable23 = TAG_Bool(UNTAG_Int( variable22 /*index*/)>=UNTAG_Int( TAG_Int(0)));
738 variable24 = variable23;
739 if (UNTAG_Bool(variable24)) { /* and */
740 variable24 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
741 variable24 = TAG_Bool(UNTAG_Int( variable22 /*index*/)<UNTAG_Int(variable24));
742 }
743 variable23 = variable24;
744 if (!UNTAG_Bool(variable23)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
745 variable23 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
746 variable23 = UNBOX_NativeArray(variable23)[UNTAG_Int( variable22 /*index*/)];
747 goto return_label26;
748 return_label26: while(false);
749 variable22 = variable23;
750 variable23 = variable22;
751 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
752 variable24 = NEW_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)); /*new String*/
753 variable25 = variable24;
754 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
755 variable26 = variable6 /*vcall*/;
756 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable26) /*String::append*/;
757 variable27 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
758 variable28 = variable27;
759 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable28) /*String::append*/;
760 variable6 = variable8 /*vcall=*/;
761 }
762 variable8 = NEW_string___String___init(); /*new String*/
763 variable9 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
764 variable10 = variable9;
765 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable10) /*String::append*/;
766 variable11 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*Array::first*/;
767 variable12 = variable11;
768 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable12) /*String::append*/;
769 variable13 = NEW_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)); /*new String*/
770 variable14 = variable13;
771 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable14) /*String::append*/;
772 variable15 = TAG_Int(1);
773 variable16 = TAG_Bool(UNTAG_Int( variable15 /*index*/)>=UNTAG_Int( TAG_Int(0)));
774 variable17 = variable16;
775 if (UNTAG_Bool(variable17)) { /* and */
776 variable17 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
777 variable17 = TAG_Bool(UNTAG_Int( variable15 /*index*/)<UNTAG_Int(variable17));
778 }
779 variable16 = variable17;
780 if (!UNTAG_Bool(variable16)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
781 variable16 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
782 variable16 = UNBOX_NativeArray(variable16)[UNTAG_Int( variable15 /*index*/)];
783 goto return_label27;
784 return_label27: while(false);
785 variable15 = variable16;
786 variable16 = variable15;
787 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable16) /*String::append*/;
788 variable17 = NEW_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)); /*new String*/
789 variable18 = variable17;
790 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable18) /*String::append*/;
791 variable19 = ((abstract_collection___IndexedCollection___first_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___Collection___first))( variable1 /*cargs*/) /*Array::first*/;
792 variable20 = variable19;
793 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable20) /*String::append*/;
794 variable21 = NEW_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)); /*new String*/
795 variable22 = variable21;
796 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable22) /*String::append*/;
797 variable23 = variable6 /*vcall*/;
798 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable23) /*String::append*/;
799 variable24 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
800 variable25 = variable24;
801 ((string___String___append_t)CALL(variable8,COLOR_abstract_collection___IndexedCollection___append))(variable8, variable25) /*String::append*/;
802 variable6 = variable8 /*vcall=*/;
803 }
804 variable7 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
805 variable7 = ((static_type___MMSignature___return_type_t)CALL(variable7,COLOR_static_type___MMSignature___return_type))(variable7) /*MMSignature::return_type*/;
806 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 == NIT_NULL /*null*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, NIT_NULL /*null*/) /*MMType::==*/)))))));
807 if (UNTAG_Bool(variable7)) { /*if*/
808 variable2 = variable6 /*vcall*/;
809 goto return_label18;
810 } else { /*if*/
811 variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
812 variable7 = ((string___String_____plus_t)CALL( variable6 /*vcall*/,COLOR_string___String_____plus))( variable6 /*vcall*/, variable7) /*String::+*/;
813 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
814 variable2 = NIT_NULL /*null*/;
815 goto return_label18;
816 }
817 return_label18: while(false);
818 tracehead = trace.prev;
819 return variable2;
820 }
821 val_t compiling_methods___MMMethod___compile_constructor_call(val_t self, val_t param0, val_t param1) {
822 struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_constructor_call (src/compiling//compiling_methods.nit:237,2--243:13)"};
823 val_t variable0;
824 val_t variable1;
825 val_t variable2;
826 val_t variable3;
827 val_t variable4;
828 val_t variable5;
829 val_t variable6;
830 val_t variable7;
831 val_t variable8;
832 val_t variable9;
833 val_t variable10;
834 val_t variable11;
835 val_t variable12;
836 val_t variable13;
837 val_t variable14;
838 val_t variable15;
839 val_t variable16;
840 val_t variable17;
841 val_t variable18;
842 val_t variable19;
843 val_t variable20;
844 trace.prev = tracehead; tracehead = &trace;
845 variable0 = param0;
846 variable1 = param1;
847 variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
848 variable2 = variable3;
849 variable4 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMMethod::signature*/;
850 variable4 = ((static_type___MMSignature___recv_t)CALL(variable4,COLOR_static_type___MMSignature___recv))(variable4) /*MMSignature::recv*/;
851 variable3 = variable4;
852 variable4 = NEW_string___String___init(); /*new String*/
853 variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
854 variable6 = variable5;
855 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
856 variable7 = variable2 /*recv*/;
857 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
858 variable8 = NEW_string___String___with_native(BOX_NativeString(" = NEW_"), TAG_Int(7)); /*new String*/
859 variable9 = variable8;
860 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
861 variable10 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMMethod::global*/;
862 variable10 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable10,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable10) /*MMGlobalProperty::intro*/;
863 variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL(variable10,COLOR_compiling_base___MMLocalProperty___cname))(variable10) /*MMConcreteProperty::cname*/;
864 variable11 = variable10;
865 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
866 variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
867 variable13 = variable12;
868 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
869 variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
870 variable14 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable14) /*Array::join*/;
871 variable15 = variable14;
872 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
873 variable16 = NEW_string___String___with_native(BOX_NativeString("); /*new "), TAG_Int(9)); /*new String*/
874 variable17 = variable16;
875 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
876 variable18 = variable3 /*stype*/;
877 variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
878 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
879 variable19 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
880 variable20 = variable19;
881 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
882 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
883 variable2 = variable2 /*recv*/;
884 goto return_label28;
885 return_label28: while(false);
886 tracehead = trace.prev;
887 return variable2;
888 }
889 val_t compiling_methods___MMMethod___compile_super_call(val_t self, val_t param0, val_t param1) {
890 struct trace_t trace = {NULL, "compiling_methods::MMMethod::compile_super_call (src/compiling//compiling_methods.nit:246,2--251:14)"};
891 val_t variable0;
892 val_t variable1;
893 val_t variable2;
894 val_t variable3;
895 val_t variable4;
896 val_t variable5;
897 val_t variable6;
898 val_t variable7;
899 val_t variable8;
900 val_t variable9;
901 val_t variable10;
902 val_t variable11;
903 val_t variable12;
904 val_t variable13;
905 val_t variable14;
906 val_t variable15;
907 val_t variable16;
908 val_t variable17;
909 val_t variable18;
910 val_t variable19;
911 val_t variable20;
912 val_t variable21;
913 trace.prev = tracehead; tracehead = &trace;
914 variable0 = param0;
915 variable1 = param1;
916 variable3 = NEW_string___String___init(); /*new String*/
917 variable4 = NEW_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
918 variable5 = variable4;
919 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
920 variable6 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMMethod::cname*/;
921 variable7 = variable6;
922 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
923 variable8 = NEW_string___String___with_native(BOX_NativeString("_t)CALL("), TAG_Int(8)); /*new String*/
924 variable9 = variable8;
925 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
926 variable10 = TAG_Int(0);
927 variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
928 variable12 = variable11;
929 if (UNTAG_Bool(variable12)) { /* and */
930 variable12 = ATTR_array___AbstractArray____length( variable1 /*cargs*/) /*Array::_length*/;
931 variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
932 }
933 variable11 = variable12;
934 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
935 variable11 = ATTR_array___Array____items( variable1 /*cargs*/) /*Array::_items*/;
936 variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
937 goto return_label30;
938 return_label30: while(false);
939 variable10 = variable11;
940 variable11 = variable10;
941 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
942 variable12 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
943 variable13 = variable12;
944 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
945 variable14 = ((compiling_base___MMLocalProperty___color_id_for_super_t)CALL( self,COLOR_compiling_base___MMLocalProperty___color_id_for_super))( self) /*MMMethod::color_id_for_super*/;
946 variable15 = variable14;
947 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
948 variable16 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
949 variable17 = variable16;
950 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
951 variable2 = variable3;
952 variable4 = NEW_string___String___init(); /*new String*/
953 variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
954 variable6 = variable5;
955 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
956 variable7 = variable2 /*m*/;
957 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
958 variable8 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
959 variable9 = variable8;
960 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
961 variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
962 variable10 = ((string___Collection___join_t)CALL( variable1 /*cargs*/,COLOR_string___Collection___join))( variable1 /*cargs*/, variable10) /*Array::join*/;
963 variable11 = variable10;
964 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable11) /*String::append*/;
965 variable12 = NEW_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)); /*new String*/
966 variable13 = variable12;
967 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
968 variable14 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMMethod::local_class*/;
969 variable15 = variable14;
970 variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
971 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
972 variable16 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
973 variable17 = variable16;
974 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable17) /*String::append*/;
975 variable18 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMMethod::name*/;
976 variable19 = variable18;
977 variable19 = ((string___String___to_s_t)CALL(variable19,COLOR_string___Object___to_s))(variable19) /*String::to_s*/;
978 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable19) /*String::append*/;
979 variable20 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
980 variable21 = variable20;
981 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable21) /*String::append*/;
982 variable3 = variable4;
983 variable2 = variable3 /*vcall*/;
984 goto return_label29;
985 return_label29: while(false);
986 tracehead = trace.prev;
987 return variable2;
988 }
989 val_t compiling_methods___MMAttribute___compile_access(val_t self, val_t param0, val_t param1) {
990 struct trace_t trace = {NULL, "compiling_methods::MMAttribute::compile_access (src/compiling//compiling_methods.nit:256,2--260:65)"};
991 val_t variable0;
992 val_t variable1;
993 val_t variable2;
994 val_t variable3;
995 val_t variable4;
996 val_t variable5;
997 val_t variable6;
998 val_t variable7;
999 val_t variable8;
1000 val_t variable9;
1001 val_t variable10;
1002 val_t variable11;
1003 val_t variable12;
1004 val_t variable13;
1005 val_t variable14;
1006 val_t variable15;
1007 val_t variable16;
1008 val_t variable17;
1009 val_t variable18;
1010 val_t variable19;
1011 trace.prev = tracehead; tracehead = &trace;
1012 variable0 = param0;
1013 variable1 = param1;
1014 variable2 = NEW_string___String___init(); /*new String*/
1015 variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1016 variable4 = variable3;
1017 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
1018 variable5 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMAttribute::global*/;
1019 variable5 = ((compiling_base___MMGlobalProperty___attr_access_t)CALL(variable5,COLOR_compiling_base___MMGlobalProperty___attr_access))(variable5) /*MMGlobalProperty::attr_access*/;
1020 variable6 = variable5;
1021 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
1022 variable7 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1023 variable8 = variable7;
1024 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
1025 variable9 = variable1 /*recv*/;
1026 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable9) /*String::append*/;
1027 variable10 = NEW_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
1028 variable11 = variable10;
1029 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable11) /*String::append*/;
1030 variable12 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMAttribute::local_class*/;
1031 variable13 = variable12;
1032 variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
1033 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable13) /*String::append*/;
1034 variable14 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1035 variable15 = variable14;
1036 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable15) /*String::append*/;
1037 variable16 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMAttribute::name*/;
1038 variable17 = variable16;
1039 variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
1040 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable17) /*String::append*/;
1041 variable18 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1042 variable19 = variable18;
1043 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable19) /*String::append*/;
1044 goto return_label31;
1045 return_label31: while(false);
1046 tracehead = trace.prev;
1047 return variable2;
1048 }
1049 void compiling_methods___MMSrcLocalProperty___compile_property_to_c(val_t self, val_t param0) {
1050 struct trace_t trace = {NULL, "compiling_methods::MMSrcLocalProperty::compile_property_to_c (src/compiling//compiling_methods.nit:265,2--266:46)"};
1051 val_t variable0;
1052 trace.prev = tracehead; tracehead = &trace;
1053 variable0 = param0;
1054 tracehead = trace.prev;
1055 return;
1056 }
1057 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t self, val_t param0, val_t param1) {
1058 struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::decl_csignature (src/compiling//compiling_methods.nit:270,2--300:10)"};
1059 val_t variable0;
1060 val_t variable1;
1061 val_t variable2;
1062 val_t variable3;
1063 val_t variable4;
1064 val_t variable5;
1065 val_t variable6;
1066 val_t variable7;
1067 val_t variable8;
1068 val_t variable9;
1069 val_t variable10;
1070 val_t variable11;
1071 val_t variable12;
1072 val_t variable13;
1073 val_t variable14;
1074 val_t variable15;
1075 val_t variable16;
1076 val_t variable17;
1077 val_t variable18;
1078 val_t variable19;
1079 trace.prev = tracehead; tracehead = &trace;
1080 variable0 = param0;
1081 variable1 = param1;
1082 variable3 = NEW_array___Array___init(); /*new Array[String]*/
1083 variable2 = variable3;
1084 variable3 = NIT_NULL /*decl variable params_new*/;
1085 variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
1086 variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
1087 if (UNTAG_Bool(variable4)) { /*if*/
1088 variable4 = NEW_array___Array___init(); /*new Array[String]*/
1089 variable3 = variable4 /*params_new=*/;
1090 }
1091 variable4 = NEW_string___String___init(); /*new String*/
1092 variable5 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
1093 variable6 = variable5;
1094 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1095 variable7 = TAG_Int(0);
1096 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1097 variable9 = variable8;
1098 if (UNTAG_Bool(variable9)) { /* and */
1099 variable9 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
1100 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
1101 }
1102 variable8 = variable9;
1103 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1104 variable8 = ATTR_array___Array____items( variable1 /*args*/) /*Array::_items*/;
1105 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
1106 goto return_label34;
1107 return_label34: while(false);
1108 variable7 = variable8;
1109 variable8 = variable7;
1110 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
1111 variable9 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1112 variable10 = variable9;
1113 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
1114 ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*Array::add*/;
1115 variable4 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
1116 variable4 = ((static_type___MMSignature___arity_t)CALL(variable4,COLOR_static_type___MMSignature___arity))(variable4) /*MMSignature::arity*/;
1117 variable5 = NEW_range___Range___without_last( TAG_Int(0), variable4); /*new Range[Int]*/
1118 variable4 = variable5;
1119 variable4 = ((range___Range___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*Range::iterator*/;
1120 while (true) { /*for*/
1121 variable5 = ((abstract_collection___Iterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*Iterator::is_ok*/;
1122 if (!UNTAG_Bool(variable5)) break; /*for*/
1123 variable5 = ((abstract_collection___Iterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*Iterator::item*/;
1124 variable7 = NEW_string___String___init(); /*new String*/
1125 variable8 = NEW_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
1126 variable9 = variable8;
1127 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
1128 variable10 = TAG_Int(UNTAG_Int( variable5 /*i*/)+UNTAG_Int( TAG_Int(1)));
1129 variable11 = variable10;
1130 variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1131 variable13 = variable12;
1132 if (UNTAG_Bool(variable13)) { /* and */
1133 variable13 = ATTR_array___AbstractArray____length( variable1 /*args*/) /*Array::_length*/;
1134 variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
1135 }
1136 variable12 = variable13;
1137 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1138 variable12 = ATTR_array___Array____items( variable1 /*args*/) /*Array::_items*/;
1139 variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
1140 goto return_label36;
1141 return_label36: while(false);
1142 variable10 = variable12;
1143 variable11 = variable10;
1144 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
1145 variable12 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1146 variable13 = variable12;
1147 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
1148 variable6 = variable7;
1149 ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable6 /*p*/) /*Array::add*/;
1150 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ == NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/, NIT_NULL /*null*/) /*Array::==*/)))));
1151 if (UNTAG_Bool(variable7)) { /*if*/
1152 ((array___AbstractArray___add_t)CALL( variable3 /*params_new*/,COLOR_abstract_collection___SimpleCollection___add))( variable3 /*params_new*/, variable6 /*p*/) /*Array::add*/;
1153 }
1154 continue_35: while(0);
1155 ((abstract_collection___Iterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*Iterator::next*/;
1156 }
1157 break_35: while(0);
1158 variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___global))( self) /*MMSrcMethod::global*/;
1159 variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
1160 if (UNTAG_Bool(variable4)) { /*if*/
1161 variable4 = NEW_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)); /*new String*/
1162 ((array___AbstractArray___add_t)CALL( variable2 /*params*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*params*/, variable4) /*Array::add*/;
1163 }
1164 variable4 = NIT_NULL /*decl variable ret*/;
1165 variable5 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
1166 variable5 = ((static_type___MMSignature___return_type_t)CALL(variable5,COLOR_static_type___MMSignature___return_type))(variable5) /*MMSignature::return_type*/;
1167 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 == NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, NIT_NULL /*null*/) /*MMType::==*/)))))));
1168 if (UNTAG_Bool(variable5)) { /*if*/
1169 variable5 = NEW_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
1170 variable4 = variable5 /*ret=*/;
1171 } else { /*if*/
1172 variable5 = NEW_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
1173 variable4 = variable5 /*ret=*/;
1174 }
1175 variable6 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1176 variable6 = ((string___Collection___join_t)CALL( variable2 /*params*/,COLOR_string___Collection___join))( variable2 /*params*/, variable6) /*Array::join*/;
1177 variable5 = variable6;
1178 variable7 = NEW_string___String___init(); /*new String*/
1179 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1180 variable9 = variable8;
1181 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
1182 variable10 = variable4 /*ret*/;
1183 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
1184 variable11 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
1185 variable12 = variable11;
1186 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
1187 variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
1188 variable14 = variable13;
1189 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
1190 variable15 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1191 variable16 = variable15;
1192 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
1193 variable17 = variable5 /*p*/;
1194 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
1195 variable18 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1196 variable19 = variable18;
1197 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
1198 variable6 = variable7;
1199 variable7 = NEW_string___String___init(); /*new String*/
1200 variable8 = NEW_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
1201 variable9 = variable8;
1202 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
1203 variable10 = variable4 /*ret*/;
1204 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
1205 variable11 = NEW_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
1206 variable12 = variable11;
1207 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
1208 variable13 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
1209 variable14 = variable13;
1210 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
1211 variable15 = NEW_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
1212 variable16 = variable15;
1213 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
1214 variable17 = variable5 /*p*/;
1215 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
1216 variable18 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
1217 variable19 = variable18;
1218 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable19) /*String::append*/;
1219 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
1220 variable7 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1221 variable7 = ((string___String_____plus_t)CALL( variable6 /*s*/,COLOR_string___String_____plus))( variable6 /*s*/, variable7) /*String::+*/;
1222 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
1223 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable3 /*params_new*/ == NIT_NULL /*null*/) || (( variable3 /*params_new*/ != NIT_NULL) && UNTAG_Bool(((array___AbstractArray_____eqeq_t)CALL( variable3 /*params_new*/,COLOR_kernel___Object_____eqeq))( variable3 /*params_new*/, NIT_NULL /*null*/) /*Array::==*/)))));
1224 if (UNTAG_Bool(variable7)) { /*if*/
1225 variable7 = NEW_string___String___init(); /*new String*/
1226 variable8 = NEW_string___String___with_native(BOX_NativeString("val_t NEW_"), TAG_Int(10)); /*new String*/
1227 variable9 = variable8;
1228 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
1229 variable10 = ((compiling_base___MMLocalProperty___cname_t)CALL( self,COLOR_compiling_base___MMLocalProperty___cname))( self) /*MMSrcMethod::cname*/;
1230 variable11 = variable10;
1231 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable11) /*String::append*/;
1232 variable12 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1233 variable13 = variable12;
1234 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable13) /*String::append*/;
1235 variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1236 variable14 = ((string___Collection___join_t)CALL( variable3 /*params_new*/,COLOR_string___Collection___join))( variable3 /*params_new*/, variable14) /*Array::join*/;
1237 variable15 = variable14;
1238 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable15) /*String::append*/;
1239 variable16 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
1240 variable17 = variable16;
1241 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable17) /*String::append*/;
1242 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable7) /*CompilerVisitor::add_decl*/;
1243 }
1244 variable2 = variable6 /*s*/;
1245 goto return_label33;
1246 return_label33: while(false);
1247 tracehead = trace.prev;
1248 return variable2;
1249 }
1250 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t self, val_t param0) {
1251 struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::compile_property_to_c (src/compiling//compiling_methods.nit:303,2--331:17)"};
1252 val_t variable0;
1253 val_t variable1;
1254 val_t variable2;
1255 val_t variable3;
1256 val_t variable4;
1257 val_t variable5;
1258 val_t variable6;
1259 val_t variable7;
1260 val_t variable8;
1261 val_t variable9;
1262 val_t variable10;
1263 val_t variable11;
1264 val_t variable12;
1265 val_t variable13;
1266 val_t variable14;
1267 val_t variable15;
1268 val_t variable16;
1269 val_t variable17;
1270 val_t variable18;
1271 val_t variable19;
1272 val_t variable20;
1273 val_t variable21;
1274 val_t variable22;
1275 trace.prev = tracehead; tracehead = &trace;
1276 variable0 = param0;
1277 ((compiling_methods___CompilerVisitor___clear_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___clear))( variable0 /*v*/) /*CompilerVisitor::clear*/;
1278 variable2 = NEW_array___Array___init(); /*new Array[String]*/
1279 variable1 = variable2;
1280 variable2 = NEW_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)); /*new String*/
1281 ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable2) /*Array::add*/;
1282 variable2 = ((genericity___MMLocalProperty___signature_t)CALL( self,COLOR_static_type___MMLocalProperty___signature))( self) /*MMSrcMethod::signature*/;
1283 variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
1284 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable2); /*new Range[Int]*/
1285 variable2 = variable3;
1286 variable2 = ((range___Range___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Range::iterator*/;
1287 while (true) { /*for*/
1288 variable3 = ((abstract_collection___Iterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*Iterator::is_ok*/;
1289 if (!UNTAG_Bool(variable3)) break; /*for*/
1290 variable3 = ((abstract_collection___Iterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*Iterator::item*/;
1291 variable4 = NEW_string___String___init(); /*new String*/
1292 variable5 = NEW_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
1293 variable6 = variable5;
1294 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1295 variable7 = variable3 /*i*/;
1296 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1297 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1298 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1299 variable9 = variable8;
1300 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1301 ((array___AbstractArray___add_t)CALL( variable1 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*args*/, variable4) /*Array::add*/;
1302 continue_38: while(0);
1303 ((abstract_collection___Iterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*Iterator::next*/;
1304 }
1305 break_38: while(0);
1306 variable3 = ((compiling_methods___MMSrcMethod___decl_csignature_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___decl_csignature))( self, variable0 /*v*/, variable1 /*args*/) /*MMSrcMethod::decl_csignature*/;
1307 variable2 = variable3;
1308 variable3 = NEW_string___String___init(); /*new String*/
1309 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1310 variable5 = variable4;
1311 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
1312 variable6 = variable2 /*cs*/;
1313 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
1314 variable7 = NEW_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
1315 variable8 = variable7;
1316 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
1317 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
1318 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
1319 variable4 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
1320 variable3 = variable4;
1321 variable4 = NEW_compiling_base___CContext___init(); /*new CContext*/
1322 ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::ctx=*/;
1323 variable4 = NEW_string___String___init(); /*new String*/
1324 variable5 = NEW_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, \""), TAG_Int(31)); /*new String*/
1325 variable6 = variable5;
1326 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1327 variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___module))( self) /*MMSrcMethod::module*/;
1328 variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
1329 variable8 = variable7;
1330 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1331 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
1332 variable9 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1333 variable10 = variable9;
1334 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
1335 variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___local_class))( self) /*MMSrcMethod::local_class*/;
1336 variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalClass___name))(variable11) /*MMLocalClass::name*/;
1337 variable12 = variable11;
1338 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
1339 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
1340 variable13 = NEW_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1341 variable14 = variable13;
1342 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
1343 variable15 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( self,COLOR_abstractmetamodel___MMLocalProperty___name))( self) /*MMSrcMethod::name*/;
1344 variable16 = variable15;
1345 variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
1346 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
1347 variable17 = NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
1348 variable18 = variable17;
1349 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
1350 variable19 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMSrcMethod::node*/;
1351 variable19 = ((parser_prod___Prod___locate_t)CALL(variable19,COLOR_parser_prod___PNode___locate))(variable19) /*PPropdef::locate*/;
1352 variable20 = variable19;
1353 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
1354 variable21 = NEW_string___String___with_native(BOX_NativeString(")\"};"), TAG_Int(4)); /*new String*/
1355 variable22 = variable21;
1356 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
1357 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable4) /*CompilerVisitor::add_decl*/;
1358 variable4 = NEW_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
1359 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
1360 variable5 = ((compiling_methods___MMSrcMethod___do_compile_inside_t)CALL( self,COLOR_compiling_methods___MMSrcMethod___do_compile_inside))( self, variable0 /*v*/, variable1 /*args*/) /*MMSrcMethod::do_compile_inside*/;
1361 variable4 = variable5;
1362 variable5 = NEW_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
1363 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
1364 variable5 = TAG_Bool(( variable4 /*s*/ == NIT_NULL /*null*/) || (( variable4 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable4 /*s*/,COLOR_kernel___Object_____eqeq))( variable4 /*s*/, NIT_NULL /*null*/) /*String::==*/)));
1365 if (UNTAG_Bool(variable5)) { /*if*/
1366 variable5 = NEW_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
1367 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
1368 } else { /*if*/
1369 variable5 = NEW_string___String___init(); /*new String*/
1370 variable6 = NEW_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
1371 variable7 = variable6;
1372 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
1373 variable8 = variable4 /*s*/;
1374 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
1375 variable9 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1376 variable10 = variable9;
1377 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
1378 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
1379 }
1380 variable5 = ((compiling_base___CompilerVisitor___ctx_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx))( variable0 /*v*/) /*CompilerVisitor::ctx*/;
1381 ((compiling_base___CContext___append_t)CALL( variable3 /*ctx_old*/,COLOR_compiling_base___CContext___append))( variable3 /*ctx_old*/, variable5) /*CContext::append*/;
1382 ((compiling_base___CompilerVisitor___ctx__eq_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___ctx__eq))( variable0 /*v*/, variable3 /*ctx_old*/) /*CompilerVisitor::ctx=*/;
1383 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
1384 variable5 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1385 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable5) /*CompilerVisitor::add_instr*/;
1386 tracehead = trace.prev;
1387 return;
1388 }
1389 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
1390 struct trace_t trace = {NULL, "compiling_methods::MMSrcMethod::do_compile_inside (src/compiling//compiling_methods.nit:334,2--335:74)"};
1391 trace.prev = tracehead; tracehead = &trace;
1392 fprintf(stderr, "Deferred method do_compile_inside called (src/compiling//compiling_methods.nit:334,2)\n");
1393 nit_exit(1);
1394 tracehead = trace.prev;
1395 return NIT_NULL;
1396 }
1397 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
1398 struct trace_t trace = {NULL, "compiling_methods::MMReadImplementationMethod::do_compile_inside (src/compiling//compiling_methods.nit:339,2--341:45)"};
1399 val_t variable0;
1400 val_t variable1;
1401 val_t variable2;
1402 val_t variable3;
1403 val_t variable4;
1404 val_t variable5;
1405 trace.prev = tracehead; tracehead = &trace;
1406 variable0 = param0;
1407 variable1 = param1;
1408 variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMReadImplementationMethod::node*/;
1409 variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
1410 variable3 = TAG_Int(0);
1411 variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1412 variable5 = variable4;
1413 if (UNTAG_Bool(variable5)) { /* and */
1414 variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
1415 variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
1416 }
1417 variable4 = variable5;
1418 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1419 variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
1420 variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
1421 goto return_label40;
1422 return_label40: while(false);
1423 variable3 = variable4;
1424 variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2, variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
1425 goto return_label39;
1426 return_label39: while(false);
1427 tracehead = trace.prev;
1428 return variable2;
1429 }
1430 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
1431 struct trace_t trace = {NULL, "compiling_methods::MMWriteImplementationMethod::do_compile_inside (src/compiling//compiling_methods.nit:346,2--349:13)"};
1432 val_t variable0;
1433 val_t variable1;
1434 val_t variable2;
1435 val_t variable3;
1436 val_t variable4;
1437 val_t variable5;
1438 trace.prev = tracehead; tracehead = &trace;
1439 variable0 = param0;
1440 variable1 = param1;
1441 variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMWriteImplementationMethod::node*/;
1442 variable2 = ((mmbuilder___AAttrPropdef___prop_t)CALL(variable2,COLOR_syntax_base___AAttrPropdef___prop))(variable2) /*AAttrPropdef::prop*/;
1443 variable3 = TAG_Int(0);
1444 variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1445 variable5 = variable4;
1446 if (UNTAG_Bool(variable5)) { /* and */
1447 variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
1448 variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
1449 }
1450 variable4 = variable5;
1451 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1452 variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
1453 variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
1454 goto return_label42;
1455 return_label42: while(false);
1456 variable3 = variable4;
1457 variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2, variable0 /*v*/, variable3) /*MMSrcAttribute::compile_access*/;
1458 variable3 = TAG_Int(1);
1459 variable4 = TAG_Bool(UNTAG_Int( variable3 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1460 variable5 = variable4;
1461 if (UNTAG_Bool(variable5)) { /* and */
1462 variable5 = ATTR_array___AbstractArray____length( variable1 /*params*/) /*Array::_length*/;
1463 variable5 = TAG_Bool(UNTAG_Int( variable3 /*index*/)<UNTAG_Int(variable5));
1464 }
1465 variable4 = variable5;
1466 if (!UNTAG_Bool(variable4)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1467 variable4 = ATTR_array___Array____items( variable1 /*params*/) /*Array::_items*/;
1468 variable4 = UNBOX_NativeArray(variable4)[UNTAG_Int( variable3 /*index*/)];
1469 goto return_label43;
1470 return_label43: while(false);
1471 variable3 = variable4;
1472 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable3) /*CompilerVisitor::add_assignment*/;
1473 variable2 = NIT_NULL /*null*/;
1474 goto return_label41;
1475 return_label41: while(false);
1476 tracehead = trace.prev;
1477 return variable2;
1478 }
1479 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
1480 struct trace_t trace = {NULL, "compiling_methods::MMMethSrcMethod::do_compile_inside (src/compiling//compiling_methods.nit:354,2--356:47)"};
1481 val_t variable0;
1482 val_t variable1;
1483 val_t variable2;
1484 trace.prev = tracehead; tracehead = &trace;
1485 variable0 = param0;
1486 variable1 = param1;
1487 variable2 = ((syntax_base___MMSrcLocalProperty___node_t)CALL( self,COLOR_syntax_base___MMSrcLocalProperty___node))( self) /*MMMethSrcMethod::node*/;
1488 variable2 = ((compiling_methods___AMethPropdef___do_compile_inside_t)CALL(variable2,COLOR_compiling_methods___AMethPropdef___do_compile_inside))(variable2, variable0 /*v*/, self, variable1 /*params*/) /*AMethPropdef::do_compile_inside*/;
1489 goto return_label44;
1490 return_label44: while(false);
1491 tracehead = trace.prev;
1492 return variable2;
1493 }
1494 val_t compiling_methods___MMType___compile_cast(val_t self, val_t param0, val_t param1) {
1495 struct trace_t trace = {NULL, "compiling_methods::MMType::compile_cast (src/compiling//compiling_methods.nit:361,2--367:99)"};
1496 val_t variable0;
1497 val_t variable1;
1498 val_t variable2;
1499 val_t variable3;
1500 val_t variable4;
1501 val_t variable5;
1502 val_t variable6;
1503 val_t variable7;
1504 val_t variable8;
1505 val_t variable9;
1506 val_t variable10;
1507 val_t variable11;
1508 val_t variable12;
1509 val_t variable13;
1510 val_t variable14;
1511 val_t variable15;
1512 val_t variable16;
1513 val_t variable17;
1514 val_t variable18;
1515 val_t variable19;
1516 val_t variable20;
1517 val_t variable21;
1518 val_t variable22;
1519 trace.prev = tracehead; tracehead = &trace;
1520 variable0 = param0;
1521 variable1 = param1;
1522 variable3 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
1523 variable3 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalClass___global))(variable3) /*MMLocalClass::global*/;
1524 variable2 = variable3;
1525 variable3 = NEW_string___String___init(); /*new String*/
1526 variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
1527 variable5 = variable4;
1528 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
1529 variable6 = variable1 /*recv*/;
1530 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
1531 variable7 = NEW_string___String___with_native(BOX_NativeString("==NIT_NULL) || VAL_ISA("), TAG_Int(23)); /*new String*/
1532 variable8 = variable7;
1533 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
1534 variable9 = variable1 /*recv*/;
1535 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
1536 variable10 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1537 variable11 = variable10;
1538 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
1539 variable12 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable2 /*g*/) /*MMGlobalClass::color_id*/;
1540 variable13 = variable12;
1541 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
1542 variable14 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1543 variable15 = variable14;
1544 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
1545 variable16 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable2 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable2 /*g*/) /*MMGlobalClass::id_id*/;
1546 variable17 = variable16;
1547 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
1548 variable18 = NEW_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)); /*new String*/
1549 variable19 = variable18;
1550 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable19) /*String::append*/;
1551 variable20 = self;
1552 variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
1553 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
1554 variable21 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1555 variable22 = variable21;
1556 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable22) /*String::append*/;
1557 variable2 = variable3;
1558 goto return_label45;
1559 return_label45: while(false);
1560 tracehead = trace.prev;
1561 return variable2;
1562 }
1563 void compiling_methods___MMType___compile_type_check(val_t self, val_t param0, val_t param1, val_t param2) {
1564 struct trace_t trace = {NULL, "compiling_methods::MMType::compile_type_check (src/compiling//compiling_methods.nit:370,2--375:171)"};
1565 val_t variable0;
1566 val_t variable1;
1567 val_t variable2;
1568 val_t variable3;
1569 val_t variable4;
1570 val_t variable5;
1571 val_t variable6;
1572 val_t variable7;
1573 val_t variable8;
1574 val_t variable9;
1575 val_t variable10;
1576 val_t variable11;
1577 val_t variable12;
1578 val_t variable13;
1579 val_t variable14;
1580 val_t variable15;
1581 val_t variable16;
1582 val_t variable17;
1583 val_t variable18;
1584 val_t variable19;
1585 val_t variable20;
1586 val_t variable21;
1587 val_t variable22;
1588 val_t variable23;
1589 val_t variable24;
1590 val_t variable25;
1591 val_t variable26;
1592 val_t variable27;
1593 trace.prev = tracehead; tracehead = &trace;
1594 variable0 = param0;
1595 variable1 = param1;
1596 variable2 = param2;
1597 variable4 = ((static_type___MMType___local_class_t)CALL( self,COLOR_static_type___MMType___local_class))( self) /*MMType::local_class*/;
1598 variable4 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___global))(variable4) /*MMLocalClass::global*/;
1599 variable3 = variable4;
1600 variable4 = NEW_string___String___init(); /*new String*/
1601 variable5 = NEW_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)); /*new String*/
1602 variable6 = variable5;
1603 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1604 variable7 = variable1 /*recv*/;
1605 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
1606 variable8 = NEW_string___String___with_native(BOX_NativeString("!=NIT_NULL) && !VAL_ISA("), TAG_Int(24)); /*new String*/
1607 variable9 = variable8;
1608 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
1609 variable10 = variable1 /*recv*/;
1610 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
1611 variable11 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1612 variable12 = variable11;
1613 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
1614 variable13 = ((compiling_base___MMGlobalClass___color_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___color_id))( variable3 /*g*/) /*MMGlobalClass::color_id*/;
1615 variable14 = variable13;
1616 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
1617 variable15 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1618 variable16 = variable15;
1619 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
1620 variable17 = ((compiling_base___MMGlobalClass___id_id_t)CALL( variable3 /*g*/,COLOR_compiling_base___MMGlobalClass___id_id))( variable3 /*g*/) /*MMGlobalClass::id_id*/;
1621 variable18 = variable17;
1622 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
1623 variable19 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled at "), TAG_Int(38)); /*new String*/
1624 variable20 = variable19;
1625 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
1626 variable21 = ((parser_prod___PNode___locate_t)CALL( variable2 /*n*/,COLOR_parser_prod___PNode___locate))( variable2 /*n*/) /*PNode::locate*/;
1627 variable22 = variable21;
1628 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
1629 variable23 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1); } /*cast "), TAG_Int(28)); /*new String*/
1630 variable24 = variable23;
1631 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
1632 variable25 = self;
1633 variable25 = ((string___String___to_s_t)CALL(variable25,COLOR_string___Object___to_s))(variable25) /*String::to_s*/;
1634 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable25) /*String::append*/;
1635 variable26 = NEW_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
1636 variable27 = variable26;
1637 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable27) /*String::append*/;
1638 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
1639 tracehead = trace.prev;
1640 return;
1641 }
1642 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
1643 struct trace_t trace = {NULL, "compiling_methods::AMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:382,2--383:95)"};
1644 trace.prev = tracehead; tracehead = &trace;
1645 fprintf(stderr, "Deferred method do_compile_inside called (src/compiling//compiling_methods.nit:382,2)\n");
1646 nit_exit(1);
1647 tracehead = trace.prev;
1648 return NIT_NULL;
1649 }
1650 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
1651 struct trace_t trace = {NULL, "compiling_methods::AConcreteMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:387,2--446:12)"};
1652 val_t variable0;
1653 val_t variable1;
1654 val_t variable2;
1655 val_t variable3;
1656 val_t variable4;
1657 val_t variable5;
1658 val_t variable6;
1659 val_t variable7;
1660 val_t variable8;
1661 val_t variable9;
1662 val_t variable10;
1663 val_t variable11;
1664 val_t variable12;
1665 val_t variable13;
1666 val_t variable14;
1667 val_t variable15;
1668 val_t variable16;
1669 val_t variable17;
1670 val_t variable18;
1671 val_t variable19;
1672 val_t variable20;
1673 trace.prev = tracehead; tracehead = &trace;
1674 variable0 = param0;
1675 variable1 = param1;
1676 variable2 = param2;
1677 variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___global))( variable1 /*method*/) /*MMSrcMethod::global*/;
1678 variable4 = ((abstractmetamodel___MMGlobalProperty___intro_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___intro))(variable4) /*MMGlobalProperty::intro*/;
1679 variable3 = variable4;
1680 variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable3 /*orig_meth*/,COLOR_static_type___MMLocalProperty___signature))( variable3 /*orig_meth*/) /*MMLocalProperty::signature*/;
1681 variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
1682 variable6 = ((static_type___MMSignature___recv_t)CALL(variable6,COLOR_static_type___MMSignature___recv))(variable6) /*MMSignature::recv*/;
1683 variable5 = ((vararg___MMSignature___adaptation_to_t)CALL(variable5,COLOR_genericity___MMSignature___adaptation_to))(variable5, variable6) /*MMSignature::adaptation_to*/;
1684 variable4 = variable5;
1685 variable5 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
1686 variable5 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable5 == NIT_NULL /*null*/) || ((variable5 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable5, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable5,COLOR_kernel___Object_____eqeq))(variable5, NIT_NULL /*null*/) /*PSignature::==*/)))))));
1687 if (UNTAG_Bool(variable5)) { /*if*/
1688 variable6 = ((parser_nodes___AMethPropdef___n_signature_t)CALL( self,COLOR_parser_nodes___AMethPropdef___n_signature))( self) /*AConcreteMethPropdef::n_signature*/;
1689 variable5 = variable6;
1690 variable6 = TAG_Bool(( variable5 /*sig*/==NIT_NULL) || VAL_ISA( variable5 /*sig*/, COLOR_ASignature, ID_ASignature)) /*cast ASignature*/;
1691 if (!UNTAG_Bool(variable6)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:393,4--28\n"); nit_exit(1);}
1692 variable6 = ((parser_nodes___ASignature___n_params_t)CALL( variable5 /*sig*/,COLOR_parser_nodes___ASignature___n_params))( variable5 /*sig*/) /*ASignature::n_params*/;
1693 variable6 = ((list___List___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*List::iterator*/;
1694 while (true) { /*for*/
1695 variable7 = ((list___ListIterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*ListIterator::is_ok*/;
1696 if (!UNTAG_Bool(variable7)) break; /*for*/
1697 variable7 = ((list___ListIterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*ListIterator::item*/;
1698 variable9 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
1699 variable8 = variable9;
1700 variable9 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
1701 variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
1702 ((abstract_collection___Map_____braeq_t)CALL(variable9,COLOR_abstract_collection___Map_____braeq))(variable9, variable10, variable8 /*cname*/) /*Map::[]=*/;
1703 variable10 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
1704 variable10 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*orig_sig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*orig_sig*/, variable10) /*MMSignature::[]*/;
1705 variable9 = variable10;
1706 variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
1707 variable10 = ((syntax_base___Variable___stype_t)CALL(variable10,COLOR_syntax_base___Variable___stype))(variable10) /*Variable::stype*/;
1708 variable10 = ((static_type___MMType_____l_t)CALL( variable9 /*orig_type*/,COLOR_static_type___MMType_____l))( variable9 /*orig_type*/, variable10) /*MMType::<*/;
1709 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable10)))) { /*if*/
1710 variable10 = NEW_string___String___init(); /*new String*/
1711 variable11 = NEW_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)); /*new String*/
1712 variable12 = variable11;
1713 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1714 variable13 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
1715 variable13 = ((syntax_base___Variable___stype_t)CALL(variable13,COLOR_syntax_base___Variable___stype))(variable13) /*Variable::stype*/;
1716 variable14 = variable13;
1717 variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
1718 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
1719 variable15 = NEW_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)); /*new String*/
1720 variable16 = variable15;
1721 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
1722 variable17 = variable9 /*orig_type*/;
1723 variable17 = ((string___String___to_s_t)CALL(variable17,COLOR_string___Object___to_s))(variable17) /*String::to_s*/;
1724 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable17) /*String::append*/;
1725 variable18 = NEW_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
1726 variable19 = variable18;
1727 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable19) /*String::append*/;
1728 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
1729 variable10 = ((mmbuilder___PParam___variable_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___variable))( variable7 /*ap*/) /*PParam::variable*/;
1730 variable10 = ((syntax_base___Variable___stype_t)CALL(variable10,COLOR_syntax_base___Variable___stype))(variable10) /*Variable::stype*/;
1731 variable11 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
1732 variable11 = TAG_Int(UNTAG_Int(variable11)+UNTAG_Int( TAG_Int(1)));
1733 variable12 = variable11;
1734 variable13 = TAG_Bool(UNTAG_Int( variable12 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1735 variable14 = variable13;
1736 if (UNTAG_Bool(variable14)) { /* and */
1737 variable14 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
1738 variable14 = TAG_Bool(UNTAG_Int( variable12 /*index*/)<UNTAG_Int(variable14));
1739 }
1740 variable13 = variable14;
1741 if (!UNTAG_Bool(variable13)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1742 variable13 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
1743 variable13 = UNBOX_NativeArray(variable13)[UNTAG_Int( variable12 /*index*/)];
1744 goto return_label49;
1745 return_label49: while(false);
1746 variable11 = variable13;
1747 ((compiling_methods___MMType___compile_type_check_t)CALL(variable10,COLOR_compiling_methods___MMType___compile_type_check))(variable10, variable0 /*v*/, variable11, variable7 /*ap*/) /*MMType::compile_type_check*/;
1748 }
1749 variable10 = ((mmbuilder___PParam___position_t)CALL( variable7 /*ap*/,COLOR_syntax_base___PParam___position))( variable7 /*ap*/) /*PParam::position*/;
1750 variable10 = TAG_Int(UNTAG_Int(variable10)+UNTAG_Int( TAG_Int(1)));
1751 variable11 = variable10;
1752 variable12 = TAG_Bool(UNTAG_Int( variable11 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1753 variable13 = variable12;
1754 if (UNTAG_Bool(variable13)) { /* and */
1755 variable13 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
1756 variable13 = TAG_Bool(UNTAG_Int( variable11 /*index*/)<UNTAG_Int(variable13));
1757 }
1758 variable12 = variable13;
1759 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1760 variable12 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
1761 variable12 = UNBOX_NativeArray(variable12)[UNTAG_Int( variable11 /*index*/)];
1762 goto return_label50;
1763 return_label50: while(false);
1764 variable10 = variable12;
1765 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable8 /*cname*/, variable10) /*CompilerVisitor::add_assignment*/;
1766 continue_48: while(0);
1767 ((list___ListIterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*ListIterator::next*/;
1768 }
1769 break_48: while(0);
1770 }
1771 variable6 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
1772 variable5 = variable6;
1773 variable7 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
1774 variable6 = variable7;
1775 variable8 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
1776 variable7 = variable8;
1777 variable9 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
1778 variable8 = variable9;
1779 variable9 = NIT_NULL /*decl variable itpos*/;
1780 variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
1781 if (UNTAG_Bool(variable10)) { /*if*/
1782 variable10 = NEW_string___String___init(); /*new String*/
1783 variable11 = NEW_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)); /*new String*/
1784 variable12 = variable11;
1785 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1786 variable13 = TAG_Int(0);
1787 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
1788 variable15 = variable14;
1789 if (UNTAG_Bool(variable15)) { /* and */
1790 variable15 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
1791 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
1792 }
1793 variable14 = variable15;
1794 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
1795 variable14 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
1796 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
1797 goto return_label51;
1798 return_label51: while(false);
1799 variable13 = variable14;
1800 variable14 = variable13;
1801 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
1802 variable15 = NEW_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)); /*new String*/
1803 variable16 = variable15;
1804 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
1805 variable17 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
1806 variable17 = ((abstractmetamodel___MMLocalClass___global_t)CALL(variable17,COLOR_abstractmetamodel___MMLocalClass___global))(variable17) /*MMLocalClass::global*/;
1807 variable17 = ((compiling_base___MMGlobalClass___init_table_pos_id_t)CALL(variable17,COLOR_compiling_base___MMGlobalClass___init_table_pos_id))(variable17) /*MMGlobalClass::init_table_pos_id*/;
1808 variable18 = variable17;
1809 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable18) /*String::append*/;
1810 variable19 = NEW_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)); /*new String*/
1811 variable20 = variable19;
1812 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable20) /*String::append*/;
1813 variable9 = variable10 /*itpos=*/;
1814 variable10 = NEW_string___String___init(); /*new String*/
1815 variable11 = NEW_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)); /*new String*/
1816 variable12 = variable11;
1817 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1818 variable13 = variable9 /*itpos*/;
1819 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
1820 variable14 = NEW_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)); /*new String*/
1821 variable15 = variable14;
1822 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
1823 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
1824 }
1825 ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/, variable2 /*params*/) /*CompilerVisitor::method_params=*/;
1826 ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/, TAG_Bool(false)) /*CompilerVisitor::has_return=*/;
1827 variable10 = NEW_string___String___init(); /*new String*/
1828 variable11 = NEW_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)); /*new String*/
1829 variable12 = variable11;
1830 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1831 variable13 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
1832 variable14 = variable13;
1833 variable14 = ((string___String___to_s_t)CALL(variable14,COLOR_string___Object___to_s))(variable14) /*String::to_s*/;
1834 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
1835 variable15 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1836 variable16 = variable15;
1837 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
1838 ((compiling_methods___CompilerVisitor___return_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_label=*/;
1839 variable10 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
1840 variable10 = ((static_type___MMSignature___return_type_t)CALL(variable10,COLOR_static_type___MMSignature___return_type))(variable10) /*MMSignature::return_type*/;
1841 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 == NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10, NIT_NULL /*null*/) /*MMType::==*/)))))));
1842 if (UNTAG_Bool(variable10)) { /*if*/
1843 variable10 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
1844 ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/, variable10) /*CompilerVisitor::return_value=*/;
1845 variable10 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
1846 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable10) /*CompilerVisitor::free_var*/;
1847 } else { /*if*/
1848 ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/, NIT_NULL /*null*/) /*CompilerVisitor::return_value=*/;
1849 }
1850 variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
1851 if (UNTAG_Bool(variable10)) { /*if*/
1852 ((compiling_methods___CompilerVisitor___method__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method__eq))( variable0 /*v*/, variable1 /*method*/) /*CompilerVisitor::method=*/;
1853 ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/, NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
1854 }
1855 variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
1856 variable10 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable10 == NIT_NULL /*null*/) || ((variable10 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable10, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable10,COLOR_kernel___Object_____eqeq))(variable10, NIT_NULL /*null*/) /*PExpr::==*/)))))));
1857 if (UNTAG_Bool(variable10)) { /*if*/
1858 variable10 = ((parser_nodes___AConcreteMethPropdef___n_block_t)CALL( self,COLOR_parser_nodes___AConcreteMethPropdef___n_block))( self) /*AConcreteMethPropdef::n_block*/;
1859 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable10) /*CompilerVisitor::compile_stmt*/;
1860 }
1861 variable10 = ((compiling_methods___CompilerVisitor___has_return_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return))( variable0 /*v*/) /*CompilerVisitor::has_return*/;
1862 if (UNTAG_Bool(variable10)) { /*if*/
1863 variable10 = NEW_string___String___init(); /*new String*/
1864 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1865 variable12 = variable11;
1866 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1867 variable13 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
1868 variable14 = variable13;
1869 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable14) /*String::append*/;
1870 variable15 = NEW_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
1871 variable16 = variable15;
1872 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable16) /*String::append*/;
1873 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
1874 }
1875 variable10 = TAG_Bool(( self==NIT_NULL) || VAL_ISA( self, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
1876 if (UNTAG_Bool(variable10)) { /*if*/
1877 variable10 = NEW_string___String___init(); /*new String*/
1878 variable11 = NEW_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)); /*new String*/
1879 variable12 = variable11;
1880 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable12) /*String::append*/;
1881 variable13 = variable9 /*itpos*/;
1882 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable13) /*String::append*/;
1883 variable14 = NEW_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)); /*new String*/
1884 variable15 = variable14;
1885 ((string___String___append_t)CALL(variable10,COLOR_abstract_collection___IndexedCollection___append))(variable10, variable15) /*String::append*/;
1886 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable10) /*CompilerVisitor::add_instr*/;
1887 }
1888 variable11 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
1889 variable10 = variable11;
1890 ((compiling_methods___CompilerVisitor___method_params__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params__eq))( variable0 /*v*/, variable5 /*old_method_params*/) /*CompilerVisitor::method_params=*/;
1891 ((compiling_methods___CompilerVisitor___return_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label__eq))( variable0 /*v*/, variable6 /*old_return_label*/) /*CompilerVisitor::return_label=*/;
1892 ((compiling_methods___CompilerVisitor___return_value__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value__eq))( variable0 /*v*/, variable7 /*old_return_value*/) /*CompilerVisitor::return_value=*/;
1893 ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/, variable8 /*old_has_return*/) /*CompilerVisitor::has_return=*/;
1894 variable3 = variable10 /*ret*/;
1895 goto return_label47;
1896 return_label47: while(false);
1897 tracehead = trace.prev;
1898 return variable3;
1899 }
1900 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
1901 struct trace_t trace = {NULL, "compiling_methods::ADeferredMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:451,2--458:14)"};
1902 val_t variable0;
1903 val_t variable1;
1904 val_t variable2;
1905 val_t variable3;
1906 val_t variable4;
1907 val_t variable5;
1908 val_t variable6;
1909 val_t variable7;
1910 val_t variable8;
1911 val_t variable9;
1912 val_t variable10;
1913 val_t variable11;
1914 val_t variable12;
1915 val_t variable13;
1916 trace.prev = tracehead; tracehead = &trace;
1917 variable0 = param0;
1918 variable1 = param1;
1919 variable2 = param2;
1920 variable3 = NEW_string___String___init(); /*new String*/
1921 variable4 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method "), TAG_Int(33)); /*new String*/
1922 variable5 = variable4;
1923 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
1924 variable6 = ((mmbuilder___AMethPropdef___name_t)CALL( self,COLOR_mmbuilder___AMethPropdef___name))( self) /*ADeferredMethPropdef::name*/;
1925 variable7 = variable6;
1926 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
1927 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
1928 variable8 = NEW_string___String___with_native(BOX_NativeString(" called ("), TAG_Int(9)); /*new String*/
1929 variable9 = variable8;
1930 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
1931 variable10 = ((parser_prod___Prod___first_token_t)CALL( self,COLOR_parser_prod___Prod___first_token))( self) /*ADeferredMethPropdef::first_token*/;
1932 variable10 = ((parser_prod___Token___locate_t)CALL(variable10,COLOR_parser_prod___PNode___locate))(variable10) /*Token::locate*/;
1933 variable11 = variable10;
1934 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
1935 variable12 = NEW_string___String___with_native(BOX_NativeString(")\\n\");"), TAG_Int(6)); /*new String*/
1936 variable13 = variable12;
1937 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
1938 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
1939 variable3 = NEW_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)); /*new String*/
1940 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
1941 variable3 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
1942 variable3 = ((static_type___MMSignature___return_type_t)CALL(variable3,COLOR_static_type___MMSignature___return_type))(variable3) /*MMSignature::return_type*/;
1943 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 == NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3, NIT_NULL /*null*/) /*MMType::==*/)))))));
1944 if (UNTAG_Bool(variable3)) { /*if*/
1945 variable3 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
1946 goto return_label52;
1947 } else { /*if*/
1948 variable3 = NIT_NULL /*null*/;
1949 goto return_label52;
1950 }
1951 return_label52: while(false);
1952 tracehead = trace.prev;
1953 return variable3;
1954 }
1955 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
1956 struct trace_t trace = {NULL, "compiling_methods::AExternMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:464,2--485:14)"};
1957 val_t variable0;
1958 val_t variable1;
1959 val_t variable2;
1960 val_t variable3;
1961 val_t variable4;
1962 val_t variable5;
1963 val_t variable6;
1964 val_t variable7;
1965 val_t variable8;
1966 val_t variable9;
1967 val_t variable10;
1968 val_t variable11;
1969 val_t variable12;
1970 val_t variable13;
1971 val_t variable14;
1972 val_t variable15;
1973 val_t variable16;
1974 val_t variable17;
1975 val_t variable18;
1976 val_t variable19;
1977 val_t variable20;
1978 val_t variable21;
1979 val_t variable22;
1980 val_t variable23;
1981 val_t variable24;
1982 val_t variable25;
1983 val_t variable26;
1984 trace.prev = tracehead; tracehead = &trace;
1985 variable0 = param0;
1986 variable1 = param1;
1987 variable2 = param2;
1988 variable4 = NEW_string___String___init(); /*new String*/
1989 variable5 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1990 variable6 = variable5;
1991 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
1992 variable7 = ((abstractmetamodel___MMLocalProperty___module_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___module))( variable1 /*method*/) /*MMSrcMethod::module*/;
1993 variable7 = ((abstractmetamodel___MMModule___name_t)CALL(variable7,COLOR_abstractmetamodel___MMModule___name))(variable7) /*MMModule::name*/;
1994 variable8 = variable7;
1995 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
1996 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
1997 variable9 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
1998 variable10 = variable9;
1999 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
2000 variable11 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
2001 variable11 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable11,COLOR_abstractmetamodel___MMLocalClass___name))(variable11) /*MMLocalClass::name*/;
2002 variable12 = variable11;
2003 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
2004 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
2005 variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2006 variable14 = variable13;
2007 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable14) /*String::append*/;
2008 variable15 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
2009 variable15 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable15,COLOR_abstractmetamodel___MMLocalClass___name))(variable15) /*MMLocalClass::name*/;
2010 variable16 = variable15;
2011 variable16 = ((string___String___to_s_t)CALL(variable16,COLOR_string___Object___to_s))(variable16) /*String::to_s*/;
2012 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable16) /*String::append*/;
2013 variable17 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2014 variable18 = variable17;
2015 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable18) /*String::append*/;
2016 variable19 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMSrcMethod::name*/;
2017 variable20 = variable19;
2018 variable20 = ((string___String___to_s_t)CALL(variable20,COLOR_string___Object___to_s))(variable20) /*String::to_s*/;
2019 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable20) /*String::append*/;
2020 variable21 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2021 variable22 = variable21;
2022 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable22) /*String::append*/;
2023 variable23 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
2024 variable23 = ((static_type___MMSignature___arity_t)CALL(variable23,COLOR_static_type___MMSignature___arity))(variable23) /*MMSignature::arity*/;
2025 variable24 = variable23;
2026 variable24 = ((string___String___to_s_t)CALL(variable24,COLOR_string___Object___to_s))(variable24) /*String::to_s*/;
2027 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable24) /*String::append*/;
2028 variable25 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2029 variable26 = variable25;
2030 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable26) /*String::append*/;
2031 variable3 = variable4;
2032 variable4 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
2033 variable4 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable4 == NIT_NULL /*null*/) || ((variable4 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable4, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable4,COLOR_kernel___Object_____eqeq))(variable4, NIT_NULL /*null*/) /*TString::==*/)))))));
2034 if (UNTAG_Bool(variable4)) { /*if*/
2035 variable4 = ((parser_nodes___AExternMethPropdef___n_extern_t)CALL( self,COLOR_parser_nodes___AExternMethPropdef___n_extern))( self) /*AExternMethPropdef::n_extern*/;
2036 variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TString::text*/;
2037 variable3 = variable4 /*ename=*/;
2038 variable4 = ((array___AbstractArray___length_t)CALL( variable3 /*ename*/,COLOR_abstract_collection___Collection___length))( variable3 /*ename*/) /*String::length*/;
2039 variable4 = TAG_Int(UNTAG_Int(variable4)-UNTAG_Int( TAG_Int(2)));
2040 variable4 = ((string___String___substring_t)CALL( variable3 /*ename*/,COLOR_string___String___substring))( variable3 /*ename*/, TAG_Int(1), variable4) /*String::substring*/;
2041 variable3 = variable4 /*ename=*/;
2042 }
2043 variable5 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
2044 variable4 = variable5;
2045 variable5 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*Array::length*/;
2046 variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
2047 variable6 = TAG_Int(UNTAG_Int(variable6)+UNTAG_Int( TAG_Int(1)));
2048 variable5 = TAG_Bool((variable5)!=(variable6));
2049 if (UNTAG_Bool(variable5)) { /*if*/
2050 variable5 = NEW_string___String___init(); /*new String*/
2051 variable6 = NEW_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)); /*new String*/
2052 variable7 = variable6;
2053 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
2054 variable8 = ((array___AbstractArray___length_t)CALL( variable2 /*params*/,COLOR_abstract_collection___Collection___length))( variable2 /*params*/) /*Array::length*/;
2055 variable9 = variable8;
2056 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
2057 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable9) /*String::append*/;
2058 variable10 = NEW_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)); /*new String*/
2059 variable11 = variable10;
2060 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable11) /*String::append*/;
2061 variable12 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
2062 variable13 = variable12;
2063 variable13 = ((string___String___to_s_t)CALL(variable13,COLOR_string___Object___to_s))(variable13) /*String::to_s*/;
2064 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable13) /*String::append*/;
2065 variable14 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2066 variable15 = variable14;
2067 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable15) /*String::append*/;
2068 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable5) /*AExternMethPropdef::printl*/;
2069 }
2070 variable6 = NEW_array___Array___init(); /*new Array[String]*/
2071 variable5 = variable6;
2072 variable6 = ((static_type___MMSignature___recv_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___recv))( variable4 /*sig*/) /*MMSignature::recv*/;
2073 variable7 = TAG_Int(0);
2074 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2075 variable9 = variable8;
2076 if (UNTAG_Bool(variable9)) { /* and */
2077 variable9 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
2078 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
2079 }
2080 variable8 = variable9;
2081 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2082 variable8 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
2083 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
2084 goto return_label54;
2085 return_label54: while(false);
2086 variable7 = variable8;
2087 variable6 = ((compiling_base___MMType___unboxtype_t)CALL(variable6,COLOR_compiling_base___MMType___unboxtype))(variable6, variable7) /*MMType::unboxtype*/;
2088 ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable6) /*Array::add*/;
2089 variable6 = ((static_type___MMSignature___arity_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___arity))( variable4 /*sig*/) /*MMSignature::arity*/;
2090 variable7 = NEW_range___Range___without_last( TAG_Int(0), variable6); /*new Range[Int]*/
2091 variable6 = variable7;
2092 variable6 = ((range___Range___iterator_t)CALL(variable6,COLOR_abstract_collection___Collection___iterator))(variable6) /*Range::iterator*/;
2093 while (true) { /*for*/
2094 variable7 = ((abstract_collection___Iterator___is_ok_t)CALL(variable6,COLOR_abstract_collection___Iterator___is_ok))(variable6) /*Iterator::is_ok*/;
2095 if (!UNTAG_Bool(variable7)) break; /*for*/
2096 variable7 = ((abstract_collection___Iterator___item_t)CALL(variable6,COLOR_abstract_collection___Iterator___item))(variable6) /*Iterator::item*/;
2097 variable8 = ((static_type___MMSignature_____bra_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature_____bra))( variable4 /*sig*/, variable7 /*i*/) /*MMSignature::[]*/;
2098 variable9 = TAG_Int(UNTAG_Int( variable7 /*i*/)+UNTAG_Int( TAG_Int(1)));
2099 variable10 = variable9;
2100 variable11 = TAG_Bool(UNTAG_Int( variable10 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2101 variable12 = variable11;
2102 if (UNTAG_Bool(variable12)) { /* and */
2103 variable12 = ATTR_array___AbstractArray____length( variable2 /*params*/) /*Array::_length*/;
2104 variable12 = TAG_Bool(UNTAG_Int( variable10 /*index*/)<UNTAG_Int(variable12));
2105 }
2106 variable11 = variable12;
2107 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2108 variable11 = ATTR_array___Array____items( variable2 /*params*/) /*Array::_items*/;
2109 variable11 = UNBOX_NativeArray(variable11)[UNTAG_Int( variable10 /*index*/)];
2110 goto return_label56;
2111 return_label56: while(false);
2112 variable9 = variable11;
2113 variable8 = ((compiling_base___MMType___unboxtype_t)CALL(variable8,COLOR_compiling_base___MMType___unboxtype))(variable8, variable9) /*MMType::unboxtype*/;
2114 ((array___AbstractArray___add_t)CALL( variable5 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable5 /*args*/, variable8) /*Array::add*/;
2115 continue_55: while(0);
2116 ((abstract_collection___Iterator___next_t)CALL(variable6,COLOR_abstract_collection___Iterator___next))(variable6) /*Iterator::next*/;
2117 }
2118 break_55: while(0);
2119 variable7 = NEW_string___String___init(); /*new String*/
2120 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2121 variable9 = variable8;
2122 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
2123 variable10 = variable3 /*ename*/;
2124 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
2125 variable11 = NEW_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2126 variable12 = variable11;
2127 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
2128 variable13 = NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2129 variable13 = ((string___Collection___join_t)CALL( variable5 /*args*/,COLOR_string___Collection___join))( variable5 /*args*/, variable13) /*Array::join*/;
2130 variable14 = variable13;
2131 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable14) /*String::append*/;
2132 variable15 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
2133 variable16 = variable15;
2134 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable16) /*String::append*/;
2135 variable6 = variable7;
2136 variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
2137 variable7 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable7 == NIT_NULL /*null*/) || ((variable7 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable7, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable7,COLOR_kernel___Object_____eqeq))(variable7, NIT_NULL /*null*/) /*MMType::==*/)))))));
2138 if (UNTAG_Bool(variable7)) { /*if*/
2139 variable7 = ((static_type___MMSignature___return_type_t)CALL( variable4 /*sig*/,COLOR_static_type___MMSignature___return_type))( variable4 /*sig*/) /*MMSignature::return_type*/;
2140 variable7 = ((compiling_base___MMType___boxtype_t)CALL(variable7,COLOR_compiling_base___MMType___boxtype))(variable7, variable6 /*s*/) /*MMType::boxtype*/;
2141 variable3 = variable7;
2142 goto return_label53;
2143 } else { /*if*/
2144 variable7 = NEW_string___String___init(); /*new String*/
2145 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2146 variable9 = variable8;
2147 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable9) /*String::append*/;
2148 variable10 = variable6 /*s*/;
2149 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable10) /*String::append*/;
2150 variable11 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2151 variable12 = variable11;
2152 ((string___String___append_t)CALL(variable7,COLOR_abstract_collection___IndexedCollection___append))(variable7, variable12) /*String::append*/;
2153 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable7) /*CompilerVisitor::add_instr*/;
2154 variable3 = NIT_NULL /*null*/;
2155 goto return_label53;
2156 }
2157 return_label53: while(false);
2158 tracehead = trace.prev;
2159 return variable3;
2160 }
2161 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
2162 struct trace_t trace = {NULL, "compiling_methods::AInternMethPropdef::do_compile_inside (src/compiling//compiling_methods.nit:491,2--659:10)"};
2163 val_t variable0;
2164 val_t variable1;
2165 val_t variable2;
2166 val_t variable3;
2167 val_t variable4;
2168 val_t variable5;
2169 val_t variable6;
2170 static val_t once_value_variable6_58; static int once_bool_variable6_58;
2171 static val_t once_value_variable6_59; static int once_bool_variable6_59;
2172 val_t variable7;
2173 val_t variable8;
2174 val_t variable9;
2175 val_t variable10;
2176 val_t variable11;
2177 val_t variable12;
2178 static val_t once_value_variable6_61; static int once_bool_variable6_61;
2179 static val_t once_value_variable6_63; static int once_bool_variable6_63;
2180 static val_t once_value_variable6_65; static int once_bool_variable6_65;
2181 static val_t once_value_variable6_67; static int once_bool_variable6_67;
2182 static val_t once_value_variable6_69; static int once_bool_variable6_69;
2183 static val_t once_value_variable6_71; static int once_bool_variable6_71;
2184 static val_t once_value_variable6_73; static int once_bool_variable6_73;
2185 val_t variable13;
2186 val_t variable14;
2187 val_t variable15;
2188 val_t variable16;
2189 static val_t once_value_variable6_76; static int once_bool_variable6_76;
2190 static val_t once_value_variable6_79; static int once_bool_variable6_79;
2191 static val_t once_value_variable6_82; static int once_bool_variable6_82;
2192 static val_t once_value_variable6_85; static int once_bool_variable6_85;
2193 static val_t once_value_variable6_88; static int once_bool_variable6_88;
2194 static val_t once_value_variable6_91; static int once_bool_variable6_91;
2195 static val_t once_value_variable6_94; static int once_bool_variable6_94;
2196 static val_t once_value_variable6_97; static int once_bool_variable6_97;
2197 static val_t once_value_variable6_100; static int once_bool_variable6_100;
2198 static val_t once_value_variable6_103; static int once_bool_variable6_103;
2199 static val_t once_value_variable6_106; static int once_bool_variable6_106;
2200 static val_t once_value_variable6_109; static int once_bool_variable6_109;
2201 static val_t once_value_variable6_112; static int once_bool_variable6_112;
2202 static val_t once_value_variable6_113; static int once_bool_variable6_113;
2203 static val_t once_value_variable6_115; static int once_bool_variable6_115;
2204 static val_t once_value_variable6_117; static int once_bool_variable6_117;
2205 static val_t once_value_variable6_119; static int once_bool_variable6_119;
2206 static val_t once_value_variable6_121; static int once_bool_variable6_121;
2207 static val_t once_value_variable6_124; static int once_bool_variable6_124;
2208 static val_t once_value_variable6_127; static int once_bool_variable6_127;
2209 static val_t once_value_variable6_130; static int once_bool_variable6_130;
2210 static val_t once_value_variable6_133; static int once_bool_variable6_133;
2211 static val_t once_value_variable6_136; static int once_bool_variable6_136;
2212 static val_t once_value_variable6_139; static int once_bool_variable6_139;
2213 static val_t once_value_variable6_142; static int once_bool_variable6_142;
2214 static val_t once_value_variable6_145; static int once_bool_variable6_145;
2215 static val_t once_value_variable6_146; static int once_bool_variable6_146;
2216 static val_t once_value_variable6_148; static int once_bool_variable6_148;
2217 static val_t once_value_variable6_150; static int once_bool_variable6_150;
2218 static val_t once_value_variable6_152; static int once_bool_variable6_152;
2219 static val_t once_value_variable6_154; static int once_bool_variable6_154;
2220 static val_t once_value_variable6_156; static int once_bool_variable6_156;
2221 static val_t once_value_variable6_158; static int once_bool_variable6_158;
2222 static val_t once_value_variable6_160; static int once_bool_variable6_160;
2223 static val_t once_value_variable6_163; static int once_bool_variable6_163;
2224 static val_t once_value_variable6_166; static int once_bool_variable6_166;
2225 static val_t once_value_variable6_169; static int once_bool_variable6_169;
2226 static val_t once_value_variable6_172; static int once_bool_variable6_172;
2227 static val_t once_value_variable6_175; static int once_bool_variable6_175;
2228 static val_t once_value_variable6_178; static int once_bool_variable6_178;
2229 static val_t once_value_variable6_181; static int once_bool_variable6_181;
2230 static val_t once_value_variable6_184; static int once_bool_variable6_184;
2231 static val_t once_value_variable6_187; static int once_bool_variable6_187;
2232 static val_t once_value_variable6_190; static int once_bool_variable6_190;
2233 static val_t once_value_variable6_193; static int once_bool_variable6_193;
2234 static val_t once_value_variable6_194; static int once_bool_variable6_194;
2235 static val_t once_value_variable6_196; static int once_bool_variable6_196;
2236 static val_t once_value_variable6_198; static int once_bool_variable6_198;
2237 static val_t once_value_variable6_200; static int once_bool_variable6_200;
2238 static val_t once_value_variable6_202; static int once_bool_variable6_202;
2239 static val_t once_value_variable6_204; static int once_bool_variable6_204;
2240 static val_t once_value_variable6_207; static int once_bool_variable6_207;
2241 static val_t once_value_variable6_210; static int once_bool_variable6_210;
2242 static val_t once_value_variable6_211; static int once_bool_variable6_211;
2243 static val_t once_value_variable6_213; static int once_bool_variable6_213;
2244 static val_t once_value_variable6_216; static int once_bool_variable6_216;
2245 val_t variable17;
2246 val_t variable18;
2247 val_t variable19;
2248 val_t variable20;
2249 static val_t once_value_variable6_220; static int once_bool_variable6_220;
2250 static val_t once_value_variable6_224; static int once_bool_variable6_224;
2251 static val_t once_value_variable6_225; static int once_bool_variable6_225;
2252 static val_t once_value_variable6_227; static int once_bool_variable6_227;
2253 static val_t once_value_variable6_229; static int once_bool_variable6_229;
2254 static val_t once_value_variable6_232; static int once_bool_variable6_232;
2255 static val_t once_value_variable6_236; static int once_bool_variable6_236;
2256 val_t variable21;
2257 val_t variable22;
2258 val_t variable23;
2259 val_t variable24;
2260 val_t variable25;
2261 val_t variable26;
2262 val_t variable27;
2263 val_t variable28;
2264 static val_t once_value_variable6_242; static int once_bool_variable6_242;
2265 static val_t once_value_variable6_244; static int once_bool_variable6_244;
2266 static val_t once_value_variable6_245; static int once_bool_variable6_245;
2267 static val_t once_value_variable6_248; static int once_bool_variable6_248;
2268 static val_t once_value_variable6_250; static int once_bool_variable6_250;
2269 static val_t once_value_variable6_252; static int once_bool_variable6_252;
2270 trace.prev = tracehead; tracehead = &trace;
2271 variable0 = param0;
2272 variable1 = param1;
2273 variable2 = param2;
2274 variable4 = ((abstractmetamodel___MMLocalProperty___local_class_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___local_class))( variable1 /*method*/) /*MMSrcMethod::local_class*/;
2275 variable4 = ((abstractmetamodel___MMLocalClass___name_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalClass___name))(variable4) /*MMLocalClass::name*/;
2276 variable3 = variable4;
2277 variable5 = ((abstractmetamodel___MMLocalProperty___name_t)CALL( variable1 /*method*/,COLOR_abstractmetamodel___MMLocalProperty___name))( variable1 /*method*/) /*MMSrcMethod::name*/;
2278 variable4 = variable5;
2279 variable5 = NIT_NULL /*decl variable s*/;
2280 if (once_bool_variable6_58) variable6 = once_value_variable6_58;
2281 else {
2282 variable6 = NEW_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
2283 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2284 once_value_variable6_58 = variable6;
2285 once_bool_variable6_58 = true;
2286 }
2287 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
2288 if (UNTAG_Bool(variable6)) { /*if*/
2289 if (once_bool_variable6_59) variable6 = once_value_variable6_59;
2290 else {
2291 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
2292 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2293 once_value_variable6_59 = variable6;
2294 once_bool_variable6_59 = true;
2295 }
2296 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2297 if (UNTAG_Bool(variable6)) { /*if*/
2298 variable6 = NEW_string___String___init(); /*new String*/
2299 variable7 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2300 variable8 = variable7;
2301 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2302 variable9 = TAG_Int(0);
2303 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2304 variable11 = variable10;
2305 if (UNTAG_Bool(variable11)) { /* and */
2306 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2307 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2308 }
2309 variable10 = variable11;
2310 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2311 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2312 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2313 goto return_label60;
2314 return_label60: while(false);
2315 variable9 = variable10;
2316 variable10 = variable9;
2317 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2318 variable11 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2319 variable12 = variable11;
2320 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2321 variable5 = variable6 /*s=*/;
2322 } else { /*if*/
2323 if (once_bool_variable6_61) variable6 = once_value_variable6_61;
2324 else {
2325 variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
2326 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2327 once_value_variable6_61 = variable6;
2328 once_bool_variable6_61 = true;
2329 }
2330 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2331 if (UNTAG_Bool(variable6)) { /*if*/
2332 variable6 = NEW_string___String___init(); /*new String*/
2333 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)); /*new String*/
2334 variable8 = variable7;
2335 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2336 variable9 = TAG_Int(0);
2337 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2338 variable11 = variable10;
2339 if (UNTAG_Bool(variable11)) { /* and */
2340 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2341 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2342 }
2343 variable10 = variable11;
2344 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2345 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2346 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2347 goto return_label62;
2348 return_label62: while(false);
2349 variable9 = variable10;
2350 variable10 = variable9;
2351 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2352 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2353 variable12 = variable11;
2354 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2355 variable5 = variable6 /*s=*/;
2356 } else { /*if*/
2357 if (once_bool_variable6_63) variable6 = once_value_variable6_63;
2358 else {
2359 variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
2360 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2361 once_value_variable6_63 = variable6;
2362 once_bool_variable6_63 = true;
2363 }
2364 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2365 if (UNTAG_Bool(variable6)) { /*if*/
2366 variable6 = NEW_string___String___init(); /*new String*/
2367 variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%d\\n\", UNTAG_Int("), TAG_Int(25)); /*new String*/
2368 variable8 = variable7;
2369 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2370 variable9 = TAG_Int(0);
2371 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2372 variable11 = variable10;
2373 if (UNTAG_Bool(variable11)) { /* and */
2374 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2375 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2376 }
2377 variable10 = variable11;
2378 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2379 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2380 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2381 goto return_label64;
2382 return_label64: while(false);
2383 variable9 = variable10;
2384 variable10 = variable9;
2385 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2386 variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
2387 variable12 = variable11;
2388 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2389 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
2390 } else { /*if*/
2391 if (once_bool_variable6_65) variable6 = once_value_variable6_65;
2392 else {
2393 variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
2394 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2395 once_value_variable6_65 = variable6;
2396 once_bool_variable6_65 = true;
2397 }
2398 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2399 if (UNTAG_Bool(variable6)) { /*if*/
2400 variable6 = NEW_string___String___init(); /*new String*/
2401 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)); /*new String*/
2402 variable8 = variable7;
2403 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2404 variable9 = TAG_Int(0);
2405 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2406 variable11 = variable10;
2407 if (UNTAG_Bool(variable11)) { /* and */
2408 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2409 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2410 }
2411 variable10 = variable11;
2412 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2413 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2414 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2415 goto return_label66;
2416 return_label66: while(false);
2417 variable9 = variable10;
2418 variable10 = variable9;
2419 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2420 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2421 variable12 = variable11;
2422 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2423 variable5 = variable6 /*s=*/;
2424 } else { /*if*/
2425 if (once_bool_variable6_67) variable6 = once_value_variable6_67;
2426 else {
2427 variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
2428 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2429 once_value_variable6_67 = variable6;
2430 once_bool_variable6_67 = true;
2431 }
2432 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2433 if (UNTAG_Bool(variable6)) { /*if*/
2434 variable6 = NEW_string___String___init(); /*new String*/
2435 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2436 variable8 = variable7;
2437 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2438 variable9 = TAG_Int(0);
2439 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2440 variable11 = variable10;
2441 if (UNTAG_Bool(variable11)) { /* and */
2442 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2443 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2444 }
2445 variable10 = variable11;
2446 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2447 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2448 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2449 goto return_label68;
2450 return_label68: while(false);
2451 variable9 = variable10;
2452 variable10 = variable9;
2453 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2454 variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
2455 variable12 = variable11;
2456 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2457 variable5 = variable6 /*s=*/;
2458 } else { /*if*/
2459 if (once_bool_variable6_69) variable6 = once_value_variable6_69;
2460 else {
2461 variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
2462 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2463 once_value_variable6_69 = variable6;
2464 once_bool_variable6_69 = true;
2465 }
2466 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2467 if (UNTAG_Bool(variable6)) { /*if*/
2468 variable6 = NEW_string___String___init(); /*new String*/
2469 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2470 variable8 = variable7;
2471 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2472 variable9 = TAG_Int(0);
2473 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2474 variable11 = variable10;
2475 if (UNTAG_Bool(variable11)) { /* and */
2476 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2477 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2478 }
2479 variable10 = variable11;
2480 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2481 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2482 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2483 goto return_label70;
2484 return_label70: while(false);
2485 variable9 = variable10;
2486 variable10 = variable9;
2487 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2488 variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
2489 variable12 = variable11;
2490 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2491 variable5 = variable6 /*s=*/;
2492 } else { /*if*/
2493 if (once_bool_variable6_71) variable6 = once_value_variable6_71;
2494 else {
2495 variable6 = NEW_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)); /*new String*/
2496 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2497 once_value_variable6_71 = variable6;
2498 once_bool_variable6_71 = true;
2499 }
2500 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2501 if (UNTAG_Bool(variable6)) { /*if*/
2502 variable6 = NEW_string___String___init(); /*new String*/
2503 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)); /*new String*/
2504 variable8 = variable7;
2505 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2506 variable9 = TAG_Int(0);
2507 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2508 variable11 = variable10;
2509 if (UNTAG_Bool(variable11)) { /* and */
2510 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2511 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2512 }
2513 variable10 = variable11;
2514 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2515 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2516 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2517 goto return_label72;
2518 return_label72: while(false);
2519 variable9 = variable10;
2520 variable10 = variable9;
2521 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2522 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2523 variable12 = variable11;
2524 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2525 variable5 = variable6 /*s=*/;
2526 } else { /*if*/
2527 if (once_bool_variable6_73) variable6 = once_value_variable6_73;
2528 else {
2529 variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
2530 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2531 once_value_variable6_73 = variable6;
2532 once_bool_variable6_73 = true;
2533 }
2534 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2535 if (UNTAG_Bool(variable6)) { /*if*/
2536 variable6 = NEW_string___String___init(); /*new String*/
2537 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2538 variable8 = variable7;
2539 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2540 variable9 = TAG_Int(0);
2541 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2542 variable11 = variable10;
2543 if (UNTAG_Bool(variable11)) { /* and */
2544 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2545 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2546 }
2547 variable10 = variable11;
2548 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2549 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2550 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2551 goto return_label74;
2552 return_label74: while(false);
2553 variable9 = variable10;
2554 variable10 = variable9;
2555 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2556 variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
2557 variable12 = variable11;
2558 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2559 variable13 = TAG_Int(1);
2560 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2561 variable15 = variable14;
2562 if (UNTAG_Bool(variable15)) { /* and */
2563 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2564 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2565 }
2566 variable14 = variable15;
2567 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2568 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2569 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2570 goto return_label75;
2571 return_label75: while(false);
2572 variable13 = variable14;
2573 variable14 = variable13;
2574 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2575 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2576 variable16 = variable15;
2577 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2578 variable5 = variable6 /*s=*/;
2579 } else { /*if*/
2580 if (once_bool_variable6_76) variable6 = once_value_variable6_76;
2581 else {
2582 variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
2583 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2584 once_value_variable6_76 = variable6;
2585 once_bool_variable6_76 = true;
2586 }
2587 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2588 if (UNTAG_Bool(variable6)) { /*if*/
2589 variable6 = NEW_string___String___init(); /*new String*/
2590 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2591 variable8 = variable7;
2592 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2593 variable9 = TAG_Int(0);
2594 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2595 variable11 = variable10;
2596 if (UNTAG_Bool(variable11)) { /* and */
2597 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2598 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2599 }
2600 variable10 = variable11;
2601 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2602 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2603 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2604 goto return_label77;
2605 return_label77: while(false);
2606 variable9 = variable10;
2607 variable10 = variable9;
2608 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2609 variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)); /*new String*/
2610 variable12 = variable11;
2611 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2612 variable13 = TAG_Int(1);
2613 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2614 variable15 = variable14;
2615 if (UNTAG_Bool(variable15)) { /* and */
2616 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2617 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2618 }
2619 variable14 = variable15;
2620 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2621 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2622 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2623 goto return_label78;
2624 return_label78: while(false);
2625 variable13 = variable14;
2626 variable14 = variable13;
2627 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2628 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2629 variable16 = variable15;
2630 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2631 variable5 = variable6 /*s=*/;
2632 } else { /*if*/
2633 if (once_bool_variable6_79) variable6 = once_value_variable6_79;
2634 else {
2635 variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
2636 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2637 once_value_variable6_79 = variable6;
2638 once_bool_variable6_79 = true;
2639 }
2640 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2641 if (UNTAG_Bool(variable6)) { /*if*/
2642 variable6 = NEW_string___String___init(); /*new String*/
2643 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2644 variable8 = variable7;
2645 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2646 variable9 = TAG_Int(0);
2647 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2648 variable11 = variable10;
2649 if (UNTAG_Bool(variable11)) { /* and */
2650 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2651 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2652 }
2653 variable10 = variable11;
2654 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2655 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2656 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2657 goto return_label80;
2658 return_label80: while(false);
2659 variable9 = variable10;
2660 variable10 = variable9;
2661 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2662 variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)); /*new String*/
2663 variable12 = variable11;
2664 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2665 variable13 = TAG_Int(1);
2666 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2667 variable15 = variable14;
2668 if (UNTAG_Bool(variable15)) { /* and */
2669 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2670 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2671 }
2672 variable14 = variable15;
2673 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2674 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2675 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2676 goto return_label81;
2677 return_label81: while(false);
2678 variable13 = variable14;
2679 variable14 = variable13;
2680 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2681 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2682 variable16 = variable15;
2683 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2684 variable5 = variable6 /*s=*/;
2685 } else { /*if*/
2686 if (once_bool_variable6_82) variable6 = once_value_variable6_82;
2687 else {
2688 variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
2689 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2690 once_value_variable6_82 = variable6;
2691 once_bool_variable6_82 = true;
2692 }
2693 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2694 if (UNTAG_Bool(variable6)) { /*if*/
2695 variable6 = NEW_string___String___init(); /*new String*/
2696 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2697 variable8 = variable7;
2698 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2699 variable9 = TAG_Int(0);
2700 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2701 variable11 = variable10;
2702 if (UNTAG_Bool(variable11)) { /* and */
2703 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2704 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2705 }
2706 variable10 = variable11;
2707 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2708 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2709 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2710 goto return_label83;
2711 return_label83: while(false);
2712 variable9 = variable10;
2713 variable10 = variable9;
2714 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2715 variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)); /*new String*/
2716 variable12 = variable11;
2717 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2718 variable13 = TAG_Int(1);
2719 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2720 variable15 = variable14;
2721 if (UNTAG_Bool(variable15)) { /* and */
2722 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2723 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2724 }
2725 variable14 = variable15;
2726 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2727 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2728 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2729 goto return_label84;
2730 return_label84: while(false);
2731 variable13 = variable14;
2732 variable14 = variable13;
2733 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2734 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2735 variable16 = variable15;
2736 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2737 variable5 = variable6 /*s=*/;
2738 } else { /*if*/
2739 if (once_bool_variable6_85) variable6 = once_value_variable6_85;
2740 else {
2741 variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
2742 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2743 once_value_variable6_85 = variable6;
2744 once_bool_variable6_85 = true;
2745 }
2746 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2747 if (UNTAG_Bool(variable6)) { /*if*/
2748 variable6 = NEW_string___String___init(); /*new String*/
2749 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
2750 variable8 = variable7;
2751 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2752 variable9 = TAG_Int(0);
2753 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2754 variable11 = variable10;
2755 if (UNTAG_Bool(variable11)) { /* and */
2756 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2757 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2758 }
2759 variable10 = variable11;
2760 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2761 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2762 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2763 goto return_label86;
2764 return_label86: while(false);
2765 variable9 = variable10;
2766 variable10 = variable9;
2767 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2768 variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)); /*new String*/
2769 variable12 = variable11;
2770 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2771 variable13 = TAG_Int(1);
2772 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2773 variable15 = variable14;
2774 if (UNTAG_Bool(variable15)) { /* and */
2775 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2776 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2777 }
2778 variable14 = variable15;
2779 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2780 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2781 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2782 goto return_label87;
2783 return_label87: while(false);
2784 variable13 = variable14;
2785 variable14 = variable13;
2786 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2787 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2788 variable16 = variable15;
2789 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2790 variable5 = variable6 /*s=*/;
2791 } else { /*if*/
2792 if (once_bool_variable6_88) variable6 = once_value_variable6_88;
2793 else {
2794 variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
2795 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2796 once_value_variable6_88 = variable6;
2797 once_bool_variable6_88 = true;
2798 }
2799 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2800 if (UNTAG_Bool(variable6)) { /*if*/
2801 variable6 = NEW_string___String___init(); /*new String*/
2802 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
2803 variable8 = variable7;
2804 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2805 variable9 = TAG_Int(0);
2806 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2807 variable11 = variable10;
2808 if (UNTAG_Bool(variable11)) { /* and */
2809 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2810 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2811 }
2812 variable10 = variable11;
2813 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2814 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2815 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2816 goto return_label89;
2817 return_label89: while(false);
2818 variable9 = variable10;
2819 variable10 = variable9;
2820 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2821 variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)); /*new String*/
2822 variable12 = variable11;
2823 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2824 variable13 = TAG_Int(1);
2825 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2826 variable15 = variable14;
2827 if (UNTAG_Bool(variable15)) { /* and */
2828 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2829 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2830 }
2831 variable14 = variable15;
2832 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2833 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2834 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2835 goto return_label90;
2836 return_label90: while(false);
2837 variable13 = variable14;
2838 variable14 = variable13;
2839 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2840 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2841 variable16 = variable15;
2842 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2843 variable5 = variable6 /*s=*/;
2844 } else { /*if*/
2845 if (once_bool_variable6_91) variable6 = once_value_variable6_91;
2846 else {
2847 variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
2848 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2849 once_value_variable6_91 = variable6;
2850 once_bool_variable6_91 = true;
2851 }
2852 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2853 if (UNTAG_Bool(variable6)) { /*if*/
2854 variable6 = NEW_string___String___init(); /*new String*/
2855 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
2856 variable8 = variable7;
2857 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2858 variable9 = TAG_Int(0);
2859 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2860 variable11 = variable10;
2861 if (UNTAG_Bool(variable11)) { /* and */
2862 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2863 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2864 }
2865 variable10 = variable11;
2866 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2867 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2868 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2869 goto return_label92;
2870 return_label92: while(false);
2871 variable9 = variable10;
2872 variable10 = variable9;
2873 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2874 variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)); /*new String*/
2875 variable12 = variable11;
2876 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2877 variable13 = TAG_Int(1);
2878 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2879 variable15 = variable14;
2880 if (UNTAG_Bool(variable15)) { /* and */
2881 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2882 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2883 }
2884 variable14 = variable15;
2885 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2886 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2887 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2888 goto return_label93;
2889 return_label93: while(false);
2890 variable13 = variable14;
2891 variable14 = variable13;
2892 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2893 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2894 variable16 = variable15;
2895 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2896 variable5 = variable6 /*s=*/;
2897 } else { /*if*/
2898 if (once_bool_variable6_94) variable6 = once_value_variable6_94;
2899 else {
2900 variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
2901 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2902 once_value_variable6_94 = variable6;
2903 once_bool_variable6_94 = true;
2904 }
2905 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2906 if (UNTAG_Bool(variable6)) { /*if*/
2907 variable6 = NEW_string___String___init(); /*new String*/
2908 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
2909 variable8 = variable7;
2910 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2911 variable9 = TAG_Int(0);
2912 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2913 variable11 = variable10;
2914 if (UNTAG_Bool(variable11)) { /* and */
2915 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2916 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2917 }
2918 variable10 = variable11;
2919 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2920 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2921 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2922 goto return_label95;
2923 return_label95: while(false);
2924 variable9 = variable10;
2925 variable10 = variable9;
2926 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2927 variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)); /*new String*/
2928 variable12 = variable11;
2929 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2930 variable13 = TAG_Int(1);
2931 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2932 variable15 = variable14;
2933 if (UNTAG_Bool(variable15)) { /* and */
2934 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2935 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2936 }
2937 variable14 = variable15;
2938 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2939 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2940 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2941 goto return_label96;
2942 return_label96: while(false);
2943 variable13 = variable14;
2944 variable14 = variable13;
2945 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2946 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
2947 variable16 = variable15;
2948 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
2949 variable5 = variable6 /*s=*/;
2950 } else { /*if*/
2951 if (once_bool_variable6_97) variable6 = once_value_variable6_97;
2952 else {
2953 variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
2954 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
2955 once_value_variable6_97 = variable6;
2956 once_bool_variable6_97 = true;
2957 }
2958 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
2959 if (UNTAG_Bool(variable6)) { /*if*/
2960 variable6 = NEW_string___String___init(); /*new String*/
2961 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
2962 variable8 = variable7;
2963 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
2964 variable9 = TAG_Int(0);
2965 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2966 variable11 = variable10;
2967 if (UNTAG_Bool(variable11)) { /* and */
2968 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2969 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
2970 }
2971 variable10 = variable11;
2972 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2973 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2974 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
2975 goto return_label98;
2976 return_label98: while(false);
2977 variable9 = variable10;
2978 variable10 = variable9;
2979 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
2980 variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)); /*new String*/
2981 variable12 = variable11;
2982 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
2983 variable13 = TAG_Int(1);
2984 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
2985 variable15 = variable14;
2986 if (UNTAG_Bool(variable15)) { /* and */
2987 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
2988 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
2989 }
2990 variable14 = variable15;
2991 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
2992 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
2993 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
2994 goto return_label99;
2995 return_label99: while(false);
2996 variable13 = variable14;
2997 variable14 = variable13;
2998 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
2999 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3000 variable16 = variable15;
3001 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3002 variable5 = variable6 /*s=*/;
3003 } else { /*if*/
3004 if (once_bool_variable6_100) variable6 = once_value_variable6_100;
3005 else {
3006 variable6 = NEW_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)); /*new String*/
3007 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3008 once_value_variable6_100 = variable6;
3009 once_bool_variable6_100 = true;
3010 }
3011 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3012 if (UNTAG_Bool(variable6)) { /*if*/
3013 variable6 = NEW_string___String___init(); /*new String*/
3014 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3015 variable8 = variable7;
3016 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3017 variable9 = TAG_Int(0);
3018 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3019 variable11 = variable10;
3020 if (UNTAG_Bool(variable11)) { /* and */
3021 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3022 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3023 }
3024 variable10 = variable11;
3025 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3026 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3027 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3028 goto return_label101;
3029 return_label101: while(false);
3030 variable9 = variable10;
3031 variable10 = variable9;
3032 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3033 variable11 = NEW_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)); /*new String*/
3034 variable12 = variable11;
3035 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3036 variable13 = TAG_Int(1);
3037 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3038 variable15 = variable14;
3039 if (UNTAG_Bool(variable15)) { /* and */
3040 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3041 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3042 }
3043 variable14 = variable15;
3044 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3045 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3046 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3047 goto return_label102;
3048 return_label102: while(false);
3049 variable13 = variable14;
3050 variable14 = variable13;
3051 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3052 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3053 variable16 = variable15;
3054 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3055 variable5 = variable6 /*s=*/;
3056 } else { /*if*/
3057 if (once_bool_variable6_103) variable6 = once_value_variable6_103;
3058 else {
3059 variable6 = NEW_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)); /*new String*/
3060 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3061 once_value_variable6_103 = variable6;
3062 once_bool_variable6_103 = true;
3063 }
3064 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3065 if (UNTAG_Bool(variable6)) { /*if*/
3066 variable6 = NEW_string___String___init(); /*new String*/
3067 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3068 variable8 = variable7;
3069 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3070 variable9 = TAG_Int(0);
3071 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3072 variable11 = variable10;
3073 if (UNTAG_Bool(variable11)) { /* and */
3074 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3075 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3076 }
3077 variable10 = variable11;
3078 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3079 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3080 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3081 goto return_label104;
3082 return_label104: while(false);
3083 variable9 = variable10;
3084 variable10 = variable9;
3085 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3086 variable11 = NEW_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)); /*new String*/
3087 variable12 = variable11;
3088 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3089 variable13 = TAG_Int(1);
3090 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3091 variable15 = variable14;
3092 if (UNTAG_Bool(variable15)) { /* and */
3093 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3094 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3095 }
3096 variable14 = variable15;
3097 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3098 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3099 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3100 goto return_label105;
3101 return_label105: while(false);
3102 variable13 = variable14;
3103 variable14 = variable13;
3104 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3105 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3106 variable16 = variable15;
3107 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3108 variable5 = variable6 /*s=*/;
3109 } else { /*if*/
3110 if (once_bool_variable6_106) variable6 = once_value_variable6_106;
3111 else {
3112 variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
3113 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3114 once_value_variable6_106 = variable6;
3115 once_bool_variable6_106 = true;
3116 }
3117 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3118 if (UNTAG_Bool(variable6)) { /*if*/
3119 variable6 = NEW_string___String___init(); /*new String*/
3120 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
3121 variable8 = variable7;
3122 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3123 variable9 = TAG_Int(0);
3124 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3125 variable11 = variable10;
3126 if (UNTAG_Bool(variable11)) { /* and */
3127 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3128 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3129 }
3130 variable10 = variable11;
3131 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3132 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3133 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3134 goto return_label107;
3135 return_label107: while(false);
3136 variable9 = variable10;
3137 variable10 = variable9;
3138 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3139 variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
3140 variable12 = variable11;
3141 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3142 variable13 = TAG_Int(1);
3143 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3144 variable15 = variable14;
3145 if (UNTAG_Bool(variable15)) { /* and */
3146 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3147 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3148 }
3149 variable14 = variable15;
3150 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3151 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3152 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3153 goto return_label108;
3154 return_label108: while(false);
3155 variable13 = variable14;
3156 variable14 = variable13;
3157 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3158 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3159 variable16 = variable15;
3160 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3161 variable5 = variable6 /*s=*/;
3162 } else { /*if*/
3163 if (once_bool_variable6_109) variable6 = once_value_variable6_109;
3164 else {
3165 variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
3166 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3167 once_value_variable6_109 = variable6;
3168 once_bool_variable6_109 = true;
3169 }
3170 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3171 if (UNTAG_Bool(variable6)) { /*if*/
3172 variable6 = NEW_string___String___init(); /*new String*/
3173 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
3174 variable8 = variable7;
3175 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3176 variable9 = TAG_Int(0);
3177 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3178 variable11 = variable10;
3179 if (UNTAG_Bool(variable11)) { /* and */
3180 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3181 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3182 }
3183 variable10 = variable11;
3184 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3185 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3186 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3187 goto return_label110;
3188 return_label110: while(false);
3189 variable9 = variable10;
3190 variable10 = variable9;
3191 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3192 variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
3193 variable12 = variable11;
3194 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3195 variable13 = TAG_Int(1);
3196 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3197 variable15 = variable14;
3198 if (UNTAG_Bool(variable15)) { /* and */
3199 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3200 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3201 }
3202 variable14 = variable15;
3203 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3204 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3205 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3206 goto return_label111;
3207 return_label111: while(false);
3208 variable13 = variable14;
3209 variable14 = variable13;
3210 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3211 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3212 variable16 = variable15;
3213 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3214 variable5 = variable6 /*s=*/;
3215 }
3216 }
3217 }
3218 }
3219 }
3220 }
3221 }
3222 }
3223 }
3224 }
3225 }
3226 }
3227 }
3228 }
3229 }
3230 }
3231 }
3232 }
3233 }
3234 }
3235 } else { /*if*/
3236 if (once_bool_variable6_112) variable6 = once_value_variable6_112;
3237 else {
3238 variable6 = NEW_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
3239 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3240 once_value_variable6_112 = variable6;
3241 once_bool_variable6_112 = true;
3242 }
3243 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
3244 if (UNTAG_Bool(variable6)) { /*if*/
3245 if (once_bool_variable6_113) variable6 = once_value_variable6_113;
3246 else {
3247 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
3248 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3249 once_value_variable6_113 = variable6;
3250 once_bool_variable6_113 = true;
3251 }
3252 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3253 if (UNTAG_Bool(variable6)) { /*if*/
3254 variable6 = NEW_string___String___init(); /*new String*/
3255 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
3256 variable8 = variable7;
3257 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3258 variable9 = TAG_Int(0);
3259 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3260 variable11 = variable10;
3261 if (UNTAG_Bool(variable11)) { /* and */
3262 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3263 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3264 }
3265 variable10 = variable11;
3266 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3267 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3268 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3269 goto return_label114;
3270 return_label114: while(false);
3271 variable9 = variable10;
3272 variable10 = variable9;
3273 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3274 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3275 variable12 = variable11;
3276 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3277 variable5 = variable6 /*s=*/;
3278 } else { /*if*/
3279 if (once_bool_variable6_115) variable6 = once_value_variable6_115;
3280 else {
3281 variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3282 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3283 once_value_variable6_115 = variable6;
3284 once_bool_variable6_115 = true;
3285 }
3286 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3287 if (UNTAG_Bool(variable6)) { /*if*/
3288 variable6 = NEW_string___String___init(); /*new String*/
3289 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)); /*new String*/
3290 variable8 = variable7;
3291 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3292 variable9 = TAG_Int(0);
3293 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3294 variable11 = variable10;
3295 if (UNTAG_Bool(variable11)) { /* and */
3296 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3297 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3298 }
3299 variable10 = variable11;
3300 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3301 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3302 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3303 goto return_label116;
3304 return_label116: while(false);
3305 variable9 = variable10;
3306 variable10 = variable9;
3307 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3308 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3309 variable12 = variable11;
3310 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3311 variable5 = variable6 /*s=*/;
3312 } else { /*if*/
3313 if (once_bool_variable6_117) variable6 = once_value_variable6_117;
3314 else {
3315 variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
3316 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3317 once_value_variable6_117 = variable6;
3318 once_bool_variable6_117 = true;
3319 }
3320 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3321 if (UNTAG_Bool(variable6)) { /*if*/
3322 variable6 = NEW_string___String___init(); /*new String*/
3323 variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)); /*new String*/
3324 variable8 = variable7;
3325 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3326 variable9 = TAG_Int(0);
3327 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3328 variable11 = variable10;
3329 if (UNTAG_Bool(variable11)) { /* and */
3330 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3331 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3332 }
3333 variable10 = variable11;
3334 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3335 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3336 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3337 goto return_label118;
3338 return_label118: while(false);
3339 variable9 = variable10;
3340 variable10 = variable9;
3341 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3342 variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3343 variable12 = variable11;
3344 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3345 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
3346 } else { /*if*/
3347 if (once_bool_variable6_119) variable6 = once_value_variable6_119;
3348 else {
3349 variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
3350 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3351 once_value_variable6_119 = variable6;
3352 once_bool_variable6_119 = true;
3353 }
3354 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3355 if (UNTAG_Bool(variable6)) { /*if*/
3356 variable6 = NEW_string___String___init(); /*new String*/
3357 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)UNBOX_Float("), TAG_Int(25)); /*new String*/
3358 variable8 = variable7;
3359 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3360 variable9 = TAG_Int(0);
3361 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3362 variable11 = variable10;
3363 if (UNTAG_Bool(variable11)) { /* and */
3364 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3365 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3366 }
3367 variable10 = variable11;
3368 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3369 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3370 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3371 goto return_label120;
3372 return_label120: while(false);
3373 variable9 = variable10;
3374 variable10 = variable9;
3375 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3376 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3377 variable12 = variable11;
3378 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3379 variable5 = variable6 /*s=*/;
3380 } else { /*if*/
3381 if (once_bool_variable6_121) variable6 = once_value_variable6_121;
3382 else {
3383 variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
3384 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3385 once_value_variable6_121 = variable6;
3386 once_bool_variable6_121 = true;
3387 }
3388 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3389 if (UNTAG_Bool(variable6)) { /*if*/
3390 variable6 = NEW_string___String___init(); /*new String*/
3391 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
3392 variable8 = variable7;
3393 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3394 variable9 = TAG_Int(0);
3395 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3396 variable11 = variable10;
3397 if (UNTAG_Bool(variable11)) { /* and */
3398 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3399 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3400 }
3401 variable10 = variable11;
3402 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3403 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3404 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3405 goto return_label122;
3406 return_label122: while(false);
3407 variable9 = variable10;
3408 variable10 = variable9;
3409 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3410 variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)); /*new String*/
3411 variable12 = variable11;
3412 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3413 variable13 = TAG_Int(1);
3414 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3415 variable15 = variable14;
3416 if (UNTAG_Bool(variable15)) { /* and */
3417 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3418 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3419 }
3420 variable14 = variable15;
3421 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3422 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3423 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3424 goto return_label123;
3425 return_label123: while(false);
3426 variable13 = variable14;
3427 variable14 = variable13;
3428 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3429 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3430 variable16 = variable15;
3431 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3432 variable5 = variable6 /*s=*/;
3433 } else { /*if*/
3434 if (once_bool_variable6_124) variable6 = once_value_variable6_124;
3435 else {
3436 variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
3437 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3438 once_value_variable6_124 = variable6;
3439 once_bool_variable6_124 = true;
3440 }
3441 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3442 if (UNTAG_Bool(variable6)) { /*if*/
3443 variable6 = NEW_string___String___init(); /*new String*/
3444 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
3445 variable8 = variable7;
3446 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3447 variable9 = TAG_Int(0);
3448 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3449 variable11 = variable10;
3450 if (UNTAG_Bool(variable11)) { /* and */
3451 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3452 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3453 }
3454 variable10 = variable11;
3455 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3456 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3457 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3458 goto return_label125;
3459 return_label125: while(false);
3460 variable9 = variable10;
3461 variable10 = variable9;
3462 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3463 variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)); /*new String*/
3464 variable12 = variable11;
3465 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3466 variable13 = TAG_Int(1);
3467 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3468 variable15 = variable14;
3469 if (UNTAG_Bool(variable15)) { /* and */
3470 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3471 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3472 }
3473 variable14 = variable15;
3474 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3475 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3476 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3477 goto return_label126;
3478 return_label126: while(false);
3479 variable13 = variable14;
3480 variable14 = variable13;
3481 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3482 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3483 variable16 = variable15;
3484 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3485 variable5 = variable6 /*s=*/;
3486 } else { /*if*/
3487 if (once_bool_variable6_127) variable6 = once_value_variable6_127;
3488 else {
3489 variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
3490 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3491 once_value_variable6_127 = variable6;
3492 once_bool_variable6_127 = true;
3493 }
3494 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3495 if (UNTAG_Bool(variable6)) { /*if*/
3496 variable6 = NEW_string___String___init(); /*new String*/
3497 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
3498 variable8 = variable7;
3499 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3500 variable9 = TAG_Int(0);
3501 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3502 variable11 = variable10;
3503 if (UNTAG_Bool(variable11)) { /* and */
3504 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3505 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3506 }
3507 variable10 = variable11;
3508 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3509 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3510 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3511 goto return_label128;
3512 return_label128: while(false);
3513 variable9 = variable10;
3514 variable10 = variable9;
3515 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3516 variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)); /*new String*/
3517 variable12 = variable11;
3518 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3519 variable13 = TAG_Int(1);
3520 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3521 variable15 = variable14;
3522 if (UNTAG_Bool(variable15)) { /* and */
3523 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3524 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3525 }
3526 variable14 = variable15;
3527 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3528 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3529 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3530 goto return_label129;
3531 return_label129: while(false);
3532 variable13 = variable14;
3533 variable14 = variable13;
3534 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3535 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3536 variable16 = variable15;
3537 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3538 variable5 = variable6 /*s=*/;
3539 } else { /*if*/
3540 if (once_bool_variable6_130) variable6 = once_value_variable6_130;
3541 else {
3542 variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3543 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3544 once_value_variable6_130 = variable6;
3545 once_bool_variable6_130 = true;
3546 }
3547 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3548 if (UNTAG_Bool(variable6)) { /*if*/
3549 variable6 = NEW_string___String___init(); /*new String*/
3550 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
3551 variable8 = variable7;
3552 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3553 variable9 = TAG_Int(0);
3554 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3555 variable11 = variable10;
3556 if (UNTAG_Bool(variable11)) { /* and */
3557 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3558 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3559 }
3560 variable10 = variable11;
3561 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3562 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3563 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3564 goto return_label131;
3565 return_label131: while(false);
3566 variable9 = variable10;
3567 variable10 = variable9;
3568 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3569 variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)); /*new String*/
3570 variable12 = variable11;
3571 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3572 variable13 = TAG_Int(1);
3573 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3574 variable15 = variable14;
3575 if (UNTAG_Bool(variable15)) { /* and */
3576 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3577 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3578 }
3579 variable14 = variable15;
3580 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3581 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3582 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3583 goto return_label132;
3584 return_label132: while(false);
3585 variable13 = variable14;
3586 variable14 = variable13;
3587 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3588 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3589 variable16 = variable15;
3590 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3591 variable5 = variable6 /*s=*/;
3592 } else { /*if*/
3593 if (once_bool_variable6_133) variable6 = once_value_variable6_133;
3594 else {
3595 variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
3596 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3597 once_value_variable6_133 = variable6;
3598 once_bool_variable6_133 = true;
3599 }
3600 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3601 if (UNTAG_Bool(variable6)) { /*if*/
3602 variable6 = NEW_string___String___init(); /*new String*/
3603 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
3604 variable8 = variable7;
3605 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3606 variable9 = TAG_Int(0);
3607 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3608 variable11 = variable10;
3609 if (UNTAG_Bool(variable11)) { /* and */
3610 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3611 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3612 }
3613 variable10 = variable11;
3614 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3615 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3616 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3617 goto return_label134;
3618 return_label134: while(false);
3619 variable9 = variable10;
3620 variable10 = variable9;
3621 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3622 variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)); /*new String*/
3623 variable12 = variable11;
3624 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3625 variable13 = TAG_Int(1);
3626 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3627 variable15 = variable14;
3628 if (UNTAG_Bool(variable15)) { /* and */
3629 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3630 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3631 }
3632 variable14 = variable15;
3633 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3634 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3635 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3636 goto return_label135;
3637 return_label135: while(false);
3638 variable13 = variable14;
3639 variable14 = variable13;
3640 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3641 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3642 variable16 = variable15;
3643 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3644 variable5 = variable6 /*s=*/;
3645 } else { /*if*/
3646 if (once_bool_variable6_136) variable6 = once_value_variable6_136;
3647 else {
3648 variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
3649 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3650 once_value_variable6_136 = variable6;
3651 once_bool_variable6_136 = true;
3652 }
3653 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3654 if (UNTAG_Bool(variable6)) { /*if*/
3655 variable6 = NEW_string___String___init(); /*new String*/
3656 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
3657 variable8 = variable7;
3658 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3659 variable9 = TAG_Int(0);
3660 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3661 variable11 = variable10;
3662 if (UNTAG_Bool(variable11)) { /* and */
3663 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3664 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3665 }
3666 variable10 = variable11;
3667 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3668 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3669 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3670 goto return_label137;
3671 return_label137: while(false);
3672 variable9 = variable10;
3673 variable10 = variable9;
3674 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3675 variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)); /*new String*/
3676 variable12 = variable11;
3677 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3678 variable13 = TAG_Int(1);
3679 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3680 variable15 = variable14;
3681 if (UNTAG_Bool(variable15)) { /* and */
3682 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3683 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3684 }
3685 variable14 = variable15;
3686 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3687 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3688 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3689 goto return_label138;
3690 return_label138: while(false);
3691 variable13 = variable14;
3692 variable14 = variable13;
3693 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3694 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3695 variable16 = variable15;
3696 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3697 variable5 = variable6 /*s=*/;
3698 } else { /*if*/
3699 if (once_bool_variable6_139) variable6 = once_value_variable6_139;
3700 else {
3701 variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
3702 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3703 once_value_variable6_139 = variable6;
3704 once_bool_variable6_139 = true;
3705 }
3706 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3707 if (UNTAG_Bool(variable6)) { /*if*/
3708 variable6 = NEW_string___String___init(); /*new String*/
3709 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
3710 variable8 = variable7;
3711 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3712 variable9 = TAG_Int(0);
3713 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3714 variable11 = variable10;
3715 if (UNTAG_Bool(variable11)) { /* and */
3716 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3717 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3718 }
3719 variable10 = variable11;
3720 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3721 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3722 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3723 goto return_label140;
3724 return_label140: while(false);
3725 variable9 = variable10;
3726 variable10 = variable9;
3727 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3728 variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)); /*new String*/
3729 variable12 = variable11;
3730 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3731 variable13 = TAG_Int(1);
3732 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3733 variable15 = variable14;
3734 if (UNTAG_Bool(variable15)) { /* and */
3735 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3736 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3737 }
3738 variable14 = variable15;
3739 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3740 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3741 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3742 goto return_label141;
3743 return_label141: while(false);
3744 variable13 = variable14;
3745 variable14 = variable13;
3746 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3747 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3748 variable16 = variable15;
3749 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3750 variable5 = variable6 /*s=*/;
3751 } else { /*if*/
3752 if (once_bool_variable6_142) variable6 = once_value_variable6_142;
3753 else {
3754 variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
3755 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3756 once_value_variable6_142 = variable6;
3757 once_bool_variable6_142 = true;
3758 }
3759 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3760 if (UNTAG_Bool(variable6)) { /*if*/
3761 variable6 = NEW_string___String___init(); /*new String*/
3762 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
3763 variable8 = variable7;
3764 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3765 variable9 = TAG_Int(0);
3766 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3767 variable11 = variable10;
3768 if (UNTAG_Bool(variable11)) { /* and */
3769 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3770 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3771 }
3772 variable10 = variable11;
3773 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3774 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3775 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3776 goto return_label143;
3777 return_label143: while(false);
3778 variable9 = variable10;
3779 variable10 = variable9;
3780 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3781 variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)); /*new String*/
3782 variable12 = variable11;
3783 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3784 variable13 = TAG_Int(1);
3785 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3786 variable15 = variable14;
3787 if (UNTAG_Bool(variable15)) { /* and */
3788 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3789 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
3790 }
3791 variable14 = variable15;
3792 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3793 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3794 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
3795 goto return_label144;
3796 return_label144: while(false);
3797 variable13 = variable14;
3798 variable14 = variable13;
3799 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
3800 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3801 variable16 = variable15;
3802 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
3803 variable5 = variable6 /*s=*/;
3804 }
3805 }
3806 }
3807 }
3808 }
3809 }
3810 }
3811 }
3812 }
3813 }
3814 }
3815 }
3816 } else { /*if*/
3817 if (once_bool_variable6_145) variable6 = once_value_variable6_145;
3818 else {
3819 variable6 = NEW_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
3820 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3821 once_value_variable6_145 = variable6;
3822 once_bool_variable6_145 = true;
3823 }
3824 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
3825 if (UNTAG_Bool(variable6)) { /*if*/
3826 if (once_bool_variable6_146) variable6 = once_value_variable6_146;
3827 else {
3828 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
3829 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3830 once_value_variable6_146 = variable6;
3831 once_bool_variable6_146 = true;
3832 }
3833 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3834 if (UNTAG_Bool(variable6)) { /*if*/
3835 variable6 = NEW_string___String___init(); /*new String*/
3836 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
3837 variable8 = variable7;
3838 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3839 variable9 = TAG_Int(0);
3840 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3841 variable11 = variable10;
3842 if (UNTAG_Bool(variable11)) { /* and */
3843 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3844 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3845 }
3846 variable10 = variable11;
3847 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3848 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3849 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3850 goto return_label147;
3851 return_label147: while(false);
3852 variable9 = variable10;
3853 variable10 = variable9;
3854 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3855 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3856 variable12 = variable11;
3857 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3858 variable5 = variable6 /*s=*/;
3859 } else { /*if*/
3860 if (once_bool_variable6_148) variable6 = once_value_variable6_148;
3861 else {
3862 variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3863 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3864 once_value_variable6_148 = variable6;
3865 once_bool_variable6_148 = true;
3866 }
3867 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3868 if (UNTAG_Bool(variable6)) { /*if*/
3869 variable6 = NEW_string___String___init(); /*new String*/
3870 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)); /*new String*/
3871 variable8 = variable7;
3872 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3873 variable9 = TAG_Int(0);
3874 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3875 variable11 = variable10;
3876 if (UNTAG_Bool(variable11)) { /* and */
3877 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3878 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3879 }
3880 variable10 = variable11;
3881 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3882 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3883 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3884 goto return_label149;
3885 return_label149: while(false);
3886 variable9 = variable10;
3887 variable10 = variable9;
3888 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3889 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3890 variable12 = variable11;
3891 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3892 variable5 = variable6 /*s=*/;
3893 } else { /*if*/
3894 if (once_bool_variable6_150) variable6 = once_value_variable6_150;
3895 else {
3896 variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
3897 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3898 once_value_variable6_150 = variable6;
3899 once_bool_variable6_150 = true;
3900 }
3901 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3902 if (UNTAG_Bool(variable6)) { /*if*/
3903 variable6 = NEW_string___String___init(); /*new String*/
3904 variable7 = NEW_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)); /*new String*/
3905 variable8 = variable7;
3906 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3907 variable9 = TAG_Int(0);
3908 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3909 variable11 = variable10;
3910 if (UNTAG_Bool(variable11)) { /* and */
3911 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3912 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3913 }
3914 variable10 = variable11;
3915 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3916 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3917 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3918 goto return_label151;
3919 return_label151: while(false);
3920 variable9 = variable10;
3921 variable10 = variable9;
3922 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3923 variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3924 variable12 = variable11;
3925 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3926 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
3927 } else { /*if*/
3928 if (once_bool_variable6_152) variable6 = once_value_variable6_152;
3929 else {
3930 variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
3931 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3932 once_value_variable6_152 = variable6;
3933 once_bool_variable6_152 = true;
3934 }
3935 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3936 if (UNTAG_Bool(variable6)) { /*if*/
3937 variable6 = NEW_string___String___init(); /*new String*/
3938 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)); /*new String*/
3939 variable8 = variable7;
3940 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3941 variable9 = TAG_Int(0);
3942 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3943 variable11 = variable10;
3944 if (UNTAG_Bool(variable11)) { /* and */
3945 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3946 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3947 }
3948 variable10 = variable11;
3949 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3950 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3951 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3952 goto return_label153;
3953 return_label153: while(false);
3954 variable9 = variable10;
3955 variable10 = variable9;
3956 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3957 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3958 variable12 = variable11;
3959 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3960 variable5 = variable6 /*s=*/;
3961 } else { /*if*/
3962 if (once_bool_variable6_154) variable6 = once_value_variable6_154;
3963 else {
3964 variable6 = NEW_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
3965 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
3966 once_value_variable6_154 = variable6;
3967 once_bool_variable6_154 = true;
3968 }
3969 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
3970 if (UNTAG_Bool(variable6)) { /*if*/
3971 variable6 = NEW_string___String___init(); /*new String*/
3972 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
3973 variable8 = variable7;
3974 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
3975 variable9 = TAG_Int(0);
3976 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
3977 variable11 = variable10;
3978 if (UNTAG_Bool(variable11)) { /* and */
3979 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
3980 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
3981 }
3982 variable10 = variable11;
3983 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
3984 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
3985 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
3986 goto return_label155;
3987 return_label155: while(false);
3988 variable9 = variable10;
3989 variable10 = variable9;
3990 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
3991 variable11 = NEW_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
3992 variable12 = variable11;
3993 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
3994 variable5 = variable6 /*s=*/;
3995 } else { /*if*/
3996 if (once_bool_variable6_156) variable6 = once_value_variable6_156;
3997 else {
3998 variable6 = NEW_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
3999 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4000 once_value_variable6_156 = variable6;
4001 once_bool_variable6_156 = true;
4002 }
4003 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4004 if (UNTAG_Bool(variable6)) { /*if*/
4005 variable6 = NEW_string___String___init(); /*new String*/
4006 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4007 variable8 = variable7;
4008 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4009 variable9 = TAG_Int(0);
4010 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4011 variable11 = variable10;
4012 if (UNTAG_Bool(variable11)) { /* and */
4013 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4014 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4015 }
4016 variable10 = variable11;
4017 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4018 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4019 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4020 goto return_label157;
4021 return_label157: while(false);
4022 variable9 = variable10;
4023 variable10 = variable9;
4024 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4025 variable11 = NEW_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
4026 variable12 = variable11;
4027 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4028 variable5 = variable6 /*s=*/;
4029 } else { /*if*/
4030 if (once_bool_variable6_158) variable6 = once_value_variable6_158;
4031 else {
4032 variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
4033 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4034 once_value_variable6_158 = variable6;
4035 once_bool_variable6_158 = true;
4036 }
4037 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4038 if (UNTAG_Bool(variable6)) { /*if*/
4039 variable6 = NEW_string___String___init(); /*new String*/
4040 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
4041 variable8 = variable7;
4042 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4043 variable9 = TAG_Int(0);
4044 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4045 variable11 = variable10;
4046 if (UNTAG_Bool(variable11)) { /* and */
4047 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4048 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4049 }
4050 variable10 = variable11;
4051 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4052 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4053 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4054 goto return_label159;
4055 return_label159: while(false);
4056 variable9 = variable10;
4057 variable10 = variable9;
4058 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4059 variable11 = NEW_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)); /*new String*/
4060 variable12 = variable11;
4061 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4062 variable5 = variable6 /*s=*/;
4063 } else { /*if*/
4064 if (once_bool_variable6_160) variable6 = once_value_variable6_160;
4065 else {
4066 variable6 = NEW_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
4067 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4068 once_value_variable6_160 = variable6;
4069 once_bool_variable6_160 = true;
4070 }
4071 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4072 if (UNTAG_Bool(variable6)) { /*if*/
4073 variable6 = NEW_string___String___init(); /*new String*/
4074 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4075 variable8 = variable7;
4076 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4077 variable9 = TAG_Int(0);
4078 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4079 variable11 = variable10;
4080 if (UNTAG_Bool(variable11)) { /* and */
4081 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4082 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4083 }
4084 variable10 = variable11;
4085 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4086 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4087 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4088 goto return_label161;
4089 return_label161: while(false);
4090 variable9 = variable10;
4091 variable10 = variable9;
4092 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4093 variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)); /*new String*/
4094 variable12 = variable11;
4095 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4096 variable13 = TAG_Int(1);
4097 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4098 variable15 = variable14;
4099 if (UNTAG_Bool(variable15)) { /* and */
4100 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4101 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4102 }
4103 variable14 = variable15;
4104 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4105 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4106 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4107 goto return_label162;
4108 return_label162: while(false);
4109 variable13 = variable14;
4110 variable14 = variable13;
4111 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4112 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4113 variable16 = variable15;
4114 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4115 variable5 = variable6 /*s=*/;
4116 } else { /*if*/
4117 if (once_bool_variable6_163) variable6 = once_value_variable6_163;
4118 else {
4119 variable6 = NEW_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
4120 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4121 once_value_variable6_163 = variable6;
4122 once_bool_variable6_163 = true;
4123 }
4124 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4125 if (UNTAG_Bool(variable6)) { /*if*/
4126 variable6 = NEW_string___String___init(); /*new String*/
4127 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4128 variable8 = variable7;
4129 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4130 variable9 = TAG_Int(0);
4131 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4132 variable11 = variable10;
4133 if (UNTAG_Bool(variable11)) { /* and */
4134 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4135 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4136 }
4137 variable10 = variable11;
4138 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4139 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4140 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4141 goto return_label164;
4142 return_label164: while(false);
4143 variable9 = variable10;
4144 variable10 = variable9;
4145 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4146 variable11 = NEW_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)); /*new String*/
4147 variable12 = variable11;
4148 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4149 variable13 = TAG_Int(1);
4150 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4151 variable15 = variable14;
4152 if (UNTAG_Bool(variable15)) { /* and */
4153 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4154 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4155 }
4156 variable14 = variable15;
4157 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4158 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4159 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4160 goto return_label165;
4161 return_label165: while(false);
4162 variable13 = variable14;
4163 variable14 = variable13;
4164 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4165 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4166 variable16 = variable15;
4167 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4168 variable5 = variable6 /*s=*/;
4169 } else { /*if*/
4170 if (once_bool_variable6_166) variable6 = once_value_variable6_166;
4171 else {
4172 variable6 = NEW_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
4173 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4174 once_value_variable6_166 = variable6;
4175 once_bool_variable6_166 = true;
4176 }
4177 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4178 if (UNTAG_Bool(variable6)) { /*if*/
4179 variable6 = NEW_string___String___init(); /*new String*/
4180 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4181 variable8 = variable7;
4182 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4183 variable9 = TAG_Int(0);
4184 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4185 variable11 = variable10;
4186 if (UNTAG_Bool(variable11)) { /* and */
4187 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4188 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4189 }
4190 variable10 = variable11;
4191 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4192 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4193 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4194 goto return_label167;
4195 return_label167: while(false);
4196 variable9 = variable10;
4197 variable10 = variable9;
4198 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4199 variable11 = NEW_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)); /*new String*/
4200 variable12 = variable11;
4201 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4202 variable13 = TAG_Int(1);
4203 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4204 variable15 = variable14;
4205 if (UNTAG_Bool(variable15)) { /* and */
4206 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4207 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4208 }
4209 variable14 = variable15;
4210 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4211 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4212 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4213 goto return_label168;
4214 return_label168: while(false);
4215 variable13 = variable14;
4216 variable14 = variable13;
4217 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4218 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4219 variable16 = variable15;
4220 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4221 variable5 = variable6 /*s=*/;
4222 } else { /*if*/
4223 if (once_bool_variable6_169) variable6 = once_value_variable6_169;
4224 else {
4225 variable6 = NEW_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
4226 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4227 once_value_variable6_169 = variable6;
4228 once_bool_variable6_169 = true;
4229 }
4230 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4231 if (UNTAG_Bool(variable6)) { /*if*/
4232 variable6 = NEW_string___String___init(); /*new String*/
4233 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4234 variable8 = variable7;
4235 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4236 variable9 = TAG_Int(0);
4237 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4238 variable11 = variable10;
4239 if (UNTAG_Bool(variable11)) { /* and */
4240 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4241 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4242 }
4243 variable10 = variable11;
4244 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4245 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4246 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4247 goto return_label170;
4248 return_label170: while(false);
4249 variable9 = variable10;
4250 variable10 = variable9;
4251 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4252 variable11 = NEW_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)); /*new String*/
4253 variable12 = variable11;
4254 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4255 variable13 = TAG_Int(1);
4256 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4257 variable15 = variable14;
4258 if (UNTAG_Bool(variable15)) { /* and */
4259 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4260 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4261 }
4262 variable14 = variable15;
4263 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4264 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4265 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4266 goto return_label171;
4267 return_label171: while(false);
4268 variable13 = variable14;
4269 variable14 = variable13;
4270 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4271 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4272 variable16 = variable15;
4273 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4274 variable5 = variable6 /*s=*/;
4275 } else { /*if*/
4276 if (once_bool_variable6_172) variable6 = once_value_variable6_172;
4277 else {
4278 variable6 = NEW_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
4279 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4280 once_value_variable6_172 = variable6;
4281 once_bool_variable6_172 = true;
4282 }
4283 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4284 if (UNTAG_Bool(variable6)) { /*if*/
4285 variable6 = NEW_string___String___init(); /*new String*/
4286 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
4287 variable8 = variable7;
4288 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4289 variable9 = TAG_Int(0);
4290 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4291 variable11 = variable10;
4292 if (UNTAG_Bool(variable11)) { /* and */
4293 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4294 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4295 }
4296 variable10 = variable11;
4297 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4298 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4299 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4300 goto return_label173;
4301 return_label173: while(false);
4302 variable9 = variable10;
4303 variable10 = variable9;
4304 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4305 variable11 = NEW_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)); /*new String*/
4306 variable12 = variable11;
4307 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4308 variable13 = TAG_Int(1);
4309 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4310 variable15 = variable14;
4311 if (UNTAG_Bool(variable15)) { /* and */
4312 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4313 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4314 }
4315 variable14 = variable15;
4316 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4317 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4318 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4319 goto return_label174;
4320 return_label174: while(false);
4321 variable13 = variable14;
4322 variable14 = variable13;
4323 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4324 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4325 variable16 = variable15;
4326 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4327 variable5 = variable6 /*s=*/;
4328 } else { /*if*/
4329 if (once_bool_variable6_175) variable6 = once_value_variable6_175;
4330 else {
4331 variable6 = NEW_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
4332 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4333 once_value_variable6_175 = variable6;
4334 once_bool_variable6_175 = true;
4335 }
4336 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4337 if (UNTAG_Bool(variable6)) { /*if*/
4338 variable6 = NEW_string___String___init(); /*new String*/
4339 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
4340 variable8 = variable7;
4341 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4342 variable9 = TAG_Int(0);
4343 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4344 variable11 = variable10;
4345 if (UNTAG_Bool(variable11)) { /* and */
4346 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4347 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4348 }
4349 variable10 = variable11;
4350 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4351 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4352 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4353 goto return_label176;
4354 return_label176: while(false);
4355 variable9 = variable10;
4356 variable10 = variable9;
4357 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4358 variable11 = NEW_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)); /*new String*/
4359 variable12 = variable11;
4360 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4361 variable13 = TAG_Int(1);
4362 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4363 variable15 = variable14;
4364 if (UNTAG_Bool(variable15)) { /* and */
4365 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4366 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4367 }
4368 variable14 = variable15;
4369 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4370 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4371 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4372 goto return_label177;
4373 return_label177: while(false);
4374 variable13 = variable14;
4375 variable14 = variable13;
4376 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4377 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4378 variable16 = variable15;
4379 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4380 variable5 = variable6 /*s=*/;
4381 } else { /*if*/
4382 if (once_bool_variable6_178) variable6 = once_value_variable6_178;
4383 else {
4384 variable6 = NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
4385 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4386 once_value_variable6_178 = variable6;
4387 once_bool_variable6_178 = true;
4388 }
4389 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4390 if (UNTAG_Bool(variable6)) { /*if*/
4391 variable6 = NEW_string___String___init(); /*new String*/
4392 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
4393 variable8 = variable7;
4394 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4395 variable9 = TAG_Int(0);
4396 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4397 variable11 = variable10;
4398 if (UNTAG_Bool(variable11)) { /* and */
4399 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4400 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4401 }
4402 variable10 = variable11;
4403 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4404 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4405 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4406 goto return_label179;
4407 return_label179: while(false);
4408 variable9 = variable10;
4409 variable10 = variable9;
4410 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4411 variable11 = NEW_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)); /*new String*/
4412 variable12 = variable11;
4413 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4414 variable13 = TAG_Int(1);
4415 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4416 variable15 = variable14;
4417 if (UNTAG_Bool(variable15)) { /* and */
4418 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4419 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4420 }
4421 variable14 = variable15;
4422 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4423 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4424 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4425 goto return_label180;
4426 return_label180: while(false);
4427 variable13 = variable14;
4428 variable14 = variable13;
4429 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4430 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4431 variable16 = variable15;
4432 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4433 variable5 = variable6 /*s=*/;
4434 } else { /*if*/
4435 if (once_bool_variable6_181) variable6 = once_value_variable6_181;
4436 else {
4437 variable6 = NEW_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
4438 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4439 once_value_variable6_181 = variable6;
4440 once_bool_variable6_181 = true;
4441 }
4442 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4443 if (UNTAG_Bool(variable6)) { /*if*/
4444 variable6 = NEW_string___String___init(); /*new String*/
4445 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
4446 variable8 = variable7;
4447 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4448 variable9 = TAG_Int(0);
4449 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4450 variable11 = variable10;
4451 if (UNTAG_Bool(variable11)) { /* and */
4452 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4453 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4454 }
4455 variable10 = variable11;
4456 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4457 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4458 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4459 goto return_label182;
4460 return_label182: while(false);
4461 variable9 = variable10;
4462 variable10 = variable9;
4463 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4464 variable11 = NEW_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)); /*new String*/
4465 variable12 = variable11;
4466 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4467 variable13 = TAG_Int(1);
4468 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4469 variable15 = variable14;
4470 if (UNTAG_Bool(variable15)) { /* and */
4471 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4472 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4473 }
4474 variable14 = variable15;
4475 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4476 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4477 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4478 goto return_label183;
4479 return_label183: while(false);
4480 variable13 = variable14;
4481 variable14 = variable13;
4482 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4483 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4484 variable16 = variable15;
4485 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4486 variable5 = variable6 /*s=*/;
4487 } else { /*if*/
4488 if (once_bool_variable6_184) variable6 = once_value_variable6_184;
4489 else {
4490 variable6 = NEW_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
4491 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4492 once_value_variable6_184 = variable6;
4493 once_bool_variable6_184 = true;
4494 }
4495 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4496 if (UNTAG_Bool(variable6)) { /*if*/
4497 variable6 = NEW_string___String___init(); /*new String*/
4498 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
4499 variable8 = variable7;
4500 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4501 variable9 = TAG_Int(0);
4502 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4503 variable11 = variable10;
4504 if (UNTAG_Bool(variable11)) { /* and */
4505 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4506 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4507 }
4508 variable10 = variable11;
4509 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4510 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4511 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4512 goto return_label185;
4513 return_label185: while(false);
4514 variable9 = variable10;
4515 variable10 = variable9;
4516 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4517 variable11 = NEW_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)); /*new String*/
4518 variable12 = variable11;
4519 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4520 variable13 = TAG_Int(1);
4521 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4522 variable15 = variable14;
4523 if (UNTAG_Bool(variable15)) { /* and */
4524 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4525 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4526 }
4527 variable14 = variable15;
4528 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4529 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4530 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4531 goto return_label186;
4532 return_label186: while(false);
4533 variable13 = variable14;
4534 variable14 = variable13;
4535 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4536 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4537 variable16 = variable15;
4538 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4539 variable5 = variable6 /*s=*/;
4540 } else { /*if*/
4541 if (once_bool_variable6_187) variable6 = once_value_variable6_187;
4542 else {
4543 variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
4544 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4545 once_value_variable6_187 = variable6;
4546 once_bool_variable6_187 = true;
4547 }
4548 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4549 if (UNTAG_Bool(variable6)) { /*if*/
4550 variable6 = NEW_string___String___init(); /*new String*/
4551 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4552 variable8 = variable7;
4553 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4554 variable9 = TAG_Int(0);
4555 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4556 variable11 = variable10;
4557 if (UNTAG_Bool(variable11)) { /* and */
4558 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4559 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4560 }
4561 variable10 = variable11;
4562 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4563 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4564 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4565 goto return_label188;
4566 return_label188: while(false);
4567 variable9 = variable10;
4568 variable10 = variable9;
4569 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4570 variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
4571 variable12 = variable11;
4572 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4573 variable13 = TAG_Int(1);
4574 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4575 variable15 = variable14;
4576 if (UNTAG_Bool(variable15)) { /* and */
4577 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4578 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4579 }
4580 variable14 = variable15;
4581 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4582 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4583 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4584 goto return_label189;
4585 return_label189: while(false);
4586 variable13 = variable14;
4587 variable14 = variable13;
4588 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4589 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4590 variable16 = variable15;
4591 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4592 variable5 = variable6 /*s=*/;
4593 } else { /*if*/
4594 if (once_bool_variable6_190) variable6 = once_value_variable6_190;
4595 else {
4596 variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
4597 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4598 once_value_variable6_190 = variable6;
4599 once_bool_variable6_190 = true;
4600 }
4601 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4602 if (UNTAG_Bool(variable6)) { /*if*/
4603 variable6 = NEW_string___String___init(); /*new String*/
4604 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4605 variable8 = variable7;
4606 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4607 variable9 = TAG_Int(0);
4608 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4609 variable11 = variable10;
4610 if (UNTAG_Bool(variable11)) { /* and */
4611 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4612 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4613 }
4614 variable10 = variable11;
4615 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4616 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4617 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4618 goto return_label191;
4619 return_label191: while(false);
4620 variable9 = variable10;
4621 variable10 = variable9;
4622 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4623 variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
4624 variable12 = variable11;
4625 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4626 variable13 = TAG_Int(1);
4627 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4628 variable15 = variable14;
4629 if (UNTAG_Bool(variable15)) { /* and */
4630 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4631 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4632 }
4633 variable14 = variable15;
4634 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4635 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4636 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4637 goto return_label192;
4638 return_label192: while(false);
4639 variable13 = variable14;
4640 variable14 = variable13;
4641 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4642 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4643 variable16 = variable15;
4644 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4645 variable5 = variable6 /*s=*/;
4646 }
4647 }
4648 }
4649 }
4650 }
4651 }
4652 }
4653 }
4654 }
4655 }
4656 }
4657 }
4658 }
4659 }
4660 }
4661 }
4662 }
4663 }
4664 } else { /*if*/
4665 if (once_bool_variable6_193) variable6 = once_value_variable6_193;
4666 else {
4667 variable6 = NEW_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
4668 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4669 once_value_variable6_193 = variable6;
4670 once_bool_variable6_193 = true;
4671 }
4672 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
4673 if (UNTAG_Bool(variable6)) { /*if*/
4674 if (once_bool_variable6_194) variable6 = once_value_variable6_194;
4675 else {
4676 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
4677 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4678 once_value_variable6_194 = variable6;
4679 once_bool_variable6_194 = true;
4680 }
4681 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4682 if (UNTAG_Bool(variable6)) { /*if*/
4683 variable6 = NEW_string___String___init(); /*new String*/
4684 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
4685 variable8 = variable7;
4686 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4687 variable9 = TAG_Int(0);
4688 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4689 variable11 = variable10;
4690 if (UNTAG_Bool(variable11)) { /* and */
4691 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4692 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4693 }
4694 variable10 = variable11;
4695 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4696 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4697 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4698 goto return_label195;
4699 return_label195: while(false);
4700 variable9 = variable10;
4701 variable10 = variable9;
4702 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4703 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4704 variable12 = variable11;
4705 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4706 variable5 = variable6 /*s=*/;
4707 } else { /*if*/
4708 if (once_bool_variable6_196) variable6 = once_value_variable6_196;
4709 else {
4710 variable6 = NEW_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
4711 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4712 once_value_variable6_196 = variable6;
4713 once_bool_variable6_196 = true;
4714 }
4715 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4716 if (UNTAG_Bool(variable6)) { /*if*/
4717 variable6 = NEW_string___String___init(); /*new String*/
4718 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)); /*new String*/
4719 variable8 = variable7;
4720 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4721 variable9 = TAG_Int(0);
4722 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4723 variable11 = variable10;
4724 if (UNTAG_Bool(variable11)) { /* and */
4725 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4726 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4727 }
4728 variable10 = variable11;
4729 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4730 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4731 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4732 goto return_label197;
4733 return_label197: while(false);
4734 variable9 = variable10;
4735 variable10 = variable9;
4736 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4737 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4738 variable12 = variable11;
4739 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4740 variable5 = variable6 /*s=*/;
4741 } else { /*if*/
4742 if (once_bool_variable6_198) variable6 = once_value_variable6_198;
4743 else {
4744 variable6 = NEW_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
4745 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4746 once_value_variable6_198 = variable6;
4747 once_bool_variable6_198 = true;
4748 }
4749 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4750 if (UNTAG_Bool(variable6)) { /*if*/
4751 variable6 = NEW_string___String___init(); /*new String*/
4752 variable7 = NEW_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)); /*new String*/
4753 variable8 = variable7;
4754 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4755 variable9 = TAG_Int(0);
4756 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4757 variable11 = variable10;
4758 if (UNTAG_Bool(variable11)) { /* and */
4759 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4760 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4761 }
4762 variable10 = variable11;
4763 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4764 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4765 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4766 goto return_label199;
4767 return_label199: while(false);
4768 variable9 = variable10;
4769 variable10 = variable9;
4770 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4771 variable11 = NEW_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)); /*new String*/
4772 variable12 = variable11;
4773 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4774 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
4775 } else { /*if*/
4776 if (once_bool_variable6_200) variable6 = once_value_variable6_200;
4777 else {
4778 variable6 = NEW_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
4779 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4780 once_value_variable6_200 = variable6;
4781 once_bool_variable6_200 = true;
4782 }
4783 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4784 if (UNTAG_Bool(variable6)) { /*if*/
4785 variable6 = NEW_string___String___init(); /*new String*/
4786 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)); /*new String*/
4787 variable8 = variable7;
4788 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4789 variable9 = TAG_Int(0);
4790 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4791 variable11 = variable10;
4792 if (UNTAG_Bool(variable11)) { /* and */
4793 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4794 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4795 }
4796 variable10 = variable11;
4797 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4798 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4799 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4800 goto return_label201;
4801 return_label201: while(false);
4802 variable9 = variable10;
4803 variable10 = variable9;
4804 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4805 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4806 variable12 = variable11;
4807 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4808 variable5 = variable6 /*s=*/;
4809 } else { /*if*/
4810 if (once_bool_variable6_202) variable6 = once_value_variable6_202;
4811 else {
4812 variable6 = NEW_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
4813 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4814 once_value_variable6_202 = variable6;
4815 once_bool_variable6_202 = true;
4816 }
4817 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4818 if (UNTAG_Bool(variable6)) { /*if*/
4819 variable6 = NEW_string___String___init(); /*new String*/
4820 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
4821 variable8 = variable7;
4822 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4823 variable9 = TAG_Int(0);
4824 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4825 variable11 = variable10;
4826 if (UNTAG_Bool(variable11)) { /* and */
4827 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4828 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4829 }
4830 variable10 = variable11;
4831 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4832 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4833 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4834 goto return_label203;
4835 return_label203: while(false);
4836 variable9 = variable10;
4837 variable10 = variable9;
4838 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4839 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4840 variable12 = variable11;
4841 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4842 variable5 = variable6 /*s=*/;
4843 } else { /*if*/
4844 if (once_bool_variable6_204) variable6 = once_value_variable6_204;
4845 else {
4846 variable6 = NEW_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
4847 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4848 once_value_variable6_204 = variable6;
4849 once_bool_variable6_204 = true;
4850 }
4851 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4852 if (UNTAG_Bool(variable6)) { /*if*/
4853 variable6 = NEW_string___String___init(); /*new String*/
4854 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4855 variable8 = variable7;
4856 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4857 variable9 = TAG_Int(0);
4858 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4859 variable11 = variable10;
4860 if (UNTAG_Bool(variable11)) { /* and */
4861 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4862 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4863 }
4864 variable10 = variable11;
4865 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4866 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4867 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4868 goto return_label205;
4869 return_label205: while(false);
4870 variable9 = variable10;
4871 variable10 = variable9;
4872 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4873 variable11 = NEW_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
4874 variable12 = variable11;
4875 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4876 variable13 = TAG_Int(1);
4877 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4878 variable15 = variable14;
4879 if (UNTAG_Bool(variable15)) { /* and */
4880 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4881 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4882 }
4883 variable14 = variable15;
4884 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4885 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4886 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4887 goto return_label206;
4888 return_label206: while(false);
4889 variable13 = variable14;
4890 variable14 = variable13;
4891 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4892 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4893 variable16 = variable15;
4894 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4895 variable5 = variable6 /*s=*/;
4896 } else { /*if*/
4897 if (once_bool_variable6_207) variable6 = once_value_variable6_207;
4898 else {
4899 variable6 = NEW_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
4900 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4901 once_value_variable6_207 = variable6;
4902 once_bool_variable6_207 = true;
4903 }
4904 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4905 if (UNTAG_Bool(variable6)) { /*if*/
4906 variable6 = NEW_string___String___init(); /*new String*/
4907 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4908 variable8 = variable7;
4909 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4910 variable9 = TAG_Int(0);
4911 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4912 variable11 = variable10;
4913 if (UNTAG_Bool(variable11)) { /* and */
4914 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4915 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4916 }
4917 variable10 = variable11;
4918 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4919 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4920 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4921 goto return_label208;
4922 return_label208: while(false);
4923 variable9 = variable10;
4924 variable10 = variable9;
4925 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4926 variable11 = NEW_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
4927 variable12 = variable11;
4928 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4929 variable13 = TAG_Int(1);
4930 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4931 variable15 = variable14;
4932 if (UNTAG_Bool(variable15)) { /* and */
4933 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4934 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
4935 }
4936 variable14 = variable15;
4937 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4938 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4939 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
4940 goto return_label209;
4941 return_label209: while(false);
4942 variable13 = variable14;
4943 variable14 = variable13;
4944 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
4945 variable15 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4946 variable16 = variable15;
4947 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
4948 variable5 = variable6 /*s=*/;
4949 }
4950 }
4951 }
4952 }
4953 }
4954 }
4955 }
4956 } else { /*if*/
4957 if (once_bool_variable6_210) variable6 = once_value_variable6_210;
4958 else {
4959 variable6 = NEW_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
4960 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4961 once_value_variable6_210 = variable6;
4962 once_bool_variable6_210 = true;
4963 }
4964 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
4965 if (UNTAG_Bool(variable6)) { /*if*/
4966 if (once_bool_variable6_211) variable6 = once_value_variable6_211;
4967 else {
4968 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
4969 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
4970 once_value_variable6_211 = variable6;
4971 once_bool_variable6_211 = true;
4972 }
4973 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
4974 if (UNTAG_Bool(variable6)) { /*if*/
4975 variable6 = NEW_string___String___init(); /*new String*/
4976 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)); /*new String*/
4977 variable8 = variable7;
4978 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
4979 variable9 = TAG_Int(0);
4980 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
4981 variable11 = variable10;
4982 if (UNTAG_Bool(variable11)) { /* and */
4983 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
4984 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
4985 }
4986 variable10 = variable11;
4987 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
4988 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
4989 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
4990 goto return_label212;
4991 return_label212: while(false);
4992 variable9 = variable10;
4993 variable10 = variable9;
4994 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
4995 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4996 variable12 = variable11;
4997 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
4998 variable5 = variable6 /*s=*/;
4999 } else { /*if*/
5000 if (once_bool_variable6_213) variable6 = once_value_variable6_213;
5001 else {
5002 variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
5003 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5004 once_value_variable6_213 = variable6;
5005 once_bool_variable6_213 = true;
5006 }
5007 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5008 if (UNTAG_Bool(variable6)) { /*if*/
5009 variable6 = NEW_string___String___init(); /*new String*/
5010 variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
5011 variable8 = variable7;
5012 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5013 variable9 = TAG_Int(0);
5014 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5015 variable11 = variable10;
5016 if (UNTAG_Bool(variable11)) { /* and */
5017 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5018 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5019 }
5020 variable10 = variable11;
5021 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5022 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5023 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5024 goto return_label214;
5025 return_label214: while(false);
5026 variable9 = variable10;
5027 variable10 = variable9;
5028 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5029 variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
5030 variable12 = variable11;
5031 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5032 variable13 = TAG_Int(1);
5033 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5034 variable15 = variable14;
5035 if (UNTAG_Bool(variable15)) { /* and */
5036 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5037 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5038 }
5039 variable14 = variable15;
5040 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5041 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5042 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5043 goto return_label215;
5044 return_label215: while(false);
5045 variable13 = variable14;
5046 variable14 = variable13;
5047 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5048 variable15 = NEW_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)); /*new String*/
5049 variable16 = variable15;
5050 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5051 variable5 = variable6 /*s=*/;
5052 } else { /*if*/
5053 if (once_bool_variable6_216) variable6 = once_value_variable6_216;
5054 else {
5055 variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
5056 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5057 once_value_variable6_216 = variable6;
5058 once_bool_variable6_216 = true;
5059 }
5060 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5061 if (UNTAG_Bool(variable6)) { /*if*/
5062 variable6 = NEW_string___String___init(); /*new String*/
5063 variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
5064 variable8 = variable7;
5065 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5066 variable9 = TAG_Int(0);
5067 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5068 variable11 = variable10;
5069 if (UNTAG_Bool(variable11)) { /* and */
5070 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5071 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5072 }
5073 variable10 = variable11;
5074 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5075 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5076 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5077 goto return_label217;
5078 return_label217: while(false);
5079 variable9 = variable10;
5080 variable10 = variable9;
5081 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5082 variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
5083 variable12 = variable11;
5084 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5085 variable13 = TAG_Int(1);
5086 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5087 variable15 = variable14;
5088 if (UNTAG_Bool(variable15)) { /* and */
5089 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5090 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5091 }
5092 variable14 = variable15;
5093 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5094 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5095 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5096 goto return_label218;
5097 return_label218: while(false);
5098 variable13 = variable14;
5099 variable14 = variable13;
5100 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5101 variable15 = NEW_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)); /*new String*/
5102 variable16 = variable15;
5103 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5104 variable17 = TAG_Int(2);
5105 variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5106 variable19 = variable18;
5107 if (UNTAG_Bool(variable19)) { /* and */
5108 variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5109 variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
5110 }
5111 variable18 = variable19;
5112 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5113 variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5114 variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
5115 goto return_label219;
5116 return_label219: while(false);
5117 variable17 = variable18;
5118 variable18 = variable17;
5119 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
5120 variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
5121 variable20 = variable19;
5122 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
5123 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5124 } else { /*if*/
5125 if (once_bool_variable6_220) variable6 = once_value_variable6_220;
5126 else {
5127 variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
5128 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5129 once_value_variable6_220 = variable6;
5130 once_bool_variable6_220 = true;
5131 }
5132 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5133 if (UNTAG_Bool(variable6)) { /*if*/
5134 variable6 = NEW_string___String___init(); /*new String*/
5135 variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)); /*new String*/
5136 variable8 = variable7;
5137 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5138 variable9 = TAG_Int(1);
5139 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5140 variable11 = variable10;
5141 if (UNTAG_Bool(variable11)) { /* and */
5142 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5143 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5144 }
5145 variable10 = variable11;
5146 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5147 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5148 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5149 goto return_label221;
5150 return_label221: while(false);
5151 variable9 = variable10;
5152 variable10 = variable9;
5153 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5154 variable11 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)); /*new String*/
5155 variable12 = variable11;
5156 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5157 variable13 = TAG_Int(0);
5158 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5159 variable15 = variable14;
5160 if (UNTAG_Bool(variable15)) { /* and */
5161 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5162 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5163 }
5164 variable14 = variable15;
5165 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5166 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5167 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5168 goto return_label222;
5169 return_label222: while(false);
5170 variable13 = variable14;
5171 variable14 = variable13;
5172 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5173 variable15 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
5174 variable16 = variable15;
5175 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5176 variable17 = TAG_Int(2);
5177 variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5178 variable19 = variable18;
5179 if (UNTAG_Bool(variable19)) { /* and */
5180 variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5181 variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
5182 }
5183 variable18 = variable19;
5184 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5185 variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5186 variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
5187 goto return_label223;
5188 return_label223: while(false);
5189 variable17 = variable18;
5190 variable18 = variable17;
5191 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
5192 variable19 = NEW_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)); /*new String*/
5193 variable20 = variable19;
5194 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
5195 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5196 }
5197 }
5198 }
5199 }
5200 } else { /*if*/
5201 if (once_bool_variable6_224) variable6 = once_value_variable6_224;
5202 else {
5203 variable6 = NEW_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
5204 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5205 once_value_variable6_224 = variable6;
5206 once_bool_variable6_224 = true;
5207 }
5208 variable6 = TAG_Bool(( variable3 /*c*/ == variable6) || (( variable3 /*c*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable3 /*c*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable3 /*c*/,COLOR_kernel___Object_____eqeq))( variable3 /*c*/, variable6) /*Symbol::==*/)))));
5209 if (UNTAG_Bool(variable6)) { /*if*/
5210 if (once_bool_variable6_225) variable6 = once_value_variable6_225;
5211 else {
5212 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
5213 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5214 once_value_variable6_225 = variable6;
5215 once_bool_variable6_225 = true;
5216 }
5217 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5218 if (UNTAG_Bool(variable6)) { /*if*/
5219 variable6 = NEW_string___String___init(); /*new String*/
5220 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)); /*new String*/
5221 variable8 = variable7;
5222 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5223 variable9 = TAG_Int(0);
5224 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5225 variable11 = variable10;
5226 if (UNTAG_Bool(variable11)) { /* and */
5227 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5228 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5229 }
5230 variable10 = variable11;
5231 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5232 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5233 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5234 goto return_label226;
5235 return_label226: while(false);
5236 variable9 = variable10;
5237 variable10 = variable9;
5238 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5239 variable11 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5240 variable12 = variable11;
5241 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5242 variable5 = variable6 /*s=*/;
5243 } else { /*if*/
5244 if (once_bool_variable6_227) variable6 = once_value_variable6_227;
5245 else {
5246 variable6 = NEW_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)); /*new String*/
5247 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5248 once_value_variable6_227 = variable6;
5249 once_bool_variable6_227 = true;
5250 }
5251 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5252 if (UNTAG_Bool(variable6)) { /*if*/
5253 variable6 = NEW_string___String___init(); /*new String*/
5254 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
5255 variable8 = variable7;
5256 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5257 variable9 = TAG_Int(0);
5258 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5259 variable11 = variable10;
5260 if (UNTAG_Bool(variable11)) { /* and */
5261 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5262 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5263 }
5264 variable10 = variable11;
5265 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5266 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5267 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5268 goto return_label228;
5269 return_label228: while(false);
5270 variable9 = variable10;
5271 variable10 = variable9;
5272 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5273 variable11 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
5274 variable12 = variable11;
5275 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5276 variable5 = variable6 /*s=*/;
5277 } else { /*if*/
5278 if (once_bool_variable6_229) variable6 = once_value_variable6_229;
5279 else {
5280 variable6 = NEW_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
5281 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5282 once_value_variable6_229 = variable6;
5283 once_bool_variable6_229 = true;
5284 }
5285 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5286 if (UNTAG_Bool(variable6)) { /*if*/
5287 variable6 = NEW_string___String___init(); /*new String*/
5288 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)); /*new String*/
5289 variable8 = variable7;
5290 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5291 variable9 = TAG_Int(0);
5292 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5293 variable11 = variable10;
5294 if (UNTAG_Bool(variable11)) { /* and */
5295 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5296 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5297 }
5298 variable10 = variable11;
5299 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5300 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5301 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5302 goto return_label230;
5303 return_label230: while(false);
5304 variable9 = variable10;
5305 variable10 = variable9;
5306 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5307 variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
5308 variable12 = variable11;
5309 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5310 variable13 = TAG_Int(1);
5311 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5312 variable15 = variable14;
5313 if (UNTAG_Bool(variable15)) { /* and */
5314 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5315 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5316 }
5317 variable14 = variable15;
5318 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5319 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5320 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5321 goto return_label231;
5322 return_label231: while(false);
5323 variable13 = variable14;
5324 variable14 = variable13;
5325 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5326 variable15 = NEW_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)); /*new String*/
5327 variable16 = variable15;
5328 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5329 variable5 = variable6 /*s=*/;
5330 } else { /*if*/
5331 if (once_bool_variable6_232) variable6 = once_value_variable6_232;
5332 else {
5333 variable6 = NEW_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
5334 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5335 once_value_variable6_232 = variable6;
5336 once_bool_variable6_232 = true;
5337 }
5338 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5339 if (UNTAG_Bool(variable6)) { /*if*/
5340 variable6 = NEW_string___String___init(); /*new String*/
5341 variable7 = NEW_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)); /*new String*/
5342 variable8 = variable7;
5343 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5344 variable9 = TAG_Int(0);
5345 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5346 variable11 = variable10;
5347 if (UNTAG_Bool(variable11)) { /* and */
5348 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5349 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5350 }
5351 variable10 = variable11;
5352 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5353 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5354 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5355 goto return_label233;
5356 return_label233: while(false);
5357 variable9 = variable10;
5358 variable10 = variable9;
5359 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5360 variable11 = NEW_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
5361 variable12 = variable11;
5362 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5363 variable13 = TAG_Int(1);
5364 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5365 variable15 = variable14;
5366 if (UNTAG_Bool(variable15)) { /* and */
5367 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5368 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5369 }
5370 variable14 = variable15;
5371 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5372 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5373 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5374 goto return_label234;
5375 return_label234: while(false);
5376 variable13 = variable14;
5377 variable14 = variable13;
5378 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5379 variable15 = NEW_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)); /*new String*/
5380 variable16 = variable15;
5381 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5382 variable17 = TAG_Int(2);
5383 variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5384 variable19 = variable18;
5385 if (UNTAG_Bool(variable19)) { /* and */
5386 variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5387 variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
5388 }
5389 variable18 = variable19;
5390 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5391 variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5392 variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
5393 goto return_label235;
5394 return_label235: while(false);
5395 variable17 = variable18;
5396 variable18 = variable17;
5397 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
5398 variable19 = NEW_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
5399 variable20 = variable19;
5400 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
5401 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5402 } else { /*if*/
5403 if (once_bool_variable6_236) variable6 = once_value_variable6_236;
5404 else {
5405 variable6 = NEW_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
5406 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5407 once_value_variable6_236 = variable6;
5408 once_bool_variable6_236 = true;
5409 }
5410 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5411 if (UNTAG_Bool(variable6)) { /*if*/
5412 variable6 = NEW_string___String___init(); /*new String*/
5413 variable7 = NEW_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
5414 variable8 = variable7;
5415 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5416 variable9 = TAG_Int(1);
5417 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5418 variable11 = variable10;
5419 if (UNTAG_Bool(variable11)) { /* and */
5420 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5421 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5422 }
5423 variable10 = variable11;
5424 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5425 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5426 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5427 goto return_label237;
5428 return_label237: while(false);
5429 variable9 = variable10;
5430 variable10 = variable9;
5431 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5432 variable11 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
5433 variable12 = variable11;
5434 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5435 variable13 = TAG_Int(4);
5436 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5437 variable15 = variable14;
5438 if (UNTAG_Bool(variable15)) { /* and */
5439 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5440 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5441 }
5442 variable14 = variable15;
5443 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5444 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5445 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5446 goto return_label238;
5447 return_label238: while(false);
5448 variable13 = variable14;
5449 variable14 = variable13;
5450 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5451 variable15 = NEW_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)); /*new String*/
5452 variable16 = variable15;
5453 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5454 variable17 = TAG_Int(0);
5455 variable18 = TAG_Bool(UNTAG_Int( variable17 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5456 variable19 = variable18;
5457 if (UNTAG_Bool(variable19)) { /* and */
5458 variable19 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5459 variable19 = TAG_Bool(UNTAG_Int( variable17 /*index*/)<UNTAG_Int(variable19));
5460 }
5461 variable18 = variable19;
5462 if (!UNTAG_Bool(variable18)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5463 variable18 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5464 variable18 = UNBOX_NativeArray(variable18)[UNTAG_Int( variable17 /*index*/)];
5465 goto return_label239;
5466 return_label239: while(false);
5467 variable17 = variable18;
5468 variable18 = variable17;
5469 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable18) /*String::append*/;
5470 variable19 = NEW_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
5471 variable20 = variable19;
5472 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable20) /*String::append*/;
5473 variable21 = TAG_Int(3);
5474 variable22 = TAG_Bool(UNTAG_Int( variable21 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5475 variable23 = variable22;
5476 if (UNTAG_Bool(variable23)) { /* and */
5477 variable23 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5478 variable23 = TAG_Bool(UNTAG_Int( variable21 /*index*/)<UNTAG_Int(variable23));
5479 }
5480 variable22 = variable23;
5481 if (!UNTAG_Bool(variable22)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5482 variable22 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5483 variable22 = UNBOX_NativeArray(variable22)[UNTAG_Int( variable21 /*index*/)];
5484 goto return_label240;
5485 return_label240: while(false);
5486 variable21 = variable22;
5487 variable22 = variable21;
5488 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable22) /*String::append*/;
5489 variable23 = NEW_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
5490 variable24 = variable23;
5491 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable24) /*String::append*/;
5492 variable25 = TAG_Int(2);
5493 variable26 = TAG_Bool(UNTAG_Int( variable25 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5494 variable27 = variable26;
5495 if (UNTAG_Bool(variable27)) { /* and */
5496 variable27 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5497 variable27 = TAG_Bool(UNTAG_Int( variable25 /*index*/)<UNTAG_Int(variable27));
5498 }
5499 variable26 = variable27;
5500 if (!UNTAG_Bool(variable26)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5501 variable26 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5502 variable26 = UNBOX_NativeArray(variable26)[UNTAG_Int( variable25 /*index*/)];
5503 goto return_label241;
5504 return_label241: while(false);
5505 variable25 = variable26;
5506 variable26 = variable25;
5507 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable26) /*String::append*/;
5508 variable27 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
5509 variable28 = variable27;
5510 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable28) /*String::append*/;
5511 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5512 }
5513 }
5514 }
5515 }
5516 }
5517 } else { /*if*/
5518 if (once_bool_variable6_242) variable6 = once_value_variable6_242;
5519 else {
5520 variable6 = NEW_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
5521 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5522 once_value_variable6_242 = variable6;
5523 once_bool_variable6_242 = true;
5524 }
5525 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5526 if (UNTAG_Bool(variable6)) { /*if*/
5527 variable6 = NEW_string___String___init(); /*new String*/
5528 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Int((int)"), TAG_Int(13)); /*new String*/
5529 variable8 = variable7;
5530 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5531 variable9 = TAG_Int(0);
5532 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5533 variable11 = variable10;
5534 if (UNTAG_Bool(variable11)) { /* and */
5535 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5536 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5537 }
5538 variable10 = variable11;
5539 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5540 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5541 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5542 goto return_label243;
5543 return_label243: while(false);
5544 variable9 = variable10;
5545 variable10 = variable9;
5546 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5547 variable11 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
5548 variable12 = variable11;
5549 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5550 variable5 = variable6 /*s=*/;
5551 } else { /*if*/
5552 if (once_bool_variable6_244) variable6 = once_value_variable6_244;
5553 else {
5554 variable6 = NEW_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)); /*new String*/
5555 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5556 once_value_variable6_244 = variable6;
5557 once_bool_variable6_244 = true;
5558 }
5559 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5560 if (UNTAG_Bool(variable6)) { /*if*/
5561 variable6 = NEW_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)); /*new String*/
5562 variable5 = variable6 /*s=*/;
5563 } else { /*if*/
5564 if (once_bool_variable6_245) variable6 = once_value_variable6_245;
5565 else {
5566 variable6 = NEW_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)); /*new String*/
5567 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5568 once_value_variable6_245 = variable6;
5569 once_bool_variable6_245 = true;
5570 }
5571 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5572 if (UNTAG_Bool(variable6)) { /*if*/
5573 variable6 = NEW_string___String___init(); /*new String*/
5574 variable7 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)); /*new String*/
5575 variable8 = variable7;
5576 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5577 variable9 = TAG_Int(0);
5578 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5579 variable11 = variable10;
5580 if (UNTAG_Bool(variable11)) { /* and */
5581 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5582 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5583 }
5584 variable10 = variable11;
5585 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5586 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5587 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5588 goto return_label246;
5589 return_label246: while(false);
5590 variable9 = variable10;
5591 variable10 = variable9;
5592 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5593 variable11 = NEW_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)); /*new String*/
5594 variable12 = variable11;
5595 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5596 variable13 = TAG_Int(1);
5597 variable14 = TAG_Bool(UNTAG_Int( variable13 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5598 variable15 = variable14;
5599 if (UNTAG_Bool(variable15)) { /* and */
5600 variable15 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5601 variable15 = TAG_Bool(UNTAG_Int( variable13 /*index*/)<UNTAG_Int(variable15));
5602 }
5603 variable14 = variable15;
5604 if (!UNTAG_Bool(variable14)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5605 variable14 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5606 variable14 = UNBOX_NativeArray(variable14)[UNTAG_Int( variable13 /*index*/)];
5607 goto return_label247;
5608 return_label247: while(false);
5609 variable13 = variable14;
5610 variable14 = variable13;
5611 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable14) /*String::append*/;
5612 variable15 = NEW_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
5613 variable16 = variable15;
5614 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable16) /*String::append*/;
5615 variable5 = variable6 /*s=*/;
5616 } else { /*if*/
5617 if (once_bool_variable6_248) variable6 = once_value_variable6_248;
5618 else {
5619 variable6 = NEW_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)); /*new String*/
5620 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5621 once_value_variable6_248 = variable6;
5622 once_bool_variable6_248 = true;
5623 }
5624 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5625 if (UNTAG_Bool(variable6)) { /*if*/
5626 variable6 = NEW_string___String___init(); /*new String*/
5627 variable7 = NEW_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)); /*new String*/
5628 variable8 = variable7;
5629 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5630 variable9 = TAG_Int(1);
5631 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5632 variable11 = variable10;
5633 if (UNTAG_Bool(variable11)) { /* and */
5634 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5635 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5636 }
5637 variable10 = variable11;
5638 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5639 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5640 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5641 goto return_label249;
5642 return_label249: while(false);
5643 variable9 = variable10;
5644 variable10 = variable9;
5645 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5646 variable11 = NEW_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
5647 variable12 = variable11;
5648 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5649 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5650 } else { /*if*/
5651 if (once_bool_variable6_250) variable6 = once_value_variable6_250;
5652 else {
5653 variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)); /*new String*/
5654 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5655 once_value_variable6_250 = variable6;
5656 once_bool_variable6_250 = true;
5657 }
5658 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5659 if (UNTAG_Bool(variable6)) { /*if*/
5660 variable6 = NEW_string___String___init(); /*new String*/
5661 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
5662 variable8 = variable7;
5663 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5664 variable9 = TAG_Int(1);
5665 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5666 variable11 = variable10;
5667 if (UNTAG_Bool(variable11)) { /* and */
5668 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5669 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5670 }
5671 variable10 = variable11;
5672 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5673 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5674 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5675 goto return_label251;
5676 return_label251: while(false);
5677 variable9 = variable10;
5678 variable10 = variable9;
5679 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5680 variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)); /*new String*/
5681 variable12 = variable11;
5682 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5683 variable5 = variable6 /*s=*/;
5684 } else { /*if*/
5685 if (once_bool_variable6_252) variable6 = once_value_variable6_252;
5686 else {
5687 variable6 = NEW_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)); /*new String*/
5688 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
5689 once_value_variable6_252 = variable6;
5690 once_bool_variable6_252 = true;
5691 }
5692 variable6 = TAG_Bool(( variable4 /*n*/ == variable6) || (( variable4 /*n*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable4 /*n*/,variable6)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable4 /*n*/,COLOR_kernel___Object_____eqeq))( variable4 /*n*/, variable6) /*Symbol::==*/)))));
5693 if (UNTAG_Bool(variable6)) { /*if*/
5694 variable6 = NEW_string___String___init(); /*new String*/
5695 variable7 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
5696 variable8 = variable7;
5697 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5698 variable9 = TAG_Int(1);
5699 variable10 = TAG_Bool(UNTAG_Int( variable9 /*index*/)>=UNTAG_Int( TAG_Int(0)));
5700 variable11 = variable10;
5701 if (UNTAG_Bool(variable11)) { /* and */
5702 variable11 = ATTR_array___AbstractArray____length( variable2 /*p*/) /*Array::_length*/;
5703 variable11 = TAG_Bool(UNTAG_Int( variable9 /*index*/)<UNTAG_Int(variable11));
5704 }
5705 variable10 = variable11;
5706 if (!UNTAG_Bool(variable10)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
5707 variable10 = ATTR_array___Array____items( variable2 /*p*/) /*Array::_items*/;
5708 variable10 = UNBOX_NativeArray(variable10)[UNTAG_Int( variable9 /*index*/)];
5709 goto return_label253;
5710 return_label253: while(false);
5711 variable9 = variable10;
5712 variable10 = variable9;
5713 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable10) /*String::append*/;
5714 variable11 = NEW_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)); /*new String*/
5715 variable12 = variable11;
5716 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable12) /*String::append*/;
5717 variable5 = variable6 /*s=*/;
5718 } else { /*if*/
5719 variable6 = NEW_string___String___init(); /*new String*/
5720 variable7 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)); /*new String*/
5721 variable8 = variable7;
5722 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable8) /*String::append*/;
5723 variable9 = variable4 /*n*/;
5724 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
5725 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable9) /*String::append*/;
5726 variable10 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
5727 variable11 = variable10;
5728 ((string___String___append_t)CALL(variable6,COLOR_abstract_collection___IndexedCollection___append))(variable6, variable11) /*String::append*/;
5729 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable6) /*CompilerVisitor::add_instr*/;
5730 }
5731 }
5732 }
5733 }
5734 }
5735 }
5736 }
5737 }
5738 }
5739 }
5740 }
5741 }
5742 variable6 = ((genericity___MMLocalProperty___signature_t)CALL( variable1 /*method*/,COLOR_static_type___MMLocalProperty___signature))( variable1 /*method*/) /*MMSrcMethod::signature*/;
5743 variable6 = ((static_type___MMSignature___return_type_t)CALL(variable6,COLOR_static_type___MMSignature___return_type))(variable6) /*MMSignature::return_type*/;
5744 variable6 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable6 == NIT_NULL /*null*/) || ((variable6 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable6, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable6,COLOR_kernel___Object_____eqeq))(variable6, NIT_NULL /*null*/) /*MMType::==*/)))))));
5745 variable7 = variable6;
5746 if (UNTAG_Bool(variable7)) { /* and */
5747 variable7 = TAG_Bool(( variable5 /*s*/ == NIT_NULL /*null*/) || (( variable5 /*s*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable5 /*s*/,COLOR_kernel___Object_____eqeq))( variable5 /*s*/, NIT_NULL /*null*/) /*String::==*/)));
5748 }
5749 variable6 = variable7;
5750 if (UNTAG_Bool(variable6)) { /*if*/
5751 variable6 = NEW_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)); /*new String*/
5752 variable5 = variable6 /*s=*/;
5753 }
5754 variable3 = variable5 /*s*/;
5755 goto return_label57;
5756 return_label57: while(false);
5757 tracehead = trace.prev;
5758 return variable3;
5759 }
5760 val_t compiling_methods___PExpr___compile_expr(val_t self, val_t param0) {
5761 struct trace_t trace = {NULL, "compiling_methods::PExpr::compile_expr (src/compiling//compiling_methods.nit:666,2--668:46)"};
5762 trace.prev = tracehead; tracehead = &trace;
5763 fprintf(stderr, "Deferred method compile_expr called (src/compiling//compiling_methods.nit:666,2)\n");
5764 nit_exit(1);
5765 tracehead = trace.prev;
5766 return NIT_NULL;
5767 }
5768 void compiling_methods___PExpr___prepare_compile_stmt(val_t self, val_t param0) {
5769 struct trace_t trace = {NULL, "compiling_methods::PExpr::prepare_compile_stmt (src/compiling//compiling_methods.nit:670,2--673:45)"};
5770 val_t variable0;
5771 trace.prev = tracehead; tracehead = &trace;
5772 variable0 = param0;
5773 tracehead = trace.prev;
5774 return;
5775 }
5776 void compiling_methods___PExpr___compile_stmt(val_t self, val_t param0) {
5777 struct trace_t trace = {NULL, "compiling_methods::PExpr::compile_stmt (src/compiling//compiling_methods.nit:675,2--677:57)"};
5778 val_t variable0;
5779 val_t variable1;
5780 trace.prev = tracehead; tracehead = &trace;
5781 variable0 = param0;
5782 variable1 = NEW_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
5783 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable1) /*PExpr::printl*/;
5784 tracehead = trace.prev;
5785 return;
5786 }
5787 void compiling_methods___ABlockExpr___compile_stmt(val_t self, val_t param0) {
5788 struct trace_t trace = {NULL, "compiling_methods::ABlockExpr::compile_stmt (src/compiling//compiling_methods.nit:681,2--684:19)"};
5789 val_t variable0;
5790 val_t variable1;
5791 val_t variable2;
5792 trace.prev = tracehead; tracehead = &trace;
5793 variable0 = param0;
5794 variable1 = ((parser_nodes___ABlockExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ABlockExpr___n_expr))( self) /*ABlockExpr::n_expr*/;
5795 variable1 = ((list___List___iterator_t)CALL(variable1,COLOR_abstract_collection___Collection___iterator))(variable1) /*List::iterator*/;
5796 while (true) { /*for*/
5797 variable2 = ((list___ListIterator___is_ok_t)CALL(variable1,COLOR_abstract_collection___Iterator___is_ok))(variable1) /*ListIterator::is_ok*/;
5798 if (!UNTAG_Bool(variable2)) break; /*for*/
5799 variable2 = ((list___ListIterator___item_t)CALL(variable1,COLOR_abstract_collection___Iterator___item))(variable1) /*ListIterator::item*/;
5800 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2 /*n*/) /*CompilerVisitor::compile_stmt*/;
5801 continue_257: while(0);
5802 ((list___ListIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ListIterator::next*/;
5803 }
5804 break_257: while(0);
5805 tracehead = trace.prev;
5806 return;
5807 }
5808 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t self, val_t param0) {
5809 struct trace_t trace = {NULL, "compiling_methods::AVardeclExpr::prepare_compile_stmt (src/compiling//compiling_methods.nit:690,2--693:30)"};
5810 val_t variable0;
5811 val_t variable1;
5812 val_t variable2;
5813 val_t variable3;
5814 trace.prev = tracehead; tracehead = &trace;
5815 variable0 = param0;
5816 variable2 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
5817 variable1 = variable2;
5818 variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
5819 variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
5820 ((abstract_collection___Map_____braeq_t)CALL(variable2,COLOR_abstract_collection___Map_____braeq))(variable2, variable3, variable1 /*cname*/) /*Map::[]=*/;
5821 tracehead = trace.prev;
5822 return;
5823 }
5824 void compiling_methods___AVardeclExpr___compile_stmt(val_t self, val_t param0) {
5825 struct trace_t trace = {NULL, "compiling_methods::AVardeclExpr::compile_stmt (src/compiling//compiling_methods.nit:696,2--704:28)"};
5826 val_t variable0;
5827 val_t variable1;
5828 val_t variable2;
5829 val_t variable3;
5830 val_t variable4;
5831 val_t variable5;
5832 val_t variable6;
5833 val_t variable7;
5834 val_t variable8;
5835 val_t variable9;
5836 val_t variable10;
5837 val_t variable11;
5838 val_t variable12;
5839 val_t variable13;
5840 trace.prev = tracehead; tracehead = &trace;
5841 variable0 = param0;
5842 variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
5843 variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
5844 variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
5845 variable1 = variable2;
5846 variable2 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
5847 variable2 = TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*PExpr::==*/)))));
5848 if (UNTAG_Bool(variable2)) { /*if*/
5849 variable3 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
5850 variable3 = ((syntax_base___Variable___stype_t)CALL(variable3,COLOR_syntax_base___Variable___stype))(variable3) /*Variable::stype*/;
5851 variable2 = variable3;
5852 variable3 = NEW_string___String___init(); /*new String*/
5853 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
5854 variable5 = variable4;
5855 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
5856 variable6 = ((compiling_base___MMType___default_cvalue_t)CALL( variable2 /*t*/,COLOR_compiling_base___MMType___default_cvalue))( variable2 /*t*/) /*MMType::default_cvalue*/;
5857 variable7 = variable6;
5858 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
5859 variable8 = NEW_string___String___with_native(BOX_NativeString(" /*decl variable "), TAG_Int(17)); /*new String*/
5860 variable9 = variable8;
5861 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
5862 variable10 = ((typing___AVardeclExpr___variable_t)CALL( self,COLOR_typing___AVardeclExpr___variable))( self) /*AVardeclExpr::variable*/;
5863 variable10 = ((syntax_base___Variable___name_t)CALL(variable10,COLOR_syntax_base___Variable___name))(variable10) /*Variable::name*/;
5864 variable11 = variable10;
5865 variable11 = ((string___String___to_s_t)CALL(variable11,COLOR_string___Object___to_s))(variable11) /*String::to_s*/;
5866 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
5867 variable12 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
5868 variable13 = variable12;
5869 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
5870 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable1 /*cname*/, variable3) /*CompilerVisitor::add_assignment*/;
5871 } else { /*if*/
5872 variable3 = ((parser_nodes___AVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AVardeclExpr___n_expr))( self) /*AVardeclExpr::n_expr*/;
5873 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
5874 variable2 = variable3;
5875 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable1 /*cname*/, variable2 /*e*/) /*CompilerVisitor::add_assignment*/;
5876 }
5877 tracehead = trace.prev;
5878 return;
5879 }
5880 void compiling_methods___AReturnExpr___compile_stmt(val_t self, val_t param0) {
5881 struct trace_t trace = {NULL, "compiling_methods::AReturnExpr::compile_stmt (src/compiling//compiling_methods.nit:710,2--717:38)"};
5882 val_t variable0;
5883 val_t variable1;
5884 val_t variable2;
5885 val_t variable3;
5886 val_t variable4;
5887 val_t variable5;
5888 val_t variable6;
5889 val_t variable7;
5890 trace.prev = tracehead; tracehead = &trace;
5891 variable0 = param0;
5892 ((compiling_methods___CompilerVisitor___has_return__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___has_return__eq))( variable0 /*v*/, TAG_Bool(true)) /*CompilerVisitor::has_return=*/;
5893 variable1 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
5894 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
5895 if (UNTAG_Bool(variable1)) { /*if*/
5896 variable2 = ((parser_nodes___AReturnExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AReturnExpr___n_expr))( self) /*AReturnExpr::n_expr*/;
5897 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
5898 variable1 = variable2;
5899 variable2 = ((compiling_methods___CompilerVisitor___return_value_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_value))( variable0 /*v*/) /*CompilerVisitor::return_value*/;
5900 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable1 /*e*/) /*CompilerVisitor::add_assignment*/;
5901 }
5902 variable1 = NEW_string___String___init(); /*new String*/
5903 variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
5904 variable3 = variable2;
5905 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
5906 variable4 = ((compiling_methods___CompilerVisitor___return_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___return_label))( variable0 /*v*/) /*CompilerVisitor::return_label*/;
5907 variable5 = variable4;
5908 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
5909 variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
5910 variable7 = variable6;
5911 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
5912 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
5913 tracehead = trace.prev;
5914 return;
5915 }
5916 void compiling_methods___ABreakExpr___compile_stmt(val_t self, val_t param0) {
5917 struct trace_t trace = {NULL, "compiling_methods::ABreakExpr::compile_stmt (src/compiling//compiling_methods.nit:722,2--724:37)"};
5918 val_t variable0;
5919 val_t variable1;
5920 val_t variable2;
5921 val_t variable3;
5922 val_t variable4;
5923 val_t variable5;
5924 val_t variable6;
5925 val_t variable7;
5926 trace.prev = tracehead; tracehead = &trace;
5927 variable0 = param0;
5928 variable1 = NEW_string___String___init(); /*new String*/
5929 variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
5930 variable3 = variable2;
5931 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
5932 variable4 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
5933 variable5 = variable4;
5934 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
5935 variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
5936 variable7 = variable6;
5937 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
5938 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
5939 tracehead = trace.prev;
5940 return;
5941 }
5942 void compiling_methods___AContinueExpr___compile_stmt(val_t self, val_t param0) {
5943 struct trace_t trace = {NULL, "compiling_methods::AContinueExpr::compile_stmt (src/compiling//compiling_methods.nit:729,2--731:40)"};
5944 val_t variable0;
5945 val_t variable1;
5946 val_t variable2;
5947 val_t variable3;
5948 val_t variable4;
5949 val_t variable5;
5950 val_t variable6;
5951 val_t variable7;
5952 trace.prev = tracehead; tracehead = &trace;
5953 variable0 = param0;
5954 variable1 = NEW_string___String___init(); /*new String*/
5955 variable2 = NEW_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
5956 variable3 = variable2;
5957 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
5958 variable4 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
5959 variable5 = variable4;
5960 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
5961 variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
5962 variable7 = variable6;
5963 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
5964 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
5965 tracehead = trace.prev;
5966 return;
5967 }
5968 void compiling_methods___AAbortExpr___compile_stmt(val_t self, val_t param0) {
5969 struct trace_t trace = {NULL, "compiling_methods::AAbortExpr::compile_stmt (src/compiling//compiling_methods.nit:736,2--738:71)"};
5970 val_t variable0;
5971 val_t variable1;
5972 val_t variable2;
5973 val_t variable3;
5974 val_t variable4;
5975 val_t variable5;
5976 val_t variable6;
5977 val_t variable7;
5978 trace.prev = tracehead; tracehead = &trace;
5979 variable0 = param0;
5980 variable1 = NEW_string___String___init(); /*new String*/
5981 variable2 = NEW_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted: "), TAG_Int(26)); /*new String*/
5982 variable3 = variable2;
5983 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
5984 variable4 = ((parser_prod___Prod___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*AAbortExpr::locate*/;
5985 variable5 = variable4;
5986 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
5987 variable6 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
5988 variable7 = variable6;
5989 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
5990 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
5991 tracehead = trace.prev;
5992 return;
5993 }
5994 void compiling_methods___ADoExpr___compile_stmt(val_t self, val_t param0) {
5995 struct trace_t trace = {NULL, "compiling_methods::ADoExpr::compile_stmt (src/compiling//compiling_methods.nit:743,2--746:26)"};
5996 val_t variable0;
5997 val_t variable1;
5998 trace.prev = tracehead; tracehead = &trace;
5999 variable0 = param0;
6000 variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
6001 variable1 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1 == NIT_NULL /*null*/) || ((variable1 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable1, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable1,COLOR_kernel___Object_____eqeq))(variable1, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6002 if (UNTAG_Bool(variable1)) { /*if*/
6003 variable1 = ((parser_nodes___ADoExpr___n_block_t)CALL( self,COLOR_parser_nodes___ADoExpr___n_block))( self) /*ADoExpr::n_block*/;
6004 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
6005 }
6006 tracehead = trace.prev;
6007 return;
6008 }
6009 void compiling_methods___AIfExpr___compile_stmt(val_t self, val_t param0) {
6010 struct trace_t trace = {NULL, "compiling_methods::AIfExpr::compile_stmt (src/compiling//compiling_methods.nit:752,2--768:17)"};
6011 val_t variable0;
6012 val_t variable1;
6013 val_t variable2;
6014 val_t variable3;
6015 val_t variable4;
6016 val_t variable5;
6017 val_t variable6;
6018 val_t variable7;
6019 trace.prev = tracehead; tracehead = &trace;
6020 variable0 = param0;
6021 variable2 = ((parser_nodes___AIfExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_expr))( self) /*AIfExpr::n_expr*/;
6022 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6023 variable1 = variable2;
6024 variable2 = NEW_string___String___init(); /*new String*/
6025 variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
6026 variable4 = variable3;
6027 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6028 variable5 = variable1 /*e*/;
6029 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
6030 variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
6031 variable7 = variable6;
6032 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
6033 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6034 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6035 variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
6036 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6037 if (UNTAG_Bool(variable2)) { /*if*/
6038 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6039 variable2 = ((parser_nodes___AIfExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_then))( self) /*AIfExpr::n_then*/;
6040 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
6041 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6042 }
6043 variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
6044 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6045 if (UNTAG_Bool(variable2)) { /*if*/
6046 variable2 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
6047 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6048 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6049 variable2 = ((parser_nodes___AIfExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfExpr___n_else))( self) /*AIfExpr::n_else*/;
6050 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
6051 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6052 }
6053 variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6054 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6055 tracehead = trace.prev;
6056 return;
6057 }
6058 val_t compiling_methods___AIfexprExpr___compile_expr(val_t self, val_t param0) {
6059 struct trace_t trace = {NULL, "compiling_methods::AIfexprExpr::compile_expr (src/compiling//compiling_methods.nit:773,2--788:10)"};
6060 val_t variable0;
6061 val_t variable1;
6062 val_t variable2;
6063 val_t variable3;
6064 val_t variable4;
6065 val_t variable5;
6066 val_t variable6;
6067 val_t variable7;
6068 trace.prev = tracehead; tracehead = &trace;
6069 variable0 = param0;
6070 variable2 = ((parser_nodes___AIfexprExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_expr))( self) /*AIfexprExpr::n_expr*/;
6071 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6072 variable1 = variable2;
6073 variable2 = NEW_string___String___init(); /*new String*/
6074 variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
6075 variable4 = variable3;
6076 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6077 variable5 = variable1 /*e*/;
6078 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
6079 variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
6080 variable7 = variable6;
6081 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
6082 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6083 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6084 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6085 variable3 = ((parser_nodes___AIfexprExpr___n_then_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_then))( self) /*AIfexprExpr::n_then*/;
6086 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
6087 variable3 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable3) /*CompilerVisitor::ensure_var*/;
6088 variable2 = variable3;
6089 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6090 variable3 = NEW_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
6091 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
6092 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable2 /*e*/) /*CompilerVisitor::free_var*/;
6093 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6094 variable4 = ((parser_nodes___AIfexprExpr___n_else_t)CALL( self,COLOR_parser_nodes___AIfexprExpr___n_else))( self) /*AIfexprExpr::n_else*/;
6095 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
6096 variable4 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable4) /*CompilerVisitor::ensure_var*/;
6097 variable3 = variable4;
6098 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2 /*e*/, variable3 /*e2*/) /*CompilerVisitor::add_assignment*/;
6099 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6100 variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6101 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
6102 variable1 = variable2 /*e*/;
6103 goto return_label266;
6104 return_label266: while(false);
6105 tracehead = trace.prev;
6106 return variable1;
6107 }
6108 void compiling_methods___AControlableBlock___compile_inside_block(val_t self, val_t param0) {
6109 struct trace_t trace = {NULL, "compiling_methods::AControlableBlock::compile_inside_block (src/compiling//compiling_methods.nit:793,2--45)"};
6110 trace.prev = tracehead; tracehead = &trace;
6111 fprintf(stderr, "Deferred method compile_inside_block called (src/compiling//compiling_methods.nit:793,2)\n");
6112 nit_exit(1);
6113 tracehead = trace.prev;
6114 return;
6115 }
6116 void compiling_methods___AControlableBlock___compile_stmt(val_t self, val_t param0) {
6117 struct trace_t trace = {NULL, "compiling_methods::AControlableBlock::compile_stmt (src/compiling//compiling_methods.nit:794,2--806:39)"};
6118 val_t variable0;
6119 val_t variable1;
6120 val_t variable2;
6121 val_t variable3;
6122 val_t variable4;
6123 val_t variable5;
6124 val_t variable6;
6125 val_t variable7;
6126 val_t variable8;
6127 val_t variable9;
6128 trace.prev = tracehead; tracehead = &trace;
6129 variable0 = param0;
6130 variable2 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
6131 variable1 = variable2;
6132 variable3 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
6133 variable2 = variable3;
6134 variable4 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
6135 variable3 = variable4;
6136 variable4 = NEW_string___String___init(); /*new String*/
6137 variable5 = NEW_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)); /*new String*/
6138 variable6 = variable5;
6139 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
6140 variable7 = variable3 /*id*/;
6141 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
6142 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
6143 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6144 variable9 = variable8;
6145 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
6146 ((compiling_methods___CompilerVisitor___break_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::break_label=*/;
6147 variable4 = NEW_string___String___init(); /*new String*/
6148 variable5 = NEW_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)); /*new String*/
6149 variable6 = variable5;
6150 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
6151 variable7 = variable3 /*id*/;
6152 variable7 = ((string___String___to_s_t)CALL(variable7,COLOR_string___Object___to_s))(variable7) /*String::to_s*/;
6153 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
6154 variable8 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6155 variable9 = variable8;
6156 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
6157 ((compiling_methods___CompilerVisitor___continue_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label__eq))( variable0 /*v*/, variable4) /*CompilerVisitor::continue_label=*/;
6158 ((compiling_methods___AControlableBlock___compile_inside_block_t)CALL( self,COLOR_compiling_methods___AControlableBlock___compile_inside_block))( self, variable0 /*v*/) /*AControlableBlock::compile_inside_block*/;
6159 ((compiling_methods___CompilerVisitor___break_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label__eq))( variable0 /*v*/, variable1 /*old_break_label*/) /*CompilerVisitor::break_label=*/;
6160 ((compiling_methods___CompilerVisitor___continue_label__eq_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label__eq))( variable0 /*v*/, variable2 /*old_continue_label*/) /*CompilerVisitor::continue_label=*/;
6161 tracehead = trace.prev;
6162 return;
6163 }
6164 void compiling_methods___AWhileExpr___compile_inside_block(val_t self, val_t param0) {
6165 struct trace_t trace = {NULL, "compiling_methods::AWhileExpr::compile_inside_block (src/compiling//compiling_methods.nit:811,2--824:42)"};
6166 val_t variable0;
6167 val_t variable1;
6168 val_t variable2;
6169 val_t variable3;
6170 val_t variable4;
6171 val_t variable5;
6172 val_t variable6;
6173 val_t variable7;
6174 val_t variable8;
6175 trace.prev = tracehead; tracehead = &trace;
6176 variable0 = param0;
6177 variable1 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
6178 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable1) /*CompilerVisitor::add_instr*/;
6179 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6180 variable2 = ((parser_nodes___AWhileExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_expr))( self) /*AWhileExpr::n_expr*/;
6181 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6182 variable1 = variable2;
6183 variable2 = NEW_string___String___init(); /*new String*/
6184 variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
6185 variable4 = variable3;
6186 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6187 variable5 = variable1 /*e*/;
6188 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
6189 variable6 = NEW_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)); /*new String*/
6190 variable7 = variable6;
6191 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
6192 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6193 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6194 variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
6195 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6196 if (UNTAG_Bool(variable2)) { /*if*/
6197 variable2 = ((parser_nodes___AWhileExpr___n_block_t)CALL( self,COLOR_parser_nodes___AWhileExpr___n_block))( self) /*AWhileExpr::n_block*/;
6198 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_stmt*/;
6199 }
6200 variable2 = NEW_string___String___init(); /*new String*/
6201 variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6202 variable4 = variable3;
6203 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6204 variable5 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
6205 variable6 = variable5;
6206 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
6207 variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
6208 variable8 = variable7;
6209 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
6210 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6211 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6212 variable2 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6213 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6214 variable2 = NEW_string___String___init(); /*new String*/
6215 variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6216 variable4 = variable3;
6217 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6218 variable5 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
6219 variable6 = variable5;
6220 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable6) /*String::append*/;
6221 variable7 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
6222 variable8 = variable7;
6223 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable8) /*String::append*/;
6224 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6225 tracehead = trace.prev;
6226 return;
6227 }
6228 void compiling_methods___AForExpr___compile_inside_block(val_t self, val_t param0) {
6229 struct trace_t trace = {NULL, "compiling_methods::AForExpr::compile_inside_block (src/compiling//compiling_methods.nit:829,2--831:26)"};
6230 val_t variable0;
6231 val_t variable1;
6232 trace.prev = tracehead; tracehead = &trace;
6233 variable0 = param0;
6234 variable1 = ((parser_nodes___AForExpr___n_vardecl_t)CALL( self,COLOR_parser_nodes___AForExpr___n_vardecl))( self) /*AForExpr::n_vardecl*/;
6235 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_stmt*/;
6236 tracehead = trace.prev;
6237 return;
6238 }
6239 void compiling_methods___AForVardeclExpr___compile_stmt(val_t self, val_t param0) {
6240 struct trace_t trace = {NULL, "compiling_methods::AForVardeclExpr::compile_stmt (src/compiling//compiling_methods.nit:836,2--883:42)"};
6241 val_t variable0;
6242 val_t variable1;
6243 val_t variable2;
6244 val_t variable3;
6245 val_t variable4;
6246 static val_t once_value_variable4_271; static int once_bool_variable4_271;
6247 val_t variable5;
6248 val_t variable6;
6249 static val_t once_value_variable6_272; static int once_bool_variable6_272;
6250 val_t variable7;
6251 static val_t once_value_variable7_273; static int once_bool_variable7_273;
6252 val_t variable8;
6253 static val_t once_value_variable8_274; static int once_bool_variable8_274;
6254 val_t variable9;
6255 val_t variable10;
6256 val_t variable11;
6257 val_t variable12;
6258 val_t variable13;
6259 val_t variable14;
6260 val_t variable15;
6261 val_t variable16;
6262 val_t variable17;
6263 val_t variable18;
6264 trace.prev = tracehead; tracehead = &trace;
6265 variable0 = param0;
6266 variable2 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
6267 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6268 variable1 = variable2;
6269 variable3 = ((parser_nodes___AForVardeclExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AForVardeclExpr___n_expr))( self) /*AForVardeclExpr::n_expr*/;
6270 variable3 = ((typing___PExpr___stype_t)CALL(variable3,COLOR_syntax_base___PExpr___stype))(variable3) /*PExpr::stype*/;
6271 if (once_bool_variable4_271) variable4 = once_value_variable4_271;
6272 else {
6273 variable4 = NEW_string___String___with_native(BOX_NativeString("iterator"), TAG_Int(8)); /*new String*/
6274 variable4 = ((symbol___String___to_symbol_t)CALL(variable4,COLOR_symbol___String___to_symbol))(variable4) /*String::to_symbol*/;
6275 once_value_variable4_271 = variable4;
6276 once_bool_variable4_271 = true;
6277 }
6278 variable3 = ((static_type___MMType___select_method_t)CALL(variable3,COLOR_static_type___MMType___select_method))(variable3, variable4) /*MMType::select_method*/;
6279 variable2 = variable3;
6280 variable3 = TAG_Bool(( variable2 /*prop*/ == NIT_NULL /*null*/) || (( variable2 /*prop*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable2 /*prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable2 /*prop*/,COLOR_kernel___Object_____eqeq))( variable2 /*prop*/, NIT_NULL /*null*/) /*MMMethod::==*/)))));
6281 if (UNTAG_Bool(variable3)) { /*if*/
6282 variable3 = NEW_string___String___with_native(BOX_NativeString("No iterator"), TAG_Int(11)); /*new String*/
6283 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable3) /*AForVardeclExpr::printl*/;
6284 goto return_label270;
6285 }
6286 variable4 = ((genericity___MMLocalProperty___signature_t)CALL( variable2 /*prop*/,COLOR_static_type___MMLocalProperty___signature))( variable2 /*prop*/) /*MMMethod::signature*/;
6287 variable4 = ((static_type___MMSignature___return_type_t)CALL(variable4,COLOR_static_type___MMSignature___return_type))(variable4) /*MMSignature::return_type*/;
6288 variable3 = variable4;
6289 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6290 variable5 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
6291 variable4 = variable5;
6292 variable5 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
6293 ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable1 /*e*/) /*Array::add*/;
6294 variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable2 /*prop*/,COLOR_compiling_methods___MMMethod___compile_call))( variable2 /*prop*/, variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
6295 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable4 /*iter*/, variable5) /*CompilerVisitor::add_assignment*/;
6296 if (once_bool_variable6_272) variable6 = once_value_variable6_272;
6297 else {
6298 variable6 = NEW_string___String___with_native(BOX_NativeString("is_ok"), TAG_Int(5)); /*new String*/
6299 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
6300 once_value_variable6_272 = variable6;
6301 once_bool_variable6_272 = true;
6302 }
6303 variable6 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable6) /*MMType::select_method*/;
6304 variable5 = variable6;
6305 variable6 = TAG_Bool(( variable5 /*prop2*/ == NIT_NULL /*null*/) || (( variable5 /*prop2*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable5 /*prop2*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable5 /*prop2*/,COLOR_kernel___Object_____eqeq))( variable5 /*prop2*/, NIT_NULL /*null*/) /*MMMethod::==*/)))));
6306 if (UNTAG_Bool(variable6)) { /*if*/
6307 variable6 = NEW_string___String___with_native(BOX_NativeString("No is_ok"), TAG_Int(8)); /*new String*/
6308 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable6) /*AForVardeclExpr::printl*/;
6309 goto return_label270;
6310 }
6311 if (once_bool_variable7_273) variable7 = once_value_variable7_273;
6312 else {
6313 variable7 = NEW_string___String___with_native(BOX_NativeString("item"), TAG_Int(4)); /*new String*/
6314 variable7 = ((symbol___String___to_symbol_t)CALL(variable7,COLOR_symbol___String___to_symbol))(variable7) /*String::to_symbol*/;
6315 once_value_variable7_273 = variable7;
6316 once_bool_variable7_273 = true;
6317 }
6318 variable7 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable7) /*MMType::select_method*/;
6319 variable6 = variable7;
6320 variable7 = TAG_Bool(( variable6 /*prop3*/ == NIT_NULL /*null*/) || (( variable6 /*prop3*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable6 /*prop3*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable6 /*prop3*/,COLOR_kernel___Object_____eqeq))( variable6 /*prop3*/, NIT_NULL /*null*/) /*MMMethod::==*/)))));
6321 if (UNTAG_Bool(variable7)) { /*if*/
6322 variable7 = NEW_string___String___with_native(BOX_NativeString("No item"), TAG_Int(7)); /*new String*/
6323 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable7) /*AForVardeclExpr::printl*/;
6324 goto return_label270;
6325 }
6326 if (once_bool_variable8_274) variable8 = once_value_variable8_274;
6327 else {
6328 variable8 = NEW_string___String___with_native(BOX_NativeString("next"), TAG_Int(4)); /*new String*/
6329 variable8 = ((symbol___String___to_symbol_t)CALL(variable8,COLOR_symbol___String___to_symbol))(variable8) /*String::to_symbol*/;
6330 once_value_variable8_274 = variable8;
6331 once_bool_variable8_274 = true;
6332 }
6333 variable8 = ((static_type___MMType___select_method_t)CALL( variable3 /*ittype*/,COLOR_static_type___MMType___select_method))( variable3 /*ittype*/, variable8) /*MMType::select_method*/;
6334 variable7 = variable8;
6335 variable8 = TAG_Bool(( variable7 /*prop4*/ == NIT_NULL /*null*/) || (( variable7 /*prop4*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable7 /*prop4*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable7 /*prop4*/,COLOR_kernel___Object_____eqeq))( variable7 /*prop4*/, NIT_NULL /*null*/) /*MMMethod::==*/)))));
6336 if (UNTAG_Bool(variable8)) { /*if*/
6337 variable8 = NEW_string___String___with_native(BOX_NativeString("No next"), TAG_Int(7)); /*new String*/
6338 ((parser_prod___PNode___printl_t)CALL( self,COLOR_parser_prod___PNode___printl))( self, variable8) /*AForVardeclExpr::printl*/;
6339 goto return_label270;
6340 }
6341 variable8 = NEW_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
6342 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable8) /*CompilerVisitor::add_instr*/;
6343 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6344 variable9 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
6345 variable8 = variable9;
6346 variable9 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
6347 ((array___AbstractArray___add_t)CALL(variable9,COLOR_abstract_collection___SimpleCollection___add))(variable9, variable4 /*iter*/) /*Array::add*/;
6348 variable9 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable5 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable5 /*prop2*/, variable0 /*v*/, variable9) /*MMMethod::compile_call*/;
6349 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable8 /*ok*/, variable9) /*CompilerVisitor::add_assignment*/;
6350 variable9 = NEW_string___String___init(); /*new String*/
6351 variable10 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
6352 variable11 = variable10;
6353 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable11) /*String::append*/;
6354 variable12 = variable8 /*ok*/;
6355 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable12) /*String::append*/;
6356 variable13 = NEW_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)); /*new String*/
6357 variable14 = variable13;
6358 ((string___String___append_t)CALL(variable9,COLOR_abstract_collection___IndexedCollection___append))(variable9, variable14) /*String::append*/;
6359 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable9) /*CompilerVisitor::add_instr*/;
6360 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable8 /*ok*/) /*CompilerVisitor::free_var*/;
6361 variable10 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
6362 ((array___AbstractArray___add_t)CALL(variable10,COLOR_abstract_collection___SimpleCollection___add))(variable10, variable4 /*iter*/) /*Array::add*/;
6363 variable10 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable6 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable6 /*prop3*/, variable0 /*v*/, variable10) /*MMMethod::compile_call*/;
6364 variable9 = variable10;
6365 variable10 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable9 /*e*/) /*CompilerVisitor::ensure_var*/;
6366 variable9 = variable10 /*e=*/;
6367 variable10 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
6368 variable11 = ((typing___AForVardeclExpr___variable_t)CALL( self,COLOR_typing___AForVardeclExpr___variable))( self) /*AForVardeclExpr::variable*/;
6369 ((abstract_collection___Map_____braeq_t)CALL(variable10,COLOR_abstract_collection___Map_____braeq))(variable10, variable11, variable9 /*e*/) /*Map::[]=*/;
6370 variable11 = ((parser_prod___PNode___parent_t)CALL( self,COLOR_parser_prod___PNode___parent))( self) /*AForVardeclExpr::parent*/;
6371 variable10 = variable11;
6372 variable11 = TAG_Bool(( variable10 /*par*/==NIT_NULL) || VAL_ISA( variable10 /*par*/, COLOR_AForExpr, ID_AForExpr)) /*cast AForExpr*/;
6373 if (!UNTAG_Bool(variable11)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:873,3--25\n"); nit_exit(1);}
6374 variable12 = ((parser_nodes___AForExpr___n_block_t)CALL( variable10 /*par*/,COLOR_parser_nodes___AForExpr___n_block))( variable10 /*par*/) /*AForExpr::n_block*/;
6375 variable11 = variable12;
6376 variable12 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable11 /*n_block*/ == NIT_NULL /*null*/) || (( variable11 /*n_block*/ != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable11 /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL( variable11 /*n_block*/,COLOR_kernel___Object_____eqeq))( variable11 /*n_block*/, NIT_NULL /*null*/) /*PExpr::==*/)))))));
6377 if (UNTAG_Bool(variable12)) { /*if*/
6378 ((compiling_methods___CompilerVisitor___compile_stmt_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_stmt))( variable0 /*v*/, variable11 /*n_block*/) /*CompilerVisitor::compile_stmt*/;
6379 }
6380 variable12 = NEW_string___String___init(); /*new String*/
6381 variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6382 variable14 = variable13;
6383 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
6384 variable15 = ((compiling_methods___CompilerVisitor___continue_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___continue_label))( variable0 /*v*/) /*CompilerVisitor::continue_label*/;
6385 variable16 = variable15;
6386 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
6387 variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
6388 variable18 = variable17;
6389 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
6390 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
6391 variable12 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
6392 ((array___AbstractArray___add_t)CALL(variable12,COLOR_abstract_collection___SimpleCollection___add))(variable12, variable4 /*iter*/) /*Array::add*/;
6393 variable12 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable7 /*prop4*/,COLOR_compiling_methods___MMMethod___compile_call))( variable7 /*prop4*/, variable0 /*v*/, variable12) /*MMMethod::compile_call*/;
6394 variable9 = variable12 /*e=*/;
6395 variable12 = TAG_Bool(( variable9 /*e*/ == NIT_NULL /*null*/) || (( variable9 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable9 /*e*/,COLOR_kernel___Object_____eqeq))( variable9 /*e*/, NIT_NULL /*null*/) /*String::==*/)));
6396 if (!UNTAG_Bool(variable12)) { fprintf(stderr, "Assert failed: src/compiling//compiling_methods.nit:880,3--18\n"); nit_exit(1);}
6397 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6398 variable12 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6399 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
6400 variable12 = NEW_string___String___init(); /*new String*/
6401 variable13 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6402 variable14 = variable13;
6403 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable14) /*String::append*/;
6404 variable15 = ((compiling_methods___CompilerVisitor___break_label_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___break_label))( variable0 /*v*/) /*CompilerVisitor::break_label*/;
6405 variable16 = variable15;
6406 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable16) /*String::append*/;
6407 variable17 = NEW_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
6408 variable18 = variable17;
6409 ((string___String___append_t)CALL(variable12,COLOR_abstract_collection___IndexedCollection___append))(variable12, variable18) /*String::append*/;
6410 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable12) /*CompilerVisitor::add_instr*/;
6411 return_label270: while(false);
6412 tracehead = trace.prev;
6413 return;
6414 }
6415 void compiling_methods___AAssertExpr___compile_stmt(val_t self, val_t param0) {
6416 struct trace_t trace = {NULL, "compiling_methods::AAssertExpr::compile_stmt (src/compiling//compiling_methods.nit:888,2--895:100)"};
6417 val_t variable0;
6418 val_t variable1;
6419 val_t variable2;
6420 val_t variable3;
6421 val_t variable4;
6422 val_t variable5;
6423 val_t variable6;
6424 val_t variable7;
6425 val_t variable8;
6426 val_t variable9;
6427 val_t variable10;
6428 val_t variable11;
6429 val_t variable12;
6430 val_t variable13;
6431 val_t variable14;
6432 val_t variable15;
6433 trace.prev = tracehead; tracehead = &trace;
6434 variable0 = param0;
6435 variable2 = ((parser_nodes___AAssertExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_expr))( self) /*AAssertExpr::n_expr*/;
6436 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6437 variable1 = variable2;
6438 variable3 = NEW_string___String___with_native(BOX_NativeString("Assert"), TAG_Int(6)); /*new String*/
6439 variable2 = variable3;
6440 variable3 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
6441 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 == NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3, NIT_NULL /*null*/) /*TId::==*/)))))));
6442 if (UNTAG_Bool(variable3)) { /*if*/
6443 variable3 = NEW_string___String___init(); /*new String*/
6444 variable4 = NEW_string___String___with_native(BOX_NativeString("Assert '"), TAG_Int(8)); /*new String*/
6445 variable5 = variable4;
6446 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
6447 variable6 = ((parser_nodes___AAssertExpr___n_id_t)CALL( self,COLOR_parser_nodes___AAssertExpr___n_id))( self) /*AAssertExpr::n_id*/;
6448 variable6 = ((lexer___Token___text_t)CALL(variable6,COLOR_lexer___Token___text))(variable6) /*TId::text*/;
6449 variable7 = variable6;
6450 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
6451 variable8 = NEW_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)); /*new String*/
6452 variable9 = variable8;
6453 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
6454 variable2 = variable3 /*s=*/;
6455 }
6456 variable3 = NEW_string___String___init(); /*new String*/
6457 variable4 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
6458 variable5 = variable4;
6459 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
6460 variable6 = variable1 /*e*/;
6461 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
6462 variable7 = NEW_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \""), TAG_Int(22)); /*new String*/
6463 variable8 = variable7;
6464 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
6465 variable9 = variable2 /*s*/;
6466 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
6467 variable10 = NEW_string___String___with_native(BOX_NativeString(" failed: "), TAG_Int(9)); /*new String*/
6468 variable11 = variable10;
6469 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
6470 variable12 = ((parser_prod___Prod___locate_t)CALL( self,COLOR_parser_prod___PNode___locate))( self) /*AAssertExpr::locate*/;
6471 variable13 = variable12;
6472 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable13) /*String::append*/;
6473 variable14 = NEW_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);}"), TAG_Int(19)); /*new String*/
6474 variable15 = variable14;
6475 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
6476 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
6477 tracehead = trace.prev;
6478 return;
6479 }
6480 val_t compiling_methods___AVarExpr___compile_expr(val_t self, val_t param0) {
6481 struct trace_t trace = {NULL, "compiling_methods::AVarExpr::compile_expr (src/compiling//compiling_methods.nit:900,2--902:54)"};
6482 val_t variable0;
6483 val_t variable1;
6484 val_t variable2;
6485 val_t variable3;
6486 val_t variable4;
6487 val_t variable5;
6488 val_t variable6;
6489 val_t variable7;
6490 val_t variable8;
6491 val_t variable9;
6492 val_t variable10;
6493 val_t variable11;
6494 trace.prev = tracehead; tracehead = &trace;
6495 variable0 = param0;
6496 variable1 = NEW_string___String___init(); /*new String*/
6497 variable2 = NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
6498 variable3 = variable2;
6499 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
6500 variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
6501 variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
6502 variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
6503 variable5 = variable4;
6504 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
6505 variable6 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
6506 variable7 = variable6;
6507 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
6508 variable8 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarExpr::variable*/;
6509 variable8 = ((syntax_base___Variable___name_t)CALL(variable8,COLOR_syntax_base___Variable___name))(variable8) /*Variable::name*/;
6510 variable9 = variable8;
6511 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
6512 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable9) /*String::append*/;
6513 variable10 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
6514 variable11 = variable10;
6515 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable11) /*String::append*/;
6516 goto return_label276;
6517 return_label276: while(false);
6518 tracehead = trace.prev;
6519 return variable1;
6520 }
6521 void compiling_methods___AVarAssignExpr___compile_stmt(val_t self, val_t param0) {
6522 struct trace_t trace = {NULL, "compiling_methods::AVarAssignExpr::compile_stmt (src/compiling//compiling_methods.nit:907,2--910:67)"};
6523 val_t variable0;
6524 val_t variable1;
6525 val_t variable2;
6526 val_t variable3;
6527 val_t variable4;
6528 val_t variable5;
6529 val_t variable6;
6530 val_t variable7;
6531 val_t variable8;
6532 val_t variable9;
6533 val_t variable10;
6534 val_t variable11;
6535 val_t variable12;
6536 trace.prev = tracehead; tracehead = &trace;
6537 variable0 = param0;
6538 variable2 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AVarAssignExpr::n_value*/;
6539 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6540 variable1 = variable2;
6541 variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
6542 variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
6543 variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
6544 variable3 = NEW_string___String___init(); /*new String*/
6545 variable4 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6546 variable5 = variable4;
6547 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
6548 variable6 = variable1 /*e*/;
6549 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
6550 variable7 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
6551 variable8 = variable7;
6552 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
6553 variable9 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarAssignExpr::variable*/;
6554 variable9 = ((syntax_base___Variable___name_t)CALL(variable9,COLOR_syntax_base___Variable___name))(variable9) /*Variable::name*/;
6555 variable10 = variable9;
6556 variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
6557 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable10) /*String::append*/;
6558 variable11 = NEW_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)); /*new String*/
6559 variable12 = variable11;
6560 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
6561 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2, variable3) /*CompilerVisitor::add_assignment*/;
6562 tracehead = trace.prev;
6563 return;
6564 }
6565 void compiling_methods___AVarReassignExpr___compile_stmt(val_t self, val_t param0) {
6566 struct trace_t trace = {NULL, "compiling_methods::AVarReassignExpr::compile_stmt (src/compiling//compiling_methods.nit:915,2--920:67)"};
6567 val_t variable0;
6568 val_t variable1;
6569 val_t variable2;
6570 val_t variable3;
6571 val_t variable4;
6572 val_t variable5;
6573 val_t variable6;
6574 val_t variable7;
6575 val_t variable8;
6576 val_t variable9;
6577 val_t variable10;
6578 val_t variable11;
6579 val_t variable12;
6580 val_t variable13;
6581 val_t variable14;
6582 trace.prev = tracehead; tracehead = &trace;
6583 variable0 = param0;
6584 variable2 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
6585 variable3 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
6586 variable2 = ((abstract_collection___Map_____bra_t)CALL(variable2,COLOR_abstract_collection___Map_____bra))(variable2, variable3) /*Map::[]*/;
6587 variable1 = variable2;
6588 variable3 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AVarReassignExpr::n_value*/;
6589 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
6590 variable2 = variable3;
6591 variable4 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AVarReassignExpr::assign_method*/;
6592 variable5 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
6593 ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable1 /*e1*/) /*Array::add*/;
6594 ((array___AbstractArray___add_t)CALL(variable5,COLOR_abstract_collection___SimpleCollection___add))(variable5, variable2 /*e2*/) /*Array::add*/;
6595 variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4, variable0 /*v*/, variable5) /*MMMethod::compile_call*/;
6596 variable3 = variable4;
6597 variable4 = ((compiling_methods___CompilerVisitor___varnames_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___varnames))( variable0 /*v*/) /*CompilerVisitor::varnames*/;
6598 variable5 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
6599 variable4 = ((abstract_collection___Map_____bra_t)CALL(variable4,COLOR_abstract_collection___Map_____bra))(variable4, variable5) /*Map::[]*/;
6600 variable5 = NEW_string___String___init(); /*new String*/
6601 variable6 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
6602 variable7 = variable6;
6603 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable7) /*String::append*/;
6604 variable8 = variable3 /*e3*/;
6605 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable8) /*String::append*/;
6606 variable9 = NEW_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
6607 variable10 = variable9;
6608 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable10) /*String::append*/;
6609 variable11 = ((typing___AVarFormExpr___variable_t)CALL( self,COLOR_typing___AVarFormExpr___variable))( self) /*AVarReassignExpr::variable*/;
6610 variable11 = ((syntax_base___Variable___name_t)CALL(variable11,COLOR_syntax_base___Variable___name))(variable11) /*Variable::name*/;
6611 variable12 = variable11;
6612 variable12 = ((string___String___to_s_t)CALL(variable12,COLOR_string___Object___to_s))(variable12) /*String::to_s*/;
6613 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable12) /*String::append*/;
6614 variable13 = NEW_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
6615 variable14 = variable13;
6616 ((string___String___append_t)CALL(variable5,COLOR_abstract_collection___IndexedCollection___append))(variable5, variable14) /*String::append*/;
6617 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable4, variable5) /*CompilerVisitor::add_assignment*/;
6618 tracehead = trace.prev;
6619 return;
6620 }
6621 val_t compiling_methods___ASelfExpr___compile_expr(val_t self, val_t param0) {
6622 struct trace_t trace = {NULL, "compiling_methods::ASelfExpr::compile_expr (src/compiling//compiling_methods.nit:925,2--927:26)"};
6623 val_t variable0;
6624 val_t variable1;
6625 val_t variable2;
6626 val_t variable3;
6627 val_t variable4;
6628 trace.prev = tracehead; tracehead = &trace;
6629 variable0 = param0;
6630 variable1 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
6631 variable2 = TAG_Int(0);
6632 variable3 = TAG_Bool(UNTAG_Int( variable2 /*index*/)>=UNTAG_Int( TAG_Int(0)));
6633 variable4 = variable3;
6634 if (UNTAG_Bool(variable4)) { /* and */
6635 variable4 = variable1;
6636 variable4 = ATTR_array___AbstractArray____length(variable4) /*Array::_length*/;
6637 variable4 = TAG_Bool(UNTAG_Int( variable2 /*index*/)<UNTAG_Int(variable4));
6638 }
6639 variable3 = variable4;
6640 if (!UNTAG_Bool(variable3)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
6641 variable3 = variable1;
6642 variable3 = ATTR_array___Array____items(variable3) /*Array::_items*/;
6643 variable3 = UNBOX_NativeArray(variable3)[UNTAG_Int( variable2 /*index*/)];
6644 goto return_label280;
6645 return_label280: while(false);
6646 variable1 = variable3;
6647 goto return_label279;
6648 return_label279: while(false);
6649 tracehead = trace.prev;
6650 return variable1;
6651 }
6652 val_t compiling_methods___AOrExpr___compile_expr(val_t self, val_t param0) {
6653 struct trace_t trace = {NULL, "compiling_methods::AOrExpr::compile_expr (src/compiling//compiling_methods.nit:932,2--942:10)"};
6654 val_t variable0;
6655 val_t variable1;
6656 val_t variable2;
6657 val_t variable3;
6658 val_t variable4;
6659 val_t variable5;
6660 val_t variable6;
6661 val_t variable7;
6662 trace.prev = tracehead; tracehead = &trace;
6663 variable0 = param0;
6664 variable2 = ((parser_nodes___AOrExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr))( self) /*AOrExpr::n_expr*/;
6665 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6666 variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
6667 variable1 = variable2;
6668 variable2 = NEW_string___String___init(); /*new String*/
6669 variable3 = NEW_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
6670 variable4 = variable3;
6671 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6672 variable5 = variable1 /*e*/;
6673 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
6674 variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)); /*new String*/
6675 variable7 = variable6;
6676 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
6677 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6678 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6679 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6680 variable3 = ((parser_nodes___AOrExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AOrExpr___n_expr2))( self) /*AOrExpr::n_expr2*/;
6681 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
6682 variable2 = variable3;
6683 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable1 /*e*/, variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
6684 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6685 variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6686 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
6687 variable1 = variable1 /*e*/;
6688 goto return_label281;
6689 return_label281: while(false);
6690 tracehead = trace.prev;
6691 return variable1;
6692 }
6693 val_t compiling_methods___AAndExpr___compile_expr(val_t self, val_t param0) {
6694 struct trace_t trace = {NULL, "compiling_methods::AAndExpr::compile_expr (src/compiling//compiling_methods.nit:947,2--957:10)"};
6695 val_t variable0;
6696 val_t variable1;
6697 val_t variable2;
6698 val_t variable3;
6699 val_t variable4;
6700 val_t variable5;
6701 val_t variable6;
6702 val_t variable7;
6703 trace.prev = tracehead; tracehead = &trace;
6704 variable0 = param0;
6705 variable2 = ((parser_nodes___AAndExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr))( self) /*AAndExpr::n_expr*/;
6706 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6707 variable2 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable2) /*CompilerVisitor::ensure_var*/;
6708 variable1 = variable2;
6709 variable2 = NEW_string___String___init(); /*new String*/
6710 variable3 = NEW_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
6711 variable4 = variable3;
6712 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
6713 variable5 = variable1 /*e*/;
6714 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
6715 variable6 = NEW_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)); /*new String*/
6716 variable7 = variable6;
6717 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
6718 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
6719 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable1 /*e*/) /*CompilerVisitor::free_var*/;
6720 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
6721 variable3 = ((parser_nodes___AAndExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AAndExpr___n_expr2))( self) /*AAndExpr::n_expr2*/;
6722 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
6723 variable2 = variable3;
6724 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable1 /*e*/, variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
6725 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
6726 variable3 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
6727 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
6728 variable1 = variable1 /*e*/;
6729 goto return_label282;
6730 return_label282: while(false);
6731 tracehead = trace.prev;
6732 return variable1;
6733 }
6734 val_t compiling_methods___ANotExpr___compile_expr(val_t self, val_t param0) {
6735 struct trace_t trace = {NULL, "compiling_methods::ANotExpr::compile_expr (src/compiling//compiling_methods.nit:962,2--964:59)"};
6736 val_t variable0;
6737 val_t variable1;
6738 val_t variable2;
6739 val_t variable3;
6740 val_t variable4;
6741 val_t variable5;
6742 val_t variable6;
6743 val_t variable7;
6744 trace.prev = tracehead; tracehead = &trace;
6745 variable0 = param0;
6746 variable1 = NEW_string___String___init(); /*new String*/
6747 variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
6748 variable3 = variable2;
6749 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
6750 variable4 = ((parser_nodes___ANotExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ANotExpr___n_expr))( self) /*ANotExpr::n_expr*/;
6751 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
6752 variable5 = variable4;
6753 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
6754 variable6 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6755 variable7 = variable6;
6756 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
6757 goto return_label283;
6758 return_label283: while(false);
6759 tracehead = trace.prev;
6760 return variable1;
6761 }
6762 val_t compiling_methods___AEeExpr___compile_expr(val_t self, val_t param0) {
6763 struct trace_t trace = {NULL, "compiling_methods::AEeExpr::compile_expr (src/compiling//compiling_methods.nit:969,2--973:42)"};
6764 val_t variable0;
6765 val_t variable1;
6766 val_t variable2;
6767 val_t variable3;
6768 val_t variable4;
6769 val_t variable5;
6770 val_t variable6;
6771 val_t variable7;
6772 val_t variable8;
6773 val_t variable9;
6774 val_t variable10;
6775 val_t variable11;
6776 trace.prev = tracehead; tracehead = &trace;
6777 variable0 = param0;
6778 variable2 = ((parser_nodes___AEeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr))( self) /*AEeExpr::n_expr*/;
6779 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6780 variable1 = variable2;
6781 variable3 = ((parser_nodes___AEeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___AEeExpr___n_expr2))( self) /*AEeExpr::n_expr2*/;
6782 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
6783 variable2 = variable3;
6784 variable3 = NEW_string___String___init(); /*new String*/
6785 variable4 = NEW_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)); /*new String*/
6786 variable5 = variable4;
6787 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
6788 variable6 = variable1 /*e*/;
6789 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
6790 variable7 = NEW_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
6791 variable8 = variable7;
6792 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
6793 variable9 = variable2 /*e2*/;
6794 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
6795 variable10 = NEW_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6796 variable11 = variable10;
6797 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
6798 variable1 = variable3;
6799 goto return_label284;
6800 return_label284: while(false);
6801 tracehead = trace.prev;
6802 return variable1;
6803 }
6804 val_t compiling_methods___AIsaExpr___compile_expr(val_t self, val_t param0) {
6805 struct trace_t trace = {NULL, "compiling_methods::AIsaExpr::compile_expr (src/compiling//compiling_methods.nit:978,2--981:39)"};
6806 val_t variable0;
6807 val_t variable1;
6808 val_t variable2;
6809 trace.prev = tracehead; tracehead = &trace;
6810 variable0 = param0;
6811 variable2 = ((parser_nodes___AIsaExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_expr))( self) /*AIsaExpr::n_expr*/;
6812 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
6813 variable1 = variable2;
6814 variable2 = ((parser_nodes___AIsaExpr___n_type_t)CALL( self,COLOR_parser_nodes___AIsaExpr___n_type))( self) /*AIsaExpr::n_type*/;
6815 variable2 = ((typing___PType___stype_t)CALL(variable2,COLOR_typing___PType___stype))(variable2) /*PType::stype*/;
6816 variable2 = ((compiling_methods___MMType___compile_cast_t)CALL(variable2,COLOR_compiling_methods___MMType___compile_cast))(variable2, variable0 /*v*/, variable1 /*e*/) /*MMType::compile_cast*/;
6817 variable1 = variable2;
6818 goto return_label285;
6819 return_label285: while(false);
6820 tracehead = trace.prev;
6821 return variable1;
6822 }
6823 val_t compiling_methods___ATrueExpr___compile_expr(val_t self, val_t param0) {
6824 struct trace_t trace = {NULL, "compiling_methods::ATrueExpr::compile_expr (src/compiling//compiling_methods.nit:986,2--988:26)"};
6825 val_t variable0;
6826 val_t variable1;
6827 trace.prev = tracehead; tracehead = &trace;
6828 variable0 = param0;
6829 variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
6830 goto return_label286;
6831 return_label286: while(false);
6832 tracehead = trace.prev;
6833 return variable1;
6834 }
6835 val_t compiling_methods___AFalseExpr___compile_expr(val_t self, val_t param0) {
6836 struct trace_t trace = {NULL, "compiling_methods::AFalseExpr::compile_expr (src/compiling//compiling_methods.nit:993,2--995:27)"};
6837 val_t variable0;
6838 val_t variable1;
6839 trace.prev = tracehead; tracehead = &trace;
6840 variable0 = param0;
6841 variable1 = NEW_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
6842 goto return_label287;
6843 return_label287: while(false);
6844 tracehead = trace.prev;
6845 return variable1;
6846 }
6847 val_t compiling_methods___AIntExpr___compile_expr(val_t self, val_t param0) {
6848 struct trace_t trace = {NULL, "compiling_methods::AIntExpr::compile_expr (src/compiling//compiling_methods.nit:1000,2--1002:36)"};
6849 val_t variable0;
6850 val_t variable1;
6851 val_t variable2;
6852 val_t variable3;
6853 val_t variable4;
6854 val_t variable5;
6855 val_t variable6;
6856 val_t variable7;
6857 trace.prev = tracehead; tracehead = &trace;
6858 variable0 = param0;
6859 variable1 = NEW_string___String___init(); /*new String*/
6860 variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
6861 variable3 = variable2;
6862 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
6863 variable4 = ((parser_nodes___AIntExpr___n_number_t)CALL( self,COLOR_parser_nodes___AIntExpr___n_number))( self) /*AIntExpr::n_number*/;
6864 variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TNumber::text*/;
6865 variable5 = variable4;
6866 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
6867 variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
6868 variable7 = variable6;
6869 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
6870 goto return_label288;
6871 return_label288: while(false);
6872 tracehead = trace.prev;
6873 return variable1;
6874 }
6875 val_t compiling_methods___AFloatExpr___compile_expr(val_t self, val_t param0) {
6876 struct trace_t trace = {NULL, "compiling_methods::AFloatExpr::compile_expr (src/compiling//compiling_methods.nit:1007,2--1009:36)"};
6877 val_t variable0;
6878 val_t variable1;
6879 val_t variable2;
6880 val_t variable3;
6881 val_t variable4;
6882 val_t variable5;
6883 val_t variable6;
6884 val_t variable7;
6885 trace.prev = tracehead; tracehead = &trace;
6886 variable0 = param0;
6887 variable1 = NEW_string___String___init(); /*new String*/
6888 variable2 = NEW_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
6889 variable3 = variable2;
6890 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
6891 variable4 = ((parser_nodes___AFloatExpr___n_float_t)CALL( self,COLOR_parser_nodes___AFloatExpr___n_float))( self) /*AFloatExpr::n_float*/;
6892 variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TFloat::text*/;
6893 variable5 = variable4;
6894 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
6895 variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
6896 variable7 = variable6;
6897 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
6898 goto return_label289;
6899 return_label289: while(false);
6900 tracehead = trace.prev;
6901 return variable1;
6902 }
6903 val_t compiling_methods___ACharExpr___compile_expr(val_t self, val_t param0) {
6904 struct trace_t trace = {NULL, "compiling_methods::ACharExpr::compile_expr (src/compiling//compiling_methods.nit:1014,2--1016:35)"};
6905 val_t variable0;
6906 val_t variable1;
6907 val_t variable2;
6908 val_t variable3;
6909 val_t variable4;
6910 val_t variable5;
6911 val_t variable6;
6912 val_t variable7;
6913 trace.prev = tracehead; tracehead = &trace;
6914 variable0 = param0;
6915 variable1 = NEW_string___String___init(); /*new String*/
6916 variable2 = NEW_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
6917 variable3 = variable2;
6918 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable3) /*String::append*/;
6919 variable4 = ((parser_nodes___ACharExpr___n_char_t)CALL( self,COLOR_parser_nodes___ACharExpr___n_char))( self) /*ACharExpr::n_char*/;
6920 variable4 = ((lexer___Token___text_t)CALL(variable4,COLOR_lexer___Token___text))(variable4) /*TChar::text*/;
6921 variable5 = variable4;
6922 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable5) /*String::append*/;
6923 variable6 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
6924 variable7 = variable6;
6925 ((string___String___append_t)CALL(variable1,COLOR_abstract_collection___IndexedCollection___append))(variable1, variable7) /*String::append*/;
6926 goto return_label290;
6927 return_label290: while(false);
6928 tracehead = trace.prev;
6929 return variable1;
6930 }
6931 val_t compiling_methods___AStringFormExpr___compile_expr(val_t self, val_t param0) {
6932 struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::compile_expr (src/compiling//compiling_methods.nit:1021,2--1025:107)"};
6933 val_t variable0;
6934 val_t variable1;
6935 val_t variable2;
6936 val_t variable3;
6937 static val_t once_value_variable3_292; static int once_bool_variable3_292;
6938 val_t variable4;
6939 val_t variable5;
6940 val_t variable6;
6941 val_t variable7;
6942 val_t variable8;
6943 val_t variable9;
6944 val_t variable10;
6945 trace.prev = tracehead; tracehead = &trace;
6946 variable0 = param0;
6947 variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AStringFormExpr::stype*/;
6948 if (once_bool_variable3_292) variable3 = once_value_variable3_292;
6949 else {
6950 variable3 = NEW_string___String___with_native(BOX_NativeString("with_native"), TAG_Int(11)); /*new String*/
6951 variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
6952 once_value_variable3_292 = variable3;
6953 once_bool_variable3_292 = true;
6954 }
6955 variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
6956 variable1 = variable2;
6957 ((compiling_methods___AStringFormExpr___compute_string_info_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___compute_string_info))( self) /*AStringFormExpr::compute_string_info*/;
6958 variable2 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
6959 variable3 = NEW_string___String___init(); /*new String*/
6960 variable4 = NEW_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)); /*new String*/
6961 variable5 = variable4;
6962 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
6963 variable6 = ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/;
6964 variable7 = variable6;
6965 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable7) /*String::append*/;
6966 variable8 = NEW_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)); /*new String*/
6967 variable9 = variable8;
6968 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
6969 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable3) /*Array::add*/;
6970 variable4 = NEW_string___String___init(); /*new String*/
6971 variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
6972 variable6 = variable5;
6973 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
6974 variable7 = ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/;
6975 variable8 = variable7;
6976 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
6977 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
6978 variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
6979 variable10 = variable9;
6980 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
6981 ((array___AbstractArray___add_t)CALL(variable2,COLOR_abstract_collection___SimpleCollection___add))(variable2, variable4) /*Array::add*/;
6982 variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/, variable0 /*v*/, variable2) /*MMMethod::compile_constructor_call*/;
6983 variable1 = variable2;
6984 goto return_label291;
6985 return_label291: while(false);
6986 tracehead = trace.prev;
6987 return variable1;
6988 }
6989 val_t compiling_methods___AStringFormExpr___string_text(val_t self) {
6990 struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::string_text (src/compiling//compiling_methods.nit:1028,2--1029:35)"};
6991 trace.prev = tracehead; tracehead = &trace;
6992 fprintf(stderr, "Deferred method string_text called (src/compiling//compiling_methods.nit:1028,2)\n");
6993 nit_exit(1);
6994 tracehead = trace.prev;
6995 return NIT_NULL;
6996 }
6997 void compiling_methods___AStringFormExpr___compute_string_info(val_t self) {
6998 struct trace_t trace = {NULL, "compiling_methods::AStringFormExpr::compute_string_info (src/compiling//compiling_methods.nit:1037,2--1059:23)"};
6999 val_t variable0;
7000 val_t variable1;
7001 val_t variable2;
7002 val_t variable3;
7003 val_t variable4;
7004 val_t variable5;
7005 val_t variable6;
7006 val_t variable7;
7007 trace.prev = tracehead; tracehead = &trace;
7008 variable0 = TAG_Int(0);
7009 variable2 = ((compiling_methods___AStringFormExpr___string_text_t)CALL( self,COLOR_compiling_methods___AStringFormExpr___string_text))( self) /*AStringFormExpr::string_text*/;
7010 variable1 = variable2;
7011 variable3 = NEW_string___String___init(); /*new String*/
7012 variable2 = variable3;
7013 variable3 = TAG_Int(0);
7014 while (true) { /*while*/
7015 variable4 = ((array___AbstractArray___length_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Collection___length))( variable1 /*str*/) /*String::length*/;
7016 variable4 = TAG_Bool(UNTAG_Int( variable3 /*i*/)<UNTAG_Int(variable4));
7017 if (!UNTAG_Bool(variable4)) break; /* while*/
7018 variable5 = ((string___String_____bra_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Map_____bra))( variable1 /*str*/, variable3 /*i*/) /*String::[]*/;
7019 variable4 = variable5;
7020 variable5 = TAG_Bool(( variable4 /*c*/)==( TAG_Char('\\')));
7021 if (UNTAG_Bool(variable5)) { /*if*/
7022 variable5 = TAG_Int(UNTAG_Int( variable3 /*i*/)+UNTAG_Int( TAG_Int(1)));
7023 variable3 = variable5 /*i=*/;
7024 variable6 = ((string___String_____bra_t)CALL( variable1 /*str*/,COLOR_abstract_collection___Map_____bra))( variable1 /*str*/, variable3 /*i*/) /*String::[]*/;
7025 variable5 = variable6;
7026 variable6 = TAG_Bool(( variable5 /*c2*/)!=( TAG_Char('{')));
7027 variable7 = variable6;
7028 if (UNTAG_Bool(variable7)) { /* and */
7029 variable7 = TAG_Bool(( variable5 /*c2*/)!=( TAG_Char('}')));
7030 }
7031 variable6 = variable7;
7032 if (UNTAG_Bool(variable6)) { /*if*/
7033 ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable4 /*c*/) /*String::add*/;
7034 }
7035 variable4 = variable5 /*c2*/ /*c=*/;
7036 }
7037 variable5 = TAG_Int(UNTAG_Int( variable0 /*len*/)+UNTAG_Int( TAG_Int(1)));
7038 variable0 = variable5 /*len=*/;
7039 ((string___String___add_t)CALL( variable2 /*res*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*res*/, variable4 /*c*/) /*String::add*/;
7040 variable5 = TAG_Int(UNTAG_Int( variable3 /*i*/)+UNTAG_Int( TAG_Int(1)));
7041 variable3 = variable5 /*i=*/;
7042 continue_294: while(0);
7043 }
7044 break_294: while(0);
7045 ATTR_compiling_methods___AStringFormExpr____cstring( self) /*AStringFormExpr::_cstring*/ = variable2 /*res*/;
7046 ATTR_compiling_methods___AStringFormExpr____cstring_length( self) /*AStringFormExpr::_cstring_length*/ = variable0 /*len*/;
7047 tracehead = trace.prev;
7048 return;
7049 }
7050 val_t compiling_methods___AStringExpr___string_text(val_t self) {
7051 struct trace_t trace = {NULL, "compiling_methods::AStringExpr::string_text (src/compiling//compiling_methods.nit:1064,2--85)"};
7052 val_t variable0;
7053 val_t variable1;
7054 trace.prev = tracehead; tracehead = &trace;
7055 variable0 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
7056 variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TString::text*/;
7057 variable1 = ((parser_nodes___AStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStringExpr___n_string))( self) /*AStringExpr::n_string*/;
7058 variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TString::text*/;
7059 variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
7060 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
7061 variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0, TAG_Int(1), variable1) /*String::substring*/;
7062 goto return_label295;
7063 return_label295: while(false);
7064 tracehead = trace.prev;
7065 return variable0;
7066 }
7067 val_t compiling_methods___AStartStringExpr___string_text(val_t self) {
7068 struct trace_t trace = {NULL, "compiling_methods::AStartStringExpr::string_text (src/compiling//compiling_methods.nit:1067,2--85)"};
7069 val_t variable0;
7070 val_t variable1;
7071 trace.prev = tracehead; tracehead = &trace;
7072 variable0 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
7073 variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TStartString::text*/;
7074 variable1 = ((parser_nodes___AStartStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AStartStringExpr___n_string))( self) /*AStartStringExpr::n_string*/;
7075 variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TStartString::text*/;
7076 variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
7077 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
7078 variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0, TAG_Int(1), variable1) /*String::substring*/;
7079 goto return_label296;
7080 return_label296: while(false);
7081 tracehead = trace.prev;
7082 return variable0;
7083 }
7084 val_t compiling_methods___AMidStringExpr___string_text(val_t self) {
7085 struct trace_t trace = {NULL, "compiling_methods::AMidStringExpr::string_text (src/compiling//compiling_methods.nit:1070,2--85)"};
7086 val_t variable0;
7087 val_t variable1;
7088 trace.prev = tracehead; tracehead = &trace;
7089 variable0 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
7090 variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TMidString::text*/;
7091 variable1 = ((parser_nodes___AMidStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AMidStringExpr___n_string))( self) /*AMidStringExpr::n_string*/;
7092 variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TMidString::text*/;
7093 variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
7094 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
7095 variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0, TAG_Int(1), variable1) /*String::substring*/;
7096 goto return_label297;
7097 return_label297: while(false);
7098 tracehead = trace.prev;
7099 return variable0;
7100 }
7101 val_t compiling_methods___AEndStringExpr___string_text(val_t self) {
7102 struct trace_t trace = {NULL, "compiling_methods::AEndStringExpr::string_text (src/compiling//compiling_methods.nit:1073,2--85)"};
7103 val_t variable0;
7104 val_t variable1;
7105 trace.prev = tracehead; tracehead = &trace;
7106 variable0 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
7107 variable0 = ((lexer___Token___text_t)CALL(variable0,COLOR_lexer___Token___text))(variable0) /*TEndString::text*/;
7108 variable1 = ((parser_nodes___AEndStringExpr___n_string_t)CALL( self,COLOR_parser_nodes___AEndStringExpr___n_string))( self) /*AEndStringExpr::n_string*/;
7109 variable1 = ((lexer___Token___text_t)CALL(variable1,COLOR_lexer___Token___text))(variable1) /*TEndString::text*/;
7110 variable1 = ((array___AbstractArray___length_t)CALL(variable1,COLOR_abstract_collection___Collection___length))(variable1) /*String::length*/;
7111 variable1 = TAG_Int(UNTAG_Int(variable1)-UNTAG_Int( TAG_Int(2)));
7112 variable0 = ((string___String___substring_t)CALL(variable0,COLOR_string___String___substring))(variable0, TAG_Int(1), variable1) /*String::substring*/;
7113 goto return_label298;
7114 return_label298: while(false);
7115 tracehead = trace.prev;
7116 return variable0;
7117 }
7118 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t self, val_t param0) {
7119 struct trace_t trace = {NULL, "compiling_methods::ASuperstringExpr::compile_expr (src/compiling//compiling_methods.nit:1077,2--1093:13)"};
7120 val_t variable0;
7121 val_t variable1;
7122 val_t variable2;
7123 val_t variable3;
7124 static val_t once_value_variable3_300; static int once_bool_variable3_300;
7125 val_t variable4;
7126 val_t variable5;
7127 static val_t once_value_variable5_301; static int once_bool_variable5_301;
7128 val_t variable6;
7129 static val_t once_value_variable6_302; static int once_bool_variable6_302;
7130 val_t variable7;
7131 val_t variable8;
7132 val_t variable9;
7133 trace.prev = tracehead; tracehead = &trace;
7134 variable0 = param0;
7135 variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
7136 if (once_bool_variable3_300) variable3 = once_value_variable3_300;
7137 else {
7138 variable3 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
7139 variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
7140 once_value_variable3_300 = variable3;
7141 once_bool_variable3_300 = true;
7142 }
7143 variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
7144 variable1 = variable2;
7145 variable3 = NEW_array___Array___init(); /*new Array[String]*/
7146 variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/, variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
7147 variable2 = variable3;
7148 variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
7149 if (once_bool_variable5_301) variable5 = once_value_variable5_301;
7150 else {
7151 variable5 = NEW_string___String___with_native(BOX_NativeString("append"), TAG_Int(6)); /*new String*/
7152 variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
7153 once_value_variable5_301 = variable5;
7154 once_bool_variable5_301 = true;
7155 }
7156 variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
7157 variable3 = variable4;
7158 variable5 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
7159 if (once_bool_variable6_302) variable6 = once_value_variable6_302;
7160 else {
7161 variable6 = NEW_string___String___with_native(BOX_NativeString("to_s"), TAG_Int(4)); /*new String*/
7162 variable6 = ((symbol___String___to_symbol_t)CALL(variable6,COLOR_symbol___String___to_symbol))(variable6) /*String::to_symbol*/;
7163 once_value_variable6_302 = variable6;
7164 once_bool_variable6_302 = true;
7165 }
7166 variable5 = ((static_type___MMType___select_method_t)CALL(variable5,COLOR_static_type___MMType___select_method))(variable5, variable6) /*MMType::select_method*/;
7167 variable4 = variable5;
7168 variable5 = ((parser_nodes___ASuperstringExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___ASuperstringExpr___n_exprs))( self) /*ASuperstringExpr::n_exprs*/;
7169 variable5 = ((list___List___iterator_t)CALL(variable5,COLOR_abstract_collection___Collection___iterator))(variable5) /*List::iterator*/;
7170 while (true) { /*for*/
7171 variable6 = ((list___ListIterator___is_ok_t)CALL(variable5,COLOR_abstract_collection___Iterator___is_ok))(variable5) /*ListIterator::is_ok*/;
7172 if (!UNTAG_Bool(variable6)) break; /*for*/
7173 variable6 = ((list___ListIterator___item_t)CALL(variable5,COLOR_abstract_collection___Iterator___item))(variable5) /*ListIterator::item*/;
7174 variable8 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable6 /*ne*/) /*CompilerVisitor::compile_expr*/;
7175 variable8 = ((compiling_methods___CompilerVisitor___ensure_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___ensure_var))( variable0 /*v*/, variable8) /*CompilerVisitor::ensure_var*/;
7176 variable7 = variable8;
7177 variable8 = ((typing___PExpr___stype_t)CALL( variable6 /*ne*/,COLOR_syntax_base___PExpr___stype))( variable6 /*ne*/) /*PExpr::stype*/;
7178 variable9 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ASuperstringExpr::stype*/;
7179 variable8 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable8 == variable9) || ((variable8 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable8,variable9)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable8,COLOR_kernel___Object_____eqeq))(variable8, variable9) /*MMType::==*/)))))));
7180 if (UNTAG_Bool(variable8)) { /*if*/
7181 variable8 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7182 ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable7 /*e*/) /*Array::add*/;
7183 variable8 = ((compiling_methods___MMMethod___compile_call_t)CALL( variable4 /*prop3*/,COLOR_compiling_methods___MMMethod___compile_call))( variable4 /*prop3*/, variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
7184 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable7 /*e*/, variable8) /*CompilerVisitor::add_assignment*/;
7185 }
7186 variable8 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
7187 ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable2 /*recv*/) /*Array::add*/;
7188 ((array___AbstractArray___add_t)CALL(variable8,COLOR_abstract_collection___SimpleCollection___add))(variable8, variable7 /*e*/) /*Array::add*/;
7189 ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/, variable0 /*v*/, variable8) /*MMMethod::compile_call*/;
7190 continue_303: while(0);
7191 ((list___ListIterator___next_t)CALL(variable5,COLOR_abstract_collection___Iterator___next))(variable5) /*ListIterator::next*/;
7192 }
7193 break_303: while(0);
7194 variable1 = variable2 /*recv*/;
7195 goto return_label299;
7196 return_label299: while(false);
7197 tracehead = trace.prev;
7198 return variable1;
7199 }
7200 val_t compiling_methods___ANullExpr___compile_expr(val_t self, val_t param0) {
7201 struct trace_t trace = {NULL, "compiling_methods::ANullExpr::compile_expr (src/compiling//compiling_methods.nit:1098,2--1100:29)"};
7202 val_t variable0;
7203 val_t variable1;
7204 trace.prev = tracehead; tracehead = &trace;
7205 variable0 = param0;
7206 variable1 = NEW_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
7207 goto return_label304;
7208 return_label304: while(false);
7209 tracehead = trace.prev;
7210 return variable1;
7211 }
7212 val_t compiling_methods___AArrayExpr___compile_expr(val_t self, val_t param0) {
7213 struct trace_t trace = {NULL, "compiling_methods::AArrayExpr::compile_expr (src/compiling//compiling_methods.nit:1105,2--1115:13)"};
7214 val_t variable0;
7215 val_t variable1;
7216 val_t variable2;
7217 val_t variable3;
7218 static val_t once_value_variable3_306; static int once_bool_variable3_306;
7219 val_t variable4;
7220 val_t variable5;
7221 val_t variable6;
7222 val_t variable7;
7223 val_t variable8;
7224 val_t variable9;
7225 val_t variable10;
7226 static val_t once_value_variable5_307; static int once_bool_variable5_307;
7227 trace.prev = tracehead; tracehead = &trace;
7228 variable0 = param0;
7229 variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
7230 if (once_bool_variable3_306) variable3 = once_value_variable3_306;
7231 else {
7232 variable3 = NEW_string___String___with_native(BOX_NativeString("with_capacity"), TAG_Int(13)); /*new String*/
7233 variable3 = ((symbol___String___to_symbol_t)CALL(variable3,COLOR_symbol___String___to_symbol))(variable3) /*String::to_symbol*/;
7234 once_value_variable3_306 = variable3;
7235 once_bool_variable3_306 = true;
7236 }
7237 variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
7238 variable1 = variable2;
7239 variable3 = NEW_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7240 variable4 = NEW_string___String___init(); /*new String*/
7241 variable5 = NEW_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
7242 variable6 = variable5;
7243 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
7244 variable7 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
7245 variable7 = ((list___List___length_t)CALL(variable7,COLOR_abstract_collection___Collection___length))(variable7) /*List::length*/;
7246 variable8 = variable7;
7247 variable8 = ((string___String___to_s_t)CALL(variable8,COLOR_string___Object___to_s))(variable8) /*String::to_s*/;
7248 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable8) /*String::append*/;
7249 variable9 = NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
7250 variable10 = variable9;
7251 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
7252 ((array___AbstractArray___add_t)CALL(variable3,COLOR_abstract_collection___SimpleCollection___add))(variable3, variable4) /*Array::add*/;
7253 variable3 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/, variable0 /*v*/, variable3) /*MMMethod::compile_constructor_call*/;
7254 variable2 = variable3;
7255 variable4 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*AArrayExpr::stype*/;
7256 if (once_bool_variable5_307) variable5 = once_value_variable5_307;
7257 else {
7258 variable5 = NEW_string___String___with_native(BOX_NativeString("add"), TAG_Int(3)); /*new String*/
7259 variable5 = ((symbol___String___to_symbol_t)CALL(variable5,COLOR_symbol___String___to_symbol))(variable5) /*String::to_symbol*/;
7260 once_value_variable5_307 = variable5;
7261 once_bool_variable5_307 = true;
7262 }
7263 variable4 = ((static_type___MMType___select_method_t)CALL(variable4,COLOR_static_type___MMType___select_method))(variable4, variable5) /*MMType::select_method*/;
7264 variable3 = variable4;
7265 variable4 = ((parser_nodes___AArrayExpr___n_exprs_t)CALL( self,COLOR_parser_nodes___AArrayExpr___n_exprs))( self) /*AArrayExpr::n_exprs*/;
7266 variable4 = ((list___List___iterator_t)CALL(variable4,COLOR_abstract_collection___Collection___iterator))(variable4) /*List::iterator*/;
7267 while (true) { /*for*/
7268 variable5 = ((list___ListIterator___is_ok_t)CALL(variable4,COLOR_abstract_collection___Iterator___is_ok))(variable4) /*ListIterator::is_ok*/;
7269 if (!UNTAG_Bool(variable5)) break; /*for*/
7270 variable5 = ((list___ListIterator___item_t)CALL(variable4,COLOR_abstract_collection___Iterator___item))(variable4) /*ListIterator::item*/;
7271 variable7 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable5 /*ne*/) /*CompilerVisitor::compile_expr*/;
7272 variable6 = variable7;
7273 variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
7274 ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable2 /*recv*/) /*Array::add*/;
7275 ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable6 /*e*/) /*Array::add*/;
7276 ((compiling_methods___MMMethod___compile_call_t)CALL( variable3 /*prop2*/,COLOR_compiling_methods___MMMethod___compile_call))( variable3 /*prop2*/, variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
7277 continue_308: while(0);
7278 ((list___ListIterator___next_t)CALL(variable4,COLOR_abstract_collection___Iterator___next))(variable4) /*ListIterator::next*/;
7279 }
7280 break_308: while(0);
7281 variable1 = variable2 /*recv*/;
7282 goto return_label305;
7283 return_label305: while(false);
7284 tracehead = trace.prev;
7285 return variable1;
7286 }
7287 val_t compiling_methods___ARangeExpr___compile_expr(val_t self, val_t param0) {
7288 struct trace_t trace = {NULL, "compiling_methods::ARangeExpr::compile_expr (src/compiling//compiling_methods.nit:1120,2--1125:48)"};
7289 val_t variable0;
7290 val_t variable1;
7291 val_t variable2;
7292 val_t variable3;
7293 val_t variable4;
7294 trace.prev = tracehead; tracehead = &trace;
7295 variable0 = param0;
7296 variable2 = ((typing___PExpr___stype_t)CALL( self,COLOR_syntax_base___PExpr___stype))( self) /*ARangeExpr::stype*/;
7297 variable3 = ((compiling_methods___ARangeExpr___propname_t)CALL( self,COLOR_compiling_methods___ARangeExpr___propname))( self) /*ARangeExpr::propname*/;
7298 variable2 = ((static_type___MMType___select_method_t)CALL(variable2,COLOR_static_type___MMType___select_method))(variable2, variable3) /*MMType::select_method*/;
7299 variable1 = variable2;
7300 variable3 = ((parser_nodes___ARangeExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr))( self) /*ARangeExpr::n_expr*/;
7301 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
7302 variable2 = variable3;
7303 variable4 = ((parser_nodes___ARangeExpr___n_expr2_t)CALL( self,COLOR_parser_nodes___ARangeExpr___n_expr2))( self) /*ARangeExpr::n_expr2*/;
7304 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
7305 variable3 = variable4;
7306 variable4 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
7307 ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable2 /*e*/) /*Array::add*/;
7308 ((array___AbstractArray___add_t)CALL(variable4,COLOR_abstract_collection___SimpleCollection___add))(variable4, variable3 /*e2*/) /*Array::add*/;
7309 variable4 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL( variable1 /*prop*/,COLOR_compiling_methods___MMMethod___compile_constructor_call))( variable1 /*prop*/, variable0 /*v*/, variable4) /*MMMethod::compile_constructor_call*/;
7310 variable1 = variable4;
7311 goto return_label309;
7312 return_label309: while(false);
7313 tracehead = trace.prev;
7314 return variable1;
7315 }
7316 val_t compiling_methods___ARangeExpr___propname(val_t self) {
7317 struct trace_t trace = {NULL, "compiling_methods::ARangeExpr::propname (src/compiling//compiling_methods.nit:1127,2--1128:32)"};
7318 trace.prev = tracehead; tracehead = &trace;
7319 fprintf(stderr, "Deferred method propname called (src/compiling//compiling_methods.nit:1127,2)\n");
7320 nit_exit(1);
7321 tracehead = trace.prev;
7322 return NIT_NULL;
7323 }
7324 val_t compiling_methods___ACrangeExpr___propname(val_t self) {
7325 struct trace_t trace = {NULL, "compiling_methods::ACrangeExpr::propname (src/compiling//compiling_methods.nit:1132,2--52)"};
7326 val_t variable0;
7327 static val_t once_value_variable0_311; static int once_bool_variable0_311;
7328 trace.prev = tracehead; tracehead = &trace;
7329 if (once_bool_variable0_311) variable0 = once_value_variable0_311;
7330 else {
7331 variable0 = NEW_string___String___with_native(BOX_NativeString("init"), TAG_Int(4)); /*new String*/
7332 variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
7333 once_value_variable0_311 = variable0;
7334 once_bool_variable0_311 = true;
7335 }
7336 goto return_label310;
7337 return_label310: while(false);
7338 tracehead = trace.prev;
7339 return variable0;
7340 }
7341 val_t compiling_methods___AOrangeExpr___propname(val_t self) {
7342 struct trace_t trace = {NULL, "compiling_methods::AOrangeExpr::propname (src/compiling//compiling_methods.nit:1135,2--60)"};
7343 val_t variable0;
7344 static val_t once_value_variable0_313; static int once_bool_variable0_313;
7345 trace.prev = tracehead; tracehead = &trace;
7346 if (once_bool_variable0_313) variable0 = once_value_variable0_313;
7347 else {
7348 variable0 = NEW_string___String___with_native(BOX_NativeString("without_last"), TAG_Int(12)); /*new String*/
7349 variable0 = ((symbol___String___to_symbol_t)CALL(variable0,COLOR_symbol___String___to_symbol))(variable0) /*String::to_symbol*/;
7350 once_value_variable0_313 = variable0;
7351 once_bool_variable0_313 = true;
7352 }
7353 goto return_label312;
7354 return_label312: while(false);
7355 tracehead = trace.prev;
7356 return variable0;
7357 }
7358 void compiling_methods___ASuperExpr___compile_stmt(val_t self, val_t param0) {
7359 struct trace_t trace = {NULL, "compiling_methods::ASuperExpr::compile_stmt (src/compiling//compiling_methods.nit:1139,2--1142:38)"};
7360 val_t variable0;
7361 val_t variable1;
7362 val_t variable2;
7363 val_t variable3;
7364 val_t variable4;
7365 val_t variable5;
7366 val_t variable6;
7367 val_t variable7;
7368 trace.prev = tracehead; tracehead = &trace;
7369 variable0 = param0;
7370 variable2 = ((compiling_methods___ASuperExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self, variable0 /*v*/) /*ASuperExpr::compile_expr*/;
7371 variable1 = variable2;
7372 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ == NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/, NIT_NULL /*null*/) /*String::==*/)))));
7373 if (UNTAG_Bool(variable2)) { /*if*/
7374 variable2 = NEW_string___String___init(); /*new String*/
7375 variable3 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7376 variable4 = variable3;
7377 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable4) /*String::append*/;
7378 variable5 = variable1 /*e*/;
7379 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable5) /*String::append*/;
7380 variable6 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7381 variable7 = variable6;
7382 ((string___String___append_t)CALL(variable2,COLOR_abstract_collection___IndexedCollection___append))(variable2, variable7) /*String::append*/;
7383 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
7384 }
7385 tracehead = trace.prev;
7386 return;
7387 }
7388 val_t compiling_methods___ASuperExpr___compile_expr(val_t self, val_t param0) {
7389 struct trace_t trace = {NULL, "compiling_methods::ASuperExpr::compile_expr (src/compiling//compiling_methods.nit:1145,2--1167:41)"};
7390 val_t variable0;
7391 val_t variable1;
7392 val_t variable2;
7393 val_t variable3;
7394 val_t variable4;
7395 val_t variable5;
7396 val_t variable6;
7397 val_t variable7;
7398 val_t variable8;
7399 val_t variable9;
7400 trace.prev = tracehead; tracehead = &trace;
7401 variable0 = param0;
7402 variable2 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
7403 variable2 = ((array___AbstractArray___length_t)CALL(variable2,COLOR_abstract_collection___Collection___length))(variable2) /*Array::length*/;
7404 variable2 = TAG_Int(UNTAG_Int(variable2)-UNTAG_Int( TAG_Int(1)));
7405 variable1 = variable2;
7406 variable2 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
7407 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable2 == NIT_NULL /*null*/) || ((variable2 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable2, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable2,COLOR_kernel___Object_____eqeq))(variable2, NIT_NULL /*null*/) /*MMMethod::==*/)))))));
7408 if (UNTAG_Bool(variable2)) { /*if*/
7409 variable2 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
7410 variable2 = ((genericity___MMLocalProperty___signature_t)CALL(variable2,COLOR_static_type___MMLocalProperty___signature))(variable2) /*MMMethod::signature*/;
7411 variable2 = ((static_type___MMSignature___arity_t)CALL(variable2,COLOR_static_type___MMSignature___arity))(variable2) /*MMSignature::arity*/;
7412 variable1 = variable2 /*arity=*/;
7413 }
7414 variable3 = TAG_Int(UNTAG_Int( variable1 /*arity*/)+UNTAG_Int( TAG_Int(1)));
7415 variable4 = NEW_array___Array___with_capacity(variable3); /*new Array[String]*/
7416 variable3 = variable4;
7417 variable2 = variable3;
7418 variable3 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
7419 variable4 = TAG_Int(0);
7420 variable5 = TAG_Bool(UNTAG_Int( variable4 /*index*/)>=UNTAG_Int( TAG_Int(0)));
7421 variable6 = variable5;
7422 if (UNTAG_Bool(variable6)) { /* and */
7423 variable6 = variable3;
7424 variable6 = ATTR_array___AbstractArray____length(variable6) /*Array::_length*/;
7425 variable6 = TAG_Bool(UNTAG_Int( variable4 /*index*/)<UNTAG_Int(variable6));
7426 }
7427 variable5 = variable6;
7428 if (!UNTAG_Bool(variable5)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
7429 variable5 = variable3;
7430 variable5 = ATTR_array___Array____items(variable5) /*Array::_items*/;
7431 variable5 = UNBOX_NativeArray(variable5)[UNTAG_Int( variable4 /*index*/)];
7432 goto return_label316;
7433 return_label316: while(false);
7434 variable3 = variable5;
7435 ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
7436 variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
7437 variable3 = ((list___List___length_t)CALL(variable3,COLOR_abstract_collection___Collection___length))(variable3) /*List::length*/;
7438 variable3 = TAG_Bool((variable3)!=( variable1 /*arity*/));
7439 if (UNTAG_Bool(variable3)) { /*if*/
7440 variable3 = NEW_range___Range___without_last( TAG_Int(0), variable1 /*arity*/); /*new Range[Int]*/
7441 variable3 = ((range___Range___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Range::iterator*/;
7442 while (true) { /*for*/
7443 variable4 = ((abstract_collection___Iterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*Iterator::is_ok*/;
7444 if (!UNTAG_Bool(variable4)) break; /*for*/
7445 variable4 = ((abstract_collection___Iterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*Iterator::item*/;
7446 variable5 = ((compiling_methods___CompilerVisitor___method_params_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___method_params))( variable0 /*v*/) /*CompilerVisitor::method_params*/;
7447 variable6 = TAG_Int(UNTAG_Int( variable4 /*i*/)+UNTAG_Int( TAG_Int(1)));
7448 variable7 = variable6;
7449 variable8 = TAG_Bool(UNTAG_Int( variable7 /*index*/)>=UNTAG_Int( TAG_Int(0)));
7450 variable9 = variable8;
7451 if (UNTAG_Bool(variable9)) { /* and */
7452 variable9 = variable5;
7453 variable9 = ATTR_array___AbstractArray____length(variable9) /*Array::_length*/;
7454 variable9 = TAG_Bool(UNTAG_Int( variable7 /*index*/)<UNTAG_Int(variable9));
7455 }
7456 variable8 = variable9;
7457 if (!UNTAG_Bool(variable8)) { fprintf(stderr, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
7458 variable8 = variable5;
7459 variable8 = ATTR_array___Array____items(variable8) /*Array::_items*/;
7460 variable8 = UNBOX_NativeArray(variable8)[UNTAG_Int( variable7 /*index*/)];
7461 goto return_label318;
7462 return_label318: while(false);
7463 variable5 = variable8;
7464 ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*Array::add*/;
7465 continue_317: while(0);
7466 ((abstract_collection___Iterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*Iterator::next*/;
7467 }
7468 break_317: while(0);
7469 } else { /*if*/
7470 variable3 = ((parser_nodes___ASuperExpr___n_args_t)CALL( self,COLOR_parser_nodes___ASuperExpr___n_args))( self) /*ASuperExpr::n_args*/;
7471 variable3 = ((list___List___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*List::iterator*/;
7472 while (true) { /*for*/
7473 variable4 = ((list___ListIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ListIterator::is_ok*/;
7474 if (!UNTAG_Bool(variable4)) break; /*for*/
7475 variable4 = ((list___ListIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ListIterator::item*/;
7476 variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4 /*na*/) /*CompilerVisitor::compile_expr*/;
7477 ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable5) /*Array::add*/;
7478 continue_319: while(0);
7479 ((list___ListIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ListIterator::next*/;
7480 }
7481 break_319: while(0);
7482 }
7483 variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
7484 variable3 = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable3 == NIT_NULL /*null*/) || ((variable3 != NIT_NULL) && ((((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable3, NIT_NULL /*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t)CALL(variable3,COLOR_kernel___Object_____eqeq))(variable3, NIT_NULL /*null*/) /*MMMethod::==*/)))))));
7485 if (UNTAG_Bool(variable3)) { /*if*/
7486 variable3 = ((typing___ASuperExpr___init_in_superclass_t)CALL( self,COLOR_typing___ASuperExpr___init_in_superclass))( self) /*ASuperExpr::init_in_superclass*/;
7487 variable3 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_call))(variable3, variable0 /*v*/, variable2 /*args*/) /*MMMethod::compile_call*/;
7488 variable1 = variable3;
7489 goto return_label315;
7490 } else { /*if*/
7491 variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASuperExpr::prop*/;
7492 variable3 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable3,COLOR_abstractmetamodel___MMLocalProperty___global))(variable3) /*MMMethod::global*/;
7493 variable3 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable3,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable3) /*MMGlobalProperty::is_init*/;
7494 if (UNTAG_Bool(variable3)) { /*if*/
7495 variable3 = NEW_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
7496 ((array___AbstractArray___add_t)CALL( variable2 /*args*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*args*/, variable3) /*Array::add*/;
7497 }
7498 variable3 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASuperExpr::prop*/;
7499 variable3 = ((compiling_methods___MMMethod___compile_super_call_t)CALL(variable3,COLOR_compiling_methods___MMMethod___compile_super_call))(variable3, variable0 /*v*/, variable2 /*args*/) /*MMMethod::compile_super_call*/;
7500 variable1 = variable3;
7501 goto return_label315;
7502 }
7503 return_label315: while(false);
7504 tracehead = trace.prev;
7505 return variable1;
7506 }
7507 val_t compiling_methods___AAttrExpr___compile_expr(val_t self, val_t param0) {
7508 struct trace_t trace = {NULL, "compiling_methods::AAttrExpr::compile_expr (src/compiling//compiling_methods.nit:1173,2--1176:33)"};
7509 val_t variable0;
7510 val_t variable1;
7511 val_t variable2;
7512 trace.prev = tracehead; tracehead = &trace;
7513 variable0 = param0;
7514 variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrExpr::n_expr*/;
7515 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
7516 variable1 = variable2;
7517 variable2 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrExpr::prop*/;
7518 variable2 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable2,COLOR_compiling_methods___MMAttribute___compile_access))(variable2, variable0 /*v*/, variable1 /*e*/) /*MMAttribute::compile_access*/;
7519 variable1 = variable2;
7520 goto return_label320;
7521 return_label320: while(false);
7522 tracehead = trace.prev;
7523 return variable1;
7524 }
7525 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t self, val_t param0) {
7526 struct trace_t trace = {NULL, "compiling_methods::AAttrAssignExpr::compile_stmt (src/compiling//compiling_methods.nit:1181,2--1185:48)"};
7527 val_t variable0;
7528 val_t variable1;
7529 val_t variable2;
7530 val_t variable3;
7531 trace.prev = tracehead; tracehead = &trace;
7532 variable0 = param0;
7533 variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrAssignExpr::n_expr*/;
7534 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
7535 variable1 = variable2;
7536 variable3 = ((parser_nodes___AAssignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AAssignFormExpr___n_value))( self) /*AAttrAssignExpr::n_value*/;
7537 variable3 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3) /*CompilerVisitor::compile_expr*/;
7538 variable2 = variable3;
7539 variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrAssignExpr::prop*/;
7540 variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3, variable0 /*v*/, variable1 /*e*/) /*MMAttribute::compile_access*/;
7541 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable3, variable2 /*e2*/) /*CompilerVisitor::add_assignment*/;
7542 tracehead = trace.prev;
7543 return;
7544 }
7545 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t self, val_t param0) {
7546 struct trace_t trace = {NULL, "compiling_methods::AAttrReassignExpr::compile_stmt (src/compiling//compiling_methods.nit:1189,2--1195:25)"};
7547 val_t variable0;
7548 val_t variable1;
7549 val_t variable2;
7550 val_t variable3;
7551 val_t variable4;
7552 val_t variable5;
7553 val_t variable6;
7554 trace.prev = tracehead; tracehead = &trace;
7555 variable0 = param0;
7556 variable2 = ((parser_nodes___AAttrFormExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AAttrFormExpr___n_expr))( self) /*AAttrReassignExpr::n_expr*/;
7557 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
7558 variable1 = variable2;
7559 variable3 = ((typing___AAttrFormExpr___prop_t)CALL( self,COLOR_typing___AAttrFormExpr___prop))( self) /*AAttrReassignExpr::prop*/;
7560 variable3 = ((compiling_methods___MMAttribute___compile_access_t)CALL(variable3,COLOR_compiling_methods___MMAttribute___compile_access))(variable3, variable0 /*v*/, variable1 /*e1*/) /*MMAttribute::compile_access*/;
7561 variable2 = variable3;
7562 variable4 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*AAttrReassignExpr::n_value*/;
7563 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
7564 variable3 = variable4;
7565 variable5 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*AAttrReassignExpr::assign_method*/;
7566 variable6 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
7567 ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable2 /*e2*/) /*Array::add*/;
7568 ((array___AbstractArray___add_t)CALL(variable6,COLOR_abstract_collection___SimpleCollection___add))(variable6, variable3 /*e3*/) /*Array::add*/;
7569 variable5 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable5,COLOR_compiling_methods___MMMethod___compile_call))(variable5, variable0 /*v*/, variable6) /*MMMethod::compile_call*/;
7570 variable4 = variable5;
7571 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2 /*e2*/, variable4 /*e4*/) /*CompilerVisitor::add_assignment*/;
7572 tracehead = trace.prev;
7573 return;
7574 }
7575 val_t compiling_methods___ASendExpr___compile_expr(val_t self, val_t param0) {
7576 struct trace_t trace = {NULL, "compiling_methods::ASendExpr::compile_expr (src/compiling//compiling_methods.nit:1200,2--1213:10)"};
7577 val_t variable0;
7578 val_t variable1;
7579 val_t variable2;
7580 val_t variable3;
7581 val_t variable4;
7582 val_t variable5;
7583 trace.prev = tracehead; tracehead = &trace;
7584 variable0 = param0;
7585 variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendExpr::n_expr*/;
7586 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
7587 variable1 = variable2;
7588 variable3 = NEW_array___Array___init(); /*new Array[String]*/
7589 variable2 = variable3;
7590 ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable1 /*recv*/) /*Array::add*/;
7591 variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendExpr::arguments*/;
7592 variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
7593 while (true) { /*for*/
7594 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
7595 if (!UNTAG_Bool(variable4)) break; /*for*/
7596 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
7597 variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
7598 ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*Array::add*/;
7599 continue_324: while(0);
7600 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
7601 }
7602 break_324: while(0);
7603 variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
7604 variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4, variable0 /*v*/, variable2 /*cargs*/) /*MMMethod::compile_call*/;
7605 variable3 = variable4;
7606 variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
7607 variable4 = ((abstractmetamodel___MMLocalProperty___global_t)CALL(variable4,COLOR_abstractmetamodel___MMLocalProperty___global))(variable4) /*MMMethod::global*/;
7608 variable4 = ((abstractmetamodel___MMGlobalProperty___is_init_t)CALL(variable4,COLOR_abstractmetamodel___MMGlobalProperty___is_init))(variable4) /*MMGlobalProperty::is_init*/;
7609 if (UNTAG_Bool(variable4)) { /*if*/
7610 variable4 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendExpr::prop*/;
7611 ((compiling_methods___CompilerVisitor___invoke_super_init_calls_after_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___invoke_super_init_calls_after))( variable0 /*v*/, variable4) /*CompilerVisitor::invoke_super_init_calls_after*/;
7612 }
7613 variable1 = variable3 /*e*/;
7614 goto return_label323;
7615 return_label323: while(false);
7616 tracehead = trace.prev;
7617 return variable1;
7618 }
7619 void compiling_methods___ASendExpr___compile_stmt(val_t self, val_t param0) {
7620 struct trace_t trace = {NULL, "compiling_methods::ASendExpr::compile_stmt (src/compiling//compiling_methods.nit:1216,2--1220:22)"};
7621 val_t variable0;
7622 val_t variable1;
7623 val_t variable2;
7624 trace.prev = tracehead; tracehead = &trace;
7625 variable0 = param0;
7626 variable2 = ((compiling_methods___ASendExpr___compile_expr_t)CALL( self,COLOR_compiling_methods___PExpr___compile_expr))( self, variable0 /*v*/) /*ASendExpr::compile_expr*/;
7627 variable1 = variable2;
7628 variable2 = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable1 /*e*/ == NIT_NULL /*null*/) || (( variable1 /*e*/ != NIT_NULL) && UNTAG_Bool(((string___String_____eqeq_t)CALL( variable1 /*e*/,COLOR_kernel___Object_____eqeq))( variable1 /*e*/, NIT_NULL /*null*/) /*String::==*/)))));
7629 if (UNTAG_Bool(variable2)) { /*if*/
7630 variable2 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7631 variable2 = ((string___String_____plus_t)CALL( variable1 /*e*/,COLOR_string___String_____plus))( variable1 /*e*/, variable2) /*String::+*/;
7632 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable2) /*CompilerVisitor::add_instr*/;
7633 }
7634 tracehead = trace.prev;
7635 return;
7636 }
7637 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t self, val_t param0) {
7638 struct trace_t trace = {NULL, "compiling_methods::ASendReassignExpr::compile_expr (src/compiling//compiling_methods.nit:1226,2--1239:35)"};
7639 val_t variable0;
7640 val_t variable1;
7641 val_t variable2;
7642 val_t variable3;
7643 val_t variable4;
7644 val_t variable5;
7645 val_t variable6;
7646 val_t variable7;
7647 trace.prev = tracehead; tracehead = &trace;
7648 variable0 = param0;
7649 variable2 = ((parser_nodes___ASendExpr___n_expr_t)CALL( self,COLOR_parser_nodes___ASendExpr___n_expr))( self) /*ASendReassignExpr::n_expr*/;
7650 variable2 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable2) /*CompilerVisitor::compile_expr*/;
7651 variable1 = variable2;
7652 variable3 = NEW_array___Array___init(); /*new Array[String]*/
7653 variable2 = variable3;
7654 ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable1 /*recv*/) /*Array::add*/;
7655 variable3 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ASendReassignExpr::arguments*/;
7656 variable3 = ((array___AbstractArray___iterator_t)CALL(variable3,COLOR_abstract_collection___Collection___iterator))(variable3) /*Array::iterator*/;
7657 while (true) { /*for*/
7658 variable4 = ((array___ArrayIterator___is_ok_t)CALL(variable3,COLOR_abstract_collection___Iterator___is_ok))(variable3) /*ArrayIterator::is_ok*/;
7659 if (!UNTAG_Bool(variable4)) break; /*for*/
7660 variable4 = ((array___ArrayIterator___item_t)CALL(variable3,COLOR_abstract_collection___Iterator___item))(variable3) /*ArrayIterator::item*/;
7661 variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4 /*a*/) /*CompilerVisitor::compile_expr*/;
7662 ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5) /*Array::add*/;
7663 continue_327: while(0);
7664 ((array___ArrayIterator___next_t)CALL(variable3,COLOR_abstract_collection___Iterator___next))(variable3) /*ArrayIterator::next*/;
7665 }
7666 break_327: while(0);
7667 variable4 = ((typing___ASendReassignExpr___read_prop_t)CALL( self,COLOR_typing___ASendReassignExpr___read_prop))( self) /*ASendReassignExpr::read_prop*/;
7668 variable4 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable4,COLOR_compiling_methods___MMMethod___compile_call))(variable4, variable0 /*v*/, variable2 /*cargs*/) /*MMMethod::compile_call*/;
7669 variable3 = variable4;
7670 variable5 = ((parser_nodes___AReassignFormExpr___n_value_t)CALL( self,COLOR_parser_nodes___AReassignFormExpr___n_value))( self) /*ASendReassignExpr::n_value*/;
7671 variable5 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable5) /*CompilerVisitor::compile_expr*/;
7672 variable4 = variable5;
7673 variable6 = ((typing___AReassignFormExpr___assign_method_t)CALL( self,COLOR_typing___AReassignFormExpr___assign_method))( self) /*ASendReassignExpr::assign_method*/;
7674 variable7 = NEW_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
7675 ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable3 /*e2*/) /*Array::add*/;
7676 ((array___AbstractArray___add_t)CALL(variable7,COLOR_abstract_collection___SimpleCollection___add))(variable7, variable4 /*e3*/) /*Array::add*/;
7677 variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6, variable0 /*v*/, variable7) /*MMMethod::compile_call*/;
7678 variable5 = variable6;
7679 ((array___AbstractArray___add_t)CALL( variable2 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable2 /*cargs*/, variable5 /*e4*/) /*Array::add*/;
7680 variable6 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ASendReassignExpr::prop*/;
7681 variable6 = ((compiling_methods___MMMethod___compile_call_t)CALL(variable6,COLOR_compiling_methods___MMMethod___compile_call))(variable6, variable0 /*v*/, variable2 /*cargs*/) /*MMMethod::compile_call*/;
7682 variable1 = variable6;
7683 goto return_label326;
7684 return_label326: while(false);
7685 tracehead = trace.prev;
7686 return variable1;
7687 }
7688 val_t compiling_methods___ANewExpr___compile_expr(val_t self, val_t param0) {
7689 struct trace_t trace = {NULL, "compiling_methods::ANewExpr::compile_expr (src/compiling//compiling_methods.nit:1244,2--1250:47)"};
7690 val_t variable0;
7691 val_t variable1;
7692 val_t variable2;
7693 val_t variable3;
7694 val_t variable4;
7695 trace.prev = tracehead; tracehead = &trace;
7696 variable0 = param0;
7697 variable2 = NEW_array___Array___init(); /*new Array[String]*/
7698 variable1 = variable2;
7699 variable2 = ((typing___AAbsSendExpr___arguments_t)CALL( self,COLOR_typing___AAbsSendExpr___arguments))( self) /*ANewExpr::arguments*/;
7700 variable2 = ((array___AbstractArray___iterator_t)CALL(variable2,COLOR_abstract_collection___Collection___iterator))(variable2) /*Array::iterator*/;
7701 while (true) { /*for*/
7702 variable3 = ((array___ArrayIterator___is_ok_t)CALL(variable2,COLOR_abstract_collection___Iterator___is_ok))(variable2) /*ArrayIterator::is_ok*/;
7703 if (!UNTAG_Bool(variable3)) break; /*for*/
7704 variable3 = ((array___ArrayIterator___item_t)CALL(variable2,COLOR_abstract_collection___Iterator___item))(variable2) /*ArrayIterator::item*/;
7705 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable3 /*a*/) /*CompilerVisitor::compile_expr*/;
7706 ((array___AbstractArray___add_t)CALL( variable1 /*cargs*/,COLOR_abstract_collection___SimpleCollection___add))( variable1 /*cargs*/, variable4) /*Array::add*/;
7707 continue_329: while(0);
7708 ((array___ArrayIterator___next_t)CALL(variable2,COLOR_abstract_collection___Iterator___next))(variable2) /*ArrayIterator::next*/;
7709 }
7710 break_329: while(0);
7711 variable2 = ((typing___AAbsSendExpr___prop_t)CALL( self,COLOR_typing___AAbsSendExpr___prop))( self) /*ANewExpr::prop*/;
7712 variable2 = ((compiling_methods___MMMethod___compile_constructor_call_t)CALL(variable2,COLOR_compiling_methods___MMMethod___compile_constructor_call))(variable2, variable0 /*v*/, variable1 /*cargs*/) /*MMMethod::compile_constructor_call*/;
7713 variable1 = variable2;
7714 goto return_label328;
7715 return_label328: while(false);
7716 tracehead = trace.prev;
7717 return variable1;
7718 }
7719 val_t compiling_methods___AProxyExpr___compile_expr(val_t self, val_t param0) {
7720 struct trace_t trace = {NULL, "compiling_methods::AProxyExpr::compile_expr (src/compiling//compiling_methods.nit:1255,2--1257:30)"};
7721 val_t variable0;
7722 val_t variable1;
7723 trace.prev = tracehead; tracehead = &trace;
7724 variable0 = param0;
7725 variable1 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AProxyExpr::n_expr*/;
7726 variable1 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable1) /*CompilerVisitor::compile_expr*/;
7727 goto return_label330;
7728 return_label330: while(false);
7729 tracehead = trace.prev;
7730 return variable1;
7731 }
7732 val_t compiling_methods___AOnceExpr___compile_expr(val_t self, val_t param0) {
7733 struct trace_t trace = {NULL, "compiling_methods::AOnceExpr::compile_expr (src/compiling//compiling_methods.nit:1262,2--1277:13)"};
7734 val_t variable0;
7735 val_t variable1;
7736 val_t variable2;
7737 val_t variable3;
7738 val_t variable4;
7739 val_t variable5;
7740 val_t variable6;
7741 val_t variable7;
7742 val_t variable8;
7743 val_t variable9;
7744 val_t variable10;
7745 val_t variable11;
7746 val_t variable12;
7747 val_t variable13;
7748 val_t variable14;
7749 val_t variable15;
7750 val_t variable16;
7751 val_t variable17;
7752 val_t variable18;
7753 val_t variable19;
7754 val_t variable20;
7755 trace.prev = tracehead; tracehead = &trace;
7756 variable0 = param0;
7757 variable2 = ((compiling_base___CompilerVisitor___new_number_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___new_number))( variable0 /*v*/) /*CompilerVisitor::new_number*/;
7758 variable1 = variable2;
7759 variable3 = ((compiling_methods___CompilerVisitor___get_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___get_var))( variable0 /*v*/) /*CompilerVisitor::get_var*/;
7760 variable2 = variable3;
7761 variable3 = NEW_string___String___init(); /*new String*/
7762 variable4 = NEW_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)); /*new String*/
7763 variable5 = variable4;
7764 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
7765 variable6 = variable2 /*cvar*/;
7766 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
7767 variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7768 variable8 = variable7;
7769 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
7770 variable9 = variable1 /*i*/;
7771 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
7772 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
7773 variable10 = NEW_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)); /*new String*/
7774 variable11 = variable10;
7775 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
7776 variable12 = variable2 /*cvar*/;
7777 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
7778 variable13 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7779 variable14 = variable13;
7780 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
7781 variable15 = variable1 /*i*/;
7782 variable15 = ((string___String___to_s_t)CALL(variable15,COLOR_string___Object___to_s))(variable15) /*String::to_s*/;
7783 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
7784 variable16 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7785 variable17 = variable16;
7786 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
7787 ((compiling_base___CompilerVisitor___add_decl_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_decl))( variable0 /*v*/, variable3) /*CompilerVisitor::add_decl*/;
7788 variable3 = NEW_string___String___init(); /*new String*/
7789 variable4 = NEW_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)); /*new String*/
7790 variable5 = variable4;
7791 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable5) /*String::append*/;
7792 variable6 = variable2 /*cvar*/;
7793 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable6) /*String::append*/;
7794 variable7 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7795 variable8 = variable7;
7796 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable8) /*String::append*/;
7797 variable9 = variable1 /*i*/;
7798 variable9 = ((string___String___to_s_t)CALL(variable9,COLOR_string___Object___to_s))(variable9) /*String::to_s*/;
7799 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable9) /*String::append*/;
7800 variable10 = NEW_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)); /*new String*/
7801 variable11 = variable10;
7802 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable11) /*String::append*/;
7803 variable12 = variable2 /*cvar*/;
7804 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable12) /*String::append*/;
7805 variable13 = NEW_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)); /*new String*/
7806 variable14 = variable13;
7807 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable14) /*String::append*/;
7808 variable15 = variable2 /*cvar*/;
7809 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable15) /*String::append*/;
7810 variable16 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7811 variable17 = variable16;
7812 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable17) /*String::append*/;
7813 variable18 = variable1 /*i*/;
7814 variable18 = ((string___String___to_s_t)CALL(variable18,COLOR_string___Object___to_s))(variable18) /*String::to_s*/;
7815 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable18) /*String::append*/;
7816 variable19 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7817 variable20 = variable19;
7818 ((string___String___append_t)CALL(variable3,COLOR_abstract_collection___IndexedCollection___append))(variable3, variable20) /*String::append*/;
7819 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
7820 variable3 = NEW_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)); /*new String*/
7821 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable3) /*CompilerVisitor::add_instr*/;
7822 ((compiling_base___CompilerVisitor___indent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___indent))( variable0 /*v*/) /*CompilerVisitor::indent*/;
7823 ((compiling_methods___CompilerVisitor___free_var_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___free_var))( variable0 /*v*/, variable2 /*cvar*/) /*CompilerVisitor::free_var*/;
7824 variable4 = ((parser_nodes___AProxyExpr___n_expr_t)CALL( self,COLOR_parser_nodes___AProxyExpr___n_expr))( self) /*AOnceExpr::n_expr*/;
7825 variable4 = ((compiling_methods___CompilerVisitor___compile_expr_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___compile_expr))( variable0 /*v*/, variable4) /*CompilerVisitor::compile_expr*/;
7826 variable3 = variable4;
7827 ((compiling_methods___CompilerVisitor___add_assignment_t)CALL( variable0 /*v*/,COLOR_compiling_methods___CompilerVisitor___add_assignment))( variable0 /*v*/, variable2 /*cvar*/, variable3 /*e*/) /*CompilerVisitor::add_assignment*/;
7828 variable4 = NEW_string___String___init(); /*new String*/
7829 variable5 = NEW_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)); /*new String*/
7830 variable6 = variable5;
7831 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
7832 variable7 = variable2 /*cvar*/;
7833 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
7834 variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7835 variable9 = variable8;
7836 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
7837 variable10 = variable1 /*i*/;
7838 variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
7839 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
7840 variable11 = NEW_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
7841 variable12 = variable11;
7842 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
7843 variable13 = variable2 /*cvar*/;
7844 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable13) /*String::append*/;
7845 variable14 = NEW_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7846 variable15 = variable14;
7847 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable15) /*String::append*/;
7848 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
7849 variable4 = NEW_string___String___init(); /*new String*/
7850 variable5 = NEW_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)); /*new String*/
7851 variable6 = variable5;
7852 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable6) /*String::append*/;
7853 variable7 = variable2 /*cvar*/;
7854 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable7) /*String::append*/;
7855 variable8 = NEW_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
7856 variable9 = variable8;
7857 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable9) /*String::append*/;
7858 variable10 = variable1 /*i*/;
7859 variable10 = ((string___String___to_s_t)CALL(variable10,COLOR_string___Object___to_s))(variable10) /*String::to_s*/;
7860 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable10) /*String::append*/;
7861 variable11 = NEW_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)); /*new String*/
7862 variable12 = variable11;
7863 ((string___String___append_t)CALL(variable4,COLOR_abstract_collection___IndexedCollection___append))(variable4, variable12) /*String::append*/;
7864 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
7865 ((compiling_base___CompilerVisitor___unindent_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___unindent))( variable0 /*v*/) /*CompilerVisitor::unindent*/;
7866 variable4 = NEW_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
7867 ((compiling_base___CompilerVisitor___add_instr_t)CALL( variable0 /*v*/,COLOR_compiling_base___CompilerVisitor___add_instr))( variable0 /*v*/, variable4) /*CompilerVisitor::add_instr*/;
7868 variable1 = variable2 /*cvar*/;
7869 goto return_label331;
7870 return_label331: while(false);
7871 tracehead = trace.prev;
7872 return variable1;
7873 }