7084396171043d4c18df62612ab2ad354ddad21d
[nit.git] / c_src / compiling_methods._sep.c
1 /* This C file is generated by NIT to compile module compiling_methods. */
2 #include "compiling_methods._sep.h"
3 void compiling_methods___CompilerVisitor___init(val_t self, val_t param0, int* init_table) {
4 struct trace_t trace = {NULL, NULL, 84, LOCATE_compiling_methods___CompilerVisitor___init};
5 val_t variable[3];
6 void **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_compiling_methods;
9 variable[0] = self;
10 variable[1] = param0;
11 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i]) return;
12 CALL_SUPER_compiling_methods___CompilerVisitor___init(variable[0])(variable[0], variable[1], init_table) /*super CompilerVisitor::init*/;
13 return_label0: while(false);
14 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CompilerVisitor].i] = 1;
15 tracehead = trace.prev;
16 return;
17 }
18 void compiling_methods___CompilerVisitor___compile_stmt(val_t self, val_t param0) {
19 struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
20 val_t variable[5];
21 void **closurevariable = NULL;
22 trace.prev = tracehead; tracehead = &trace;
23 trace.file = LOCATE_compiling_methods;
24 variable[0] = self;
25 variable[1] = param0;
26 variable[3] = variable[0];
27 CALL_compiling_methods___PExpr___prepare_compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[3]) /*PExpr::prepare_compile_stmt*/;
28 variable[4] = variable[0];
29 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[4])(variable[4]) /*CompilerVisitor::cfc*/;
30 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
31 variable[3] = variable[4];
32 variable[4] = variable[0];
33 CALL_compiling_methods___PExpr___compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[4]) /*PExpr::compile_stmt*/;
34 variable[4] = variable[0];
35 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[4])(variable[4]) /*CompilerVisitor::cfc*/;
36 ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/ = variable[3] /*i*/;
37 return_label1: while(false);
38 tracehead = trace.prev;
39 return;
40 }
41 val_t compiling_methods___CompilerVisitor___compile_expr(val_t self, val_t param0) {
42 struct trace_t trace = {NULL, NULL, 33, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
43 val_t variable[7];
44 void **closurevariable = NULL;
45 trace.prev = tracehead; tracehead = &trace;
46 trace.file = LOCATE_compiling_methods;
47 variable[0] = self;
48 variable[1] = param0;
49 variable[4] = variable[0];
50 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[4])(variable[4]) /*CompilerVisitor::cfc*/;
51 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
52 variable[3] = variable[4];
53 variable[5] = variable[0];
54 variable[5] = CALL_compiling_methods___PExpr___compile_expr( variable[1] /*n*/)( variable[1] /*n*/, variable[5]) /*PExpr::compile_expr*/;
55 variable[4] = variable[5];
56 variable[5] = variable[0];
57 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[5])(variable[5]) /*CompilerVisitor::cfc*/;
58 ATTR_compiling_methods___CFunctionContext____variable_index(variable[5]) /*CFunctionContext::_variable_index*/ = variable[3] /*i*/;
59 variable[5] = CALL_abstract_collection___Map_____bra( variable[4] /*s*/)( variable[4] /*s*/, TAG_Int(0)) /*String::[]*/;
60 variable[5] = TAG_Bool((variable[5])==( TAG_Char(' ')));
61 if (UNTAG_Bool(variable[5])) { /*if*/
62 variable[2] = variable[4] /*s*/;
63 goto return_label2;
64 }
65 variable[6] = variable[0];
66 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc(variable[6])(variable[6]) /*CompilerVisitor::cfc*/;
67 variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6]) /*CFunctionContext::get_var*/;
68 variable[5] = variable[6];
69 variable[6] = variable[0];
70 CALL_compiling_methods___CompilerVisitor___add_assignment(variable[6])(variable[6], variable[5] /*v*/, variable[4] /*s*/) /*CompilerVisitor::add_assignment*/;
71 variable[2] = variable[5] /*v*/;
72 goto return_label2;
73 return_label2: while(false);
74 tracehead = trace.prev;
75 return variable[2];
76 }
77 val_t compiling_methods___CompilerVisitor___ensure_var(val_t self, val_t param0) {
78 struct trace_t trace = {NULL, NULL, 47, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
79 val_t variable[5];
80 void **closurevariable = NULL;
81 trace.prev = tracehead; tracehead = &trace;
82 trace.file = LOCATE_compiling_methods;
83 variable[0] = self;
84 variable[1] = param0;
85 variable[3] = CALL_string___String___substring( variable[1] /*s*/)( variable[1] /*s*/, TAG_Int(0), TAG_Int(3)) /*String::substring*/;
86 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("variable"), TAG_Int(8)); /*new String*/
87 variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], variable[4]) /*String::==*/)));
88 if (UNTAG_Bool(variable[3])) { /*if*/
89 variable[2] = variable[1] /*s*/;
90 goto return_label3;
91 }
92 variable[4] = variable[0];
93 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[4])(variable[4]) /*CompilerVisitor::cfc*/;
94 variable[4] = CALL_compiling_methods___CFunctionContext___get_var(variable[4])(variable[4]) /*CFunctionContext::get_var*/;
95 variable[3] = variable[4];
96 variable[4] = variable[0];
97 CALL_compiling_methods___CompilerVisitor___add_assignment(variable[4])(variable[4], variable[3] /*v*/, variable[1] /*s*/) /*CompilerVisitor::add_assignment*/;
98 variable[2] = variable[3] /*v*/;
99 goto return_label3;
100 return_label3: while(false);
101 tracehead = trace.prev;
102 return variable[2];
103 }
104 void compiling_methods___CompilerVisitor___add_assignment(val_t self, val_t param0, val_t param1) {
105 struct trace_t trace = {NULL, NULL, 58, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
106 val_t variable[14];
107 void **closurevariable = NULL;
108 trace.prev = tracehead; tracehead = &trace;
109 trace.file = LOCATE_compiling_methods;
110 variable[0] = self;
111 variable[1] = param0;
112 variable[2] = param1;
113 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*v*/ == variable[2] /*s*/) || (( variable[1] /*v*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*v*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*v*/, variable[2] /*s*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*v*/)( variable[1] /*v*/, variable[2] /*s*/) /*Object::==*/)))))));
114 if (UNTAG_Bool(variable[4])) { /*if*/
115 variable[4] = variable[0];
116 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
117 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
118 variable[7] = variable[6];
119 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
120 variable[8] = variable[1] /*v*/;
121 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
122 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
123 variable[10] = variable[9];
124 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
125 variable[11] = variable[2] /*s*/;
126 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
127 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
128 variable[13] = variable[12];
129 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
130 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
131 CALL_compiling_base___CompilerVisitor___add_instr(variable[4])(variable[4], variable[5]) /*CompilerVisitor::add_instr*/;
132 }
133 return_label4: while(false);
134 tracehead = trace.prev;
135 return;
136 }
137 val_t compiling_methods___CompilerVisitor___cfc(val_t self) {
138 struct trace_t trace = {NULL, NULL, 66, LOCATE_compiling_methods___CompilerVisitor___cfc};
139 val_t *variable = NULL;
140 void **closurevariable = NULL;
141 trace.prev = tracehead; tracehead = &trace;
142 trace.file = LOCATE_compiling_methods;
143 tracehead = trace.prev;
144 return ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/;
145 }
146 void compiling_methods___CompilerVisitor___cfc__eq(val_t self, val_t param0) {
147 struct trace_t trace = {NULL, NULL, 66, LOCATE_compiling_methods___CompilerVisitor___cfc__eq};
148 val_t *variable = NULL;
149 void **closurevariable = NULL;
150 trace.prev = tracehead; tracehead = &trace;
151 trace.file = LOCATE_compiling_methods;
152 ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/ = param0;
153 tracehead = trace.prev;
154 return;
155 }
156 val_t compiling_methods___CompilerVisitor___nmc(val_t self) {
157 struct trace_t trace = {NULL, NULL, 68, LOCATE_compiling_methods___CompilerVisitor___nmc};
158 val_t *variable = NULL;
159 void **closurevariable = NULL;
160 trace.prev = tracehead; tracehead = &trace;
161 trace.file = LOCATE_compiling_methods;
162 tracehead = trace.prev;
163 return ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/;
164 }
165 void compiling_methods___CompilerVisitor___nmc__eq(val_t self, val_t param0) {
166 struct trace_t trace = {NULL, NULL, 68, LOCATE_compiling_methods___CompilerVisitor___nmc__eq};
167 val_t *variable = NULL;
168 void **closurevariable = NULL;
169 trace.prev = tracehead; tracehead = &trace;
170 trace.file = LOCATE_compiling_methods;
171 ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/ = param0;
172 tracehead = trace.prev;
173 return;
174 }
175 val_t compiling_methods___CompilerVisitor___out_contexts(val_t self) {
176 struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___out_contexts};
177 val_t *variable = NULL;
178 void **closurevariable = NULL;
179 trace.prev = tracehead; tracehead = &trace;
180 trace.file = LOCATE_compiling_methods;
181 tracehead = trace.prev;
182 return ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/;
183 }
184 void compiling_methods___CompilerVisitor___out_contexts__eq(val_t self, val_t param0) {
185 struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___out_contexts__eq};
186 val_t *variable = NULL;
187 void **closurevariable = NULL;
188 trace.prev = tracehead; tracehead = &trace;
189 trace.file = LOCATE_compiling_methods;
190 ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/ = param0;
191 tracehead = trace.prev;
192 return;
193 }
194 val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t self, val_t param0) {
195 struct trace_t trace = {NULL, NULL, 73, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
196 val_t variable[15];
197 void **closurevariable = NULL;
198 trace.prev = tracehead; tracehead = &trace;
199 trace.file = LOCATE_compiling_methods;
200 variable[0] = self;
201 variable[1] = param0;
202 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)); /*new String*/
203 variable[3] = variable[4];
204 variable[4] = variable[0];
205 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[4])(variable[4]) /*CompilerVisitor::nmc*/;
206 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
207 if (UNTAG_Bool(variable[4])) { /*if*/
208 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" in %s"), TAG_Int(6)); /*new String*/
209 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*String::append*/;
210 }
211 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" (%s:%d)\\n\", "), TAG_Int(13)); /*new String*/
212 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*String::append*/;
213 variable[4] = variable[0];
214 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[4])(variable[4]) /*CompilerVisitor::nmc*/;
215 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
216 if (UNTAG_Bool(variable[4])) { /*if*/
217 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
218 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
219 variable[6] = variable[5];
220 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
221 variable[7] = variable[0];
222 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc(variable[7])(variable[7]) /*CompilerVisitor::nmc*/;
223 variable[7] = CALL_compiling_methods___NitMethodContext___method(variable[7])(variable[7]) /*NitMethodContext::method*/;
224 variable[7] = CALL_compiling_base___MMLocalProperty___cname(variable[7])(variable[7]) /*MMLocalProperty::cname*/;
225 variable[8] = variable[7];
226 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
227 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
228 variable[10] = variable[9];
229 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
230 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
231 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*String::append*/;
232 }
233 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
234 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)); /*new String*/
235 variable[6] = variable[5];
236 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
237 variable[7] = variable[0];
238 variable[7] = CALL_compiling_base___CompilerVisitor___module(variable[7])(variable[7]) /*CompilerVisitor::module*/;
239 variable[7] = CALL_abstractmetamodel___MMModule___name(variable[7])(variable[7]) /*MMModule::name*/;
240 variable[8] = variable[7];
241 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
242 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
243 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
244 variable[10] = variable[9];
245 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
246 variable[11] = CALL_parser_prod___PNode___line_number( variable[1] /*node*/)( variable[1] /*node*/) /*PNode::line_number*/;
247 variable[12] = variable[11];
248 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
249 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[12]) /*AbstractArray::add*/;
250 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
251 variable[14] = variable[13];
252 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[14]) /*AbstractArray::add*/;
253 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
254 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*String::append*/;
255 variable[2] = variable[3] /*s*/;
256 goto return_label5;
257 return_label5: while(false);
258 tracehead = trace.prev;
259 return variable[2];
260 }
261 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t self, val_t param0) {
262 struct trace_t trace = {NULL, NULL, 89, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
263 val_t variable[17];
264 void **closurevariable = NULL;
265 trace.prev = tracehead; tracehead = &trace;
266 trace.file = LOCATE_compiling_methods;
267 variable[0] = self;
268 variable[1] = param0;
269 variable[4] = variable[0];
270 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[4])(variable[4]) /*CompilerVisitor::nmc*/;
271 variable[4] = CALL_compiling_methods___NitMethodContext___method(variable[4])(variable[4]) /*NitMethodContext::method*/;
272 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMLocalProperty::node*/;
273 variable[3] = variable[4];
274 variable[4] = TAG_Bool(( variable[3] /*n*/==NIT_NULL) || VAL_ISA( variable[3] /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
275 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after, LOCATE_compiling_methods, 92); nit_exit(1);}
276 variable[4] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
277 variable[4] = CALL_abstract_collection___Collection___is_empty(variable[4])(variable[4]) /*AbstractArray::is_empty*/;
278 if (UNTAG_Bool(variable[4])) { /*if*/
279 goto return_label6;
280 }
281 variable[4] = TAG_Int(0);
282 variable[5] = TAG_Int(0);
283 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*start_prop*/ == NIT_NULL /*null*/) || (( variable[1] /*start_prop*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*start_prop*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*start_prop*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*start_prop*/)( variable[1] /*start_prop*/, NIT_NULL /*null*/) /*Object::==*/)))))));
284 if (UNTAG_Bool(variable[6])) { /*if*/
285 while (true) { /*while*/
286 variable[6] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
287 variable[7] = variable[6];
288 variable[8] = variable[4] /*i*/;
289 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
290 variable[11] = variable[10];
291 if (UNTAG_Bool(variable[11])) { /* and */
292 variable[11] = variable[7];
293 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
294 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
295 }
296 variable[10] = variable[11];
297 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
298 variable[10] = variable[7];
299 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
300 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
301 variable[9] = variable[10];
302 goto return_label8;
303 return_label8: while(false);
304 variable[6] = variable[9];
305 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == variable[1] /*start_prop*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[1] /*start_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6], variable[1] /*start_prop*/) /*Object::==*/)))))));
306 if (!UNTAG_Bool(variable[6])) break; /* while*/
307 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
308 continue_7: while(0);
309 }
310 break_7: while(0);
311 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
312 while (true) { /*while*/
313 variable[6] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
314 variable[7] = variable[6];
315 variable[8] = variable[5] /*j*/;
316 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
317 variable[11] = variable[10];
318 if (UNTAG_Bool(variable[11])) { /* and */
319 variable[11] = variable[7];
320 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
321 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
322 }
323 variable[10] = variable[11];
324 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
325 variable[10] = variable[7];
326 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
327 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
328 variable[9] = variable[10];
329 goto return_label10;
330 return_label10: while(false);
331 variable[6] = variable[9];
332 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == variable[1] /*start_prop*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], variable[1] /*start_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6], variable[1] /*start_prop*/) /*Object::==*/)))))));
333 if (!UNTAG_Bool(variable[6])) break; /* while*/
334 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
335 continue_9: while(0);
336 }
337 break_9: while(0);
338 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
339 }
340 variable[6] = NIT_NULL /*null*/;
341 variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
342 variable[7] = CALL_abstract_collection___Collection___length(variable[7])(variable[7]) /*AbstractArray::length*/;
343 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*j*/)<UNTAG_Int(variable[7]));
344 if (UNTAG_Bool(variable[7])) { /*if*/
345 variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
346 variable[8] = variable[7];
347 variable[9] = variable[5] /*j*/;
348 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
349 variable[12] = variable[11];
350 if (UNTAG_Bool(variable[12])) { /* and */
351 variable[12] = variable[8];
352 variable[12] = ATTR_array___AbstractArray____length(variable[12]) /*AbstractArray::_length*/;
353 variable[12] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[12]));
354 }
355 variable[11] = variable[12];
356 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
357 variable[11] = variable[8];
358 variable[11] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
359 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
360 variable[10] = variable[11];
361 goto return_label11;
362 return_label11: while(false);
363 variable[7] = variable[10];
364 variable[6] = variable[7] /*stop_prop=*/;
365 }
366 variable[8] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
367 variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*AbstractArray::length*/;
368 variable[7] = variable[8];
369 while (true) { /*while*/
370 variable[8] = TAG_Bool(UNTAG_Int( variable[4] /*i*/)<UNTAG_Int( variable[7] /*l*/));
371 if (!UNTAG_Bool(variable[8])) break; /* while*/
372 variable[9] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
373 variable[10] = variable[9];
374 variable[11] = variable[4] /*i*/;
375 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
376 variable[14] = variable[13];
377 if (UNTAG_Bool(variable[14])) { /* and */
378 variable[14] = variable[10];
379 variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/;
380 variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[14]));
381 }
382 variable[13] = variable[14];
383 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
384 variable[13] = variable[10];
385 variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
386 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
387 variable[12] = variable[13];
388 goto return_label13;
389 return_label13: while(false);
390 variable[9] = variable[12];
391 variable[8] = variable[9];
392 variable[9] = TAG_Bool(( variable[8] /*p*/ == variable[6] /*stop_prop*/) || (( variable[8] /*p*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*p*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*p*/, variable[6] /*stop_prop*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*p*/)( variable[8] /*p*/, variable[6] /*stop_prop*/) /*Object::==*/)))));
393 if (UNTAG_Bool(variable[9])) { /*if*/
394 goto break_12;
395 }
396 variable[10] = NEW_Array_array___Array___init(); /*new Array[String]*/
397 variable[9] = variable[10];
398 variable[10] = CALL_static_type___MMLocalProperty___signature( variable[8] /*p*/)( variable[8] /*p*/) /*MMLocalProperty::signature*/;
399 variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
400 variable[10] = TAG_Bool((variable[10])==( TAG_Int(0)));
401 if (UNTAG_Bool(variable[10])) { /*if*/
402 variable[10] = variable[0];
403 variable[10] = CALL_compiling_methods___CompilerVisitor___cfc(variable[10])(variable[10]) /*CompilerVisitor::cfc*/;
404 variable[11] = variable[0];
405 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc(variable[11])(variable[11]) /*CompilerVisitor::nmc*/;
406 variable[11] = CALL_compiling_methods___NitMethodContext___method_params(variable[11])(variable[11]) /*NitMethodContext::method_params*/;
407 variable[12] = variable[11];
408 variable[13] = TAG_Int(0);
409 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
410 variable[16] = variable[15];
411 if (UNTAG_Bool(variable[16])) { /* and */
412 variable[16] = variable[12];
413 variable[16] = ATTR_array___AbstractArray____length(variable[16]) /*AbstractArray::_length*/;
414 variable[16] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[16]));
415 }
416 variable[15] = variable[16];
417 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
418 variable[15] = variable[12];
419 variable[15] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
420 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
421 variable[14] = variable[15];
422 goto return_label14;
423 return_label14: while(false);
424 variable[11] = variable[14];
425 variable[10] = CALL_compiling_methods___CFunctionContext___varname(variable[10])(variable[10], variable[11]) /*CFunctionContext::varname*/;
426 CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[10]) /*AbstractArray::add*/;
427 } else { /*if*/
428 variable[10] = variable[0];
429 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc(variable[10])(variable[10]) /*CompilerVisitor::nmc*/;
430 variable[10] = CALL_compiling_methods___NitMethodContext___method_params(variable[10])(variable[10]) /*NitMethodContext::method_params*/;
431 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*AbstractArray::iterator*/;
432 while (true) { /*for*/
433 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*ArrayIterator::is_ok*/;
434 if (!UNTAG_Bool(variable[11])) break; /*for*/
435 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*ArrayIterator::item*/;
436 variable[12] = variable[11];
437 variable[13] = variable[0];
438 variable[13] = CALL_compiling_methods___CompilerVisitor___cfc(variable[13])(variable[13]) /*CompilerVisitor::cfc*/;
439 variable[13] = CALL_compiling_methods___CFunctionContext___varname(variable[13])(variable[13], variable[12] /*va*/) /*CFunctionContext::varname*/;
440 CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[13]) /*AbstractArray::add*/;
441 continue_15: while(0);
442 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*ArrayIterator::next*/;
443 }
444 break_15: while(0);
445 }
446 variable[10] = variable[0];
447 CALL_compiling_methods___MMMethod___compile_call( variable[8] /*p*/)( variable[8] /*p*/, variable[10], variable[9] /*cargs*/) /*MMMethod::compile_call*/;
448 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
449 continue_12: while(0);
450 }
451 break_12: while(0);
452 return_label6: while(false);
453 tracehead = trace.prev;
454 return;
455 }
456 val_t compiling_methods___CFunctionContext___visitor(val_t self) {
457 struct trace_t trace = {NULL, NULL, 144, LOCATE_compiling_methods___CFunctionContext___visitor};
458 val_t *variable = NULL;
459 void **closurevariable = NULL;
460 trace.prev = tracehead; tracehead = &trace;
461 trace.file = LOCATE_compiling_methods;
462 tracehead = trace.prev;
463 return ATTR_compiling_methods___CFunctionContext____visitor( self) /*CFunctionContext::_visitor*/;
464 }
465 val_t compiling_methods___CFunctionContext___in_closure(val_t self) {
466 struct trace_t trace = {NULL, NULL, 155, LOCATE_compiling_methods___CFunctionContext___in_closure};
467 val_t *variable = NULL;
468 void **closurevariable = NULL;
469 trace.prev = tracehead; tracehead = &trace;
470 trace.file = LOCATE_compiling_methods;
471 tracehead = trace.prev;
472 return ATTR_compiling_methods___CFunctionContext____in_closure( self) /*CFunctionContext::_in_closure*/;
473 }
474 void compiling_methods___CFunctionContext___in_closure__eq(val_t self, val_t param0) {
475 struct trace_t trace = {NULL, NULL, 155, LOCATE_compiling_methods___CFunctionContext___in_closure__eq};
476 val_t *variable = NULL;
477 void **closurevariable = NULL;
478 trace.prev = tracehead; tracehead = &trace;
479 trace.file = LOCATE_compiling_methods;
480 ATTR_compiling_methods___CFunctionContext____in_closure( self) /*CFunctionContext::_in_closure*/ = param0;
481 tracehead = trace.prev;
482 return;
483 }
484 val_t compiling_methods___CFunctionContext___varname(val_t self, val_t param0) {
485 struct trace_t trace = {NULL, NULL, 158, LOCATE_compiling_methods___CFunctionContext___varname};
486 val_t variable[10];
487 void **closurevariable = NULL;
488 trace.prev = tracehead; tracehead = &trace;
489 trace.file = LOCATE_compiling_methods;
490 variable[0] = self;
491 variable[1] = param0;
492 variable[3] = variable[0];
493 variable[3] = ATTR_compiling_methods___CFunctionContext____in_closure(variable[3]) /*CFunctionContext::_in_closure*/;
494 if (UNTAG_Bool(variable[3])) { /*if*/
495 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
496 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)); /*new String*/
497 variable[5] = variable[4];
498 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
499 variable[6] = variable[0];
500 variable[6] = ATTR_compiling_methods___CFunctionContext____varnames(variable[6]) /*CFunctionContext::_varnames*/;
501 variable[6] = CALL_abstract_collection___Map_____bra(variable[6])(variable[6], variable[1] /*v*/) /*Map::[]*/;
502 variable[7] = variable[6];
503 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
504 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
505 variable[9] = variable[8];
506 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
507 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
508 variable[2] = variable[3];
509 goto return_label16;
510 } else { /*if*/
511 variable[3] = variable[0];
512 variable[3] = ATTR_compiling_methods___CFunctionContext____varnames(variable[3]) /*CFunctionContext::_varnames*/;
513 variable[3] = CALL_abstract_collection___Map_____bra(variable[3])(variable[3], variable[1] /*v*/) /*Map::[]*/;
514 variable[2] = variable[3];
515 goto return_label16;
516 }
517 return_label16: while(false);
518 tracehead = trace.prev;
519 return variable[2];
520 }
521 val_t compiling_methods___CFunctionContext___get_var(val_t self) {
522 struct trace_t trace = {NULL, NULL, 167, LOCATE_compiling_methods___CFunctionContext___get_var};
523 val_t variable[5];
524 void **closurevariable = NULL;
525 trace.prev = tracehead; tracehead = &trace;
526 trace.file = LOCATE_compiling_methods;
527 variable[0] = self;
528 variable[3] = variable[0];
529 variable[4] = variable[0];
530 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
531 variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[3])(variable[3], variable[4]) /*CFunctionContext::variable*/;
532 variable[2] = variable[3];
533 variable[3] = variable[0];
534 variable[4] = variable[0];
535 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
536 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1)));
537 ATTR_compiling_methods___CFunctionContext____variable_index(variable[3]) /*CFunctionContext::_variable_index*/ = variable[4];
538 variable[3] = variable[0];
539 variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[3]) /*CFunctionContext::_variable_index*/;
540 variable[4] = variable[0];
541 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[4]) /*CFunctionContext::_variable_index_max*/;
542 variable[3] = TAG_Bool(UNTAG_Int(variable[3])>UNTAG_Int(variable[4]));
543 if (UNTAG_Bool(variable[3])) { /*if*/
544 variable[3] = variable[0];
545 variable[4] = variable[0];
546 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
547 ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[3]) /*CFunctionContext::_variable_index_max*/ = variable[4];
548 }
549 variable[1] = variable[2] /*v*/;
550 goto return_label17;
551 return_label17: while(false);
552 tracehead = trace.prev;
553 return variable[1];
554 }
555 val_t compiling_methods___CFunctionContext___register_variable(val_t self, val_t param0) {
556 struct trace_t trace = {NULL, NULL, 179, LOCATE_compiling_methods___CFunctionContext___register_variable};
557 val_t variable[12];
558 void **closurevariable = NULL;
559 trace.prev = tracehead; tracehead = &trace;
560 trace.file = LOCATE_compiling_methods;
561 variable[0] = self;
562 variable[1] = param0;
563 variable[4] = variable[0];
564 variable[4] = CALL_compiling_methods___CFunctionContext___get_var(variable[4])(variable[4]) /*CFunctionContext::get_var*/;
565 variable[3] = variable[4];
566 variable[4] = variable[0];
567 variable[4] = ATTR_compiling_methods___CFunctionContext____varnames(variable[4]) /*CFunctionContext::_varnames*/;
568 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
569 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("variable["), TAG_Int(9)); /*new String*/
570 variable[7] = variable[6];
571 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
572 variable[8] = variable[0];
573 variable[8] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[8]) /*CFunctionContext::_variable_index*/;
574 variable[8] = TAG_Int(UNTAG_Int(variable[8])-UNTAG_Int( TAG_Int(1)));
575 variable[9] = variable[8];
576 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
577 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
578 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
579 variable[11] = variable[10];
580 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
581 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
582 CALL_abstract_collection___Map_____braeq(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*Map::[]=*/;
583 variable[2] = variable[3] /*s*/;
584 goto return_label18;
585 return_label18: while(false);
586 tracehead = trace.prev;
587 return variable[2];
588 }
589 val_t compiling_methods___CFunctionContext___register_closurevariable(val_t self, val_t param0) {
590 struct trace_t trace = {NULL, NULL, 189, LOCATE_compiling_methods___CFunctionContext___register_closurevariable};
591 val_t variable[11];
592 void **closurevariable = NULL;
593 trace.prev = tracehead; tracehead = &trace;
594 trace.file = LOCATE_compiling_methods;
595 variable[0] = self;
596 variable[1] = param0;
597 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
598 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("closurevariable["), TAG_Int(16)); /*new String*/
599 variable[6] = variable[5];
600 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
601 variable[7] = variable[0];
602 variable[7] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[7]) /*CFunctionContext::_closurevariable_index*/;
603 variable[8] = variable[7];
604 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
605 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
606 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
607 variable[10] = variable[9];
608 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
609 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
610 variable[3] = variable[4];
611 variable[4] = variable[0];
612 ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[4]) /*CFunctionContext::_closurevariable_index*/ = TAG_Int(UNTAG_Int(ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[4]) /*CFunctionContext::_closurevariable_index*/)+UNTAG_Int( TAG_Int(1)));
613 variable[4] = variable[0];
614 variable[4] = ATTR_compiling_methods___CFunctionContext____varnames(variable[4]) /*CFunctionContext::_varnames*/;
615 CALL_abstract_collection___Map_____braeq(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*s*/) /*Map::[]=*/;
616 variable[4] = variable[0];
617 variable[4] = ATTR_compiling_methods___CFunctionContext____in_closure(variable[4]) /*CFunctionContext::_in_closure*/;
618 if (UNTAG_Bool(variable[4])) { /*if*/
619 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
620 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->"), TAG_Int(10)); /*new String*/
621 variable[6] = variable[5];
622 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
623 variable[7] = variable[3] /*s*/;
624 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
625 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
626 variable[9] = variable[8];
627 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
628 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
629 variable[2] = variable[4];
630 goto return_label19;
631 } else { /*if*/
632 variable[2] = variable[3] /*s*/;
633 goto return_label19;
634 }
635 return_label19: while(false);
636 tracehead = trace.prev;
637 return variable[2];
638 }
639 val_t compiling_methods___CFunctionContext___variable(val_t self, val_t param0) {
640 struct trace_t trace = {NULL, NULL, 201, LOCATE_compiling_methods___CFunctionContext___variable};
641 val_t variable[9];
642 void **closurevariable = NULL;
643 trace.prev = tracehead; tracehead = &trace;
644 trace.file = LOCATE_compiling_methods;
645 variable[0] = self;
646 variable[1] = param0;
647 variable[3] = variable[0];
648 variable[3] = ATTR_compiling_methods___CFunctionContext____in_closure(variable[3]) /*CFunctionContext::_in_closure*/;
649 if (UNTAG_Bool(variable[3])) { /*if*/
650 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
651 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->variable["), TAG_Int(19)); /*new String*/
652 variable[5] = variable[4];
653 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
654 variable[6] = variable[1] /*i*/;
655 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
656 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[6]) /*AbstractArray::add*/;
657 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("])"), TAG_Int(2)); /*new String*/
658 variable[8] = variable[7];
659 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[8]) /*AbstractArray::add*/;
660 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
661 variable[2] = variable[3];
662 goto return_label20;
663 } else { /*if*/
664 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
665 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("variable["), TAG_Int(9)); /*new String*/
666 variable[5] = variable[4];
667 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
668 variable[6] = variable[1] /*i*/;
669 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
670 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[6]) /*AbstractArray::add*/;
671 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)); /*new String*/
672 variable[8] = variable[7];
673 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[8]) /*AbstractArray::add*/;
674 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
675 variable[2] = variable[3];
676 goto return_label20;
677 }
678 return_label20: while(false);
679 tracehead = trace.prev;
680 return variable[2];
681 }
682 void compiling_methods___CFunctionContext___free_var(val_t self, val_t param0) {
683 struct trace_t trace = {NULL, NULL, 211, LOCATE_compiling_methods___CFunctionContext___free_var};
684 val_t variable[5];
685 void **closurevariable = NULL;
686 trace.prev = tracehead; tracehead = &trace;
687 trace.file = LOCATE_compiling_methods;
688 variable[0] = self;
689 variable[1] = param0;
690 variable[3] = variable[0];
691 variable[4] = variable[0];
692 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
693 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
694 variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[3])(variable[3], variable[4]) /*CFunctionContext::variable*/;
695 variable[3] = TAG_Bool(( variable[1] /*v*/ == variable[3]) || (( variable[1] /*v*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*String::==*/)));
696 if (UNTAG_Bool(variable[3])) { /*if*/
697 variable[3] = variable[0];
698 variable[4] = variable[0];
699 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
700 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
701 ATTR_compiling_methods___CFunctionContext____variable_index(variable[3]) /*CFunctionContext::_variable_index*/ = variable[4];
702 }
703 return_label21: while(false);
704 tracehead = trace.prev;
705 return;
706 }
707 void compiling_methods___CFunctionContext___generate_var_decls(val_t self) {
708 struct trace_t trace = {NULL, NULL, 220, LOCATE_compiling_methods___CFunctionContext___generate_var_decls};
709 val_t variable[10];
710 void **closurevariable = NULL;
711 trace.prev = tracehead; tracehead = &trace;
712 trace.file = LOCATE_compiling_methods;
713 variable[0] = self;
714 variable[2] = variable[0];
715 variable[2] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[2]) /*CFunctionContext::_variable_index_max*/;
716 variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
717 if (UNTAG_Bool(variable[2])) { /*if*/
718 variable[2] = variable[0];
719 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[2])(variable[2]) /*CFunctionContext::visitor*/;
720 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
721 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("val_t variable["), TAG_Int(15)); /*new String*/
722 variable[5] = variable[4];
723 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
724 variable[6] = variable[0];
725 variable[6] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[6]) /*CFunctionContext::_variable_index_max*/;
726 variable[7] = variable[6];
727 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
728 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
729 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)); /*new String*/
730 variable[9] = variable[8];
731 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
732 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
733 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
734 } else { /*if*/
735 variable[2] = variable[0];
736 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[2])(variable[2]) /*CFunctionContext::visitor*/;
737 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("val_t *variable = NULL;"), TAG_Int(23)); /*new String*/
738 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
739 }
740 variable[2] = variable[0];
741 variable[2] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[2]) /*CFunctionContext::_closurevariable_index*/;
742 variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
743 if (UNTAG_Bool(variable[2])) { /*if*/
744 variable[2] = variable[0];
745 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[2])(variable[2]) /*CFunctionContext::visitor*/;
746 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
747 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("void *closurevariable["), TAG_Int(22)); /*new String*/
748 variable[5] = variable[4];
749 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
750 variable[6] = variable[0];
751 variable[6] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[6]) /*CFunctionContext::_closurevariable_index*/;
752 variable[7] = variable[6];
753 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
754 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
755 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)); /*new String*/
756 variable[9] = variable[8];
757 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
758 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
759 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
760 } else { /*if*/
761 variable[2] = variable[0];
762 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[2])(variable[2]) /*CFunctionContext::visitor*/;
763 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("void **closurevariable = NULL;"), TAG_Int(30)); /*new String*/
764 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
765 }
766 return_label22: while(false);
767 tracehead = trace.prev;
768 return;
769 }
770 void compiling_methods___CFunctionContext___init(val_t self, val_t param0, int* init_table) {
771 struct trace_t trace = {NULL, NULL, 236, LOCATE_compiling_methods___CFunctionContext___init};
772 val_t variable[4];
773 void **closurevariable = NULL;
774 trace.prev = tracehead; tracehead = &trace;
775 trace.file = LOCATE_compiling_methods;
776 variable[0] = self;
777 variable[1] = param0;
778 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i]) return;
779 variable[3] = variable[0];
780 ATTR_compiling_methods___CFunctionContext____visitor(variable[3]) /*CFunctionContext::_visitor*/ = variable[1] /*v*/;
781 return_label23: while(false);
782 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i] = 1;
783 tracehead = trace.prev;
784 return;
785 }
786 val_t compiling_methods___NitMethodContext___method(val_t self) {
787 struct trace_t trace = {NULL, NULL, 241, LOCATE_compiling_methods___NitMethodContext___method};
788 val_t *variable = NULL;
789 void **closurevariable = NULL;
790 trace.prev = tracehead; tracehead = &trace;
791 trace.file = LOCATE_compiling_methods;
792 tracehead = trace.prev;
793 return ATTR_compiling_methods___NitMethodContext____method( self) /*NitMethodContext::_method*/;
794 }
795 val_t compiling_methods___NitMethodContext___method_params(val_t self) {
796 struct trace_t trace = {NULL, NULL, 244, LOCATE_compiling_methods___NitMethodContext___method_params};
797 val_t *variable = NULL;
798 void **closurevariable = NULL;
799 trace.prev = tracehead; tracehead = &trace;
800 trace.file = LOCATE_compiling_methods;
801 tracehead = trace.prev;
802 return ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/;
803 }
804 void compiling_methods___NitMethodContext___method_params__eq(val_t self, val_t param0) {
805 struct trace_t trace = {NULL, NULL, 244, LOCATE_compiling_methods___NitMethodContext___method_params__eq};
806 val_t *variable = NULL;
807 void **closurevariable = NULL;
808 trace.prev = tracehead; tracehead = &trace;
809 trace.file = LOCATE_compiling_methods;
810 ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/ = param0;
811 tracehead = trace.prev;
812 return;
813 }
814 val_t compiling_methods___NitMethodContext___return_label(val_t self) {
815 struct trace_t trace = {NULL, NULL, 247, LOCATE_compiling_methods___NitMethodContext___return_label};
816 val_t *variable = NULL;
817 void **closurevariable = NULL;
818 trace.prev = tracehead; tracehead = &trace;
819 trace.file = LOCATE_compiling_methods;
820 tracehead = trace.prev;
821 return ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/;
822 }
823 void compiling_methods___NitMethodContext___return_label__eq(val_t self, val_t param0) {
824 struct trace_t trace = {NULL, NULL, 247, LOCATE_compiling_methods___NitMethodContext___return_label__eq};
825 val_t *variable = NULL;
826 void **closurevariable = NULL;
827 trace.prev = tracehead; tracehead = &trace;
828 trace.file = LOCATE_compiling_methods;
829 ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/ = param0;
830 tracehead = trace.prev;
831 return;
832 }
833 val_t compiling_methods___NitMethodContext___break_label(val_t self) {
834 struct trace_t trace = {NULL, NULL, 250, LOCATE_compiling_methods___NitMethodContext___break_label};
835 val_t *variable = NULL;
836 void **closurevariable = NULL;
837 trace.prev = tracehead; tracehead = &trace;
838 trace.file = LOCATE_compiling_methods;
839 tracehead = trace.prev;
840 return ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/;
841 }
842 void compiling_methods___NitMethodContext___break_label__eq(val_t self, val_t param0) {
843 struct trace_t trace = {NULL, NULL, 250, LOCATE_compiling_methods___NitMethodContext___break_label__eq};
844 val_t *variable = NULL;
845 void **closurevariable = NULL;
846 trace.prev = tracehead; tracehead = &trace;
847 trace.file = LOCATE_compiling_methods;
848 ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/ = param0;
849 tracehead = trace.prev;
850 return;
851 }
852 val_t compiling_methods___NitMethodContext___continue_label(val_t self) {
853 struct trace_t trace = {NULL, NULL, 253, LOCATE_compiling_methods___NitMethodContext___continue_label};
854 val_t *variable = NULL;
855 void **closurevariable = NULL;
856 trace.prev = tracehead; tracehead = &trace;
857 trace.file = LOCATE_compiling_methods;
858 tracehead = trace.prev;
859 return ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/;
860 }
861 void compiling_methods___NitMethodContext___continue_label__eq(val_t self, val_t param0) {
862 struct trace_t trace = {NULL, NULL, 253, LOCATE_compiling_methods___NitMethodContext___continue_label__eq};
863 val_t *variable = NULL;
864 void **closurevariable = NULL;
865 trace.prev = tracehead; tracehead = &trace;
866 trace.file = LOCATE_compiling_methods;
867 ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/ = param0;
868 tracehead = trace.prev;
869 return;
870 }
871 val_t compiling_methods___NitMethodContext___return_value(val_t self) {
872 struct trace_t trace = {NULL, NULL, 256, LOCATE_compiling_methods___NitMethodContext___return_value};
873 val_t *variable = NULL;
874 void **closurevariable = NULL;
875 trace.prev = tracehead; tracehead = &trace;
876 trace.file = LOCATE_compiling_methods;
877 tracehead = trace.prev;
878 return ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/;
879 }
880 void compiling_methods___NitMethodContext___return_value__eq(val_t self, val_t param0) {
881 struct trace_t trace = {NULL, NULL, 256, LOCATE_compiling_methods___NitMethodContext___return_value__eq};
882 val_t *variable = NULL;
883 void **closurevariable = NULL;
884 trace.prev = tracehead; tracehead = &trace;
885 trace.file = LOCATE_compiling_methods;
886 ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/ = param0;
887 tracehead = trace.prev;
888 return;
889 }
890 val_t compiling_methods___NitMethodContext___break_value(val_t self) {
891 struct trace_t trace = {NULL, NULL, 259, LOCATE_compiling_methods___NitMethodContext___break_value};
892 val_t *variable = NULL;
893 void **closurevariable = NULL;
894 trace.prev = tracehead; tracehead = &trace;
895 trace.file = LOCATE_compiling_methods;
896 tracehead = trace.prev;
897 return ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/;
898 }
899 void compiling_methods___NitMethodContext___break_value__eq(val_t self, val_t param0) {
900 struct trace_t trace = {NULL, NULL, 259, LOCATE_compiling_methods___NitMethodContext___break_value__eq};
901 val_t *variable = NULL;
902 void **closurevariable = NULL;
903 trace.prev = tracehead; tracehead = &trace;
904 trace.file = LOCATE_compiling_methods;
905 ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/ = param0;
906 tracehead = trace.prev;
907 return;
908 }
909 val_t compiling_methods___NitMethodContext___continue_value(val_t self) {
910 struct trace_t trace = {NULL, NULL, 262, LOCATE_compiling_methods___NitMethodContext___continue_value};
911 val_t *variable = NULL;
912 void **closurevariable = NULL;
913 trace.prev = tracehead; tracehead = &trace;
914 trace.file = LOCATE_compiling_methods;
915 tracehead = trace.prev;
916 return ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/;
917 }
918 void compiling_methods___NitMethodContext___continue_value__eq(val_t self, val_t param0) {
919 struct trace_t trace = {NULL, NULL, 262, LOCATE_compiling_methods___NitMethodContext___continue_value__eq};
920 val_t *variable = NULL;
921 void **closurevariable = NULL;
922 trace.prev = tracehead; tracehead = &trace;
923 trace.file = LOCATE_compiling_methods;
924 ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/ = param0;
925 tracehead = trace.prev;
926 return;
927 }
928 void compiling_methods___NitMethodContext___init(val_t self, val_t param0, int* init_table) {
929 struct trace_t trace = {NULL, NULL, 265, LOCATE_compiling_methods___NitMethodContext___init};
930 val_t variable[4];
931 void **closurevariable = NULL;
932 trace.prev = tracehead; tracehead = &trace;
933 trace.file = LOCATE_compiling_methods;
934 variable[0] = self;
935 variable[1] = param0;
936 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i]) return;
937 variable[3] = variable[0];
938 ATTR_compiling_methods___NitMethodContext____method(variable[3]) /*NitMethodContext::_method*/ = variable[1] /*method*/;
939 return_label24: while(false);
940 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i] = 1;
941 tracehead = trace.prev;
942 return;
943 }
944 val_t compiling_methods___ClosureVariable___ctypename(val_t self) {
945 struct trace_t trace = {NULL, NULL, 274, LOCATE_compiling_methods___ClosureVariable___ctypename};
946 val_t *variable = NULL;
947 void **closurevariable = NULL;
948 trace.prev = tracehead; tracehead = &trace;
949 trace.file = LOCATE_compiling_methods;
950 tracehead = trace.prev;
951 return ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/;
952 }
953 void compiling_methods___ClosureVariable___ctypename__eq(val_t self, val_t param0) {
954 struct trace_t trace = {NULL, NULL, 274, LOCATE_compiling_methods___ClosureVariable___ctypename__eq};
955 val_t *variable = NULL;
956 void **closurevariable = NULL;
957 trace.prev = tracehead; tracehead = &trace;
958 trace.file = LOCATE_compiling_methods;
959 ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/ = param0;
960 tracehead = trace.prev;
961 return;
962 }
963 val_t compiling_methods___MMMethod___compile_call(val_t self, val_t param0, val_t param1) {
964 struct trace_t trace = {NULL, NULL, 278, LOCATE_compiling_methods___MMMethod___compile_call};
965 static val_t once_value_26; static int once_bool_26; /* Once value for variable[7]*/
966 static val_t once_value_27; static int once_bool_27; /* Once value for variable[8]*/
967 static val_t once_value_28; static int once_bool_28; /* Once value for variable[6]*/
968 static val_t once_value_29; static int once_bool_29; /* Once value for variable[7]*/
969 static val_t once_value_31; static int once_bool_31; /* Once value for variable[10]*/
970 val_t variable[31];
971 void **closurevariable = NULL;
972 trace.prev = tracehead; tracehead = &trace;
973 trace.file = LOCATE_compiling_methods;
974 variable[0] = self;
975 variable[1] = param0;
976 variable[2] = param1;
977 variable[5] = variable[0];
978 variable[4] = variable[5];
979 variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
980 if (UNTAG_Bool(variable[5])) { /*if*/
981 variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMMethSrcMethod, ID_MMMethSrcMethod)) /*cast MMMethSrcMethod*/;
982 variable[6] = variable[5];
983 if (UNTAG_Bool(variable[6])) { /* and */
984 variable[6] = CALL_syntax_base___MMLocalProperty___node( variable[4] /*i*/)( variable[4] /*i*/) /*MMMethSrcMethod::node*/;
985 variable[6] = TAG_Bool((variable[6]==NIT_NULL) || VAL_ISA(variable[6], COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
986 }
987 variable[5] = variable[6];
988 variable[6] = variable[5];
989 if (!UNTAG_Bool(variable[6])) { /* or */
990 variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
991 variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
992 if (once_bool_26) variable[7] = once_value_26;
993 else {
994 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)); /*new String*/
995 variable[7] = CALL_symbol___String___to_symbol(variable[7])(variable[7]) /*String::to_symbol*/;
996 once_value_26 = variable[7];
997 once_bool_26 = true;
998 }
999 variable[6] = TAG_Bool((variable[6] == variable[7]) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6],variable[7])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6], variable[7]) /*Object::==*/)))));
1000 variable[7] = variable[6];
1001 if (UNTAG_Bool(variable[7])) { /* and */
1002 variable[7] = variable[0];
1003 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[7])(variable[7]) /*MMLocalProperty::name*/;
1004 if (once_bool_27) variable[8] = once_value_27;
1005 else {
1006 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
1007 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
1008 once_value_27 = variable[8];
1009 once_bool_27 = true;
1010 }
1011 variable[7] = TAG_Bool((variable[7] == variable[8]) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7],variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], variable[8]) /*Object::==*/)))));
1012 }
1013 variable[6] = variable[7];
1014 }
1015 variable[5] = variable[6];
1016 if (UNTAG_Bool(variable[5])) { /*if*/
1017 variable[6] = CALL_compiling_methods___MMSrcMethod___do_compile_inside( variable[4] /*i*/)( variable[4] /*i*/, variable[1] /*v*/, variable[2] /*cargs*/) /*MMSrcMethod::do_compile_inside*/;
1018 variable[5] = variable[6];
1019 variable[3] = variable[5] /*e*/;
1020 goto return_label25;
1021 }
1022 }
1023 if (once_bool_28) variable[6] = once_value_28;
1024 else {
1025 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
1026 variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
1027 once_value_28 = variable[6];
1028 once_bool_28 = true;
1029 }
1030 variable[5] = variable[6];
1031 if (once_bool_29) variable[7] = once_value_29;
1032 else {
1033 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
1034 variable[7] = CALL_symbol___String___to_symbol(variable[7])(variable[7]) /*String::to_symbol*/;
1035 once_value_29 = variable[7];
1036 once_bool_29 = true;
1037 }
1038 variable[6] = variable[7];
1039 variable[7] = variable[0];
1040 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[7])(variable[7]) /*MMLocalProperty::name*/;
1041 variable[7] = TAG_Bool((variable[7] == variable[6] /*ne*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], variable[6] /*ne*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], variable[6] /*ne*/) /*Object::==*/)))));
1042 if (UNTAG_Bool(variable[7])) { /*if*/
1043 variable[8] = variable[0];
1044 variable[8] = CALL_static_type___MMLocalProperty___signature(variable[8])(variable[8]) /*MMLocalProperty::signature*/;
1045 variable[8] = CALL_static_type___MMSignature___recv(variable[8])(variable[8]) /*MMSignature::recv*/;
1046 variable[8] = CALL_static_type___MMType___local_class(variable[8])(variable[8]) /*MMType::local_class*/;
1047 variable[8] = CALL_abstractmetamodel___MMLocalClass___select_method(variable[8])(variable[8], variable[5] /*ee*/) /*MMLocalClass::select_method*/;
1048 variable[7] = variable[8];
1049 variable[9] = CALL_compiling_methods___MMMethod___compile_call( variable[7] /*eqp*/)( variable[7] /*eqp*/, variable[1] /*v*/, variable[2] /*cargs*/) /*MMMethod::compile_call*/;
1050 variable[8] = variable[9];
1051 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1052 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)); /*new String*/
1053 variable[11] = variable[10];
1054 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
1055 variable[12] = variable[8] /*eqcall*/;
1056 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
1057 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
1058 variable[14] = variable[13];
1059 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
1060 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1061 variable[3] = variable[9];
1062 goto return_label25;
1063 }
1064 variable[7] = variable[0];
1065 variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[7])(variable[7]) /*MMLocalProperty::global*/;
1066 variable[7] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[7])(variable[7]) /*MMGlobalProperty::is_init*/;
1067 if (UNTAG_Bool(variable[7])) { /*if*/
1068 variable[7] = CALL_array___Collection___to_a( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*Collection::to_a*/;
1069 variable[2] = variable[7] /*cargs=*/;
1070 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)); /*new String*/
1071 CALL_abstract_collection___SimpleCollection___add( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*AbstractArray::add*/;
1072 }
1073 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1074 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1075 variable[10] = variable[9];
1076 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
1077 variable[11] = variable[0];
1078 variable[11] = CALL_abstractmetamodel___MMLocalProperty___global(variable[11])(variable[11]) /*MMLocalProperty::global*/;
1079 variable[11] = CALL_compiling_base___MMGlobalProperty___meth_call(variable[11])(variable[11]) /*MMGlobalProperty::meth_call*/;
1080 variable[12] = variable[11];
1081 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
1082 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1083 variable[14] = variable[13];
1084 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
1085 variable[15] = variable[2] /*cargs*/;
1086 variable[16] = TAG_Int(0);
1087 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1088 variable[19] = variable[18];
1089 if (UNTAG_Bool(variable[19])) { /* and */
1090 variable[19] = variable[15];
1091 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
1092 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
1093 }
1094 variable[18] = variable[19];
1095 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1096 variable[18] = variable[15];
1097 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
1098 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
1099 variable[17] = variable[18];
1100 goto return_label30;
1101 return_label30: while(false);
1102 variable[15] = variable[17];
1103 variable[16] = variable[15];
1104 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
1105 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1106 variable[18] = variable[17];
1107 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
1108 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1109 variable[7] = variable[8];
1110 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
1111 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1112 variable[11] = variable[10];
1113 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
1114 variable[12] = variable[7] /*m*/;
1115 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
1116 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1117 variable[14] = variable[13];
1118 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
1119 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1120 variable[15] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[15]) /*Collection::join*/;
1121 variable[16] = variable[15];
1122 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
1123 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
1124 variable[18] = variable[17];
1125 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
1126 variable[19] = variable[0];
1127 variable[19] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[19])(variable[19]) /*MMLocalProperty::local_class*/;
1128 variable[20] = variable[19];
1129 variable[20] = CALL_string___Object___to_s(variable[20])(variable[20]) /*Object::to_s*/;
1130 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[20]) /*AbstractArray::add*/;
1131 variable[21] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1132 variable[22] = variable[21];
1133 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[22]) /*AbstractArray::add*/;
1134 variable[23] = variable[0];
1135 variable[23] = CALL_abstractmetamodel___MMLocalProperty___name(variable[23])(variable[23]) /*MMLocalProperty::name*/;
1136 variable[24] = variable[23];
1137 variable[24] = CALL_string___Object___to_s(variable[24])(variable[24]) /*Object::to_s*/;
1138 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[24]) /*AbstractArray::add*/;
1139 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1140 variable[26] = variable[25];
1141 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[26]) /*AbstractArray::add*/;
1142 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1143 variable[8] = variable[9];
1144 variable[9] = variable[0];
1145 variable[9] = CALL_abstractmetamodel___MMLocalProperty___name(variable[9])(variable[9]) /*MMLocalProperty::name*/;
1146 variable[9] = TAG_Bool((variable[9] == variable[5] /*ee*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], variable[5] /*ee*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9], variable[5] /*ee*/) /*Object::==*/)))));
1147 if (UNTAG_Bool(variable[9])) { /*if*/
1148 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1149 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)); /*new String*/
1150 variable[11] = variable[10];
1151 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
1152 variable[12] = variable[8] /*vcall*/;
1153 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
1154 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1155 variable[14] = variable[13];
1156 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
1157 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1158 variable[8] = variable[9] /*vcall=*/;
1159 if (once_bool_31) variable[10] = once_value_31;
1160 else {
1161 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)); /*new String*/
1162 variable[10] = CALL_symbol___String___to_symbol(variable[10])(variable[10]) /*String::to_symbol*/;
1163 once_value_31 = variable[10];
1164 once_bool_31 = true;
1165 }
1166 variable[9] = variable[10];
1167 variable[10] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
1168 variable[10] = CALL_abstractmetamodel___MMLocalClass___name(variable[10])(variable[10]) /*MMLocalClass::name*/;
1169 variable[10] = TAG_Bool((variable[10] == variable[9] /*obj*/) || ((variable[10] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[10])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[10], variable[9] /*obj*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[10])(variable[10], variable[9] /*obj*/) /*Object::==*/)))));
1170 if (UNTAG_Bool(variable[10])) { /*if*/
1171 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
1172 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
1173 variable[12] = variable[11];
1174 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
1175 variable[13] = variable[7] /*m*/;
1176 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[13]) /*AbstractArray::add*/;
1177 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
1178 variable[15] = variable[14];
1179 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[15]) /*AbstractArray::add*/;
1180 variable[16] = CALL_compiling_base___MMLocalProperty___cname( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::cname*/;
1181 variable[17] = variable[16];
1182 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[17]) /*AbstractArray::add*/;
1183 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)); /*new String*/
1184 variable[19] = variable[18];
1185 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[19]) /*AbstractArray::add*/;
1186 variable[20] = variable[2] /*cargs*/;
1187 variable[21] = TAG_Int(0);
1188 variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1189 variable[24] = variable[23];
1190 if (UNTAG_Bool(variable[24])) { /* and */
1191 variable[24] = variable[20];
1192 variable[24] = ATTR_array___AbstractArray____length(variable[24]) /*AbstractArray::_length*/;
1193 variable[24] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[24]));
1194 }
1195 variable[23] = variable[24];
1196 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1197 variable[23] = variable[20];
1198 variable[23] = ATTR_array___Array____items(variable[23]) /*Array::_items*/;
1199 variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
1200 variable[22] = variable[23];
1201 goto return_label32;
1202 return_label32: while(false);
1203 variable[20] = variable[22];
1204 variable[21] = variable[20];
1205 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[21]) /*AbstractArray::add*/;
1206 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
1207 variable[23] = variable[22];
1208 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[23]) /*AbstractArray::add*/;
1209 variable[24] = variable[2] /*cargs*/;
1210 variable[25] = TAG_Int(1);
1211 variable[27] = TAG_Bool(UNTAG_Int( variable[25] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1212 variable[28] = variable[27];
1213 if (UNTAG_Bool(variable[28])) { /* and */
1214 variable[28] = variable[24];
1215 variable[28] = ATTR_array___AbstractArray____length(variable[28]) /*AbstractArray::_length*/;
1216 variable[28] = TAG_Bool(UNTAG_Int( variable[25] /*index*/)<UNTAG_Int(variable[28]));
1217 }
1218 variable[27] = variable[28];
1219 if (!UNTAG_Bool(variable[27])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1220 variable[27] = variable[24];
1221 variable[27] = ATTR_array___Array____items(variable[27]) /*Array::_items*/;
1222 variable[27] = UNBOX_NativeArray(variable[27])[UNTAG_Int( variable[25] /*index*/)];
1223 variable[26] = variable[27];
1224 goto return_label33;
1225 return_label33: while(false);
1226 variable[24] = variable[26];
1227 variable[25] = variable[24];
1228 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[25]) /*AbstractArray::add*/;
1229 variable[26] = NEW_String_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)); /*new String*/
1230 variable[27] = variable[26];
1231 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[27]) /*AbstractArray::add*/;
1232 variable[28] = variable[8] /*vcall*/;
1233 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[28]) /*AbstractArray::add*/;
1234 variable[29] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
1235 variable[30] = variable[29];
1236 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[30]) /*AbstractArray::add*/;
1237 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
1238 variable[8] = variable[10] /*vcall=*/;
1239 }
1240 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
1241 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
1242 variable[12] = variable[11];
1243 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
1244 variable[13] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollection::first*/;
1245 variable[14] = variable[13];
1246 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[14]) /*AbstractArray::add*/;
1247 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)); /*new String*/
1248 variable[16] = variable[15];
1249 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[16]) /*AbstractArray::add*/;
1250 variable[17] = variable[2] /*cargs*/;
1251 variable[18] = TAG_Int(1);
1252 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1253 variable[21] = variable[20];
1254 if (UNTAG_Bool(variable[21])) { /* and */
1255 variable[21] = variable[17];
1256 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
1257 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
1258 }
1259 variable[20] = variable[21];
1260 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1261 variable[20] = variable[17];
1262 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
1263 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
1264 variable[19] = variable[20];
1265 goto return_label34;
1266 return_label34: while(false);
1267 variable[17] = variable[19];
1268 variable[18] = variable[17];
1269 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[18]) /*AbstractArray::add*/;
1270 variable[19] = NEW_String_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)); /*new String*/
1271 variable[20] = variable[19];
1272 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[20]) /*AbstractArray::add*/;
1273 variable[21] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollection::first*/;
1274 variable[22] = variable[21];
1275 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[22]) /*AbstractArray::add*/;
1276 variable[23] = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)); /*new String*/
1277 variable[24] = variable[23];
1278 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[24]) /*AbstractArray::add*/;
1279 variable[25] = variable[8] /*vcall*/;
1280 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[25]) /*AbstractArray::add*/;
1281 variable[26] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
1282 variable[27] = variable[26];
1283 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[27]) /*AbstractArray::add*/;
1284 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
1285 variable[8] = variable[10] /*vcall=*/;
1286 }
1287 variable[9] = variable[0];
1288 variable[9] = CALL_static_type___MMLocalProperty___signature(variable[9])(variable[9]) /*MMLocalProperty::signature*/;
1289 variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
1290 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] == NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9], NIT_NULL /*null*/) /*Object::==*/)))))));
1291 if (UNTAG_Bool(variable[9])) { /*if*/
1292 variable[3] = variable[8] /*vcall*/;
1293 goto return_label25;
1294 } else { /*if*/
1295 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1296 variable[9] = CALL_string___String_____plus( variable[8] /*vcall*/)( variable[8] /*vcall*/, variable[9]) /*String::+*/;
1297 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
1298 variable[3] = NIT_NULL /*null*/;
1299 goto return_label25;
1300 }
1301 return_label25: while(false);
1302 tracehead = trace.prev;
1303 return variable[3];
1304 }
1305 val_t compiling_methods___MMMethod___compile_constructor_call(val_t self, val_t param0, val_t param1, val_t param2) {
1306 struct trace_t trace = {NULL, NULL, 323, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
1307 val_t variable[27];
1308 void **closurevariable = NULL;
1309 trace.prev = tracehead; tracehead = &trace;
1310 trace.file = LOCATE_compiling_methods;
1311 variable[0] = self;
1312 variable[1] = param0;
1313 variable[2] = param1;
1314 variable[3] = param2;
1315 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
1316 variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6]) /*CFunctionContext::get_var*/;
1317 variable[5] = variable[6];
1318 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
1319 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1320 variable[8] = variable[7];
1321 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
1322 variable[9] = variable[5] /*recv*/;
1323 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
1324 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" = NEW_"), TAG_Int(7)); /*new String*/
1325 variable[11] = variable[10];
1326 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
1327 variable[12] = CALL_static_type___MMType___local_class( variable[2] /*recvtype*/)( variable[2] /*recvtype*/) /*MMType::local_class*/;
1328 variable[13] = variable[12];
1329 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
1330 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[13]) /*AbstractArray::add*/;
1331 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
1332 variable[15] = variable[14];
1333 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[15]) /*AbstractArray::add*/;
1334 variable[16] = variable[0];
1335 variable[16] = CALL_abstractmetamodel___MMLocalProperty___global(variable[16])(variable[16]) /*MMLocalProperty::global*/;
1336 variable[16] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[16])(variable[16]) /*MMGlobalProperty::intro*/;
1337 variable[16] = CALL_compiling_base___MMLocalProperty___cname(variable[16])(variable[16]) /*MMLocalProperty::cname*/;
1338 variable[17] = variable[16];
1339 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[17]) /*AbstractArray::add*/;
1340 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1341 variable[19] = variable[18];
1342 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[19]) /*AbstractArray::add*/;
1343 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1344 variable[20] = CALL_string___Collection___join( variable[3] /*cargs*/)( variable[3] /*cargs*/, variable[20]) /*Collection::join*/;
1345 variable[21] = variable[20];
1346 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[21]) /*AbstractArray::add*/;
1347 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("); /*new "), TAG_Int(9)); /*new String*/
1348 variable[23] = variable[22];
1349 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[23]) /*AbstractArray::add*/;
1350 variable[24] = variable[2] /*recvtype*/;
1351 variable[24] = CALL_string___Object___to_s(variable[24])(variable[24]) /*Object::to_s*/;
1352 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[24]) /*AbstractArray::add*/;
1353 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1354 variable[26] = variable[25];
1355 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[26]) /*AbstractArray::add*/;
1356 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
1357 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
1358 variable[4] = variable[5] /*recv*/;
1359 goto return_label35;
1360 return_label35: while(false);
1361 tracehead = trace.prev;
1362 return variable[4];
1363 }
1364 val_t compiling_methods___MMMethod___compile_super_call(val_t self, val_t param0, val_t param1) {
1365 struct trace_t trace = {NULL, NULL, 331, LOCATE_compiling_methods___MMMethod___compile_super_call};
1366 val_t variable[24];
1367 void **closurevariable = NULL;
1368 trace.prev = tracehead; tracehead = &trace;
1369 trace.file = LOCATE_compiling_methods;
1370 variable[0] = self;
1371 variable[1] = param0;
1372 variable[2] = param1;
1373 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1374 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1375 variable[7] = variable[6];
1376 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
1377 variable[8] = variable[0];
1378 variable[8] = CALL_compiling_base___MMLocalProperty___super_meth_call(variable[8])(variable[8]) /*MMLocalProperty::super_meth_call*/;
1379 variable[9] = variable[8];
1380 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
1381 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1382 variable[11] = variable[10];
1383 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
1384 variable[12] = variable[2] /*cargs*/;
1385 variable[13] = TAG_Int(0);
1386 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1387 variable[16] = variable[15];
1388 if (UNTAG_Bool(variable[16])) { /* and */
1389 variable[16] = variable[12];
1390 variable[16] = ATTR_array___AbstractArray____length(variable[16]) /*AbstractArray::_length*/;
1391 variable[16] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[16]));
1392 }
1393 variable[15] = variable[16];
1394 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1395 variable[15] = variable[12];
1396 variable[15] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
1397 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
1398 variable[14] = variable[15];
1399 goto return_label37;
1400 return_label37: while(false);
1401 variable[12] = variable[14];
1402 variable[13] = variable[12];
1403 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
1404 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
1405 variable[15] = variable[14];
1406 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[15]) /*AbstractArray::add*/;
1407 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
1408 variable[4] = variable[5];
1409 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
1410 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1411 variable[8] = variable[7];
1412 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
1413 variable[9] = variable[4] /*m*/;
1414 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
1415 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1416 variable[11] = variable[10];
1417 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
1418 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1419 variable[12] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[12]) /*Collection::join*/;
1420 variable[13] = variable[12];
1421 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[13]) /*AbstractArray::add*/;
1422 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)); /*new String*/
1423 variable[15] = variable[14];
1424 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[15]) /*AbstractArray::add*/;
1425 variable[16] = variable[0];
1426 variable[16] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[16])(variable[16]) /*MMLocalProperty::local_class*/;
1427 variable[17] = variable[16];
1428 variable[17] = CALL_string___Object___to_s(variable[17])(variable[17]) /*Object::to_s*/;
1429 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[17]) /*AbstractArray::add*/;
1430 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1431 variable[19] = variable[18];
1432 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[19]) /*AbstractArray::add*/;
1433 variable[20] = variable[0];
1434 variable[20] = CALL_abstractmetamodel___MMLocalProperty___name(variable[20])(variable[20]) /*MMLocalProperty::name*/;
1435 variable[21] = variable[20];
1436 variable[21] = CALL_string___Object___to_s(variable[21])(variable[21]) /*Object::to_s*/;
1437 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[21]) /*AbstractArray::add*/;
1438 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1439 variable[23] = variable[22];
1440 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[23]) /*AbstractArray::add*/;
1441 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
1442 variable[5] = variable[6];
1443 variable[3] = variable[5] /*vcall*/;
1444 goto return_label36;
1445 return_label36: while(false);
1446 tracehead = trace.prev;
1447 return variable[3];
1448 }
1449 val_t compiling_methods___MMMethod___closure_cname(val_t self, val_t param0) {
1450 struct trace_t trace = {NULL, NULL, 339, LOCATE_compiling_methods___MMMethod___closure_cname};
1451 val_t variable[13];
1452 void **closurevariable = NULL;
1453 trace.prev = tracehead; tracehead = &trace;
1454 trace.file = LOCATE_compiling_methods;
1455 variable[0] = self;
1456 variable[1] = param0;
1457 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1458 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("WBT_"), TAG_Int(4)); /*new String*/
1459 variable[5] = variable[4];
1460 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
1461 variable[6] = variable[0];
1462 variable[6] = CALL_compiling_base___MMLocalProperty___cname(variable[6])(variable[6]) /*MMLocalProperty::cname*/;
1463 variable[7] = variable[6];
1464 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
1465 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
1466 variable[9] = variable[8];
1467 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
1468 variable[10] = variable[1] /*i*/;
1469 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
1470 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[10]) /*AbstractArray::add*/;
1471 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1472 variable[12] = variable[11];
1473 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[12]) /*AbstractArray::add*/;
1474 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1475 variable[2] = variable[3];
1476 goto return_label38;
1477 return_label38: while(false);
1478 tracehead = trace.prev;
1479 return variable[2];
1480 }
1481 val_t compiling_methods___MMAttribute___compile_access(val_t self, val_t param0, val_t param1) {
1482 struct trace_t trace = {NULL, NULL, 347, LOCATE_compiling_methods___MMAttribute___compile_access};
1483 val_t variable[22];
1484 void **closurevariable = NULL;
1485 trace.prev = tracehead; tracehead = &trace;
1486 trace.file = LOCATE_compiling_methods;
1487 variable[0] = self;
1488 variable[1] = param0;
1489 variable[2] = param1;
1490 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(9)); /*new Array[String]*/
1491 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1492 variable[6] = variable[5];
1493 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
1494 variable[7] = variable[0];
1495 variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[7])(variable[7]) /*MMLocalProperty::global*/;
1496 variable[7] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[7])(variable[7]) /*MMGlobalProperty::attr_access*/;
1497 variable[8] = variable[7];
1498 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
1499 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
1500 variable[10] = variable[9];
1501 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
1502 variable[11] = variable[2] /*recv*/;
1503 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
1504 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)); /*new String*/
1505 variable[13] = variable[12];
1506 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
1507 variable[14] = variable[0];
1508 variable[14] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[14])(variable[14]) /*MMLocalProperty::local_class*/;
1509 variable[15] = variable[14];
1510 variable[15] = CALL_string___Object___to_s(variable[15])(variable[15]) /*Object::to_s*/;
1511 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[15]) /*AbstractArray::add*/;
1512 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)); /*new String*/
1513 variable[17] = variable[16];
1514 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[17]) /*AbstractArray::add*/;
1515 variable[18] = variable[0];
1516 variable[18] = CALL_abstractmetamodel___MMLocalProperty___name(variable[18])(variable[18]) /*MMLocalProperty::name*/;
1517 variable[19] = variable[18];
1518 variable[19] = CALL_string___Object___to_s(variable[19])(variable[19]) /*Object::to_s*/;
1519 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[19]) /*AbstractArray::add*/;
1520 variable[20] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
1521 variable[21] = variable[20];
1522 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[21]) /*AbstractArray::add*/;
1523 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
1524 variable[3] = variable[4];
1525 goto return_label39;
1526 return_label39: while(false);
1527 tracehead = trace.prev;
1528 return variable[3];
1529 }
1530 void compiling_methods___MMLocalProperty___compile_property_to_c(val_t self, val_t param0) {
1531 struct trace_t trace = {NULL, NULL, 356, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
1532 val_t variable[3];
1533 void **closurevariable = NULL;
1534 trace.prev = tracehead; tracehead = &trace;
1535 trace.file = LOCATE_compiling_methods;
1536 variable[0] = self;
1537 variable[1] = param0;
1538 return_label40: while(false);
1539 tracehead = trace.prev;
1540 return;
1541 }
1542 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t self, val_t param0) {
1543 struct trace_t trace = {NULL, NULL, 408, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
1544 val_t variable[18];
1545 void **closurevariable = NULL;
1546 trace.prev = tracehead; tracehead = &trace;
1547 trace.file = LOCATE_compiling_methods;
1548 variable[0] = self;
1549 variable[1] = param0;
1550 variable[3] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable[1] /*v*/); /*new CFunctionContext*/
1551 CALL_compiling_methods___CompilerVisitor___cfc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::cfc=*/;
1552 variable[4] = NEW_Array_array___Array___init(); /*new Array[String]*/
1553 variable[3] = variable[4];
1554 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)); /*new String*/
1555 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[4]) /*AbstractArray::add*/;
1556 variable[4] = variable[0];
1557 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[4])(variable[4]) /*MMLocalProperty::signature*/;
1558 variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
1559 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]); /*new Range[Int]*/
1560 variable[4] = variable[5];
1561 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
1562 while (true) { /*for*/
1563 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
1564 if (!UNTAG_Bool(variable[5])) break; /*for*/
1565 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/;
1566 variable[6] = variable[5];
1567 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1568 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
1569 variable[9] = variable[8];
1570 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
1571 variable[10] = variable[6] /*i*/;
1572 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
1573 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
1574 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1575 variable[12] = variable[11];
1576 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
1577 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
1578 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
1579 continue_42: while(0);
1580 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
1581 }
1582 break_42: while(0);
1583 variable[4] = variable[0];
1584 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[4])(variable[4]) /*MMLocalProperty::signature*/;
1585 variable[4] = CALL_static_type___MMSignature___closures(variable[4])(variable[4]) /*MMSignature::closures*/;
1586 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArray::length*/;
1587 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]); /*new Range[Int]*/
1588 variable[4] = variable[5];
1589 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
1590 while (true) { /*for*/
1591 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
1592 if (!UNTAG_Bool(variable[5])) break; /*for*/
1593 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/;
1594 variable[6] = variable[5];
1595 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1596 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" wd"), TAG_Int(3)); /*new String*/
1597 variable[9] = variable[8];
1598 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
1599 variable[10] = variable[6] /*i*/;
1600 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
1601 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
1602 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1603 variable[12] = variable[11];
1604 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
1605 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
1606 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
1607 continue_43: while(0);
1608 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
1609 }
1610 break_43: while(0);
1611 variable[5] = variable[0];
1612 variable[5] = CALL_compiling_methods___MMSrcMethod___decl_csignature(variable[5])(variable[5], variable[1] /*v*/, variable[3] /*args*/) /*MMSrcMethod::decl_csignature*/;
1613 variable[4] = variable[5];
1614 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1615 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)); /*new String*/
1616 variable[7] = variable[6];
1617 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
1618 variable[8] = variable[0];
1619 variable[8] = CALL_compiling_base___MMLocalProperty___cname(variable[8])(variable[8]) /*MMLocalProperty::cname*/;
1620 variable[9] = variable[8];
1621 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
1622 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)); /*new String*/
1623 variable[11] = variable[10];
1624 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
1625 variable[12] = variable[0];
1626 variable[12] = CALL_abstractmetamodel___MMLocalProperty___full_name(variable[12])(variable[12]) /*MMLocalProperty::full_name*/;
1627 variable[13] = variable[12];
1628 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
1629 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)); /*new String*/
1630 variable[15] = variable[14];
1631 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[15]) /*AbstractArray::add*/;
1632 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
1633 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
1634 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1635 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1636 variable[7] = variable[6];
1637 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
1638 variable[8] = variable[4] /*cs*/;
1639 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
1640 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
1641 variable[10] = variable[9];
1642 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
1643 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
1644 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
1645 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
1646 variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
1647 variable[5] = variable[6];
1648 variable[6] = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
1649 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::ctx=*/;
1650 variable[6] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
1651 CALL_abstract_collection___RemovableCollection___clear(variable[6])(variable[6]) /*AbstractArray::clear*/;
1652 variable[6] = TAG_Int(0);
1653 variable[8] = variable[0];
1654 variable[7] = variable[8];
1655 variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
1656 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
1657 if (UNTAG_Bool(variable[8])) { /*if*/
1658 variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
1659 variable[8] = CALL_parser_prod___PNode___line_number(variable[8])(variable[8]) /*PNode::line_number*/;
1660 variable[6] = variable[8] /*ln=*/;
1661 }
1662 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1663 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)); /*new String*/
1664 variable[10] = variable[9];
1665 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
1666 variable[11] = variable[6] /*ln*/;
1667 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
1668 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
1669 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
1670 variable[13] = variable[12];
1671 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
1672 variable[14] = variable[0];
1673 variable[14] = CALL_compiling_base___MMLocalProperty___cname(variable[14])(variable[14]) /*MMLocalProperty::cname*/;
1674 variable[15] = variable[14];
1675 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[15]) /*AbstractArray::add*/;
1676 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
1677 variable[17] = variable[16];
1678 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[17]) /*AbstractArray::add*/;
1679 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1680 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_decl*/;
1681 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
1682 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
1683 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1684 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)); /*new String*/
1685 variable[10] = variable[9];
1686 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
1687 variable[11] = variable[0];
1688 variable[11] = CALL_abstractmetamodel___MMLocalProperty___module(variable[11])(variable[11]) /*MMLocalProperty::module*/;
1689 variable[11] = CALL_abstractmetamodel___MMModule___name(variable[11])(variable[11]) /*MMModule::name*/;
1690 variable[12] = variable[11];
1691 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
1692 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
1693 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1694 variable[14] = variable[13];
1695 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
1696 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1697 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
1698 variable[9] = variable[0];
1699 variable[9] = CALL_compiling_methods___MMSrcMethod___do_compile_inside(variable[9])(variable[9], variable[1] /*v*/, variable[3] /*args*/) /*MMSrcMethod::do_compile_inside*/;
1700 variable[8] = variable[9];
1701 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
1702 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
1703 variable[9] = TAG_Bool(( variable[8] /*s*/ == NIT_NULL /*null*/) || (( variable[8] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*s*/)( variable[8] /*s*/, NIT_NULL /*null*/) /*String::==*/)));
1704 if (UNTAG_Bool(variable[9])) { /*if*/
1705 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
1706 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
1707 } else { /*if*/
1708 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1709 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
1710 variable[11] = variable[10];
1711 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
1712 variable[12] = variable[8] /*s*/;
1713 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
1714 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1715 variable[14] = variable[13];
1716 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
1717 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1718 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
1719 }
1720 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
1721 CALL_compiling_methods___CFunctionContext___generate_var_decls(variable[9])(variable[9]) /*CFunctionContext::generate_var_decls*/;
1722 variable[9] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
1723 CALL_compiling_base___CContext___append( variable[5] /*ctx_old*/)( variable[5] /*ctx_old*/, variable[9]) /*CContext::append*/;
1724 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
1725 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
1726 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
1727 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
1728 variable[9] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
1729 variable[9] = CALL_abstract_collection___Collection___iterator(variable[9])(variable[9]) /*AbstractArray::iterator*/;
1730 while (true) { /*for*/
1731 variable[10] = CALL_abstract_collection___Iterator___is_ok(variable[9])(variable[9]) /*ArrayIterator::is_ok*/;
1732 if (!UNTAG_Bool(variable[10])) break; /*for*/
1733 variable[10] = CALL_abstract_collection___Iterator___item(variable[9])(variable[9]) /*ArrayIterator::item*/;
1734 variable[11] = variable[10];
1735 variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
1736 CALL_compiling_base___CContext___merge(variable[12])(variable[12], variable[11] /*ctx*/) /*CContext::merge*/;
1737 continue_44: while(0);
1738 CALL_abstract_collection___Iterator___next(variable[9])(variable[9]) /*ArrayIterator::next*/;
1739 }
1740 break_44: while(0);
1741 return_label41: while(false);
1742 tracehead = trace.prev;
1743 return;
1744 }
1745 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t self, val_t param0, val_t param1) {
1746 struct trace_t trace = {NULL, NULL, 362, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
1747 val_t variable[26];
1748 void **closurevariable = NULL;
1749 trace.prev = tracehead; tracehead = &trace;
1750 trace.file = LOCATE_compiling_methods;
1751 variable[0] = self;
1752 variable[1] = param0;
1753 variable[2] = param1;
1754 variable[5] = NEW_Array_array___Array___init(); /*new Array[String]*/
1755 variable[4] = variable[5];
1756 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1757 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
1758 variable[7] = variable[6];
1759 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
1760 variable[8] = variable[2] /*args*/;
1761 variable[9] = TAG_Int(0);
1762 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1763 variable[12] = variable[11];
1764 if (UNTAG_Bool(variable[12])) { /* and */
1765 variable[12] = variable[8];
1766 variable[12] = ATTR_array___AbstractArray____length(variable[12]) /*AbstractArray::_length*/;
1767 variable[12] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[12]));
1768 }
1769 variable[11] = variable[12];
1770 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1771 variable[11] = variable[8];
1772 variable[11] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
1773 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
1774 variable[10] = variable[11];
1775 goto return_label46;
1776 return_label46: while(false);
1777 variable[8] = variable[10];
1778 variable[9] = variable[8];
1779 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
1780 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1781 variable[11] = variable[10];
1782 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
1783 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
1784 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[5]) /*AbstractArray::add*/;
1785 variable[5] = variable[0];
1786 variable[5] = CALL_static_type___MMLocalProperty___signature(variable[5])(variable[5]) /*MMLocalProperty::signature*/;
1787 variable[5] = CALL_static_type___MMSignature___arity(variable[5])(variable[5]) /*MMSignature::arity*/;
1788 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]); /*new Range[Int]*/
1789 variable[5] = variable[6];
1790 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
1791 while (true) { /*for*/
1792 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
1793 if (!UNTAG_Bool(variable[6])) break; /*for*/
1794 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/;
1795 variable[7] = variable[6];
1796 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1797 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
1798 variable[11] = variable[10];
1799 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
1800 variable[12] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
1801 variable[13] = variable[2] /*args*/;
1802 variable[14] = variable[12];
1803 variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1804 variable[17] = variable[16];
1805 if (UNTAG_Bool(variable[17])) { /* and */
1806 variable[17] = variable[13];
1807 variable[17] = ATTR_array___AbstractArray____length(variable[17]) /*AbstractArray::_length*/;
1808 variable[17] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)<UNTAG_Int(variable[17]));
1809 }
1810 variable[16] = variable[17];
1811 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1812 variable[16] = variable[13];
1813 variable[16] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
1814 variable[16] = UNBOX_NativeArray(variable[16])[UNTAG_Int( variable[14] /*index*/)];
1815 variable[15] = variable[16];
1816 goto return_label48;
1817 return_label48: while(false);
1818 variable[12] = variable[15];
1819 variable[13] = variable[12];
1820 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[13]) /*AbstractArray::add*/;
1821 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1822 variable[15] = variable[14];
1823 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[15]) /*AbstractArray::add*/;
1824 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1825 variable[8] = variable[9];
1826 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[8] /*p*/) /*AbstractArray::add*/;
1827 continue_47: while(0);
1828 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
1829 }
1830 break_47: while(0);
1831 variable[6] = variable[0];
1832 variable[6] = CALL_static_type___MMLocalProperty___signature(variable[6])(variable[6]) /*MMLocalProperty::signature*/;
1833 variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
1834 variable[6] = TAG_Int(UNTAG_Int(variable[6])+UNTAG_Int( TAG_Int(1)));
1835 variable[5] = variable[6];
1836 variable[6] = variable[0];
1837 variable[6] = CALL_static_type___MMLocalProperty___signature(variable[6])(variable[6]) /*MMLocalProperty::signature*/;
1838 variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
1839 variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArray::length*/;
1840 variable[7] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]); /*new Range[Int]*/
1841 variable[6] = variable[7];
1842 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
1843 while (true) { /*for*/
1844 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
1845 if (!UNTAG_Bool(variable[7])) break; /*for*/
1846 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/;
1847 variable[8] = variable[7];
1848 variable[10] = variable[0];
1849 variable[10] = CALL_compiling_methods___MMMethod___closure_cname(variable[10])(variable[10], variable[8] /*i*/) /*MMMethod::closure_cname*/;
1850 variable[9] = variable[10];
1851 variable[11] = variable[0];
1852 variable[11] = CALL_static_type___MMLocalProperty___signature(variable[11])(variable[11]) /*MMLocalProperty::signature*/;
1853 variable[11] = CALL_static_type___MMSignature___closures(variable[11])(variable[11]) /*MMSignature::closures*/;
1854 variable[12] = variable[11];
1855 variable[13] = variable[8] /*i*/;
1856 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1857 variable[16] = variable[15];
1858 if (UNTAG_Bool(variable[16])) { /* and */
1859 variable[16] = variable[12];
1860 variable[16] = ATTR_array___AbstractArray____length(variable[16]) /*AbstractArray::_length*/;
1861 variable[16] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[16]));
1862 }
1863 variable[15] = variable[16];
1864 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1865 variable[15] = variable[12];
1866 variable[15] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
1867 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
1868 variable[14] = variable[15];
1869 goto return_label50;
1870 return_label50: while(false);
1871 variable[11] = variable[14];
1872 variable[11] = CALL_static_type___MMClosure___signature(variable[11])(variable[11]) /*MMClosure::signature*/;
1873 variable[10] = variable[11];
1874 variable[12] = NEW_Array_array___Array___init(); /*new Array[String]*/
1875 variable[11] = variable[12];
1876 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1877 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
1878 variable[14] = variable[13];
1879 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[14]) /*AbstractArray::add*/;
1880 variable[15] = variable[9] /*closcn*/;
1881 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[15]) /*AbstractArray::add*/;
1882 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
1883 variable[17] = variable[16];
1884 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[17]) /*AbstractArray::add*/;
1885 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
1886 CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[12]) /*AbstractArray::add*/;
1887 variable[12] = CALL_static_type___MMSignature___arity( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::arity*/;
1888 variable[13] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[12]); /*new Range[Int]*/
1889 variable[12] = variable[13];
1890 variable[12] = CALL_abstract_collection___Collection___iterator(variable[12])(variable[12]) /*Range::iterator*/;
1891 while (true) { /*for*/
1892 variable[13] = CALL_abstract_collection___Iterator___is_ok(variable[12])(variable[12]) /*Iterator::is_ok*/;
1893 if (!UNTAG_Bool(variable[13])) break; /*for*/
1894 variable[13] = CALL_abstract_collection___Iterator___item(variable[12])(variable[12]) /*Iterator::item*/;
1895 variable[14] = variable[13];
1896 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
1897 variable[15] = variable[16];
1898 CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[15] /*p*/) /*AbstractArray::add*/;
1899 continue_51: while(0);
1900 CALL_abstract_collection___Iterator___next(variable[12])(variable[12]) /*Iterator::next*/;
1901 }
1902 break_51: while(0);
1903 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
1904 variable[12] = variable[13];
1905 variable[13] = CALL_static_type___MMSignature___return_type( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::return_type*/;
1906 variable[13] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[13] == NIT_NULL /*null*/) || ((variable[13] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[13])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[13], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[13])(variable[13], NIT_NULL /*null*/) /*Object::==*/)))))));
1907 if (UNTAG_Bool(variable[13])) { /*if*/
1908 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
1909 variable[12] = variable[13] /*r=*/;
1910 }
1911 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1912 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
1913 variable[15] = variable[14];
1914 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
1915 variable[16] = variable[9] /*closcn*/;
1916 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
1917 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" *"), TAG_Int(2)); /*new String*/
1918 variable[18] = variable[17];
1919 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
1920 variable[19] = TAG_Int(UNTAG_Int( variable[5] /*first_closure_index*/)+UNTAG_Int( variable[8] /*i*/));
1921 variable[20] = variable[2] /*args*/;
1922 variable[21] = variable[19];
1923 variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1924 variable[24] = variable[23];
1925 if (UNTAG_Bool(variable[24])) { /* and */
1926 variable[24] = variable[20];
1927 variable[24] = ATTR_array___AbstractArray____length(variable[24]) /*AbstractArray::_length*/;
1928 variable[24] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[24]));
1929 }
1930 variable[23] = variable[24];
1931 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
1932 variable[23] = variable[20];
1933 variable[23] = ATTR_array___Array____items(variable[23]) /*Array::_items*/;
1934 variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
1935 variable[22] = variable[23];
1936 goto return_label52;
1937 return_label52: while(false);
1938 variable[19] = variable[22];
1939 variable[20] = variable[19];
1940 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[20]) /*AbstractArray::add*/;
1941 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1942 variable[22] = variable[21];
1943 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[22]) /*AbstractArray::add*/;
1944 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
1945 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[13]) /*AbstractArray::add*/;
1946 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
1947 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
1948 variable[15] = variable[14];
1949 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
1950 variable[16] = variable[9] /*closcn*/;
1951 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
1952 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
1953 variable[18] = variable[17];
1954 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
1955 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
1956 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
1957 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
1958 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
1959 variable[15] = variable[14];
1960 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
1961 variable[16] = variable[12] /*r*/;
1962 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
1963 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" (*F"), TAG_Int(4)); /*new String*/
1964 variable[18] = variable[17];
1965 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
1966 variable[19] = variable[9] /*closcn*/;
1967 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[19]) /*AbstractArray::add*/;
1968 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)); /*new String*/
1969 variable[21] = variable[20];
1970 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[21]) /*AbstractArray::add*/;
1971 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
1972 variable[22] = CALL_string___Collection___join( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[22]) /*Collection::join*/;
1973 variable[23] = variable[22];
1974 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[23]) /*AbstractArray::add*/;
1975 variable[24] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
1976 variable[25] = variable[24];
1977 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[25]) /*AbstractArray::add*/;
1978 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
1979 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
1980 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
1981 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
1982 variable[15] = variable[14];
1983 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
1984 variable[16] = variable[9] /*closcn*/;
1985 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
1986 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(" {F"), TAG_Int(3)); /*new String*/
1987 variable[18] = variable[17];
1988 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
1989 variable[19] = variable[9] /*closcn*/;
1990 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[19]) /*AbstractArray::add*/;
1991 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(" fun; val_t *has_broke; val_t broke_value; val_t *variable; void **closurevariable;};"), TAG_Int(85)); /*new String*/
1992 variable[21] = variable[20];
1993 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[21]) /*AbstractArray::add*/;
1994 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
1995 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
1996 continue_49: while(0);
1997 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
1998 }
1999 break_49: while(0);
2000 variable[6] = variable[0];
2001 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[6])(variable[6]) /*MMLocalProperty::global*/;
2002 variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
2003 if (UNTAG_Bool(variable[6])) { /*if*/
2004 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)); /*new String*/
2005 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[6]) /*AbstractArray::add*/;
2006 }
2007 /*variable[6] is variable ret*/
2008 variable[7] = variable[0];
2009 variable[7] = CALL_static_type___MMLocalProperty___signature(variable[7])(variable[7]) /*MMLocalProperty::signature*/;
2010 variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
2011 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
2012 if (UNTAG_Bool(variable[7])) { /*if*/
2013 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
2014 variable[6] = variable[7] /*ret=*/;
2015 } else { /*if*/
2016 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
2017 variable[6] = variable[7] /*ret=*/;
2018 }
2019 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2020 variable[8] = CALL_string___Collection___join( variable[4] /*params*/)( variable[4] /*params*/, variable[8]) /*Collection::join*/;
2021 variable[7] = variable[8];
2022 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
2023 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2024 variable[11] = variable[10];
2025 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
2026 variable[12] = variable[6] /*ret*/;
2027 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
2028 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
2029 variable[14] = variable[13];
2030 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
2031 variable[15] = variable[0];
2032 variable[15] = CALL_compiling_base___MMLocalProperty___cname(variable[15])(variable[15]) /*MMLocalProperty::cname*/;
2033 variable[16] = variable[15];
2034 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
2035 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
2036 variable[18] = variable[17];
2037 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
2038 variable[19] = variable[7] /*p*/;
2039 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[19]) /*AbstractArray::add*/;
2040 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
2041 variable[21] = variable[20];
2042 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[21]) /*AbstractArray::add*/;
2043 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
2044 variable[8] = variable[9];
2045 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
2046 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
2047 variable[11] = variable[10];
2048 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
2049 variable[12] = variable[6] /*ret*/;
2050 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
2051 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
2052 variable[14] = variable[13];
2053 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
2054 variable[15] = variable[0];
2055 variable[15] = CALL_compiling_base___MMLocalProperty___cname(variable[15])(variable[15]) /*MMLocalProperty::cname*/;
2056 variable[16] = variable[15];
2057 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
2058 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
2059 variable[18] = variable[17];
2060 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
2061 variable[19] = variable[7] /*p*/;
2062 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[19]) /*AbstractArray::add*/;
2063 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
2064 variable[21] = variable[20];
2065 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[21]) /*AbstractArray::add*/;
2066 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
2067 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
2068 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
2069 variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
2070 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
2071 variable[3] = variable[8] /*s*/;
2072 goto return_label45;
2073 return_label45: while(false);
2074 tracehead = trace.prev;
2075 return variable[3];
2076 }
2077 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
2078 struct trace_t trace = {NULL, NULL, 454, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
2079 val_t *variable = NULL;
2080 void **closurevariable = NULL;
2081 trace.prev = tracehead; tracehead = &trace;
2082 trace.file = LOCATE_compiling_methods;
2083 fprintf(stderr, "Deferred method called");
2084 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 454);
2085 nit_exit(1);
2086 tracehead = trace.prev;
2087 return NIT_NULL;
2088 }
2089 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
2090 struct trace_t trace = {NULL, NULL, 459, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
2091 val_t variable[10];
2092 void **closurevariable = NULL;
2093 trace.prev = tracehead; tracehead = &trace;
2094 trace.file = LOCATE_compiling_methods;
2095 variable[0] = self;
2096 variable[1] = param0;
2097 variable[2] = param1;
2098 variable[4] = variable[0];
2099 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMAttrImplementationMethod::node*/;
2100 variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
2101 variable[5] = variable[2] /*params*/;
2102 variable[6] = TAG_Int(0);
2103 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2104 variable[9] = variable[8];
2105 if (UNTAG_Bool(variable[9])) { /* and */
2106 variable[9] = variable[5];
2107 variable[9] = ATTR_array___AbstractArray____length(variable[9]) /*AbstractArray::_length*/;
2108 variable[9] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[9]));
2109 }
2110 variable[8] = variable[9];
2111 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2112 variable[8] = variable[5];
2113 variable[8] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
2114 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
2115 variable[7] = variable[8];
2116 goto return_label54;
2117 return_label54: while(false);
2118 variable[5] = variable[7];
2119 variable[4] = CALL_compiling_methods___MMAttribute___compile_access(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*MMAttribute::compile_access*/;
2120 variable[3] = variable[4];
2121 goto return_label53;
2122 return_label53: while(false);
2123 tracehead = trace.prev;
2124 return variable[3];
2125 }
2126 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
2127 struct trace_t trace = {NULL, NULL, 466, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
2128 val_t variable[10];
2129 void **closurevariable = NULL;
2130 trace.prev = tracehead; tracehead = &trace;
2131 trace.file = LOCATE_compiling_methods;
2132 variable[0] = self;
2133 variable[1] = param0;
2134 variable[2] = param1;
2135 variable[4] = variable[0];
2136 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMAttrImplementationMethod::node*/;
2137 variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
2138 variable[5] = variable[2] /*params*/;
2139 variable[6] = TAG_Int(0);
2140 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2141 variable[9] = variable[8];
2142 if (UNTAG_Bool(variable[9])) { /* and */
2143 variable[9] = variable[5];
2144 variable[9] = ATTR_array___AbstractArray____length(variable[9]) /*AbstractArray::_length*/;
2145 variable[9] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[9]));
2146 }
2147 variable[8] = variable[9];
2148 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2149 variable[8] = variable[5];
2150 variable[8] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
2151 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
2152 variable[7] = variable[8];
2153 goto return_label56;
2154 return_label56: while(false);
2155 variable[5] = variable[7];
2156 variable[4] = CALL_compiling_methods___MMAttribute___compile_access(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*MMAttribute::compile_access*/;
2157 variable[5] = variable[2] /*params*/;
2158 variable[6] = TAG_Int(1);
2159 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2160 variable[9] = variable[8];
2161 if (UNTAG_Bool(variable[9])) { /* and */
2162 variable[9] = variable[5];
2163 variable[9] = ATTR_array___AbstractArray____length(variable[9]) /*AbstractArray::_length*/;
2164 variable[9] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[9]));
2165 }
2166 variable[8] = variable[9];
2167 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2168 variable[8] = variable[5];
2169 variable[8] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
2170 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
2171 variable[7] = variable[8];
2172 goto return_label57;
2173 return_label57: while(false);
2174 variable[5] = variable[7];
2175 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::add_assignment*/;
2176 variable[3] = NIT_NULL /*null*/;
2177 goto return_label55;
2178 return_label55: while(false);
2179 tracehead = trace.prev;
2180 return variable[3];
2181 }
2182 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
2183 struct trace_t trace = {NULL, NULL, 474, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
2184 val_t variable[6];
2185 void **closurevariable = NULL;
2186 trace.prev = tracehead; tracehead = &trace;
2187 trace.file = LOCATE_compiling_methods;
2188 variable[0] = self;
2189 variable[1] = param0;
2190 variable[2] = param1;
2191 variable[4] = variable[0];
2192 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMMethSrcMethod::node*/;
2193 variable[5] = variable[0];
2194 variable[4] = CALL_compiling_methods___AMethPropdef___do_compile_inside(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[2] /*params*/) /*AMethPropdef::do_compile_inside*/;
2195 variable[3] = variable[4];
2196 goto return_label58;
2197 return_label58: while(false);
2198 tracehead = trace.prev;
2199 return variable[3];
2200 }
2201 val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t self, val_t param0, val_t param1) {
2202 struct trace_t trace = {NULL, NULL, 481, LOCATE_compiling_methods___MMImplicitInit___do_compile_inside};
2203 val_t variable[19];
2204 void **closurevariable = NULL;
2205 trace.prev = tracehead; tracehead = &trace;
2206 trace.file = LOCATE_compiling_methods;
2207 variable[0] = self;
2208 variable[1] = param0;
2209 variable[2] = param1;
2210 variable[5] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArray::length*/;
2211 variable[6] = variable[0];
2212 variable[6] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[6])(variable[6]) /*MMImplicitInit::unassigned_attributes*/;
2213 variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArray::length*/;
2214 variable[5] = TAG_Int(UNTAG_Int(variable[5])-UNTAG_Int(variable[6]));
2215 variable[4] = variable[5];
2216 variable[6] = CALL_abstract_collection___Collection___first( variable[2] /*params*/)( variable[2] /*params*/) /*IndexedCollection::first*/;
2217 variable[5] = variable[6];
2218 variable[6] = variable[0];
2219 variable[6] = CALL_syntax_base___MMImplicitInit___super_inits(variable[6])(variable[6]) /*MMImplicitInit::super_inits*/;
2220 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*AbstractArray::iterator*/;
2221 while (true) { /*for*/
2222 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*ArrayIterator::is_ok*/;
2223 if (!UNTAG_Bool(variable[7])) break; /*for*/
2224 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*ArrayIterator::item*/;
2225 variable[8] = variable[7];
2226 variable[9] = TAG_Bool(( variable[8] /*sp*/==NIT_NULL) || VAL_ISA( variable[8] /*sp*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
2227 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMImplicitInit___do_compile_inside, LOCATE_compiling_methods, 486); nit_exit(1);}
2228 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
2229 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[5] /*recv*/) /*AbstractArray::add*/;
2230 variable[9] = variable[10];
2231 variable[10] = variable[0];
2232 variable[10] = CALL_mmbuilder___MMImplicitInit___super_init(variable[10])(variable[10]) /*MMImplicitInit::super_init*/;
2233 variable[10] = TAG_Bool(( variable[8] /*sp*/ == variable[10]) || (( variable[8] /*sp*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[8] /*sp*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[8] /*sp*/,variable[10])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[8] /*sp*/)( variable[8] /*sp*/, variable[10]) /*Object::==*/)))));
2234 if (UNTAG_Bool(variable[10])) { /*if*/
2235 variable[11] = NEW_Array_array___Array___with_capacity( variable[4] /*f*/); /*new Array[String]*/
2236 variable[10] = variable[11];
2237 CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/, variable[5] /*recv*/) /*AbstractArray::add*/;
2238 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(1), variable[4] /*f*/); /*new Range[Int]*/
2239 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
2240 while (true) { /*for*/
2241 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
2242 if (!UNTAG_Bool(variable[12])) break; /*for*/
2243 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/;
2244 variable[13] = variable[12];
2245 variable[14] = variable[2] /*params*/;
2246 variable[15] = variable[13] /*i*/;
2247 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2248 variable[18] = variable[17];
2249 if (UNTAG_Bool(variable[18])) { /* and */
2250 variable[18] = variable[14];
2251 variable[18] = ATTR_array___AbstractArray____length(variable[18]) /*AbstractArray::_length*/;
2252 variable[18] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[18]));
2253 }
2254 variable[17] = variable[18];
2255 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2256 variable[17] = variable[14];
2257 variable[17] = ATTR_array___Array____items(variable[17]) /*Array::_items*/;
2258 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
2259 variable[16] = variable[17];
2260 goto return_label62;
2261 return_label62: while(false);
2262 variable[14] = variable[16];
2263 CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/, variable[14]) /*AbstractArray::add*/;
2264 continue_61: while(0);
2265 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
2266 }
2267 break_61: while(0);
2268 CALL_compiling_methods___MMMethod___compile_call( variable[8] /*sp*/)( variable[8] /*sp*/, variable[1] /*v*/, variable[10] /*args*/) /*MMMethod::compile_call*/;
2269 } else { /*if*/
2270 CALL_compiling_methods___MMMethod___compile_call( variable[8] /*sp*/)( variable[8] /*sp*/, variable[1] /*v*/, variable[9] /*args_recv*/) /*MMMethod::compile_call*/;
2271 }
2272 continue_60: while(0);
2273 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*ArrayIterator::next*/;
2274 }
2275 break_60: while(0);
2276 variable[6] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArray::length*/;
2277 variable[7] = NEW_Range_range___Range___without_last( variable[4] /*f*/, variable[6]); /*new Range[Int]*/
2278 variable[6] = variable[7];
2279 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
2280 while (true) { /*for*/
2281 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
2282 if (!UNTAG_Bool(variable[7])) break; /*for*/
2283 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/;
2284 variable[8] = variable[7];
2285 variable[10] = variable[0];
2286 variable[10] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[10])(variable[10]) /*MMImplicitInit::unassigned_attributes*/;
2287 variable[11] = TAG_Int(UNTAG_Int( variable[8] /*i*/)-UNTAG_Int( variable[4] /*f*/));
2288 variable[12] = variable[10];
2289 variable[13] = variable[11];
2290 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2291 variable[16] = variable[15];
2292 if (UNTAG_Bool(variable[16])) { /* and */
2293 variable[16] = variable[12];
2294 variable[16] = ATTR_array___AbstractArray____length(variable[16]) /*AbstractArray::_length*/;
2295 variable[16] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[16]));
2296 }
2297 variable[15] = variable[16];
2298 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2299 variable[15] = variable[12];
2300 variable[15] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2301 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
2302 variable[14] = variable[15];
2303 goto return_label64;
2304 return_label64: while(false);
2305 variable[10] = variable[14];
2306 variable[9] = variable[10];
2307 variable[10] = CALL_compiling_methods___MMAttribute___compile_access( variable[9] /*attribute*/)( variable[9] /*attribute*/, variable[1] /*v*/, variable[5] /*recv*/) /*MMAttribute::compile_access*/;
2308 variable[11] = variable[2] /*params*/;
2309 variable[12] = variable[8] /*i*/;
2310 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2311 variable[15] = variable[14];
2312 if (UNTAG_Bool(variable[15])) { /* and */
2313 variable[15] = variable[11];
2314 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
2315 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
2316 }
2317 variable[14] = variable[15];
2318 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2319 variable[14] = variable[11];
2320 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
2321 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
2322 variable[13] = variable[14];
2323 goto return_label65;
2324 return_label65: while(false);
2325 variable[11] = variable[13];
2326 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[10], variable[11]) /*CompilerVisitor::add_assignment*/;
2327 continue_63: while(0);
2328 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
2329 }
2330 break_63: while(0);
2331 variable[3] = NIT_NULL /*null*/;
2332 goto return_label59;
2333 return_label59: while(false);
2334 tracehead = trace.prev;
2335 return variable[3];
2336 }
2337 val_t compiling_methods___MMType___compile_cast(val_t self, val_t param0, val_t param1) {
2338 struct trace_t trace = {NULL, NULL, 508, LOCATE_compiling_methods___MMType___compile_cast};
2339 val_t variable[26];
2340 void **closurevariable = NULL;
2341 trace.prev = tracehead; tracehead = &trace;
2342 trace.file = LOCATE_compiling_methods;
2343 variable[0] = self;
2344 variable[1] = param0;
2345 variable[2] = param1;
2346 variable[5] = variable[0];
2347 variable[5] = CALL_static_type___MMType___local_class(variable[5])(variable[5]) /*MMType::local_class*/;
2348 variable[5] = CALL_abstractmetamodel___MMLocalClass___global(variable[5])(variable[5]) /*MMLocalClass::global*/;
2349 variable[4] = variable[5];
2350 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
2351 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
2352 variable[7] = variable[6];
2353 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
2354 variable[8] = variable[2] /*recv*/;
2355 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
2356 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || VAL_ISA("), TAG_Int(23)); /*new String*/
2357 variable[10] = variable[9];
2358 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
2359 variable[11] = variable[2] /*recv*/;
2360 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
2361 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2362 variable[13] = variable[12];
2363 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
2364 variable[14] = CALL_compiling_base___MMGlobalClass___color_id( variable[4] /*g*/)( variable[4] /*g*/) /*MMGlobalClass::color_id*/;
2365 variable[15] = variable[14];
2366 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[15]) /*AbstractArray::add*/;
2367 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2368 variable[17] = variable[16];
2369 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[17]) /*AbstractArray::add*/;
2370 variable[18] = CALL_compiling_base___MMGlobalClass___id_id( variable[4] /*g*/)( variable[4] /*g*/) /*MMGlobalClass::id_id*/;
2371 variable[19] = variable[18];
2372 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[19]) /*AbstractArray::add*/;
2373 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)); /*new String*/
2374 variable[21] = variable[20];
2375 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[21]) /*AbstractArray::add*/;
2376 variable[22] = variable[0];
2377 variable[23] = variable[22];
2378 variable[23] = CALL_string___Object___to_s(variable[23])(variable[23]) /*Object::to_s*/;
2379 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[23]) /*AbstractArray::add*/;
2380 variable[24] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
2381 variable[25] = variable[24];
2382 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[25]) /*AbstractArray::add*/;
2383 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
2384 variable[3] = variable[5];
2385 goto return_label66;
2386 return_label66: while(false);
2387 tracehead = trace.prev;
2388 return variable[3];
2389 }
2390 void compiling_methods___MMType___compile_type_check(val_t self, val_t param0, val_t param1, val_t param2) {
2391 struct trace_t trace = {NULL, NULL, 517, LOCATE_compiling_methods___MMType___compile_type_check};
2392 val_t variable[31];
2393 void **closurevariable = NULL;
2394 trace.prev = tracehead; tracehead = &trace;
2395 trace.file = LOCATE_compiling_methods;
2396 variable[0] = self;
2397 variable[1] = param0;
2398 variable[2] = param1;
2399 variable[3] = param2;
2400 variable[6] = variable[0];
2401 variable[6] = CALL_static_type___MMType___local_class(variable[6])(variable[6]) /*MMType::local_class*/;
2402 variable[6] = CALL_abstractmetamodel___MMLocalClass___global(variable[6])(variable[6]) /*MMLocalClass::global*/;
2403 variable[5] = variable[6];
2404 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(13)); /*new Array[String]*/
2405 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)); /*new String*/
2406 variable[8] = variable[7];
2407 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
2408 variable[9] = variable[2] /*recv*/;
2409 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
2410 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && !VAL_ISA("), TAG_Int(24)); /*new String*/
2411 variable[11] = variable[10];
2412 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
2413 variable[12] = variable[2] /*recv*/;
2414 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
2415 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2416 variable[14] = variable[13];
2417 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[14]) /*AbstractArray::add*/;
2418 variable[15] = CALL_compiling_base___MMGlobalClass___color_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::color_id*/;
2419 variable[16] = variable[15];
2420 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[16]) /*AbstractArray::add*/;
2421 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
2422 variable[18] = variable[17];
2423 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[18]) /*AbstractArray::add*/;
2424 variable[19] = CALL_compiling_base___MMGlobalClass___id_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::id_id*/;
2425 variable[20] = variable[19];
2426 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[20]) /*AbstractArray::add*/;
2427 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(38)); /*new String*/
2428 variable[22] = variable[21];
2429 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[22]) /*AbstractArray::add*/;
2430 variable[23] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*n*/) /*CompilerVisitor::printf_locate_error*/;
2431 variable[24] = variable[23];
2432 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[24]) /*AbstractArray::add*/;
2433 variable[25] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)); /*new String*/
2434 variable[26] = variable[25];
2435 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[26]) /*AbstractArray::add*/;
2436 variable[27] = variable[0];
2437 variable[28] = variable[27];
2438 variable[28] = CALL_string___Object___to_s(variable[28])(variable[28]) /*Object::to_s*/;
2439 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[28]) /*AbstractArray::add*/;
2440 variable[29] = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)); /*new String*/
2441 variable[30] = variable[29];
2442 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[30]) /*AbstractArray::add*/;
2443 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
2444 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
2445 return_label67: while(false);
2446 tracehead = trace.prev;
2447 return;
2448 }
2449 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
2450 struct trace_t trace = {NULL, NULL, 529, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
2451 val_t *variable = NULL;
2452 void **closurevariable = NULL;
2453 trace.prev = tracehead; tracehead = &trace;
2454 trace.file = LOCATE_compiling_methods;
2455 fprintf(stderr, "Deferred method called");
2456 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 529);
2457 nit_exit(1);
2458 tracehead = trace.prev;
2459 return NIT_NULL;
2460 }
2461 void compiling_methods___PSignature___compile_parameters(val_t self, val_t param0, val_t param1, val_t param2) {
2462 struct trace_t trace = {NULL, NULL, 534, LOCATE_compiling_methods___PSignature___compile_parameters};
2463 val_t *variable = NULL;
2464 void **closurevariable = NULL;
2465 trace.prev = tracehead; tracehead = &trace;
2466 trace.file = LOCATE_compiling_methods;
2467 fprintf(stderr, "Deferred method called");
2468 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 534);
2469 nit_exit(1);
2470 tracehead = trace.prev;
2471 return;
2472 }
2473 void compiling_methods___ASignature___compile_parameters(val_t self, val_t param0, val_t param1, val_t param2) {
2474 struct trace_t trace = {NULL, NULL, 538, LOCATE_compiling_methods___ASignature___compile_parameters};
2475 val_t variable[20];
2476 void **closurevariable = NULL;
2477 trace.prev = tracehead; tracehead = &trace;
2478 trace.file = LOCATE_compiling_methods;
2479 variable[0] = self;
2480 variable[1] = param0;
2481 variable[2] = param1;
2482 variable[3] = param2;
2483 variable[5] = variable[0];
2484 variable[5] = CALL_parser_nodes___ASignature___n_params(variable[5])(variable[5]) /*ASignature::n_params*/;
2485 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
2486 while (true) { /*for*/
2487 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
2488 if (!UNTAG_Bool(variable[6])) break; /*for*/
2489 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/;
2490 variable[7] = variable[6];
2491 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2492 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
2493 variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
2494 variable[8] = variable[9];
2495 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2496 variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
2497 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
2498 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2499 variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
2500 variable[10] = CALL_static_type___MMSignature_____bra( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/, variable[10]) /*MMSignature::[]*/;
2501 variable[9] = variable[10];
2502 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
2503 variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
2504 variable[10] = CALL_static_type___MMType_____l( variable[9] /*orig_type*/)( variable[9] /*orig_type*/, variable[10]) /*MMType::<*/;
2505 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[10])))) { /*if*/
2506 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2507 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)); /*new String*/
2508 variable[12] = variable[11];
2509 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
2510 variable[13] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
2511 variable[13] = CALL_syntax_base___Variable___stype(variable[13])(variable[13]) /*Variable::stype*/;
2512 variable[14] = variable[13];
2513 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2514 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[14]) /*AbstractArray::add*/;
2515 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)); /*new String*/
2516 variable[16] = variable[15];
2517 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[16]) /*AbstractArray::add*/;
2518 variable[17] = variable[9] /*orig_type*/;
2519 variable[17] = CALL_string___Object___to_s(variable[17])(variable[17]) /*Object::to_s*/;
2520 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[17]) /*AbstractArray::add*/;
2521 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
2522 variable[19] = variable[18];
2523 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[19]) /*AbstractArray::add*/;
2524 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
2525 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
2526 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
2527 variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
2528 variable[11] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
2529 variable[12] = variable[3] /*params*/;
2530 variable[13] = variable[11];
2531 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2532 variable[16] = variable[15];
2533 if (UNTAG_Bool(variable[16])) { /* and */
2534 variable[16] = variable[12];
2535 variable[16] = ATTR_array___AbstractArray____length(variable[16]) /*AbstractArray::_length*/;
2536 variable[16] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[16]));
2537 }
2538 variable[15] = variable[16];
2539 if (!UNTAG_Bool(variable[15])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2540 variable[15] = variable[12];
2541 variable[15] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2542 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
2543 variable[14] = variable[15];
2544 goto return_label70;
2545 return_label70: while(false);
2546 variable[11] = variable[14];
2547 CALL_compiling_methods___MMType___compile_type_check(variable[10])(variable[10], variable[1] /*v*/, variable[11], variable[7] /*ap*/) /*MMType::compile_type_check*/;
2548 }
2549 variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
2550 variable[11] = variable[3] /*params*/;
2551 variable[12] = variable[10];
2552 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2553 variable[15] = variable[14];
2554 if (UNTAG_Bool(variable[15])) { /* and */
2555 variable[15] = variable[11];
2556 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
2557 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
2558 }
2559 variable[14] = variable[15];
2560 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2561 variable[14] = variable[11];
2562 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
2563 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
2564 variable[13] = variable[14];
2565 goto return_label71;
2566 return_label71: while(false);
2567 variable[10] = variable[13];
2568 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[8] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
2569 continue_69: while(0);
2570 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
2571 }
2572 break_69: while(0);
2573 variable[5] = variable[0];
2574 variable[5] = CALL_parser_nodes___ASignature___n_closure_decls(variable[5])(variable[5]) /*ASignature::n_closure_decls*/;
2575 variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
2576 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]); /*new Range[Int]*/
2577 variable[5] = variable[6];
2578 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
2579 while (true) { /*for*/
2580 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
2581 if (!UNTAG_Bool(variable[6])) break; /*for*/
2582 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/;
2583 variable[7] = variable[6];
2584 variable[9] = variable[0];
2585 variable[9] = CALL_parser_nodes___ASignature___n_closure_decls(variable[9])(variable[9]) /*ASignature::n_closure_decls*/;
2586 variable[9] = CALL_abstract_collection___Map_____bra(variable[9])(variable[9], variable[7] /*i*/) /*List::[]*/;
2587 variable[8] = variable[9];
2588 variable[10] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2589 variable[11] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
2590 variable[10] = CALL_compiling_methods___CFunctionContext___register_closurevariable(variable[10])(variable[10], variable[11]) /*CFunctionContext::register_closurevariable*/;
2591 variable[9] = variable[10];
2592 variable[10] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
2593 variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2594 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
2595 variable[13] = variable[12];
2596 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[13]) /*AbstractArray::add*/;
2597 variable[14] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2598 variable[14] = CALL_compiling_methods___NitMethodContext___method(variable[14])(variable[14]) /*NitMethodContext::method*/;
2599 variable[14] = CALL_compiling_methods___MMMethod___closure_cname(variable[14])(variable[14], variable[7] /*i*/) /*MMMethod::closure_cname*/;
2600 variable[15] = variable[14];
2601 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[15]) /*AbstractArray::add*/;
2602 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(" *"), TAG_Int(2)); /*new String*/
2603 variable[17] = variable[16];
2604 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[17]) /*AbstractArray::add*/;
2605 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
2606 CALL_compiling_methods___ClosureVariable___ctypename__eq(variable[10])(variable[10], variable[11]) /*ClosureVariable::ctypename=*/;
2607 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2608 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2609 variable[12] = variable[11];
2610 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
2611 variable[13] = CALL_static_type___MMSignature___arity( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/) /*MMSignature::arity*/;
2612 variable[13] = TAG_Int(UNTAG_Int(variable[13])+UNTAG_Int( variable[7] /*i*/));
2613 variable[14] = variable[3] /*params*/;
2614 variable[15] = variable[13];
2615 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2616 variable[18] = variable[17];
2617 if (UNTAG_Bool(variable[18])) { /* and */
2618 variable[18] = variable[14];
2619 variable[18] = ATTR_array___AbstractArray____length(variable[18]) /*AbstractArray::_length*/;
2620 variable[18] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[18]));
2621 }
2622 variable[17] = variable[18];
2623 if (!UNTAG_Bool(variable[17])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2624 variable[17] = variable[14];
2625 variable[17] = ATTR_array___Array____items(variable[17]) /*Array::_items*/;
2626 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
2627 variable[16] = variable[17];
2628 goto return_label73;
2629 return_label73: while(false);
2630 variable[13] = variable[16];
2631 variable[14] = variable[13];
2632 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[14]) /*AbstractArray::add*/;
2633 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2634 variable[16] = variable[15];
2635 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[16]) /*AbstractArray::add*/;
2636 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
2637 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[9] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
2638 continue_72: while(0);
2639 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
2640 }
2641 break_72: while(0);
2642 return_label68: while(false);
2643 tracehead = trace.prev;
2644 return;
2645 }
2646 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
2647 struct trace_t trace = {NULL, NULL, 562, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
2648 val_t variable[18];
2649 void **closurevariable = NULL;
2650 trace.prev = tracehead; tracehead = &trace;
2651 trace.file = LOCATE_compiling_methods;
2652 variable[0] = self;
2653 variable[1] = param0;
2654 variable[2] = param1;
2655 variable[3] = param2;
2656 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2657 variable[5] = variable[6];
2658 variable[6] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( variable[2] /*method*/); /*new NitMethodContext*/
2659 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::nmc=*/;
2660 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2661 variable[8] = variable[0];
2662 variable[8] = CALL_syntax_base___AMethPropdef___self_var(variable[8])(variable[8]) /*AMethPropdef::self_var*/;
2663 variable[7] = CALL_compiling_methods___CFunctionContext___register_variable(variable[7])(variable[7], variable[8]) /*CFunctionContext::register_variable*/;
2664 variable[6] = variable[7];
2665 variable[7] = variable[3] /*params*/;
2666 variable[8] = TAG_Int(0);
2667 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2668 variable[11] = variable[10];
2669 if (UNTAG_Bool(variable[11])) { /* and */
2670 variable[11] = variable[7];
2671 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
2672 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
2673 }
2674 variable[10] = variable[11];
2675 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2676 variable[10] = variable[7];
2677 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
2678 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
2679 variable[9] = variable[10];
2680 goto return_label75;
2681 return_label75: while(false);
2682 variable[7] = variable[9];
2683 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*selfcname*/, variable[7]) /*CompilerVisitor::add_assignment*/;
2684 CALL_abstract_collection___IndexedCollection___shift( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArray::shift*/;
2685 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2686 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[ParamVariable]*/
2687 variable[9] = variable[0];
2688 variable[9] = CALL_syntax_base___AMethPropdef___self_var(variable[9])(variable[9]) /*AMethPropdef::self_var*/;
2689 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
2690 CALL_compiling_methods___NitMethodContext___method_params__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::method_params=*/;
2691 variable[7] = variable[0];
2692 variable[7] = CALL_parser_nodes___AMethPropdef___n_signature(variable[7])(variable[7]) /*AMethPropdef::n_signature*/;
2693 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
2694 if (UNTAG_Bool(variable[7])) { /*if*/
2695 variable[8] = CALL_abstractmetamodel___MMLocalProperty___global( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::global*/;
2696 variable[8] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[8])(variable[8]) /*MMGlobalProperty::intro*/;
2697 variable[7] = variable[8];
2698 variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
2699 variable[9] = CALL_static_type___MMSignature___recv(variable[9])(variable[9]) /*MMSignature::recv*/;
2700 variable[9] = CALL_static_type___MMLocalProperty___signature_for( variable[7] /*orig_meth*/)( variable[7] /*orig_meth*/, variable[9]) /*MMLocalProperty::signature_for*/;
2701 variable[8] = variable[9];
2702 variable[9] = variable[0];
2703 variable[9] = CALL_parser_nodes___AMethPropdef___n_signature(variable[9])(variable[9]) /*AMethPropdef::n_signature*/;
2704 CALL_compiling_methods___PSignature___compile_parameters(variable[9])(variable[9], variable[1] /*v*/, variable[8] /*orig_sig*/, variable[3] /*params*/) /*PSignature::compile_parameters*/;
2705 }
2706 variable[7] = NIT_NULL /*null*/;
2707 variable[8] = variable[0];
2708 variable[8] = TAG_Bool((variable[8]==NIT_NULL) || VAL_ISA(variable[8], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
2709 if (UNTAG_Bool(variable[8])) { /*if*/
2710 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2711 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)); /*new String*/
2712 variable[10] = variable[9];
2713 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
2714 variable[11] = variable[6] /*selfcname*/;
2715 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
2716 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)); /*new String*/
2717 variable[13] = variable[12];
2718 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
2719 variable[14] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
2720 variable[14] = CALL_abstractmetamodel___MMLocalClass___global(variable[14])(variable[14]) /*MMLocalClass::global*/;
2721 variable[14] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable[14])(variable[14]) /*MMGlobalClass::init_table_pos_id*/;
2722 variable[15] = variable[14];
2723 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[15]) /*AbstractArray::add*/;
2724 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)); /*new String*/
2725 variable[17] = variable[16];
2726 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[17]) /*AbstractArray::add*/;
2727 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
2728 variable[7] = variable[8] /*itpos=*/;
2729 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2730 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)); /*new String*/
2731 variable[10] = variable[9];
2732 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
2733 variable[11] = variable[7] /*itpos*/;
2734 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
2735 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)); /*new String*/
2736 variable[13] = variable[12];
2737 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
2738 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
2739 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
2740 }
2741 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2742 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2743 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)); /*new String*/
2744 variable[11] = variable[10];
2745 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
2746 variable[12] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
2747 variable[13] = variable[12];
2748 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
2749 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[13]) /*AbstractArray::add*/;
2750 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2751 variable[15] = variable[14];
2752 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[15]) /*AbstractArray::add*/;
2753 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
2754 CALL_compiling_methods___NitMethodContext___return_label__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_label=*/;
2755 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2756 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2757 variable[9] = CALL_compiling_methods___CFunctionContext___get_var(variable[9])(variable[9]) /*CFunctionContext::get_var*/;
2758 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
2759 variable[8] = variable[0];
2760 variable[8] = TAG_Bool((variable[8]==NIT_NULL) || VAL_ISA(variable[8], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
2761 if (UNTAG_Bool(variable[8])) { /*if*/
2762 CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/, NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
2763 }
2764 variable[8] = variable[0];
2765 variable[8] = CALL_parser_nodes___AConcreteMethPropdef___n_block(variable[8])(variable[8]) /*AConcreteMethPropdef::n_block*/;
2766 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
2767 if (UNTAG_Bool(variable[8])) { /*if*/
2768 variable[8] = variable[0];
2769 variable[8] = CALL_parser_nodes___AConcreteMethPropdef___n_block(variable[8])(variable[8]) /*AConcreteMethPropdef::n_block*/;
2770 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::compile_stmt*/;
2771 }
2772 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2773 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2774 variable[10] = variable[9];
2775 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
2776 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2777 variable[11] = CALL_compiling_methods___NitMethodContext___return_label(variable[11])(variable[11]) /*NitMethodContext::return_label*/;
2778 variable[12] = variable[11];
2779 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
2780 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
2781 variable[14] = variable[13];
2782 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
2783 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
2784 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
2785 variable[8] = variable[0];
2786 variable[8] = TAG_Bool((variable[8]==NIT_NULL) || VAL_ISA(variable[8], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
2787 if (UNTAG_Bool(variable[8])) { /*if*/
2788 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
2789 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)); /*new String*/
2790 variable[10] = variable[9];
2791 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
2792 variable[11] = variable[7] /*itpos*/;
2793 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
2794 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)); /*new String*/
2795 variable[13] = variable[12];
2796 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
2797 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
2798 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
2799 }
2800 variable[8] = NIT_NULL /*null*/;
2801 variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
2802 variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
2803 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] == NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9], NIT_NULL /*null*/) /*Object::==*/)))))));
2804 if (UNTAG_Bool(variable[9])) { /*if*/
2805 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2806 variable[9] = CALL_compiling_methods___NitMethodContext___return_value(variable[9])(variable[9]) /*NitMethodContext::return_value*/;
2807 variable[8] = variable[9] /*ret=*/;
2808 }
2809 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*old_nmc*/) /*CompilerVisitor::nmc=*/;
2810 variable[4] = variable[8] /*ret*/;
2811 goto return_label74;
2812 return_label74: while(false);
2813 tracehead = trace.prev;
2814 return variable[4];
2815 }
2816 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
2817 struct trace_t trace = {NULL, NULL, 609, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
2818 val_t variable[6];
2819 void **closurevariable = NULL;
2820 trace.prev = tracehead; tracehead = &trace;
2821 trace.file = LOCATE_compiling_methods;
2822 variable[0] = self;
2823 variable[1] = param0;
2824 variable[2] = param1;
2825 variable[3] = param2;
2826 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method called\");"), TAG_Int(42)); /*new String*/
2827 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
2828 variable[5] = variable[0];
2829 variable[5] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::printf_locate_error*/;
2830 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
2831 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)); /*new String*/
2832 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
2833 variable[5] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
2834 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
2835 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
2836 if (UNTAG_Bool(variable[5])) { /*if*/
2837 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)); /*new String*/
2838 variable[4] = variable[5];
2839 goto return_label76;
2840 } else { /*if*/
2841 variable[4] = NIT_NULL /*null*/;
2842 goto return_label76;
2843 }
2844 return_label76: while(false);
2845 tracehead = trace.prev;
2846 return variable[4];
2847 }
2848 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
2849 struct trace_t trace = {NULL, NULL, 623, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
2850 val_t variable[29];
2851 void **closurevariable = NULL;
2852 trace.prev = tracehead; tracehead = &trace;
2853 trace.file = LOCATE_compiling_methods;
2854 variable[0] = self;
2855 variable[1] = param0;
2856 variable[2] = param1;
2857 variable[3] = param2;
2858 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
2859 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2860 variable[8] = variable[7];
2861 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
2862 variable[9] = CALL_abstractmetamodel___MMLocalProperty___module( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::module*/;
2863 variable[9] = CALL_abstractmetamodel___MMModule___name(variable[9])(variable[9]) /*MMModule::name*/;
2864 variable[10] = variable[9];
2865 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
2866 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[10]) /*AbstractArray::add*/;
2867 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2868 variable[12] = variable[11];
2869 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
2870 variable[13] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
2871 variable[13] = CALL_abstractmetamodel___MMLocalClass___name(variable[13])(variable[13]) /*MMLocalClass::name*/;
2872 variable[14] = variable[13];
2873 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2874 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[14]) /*AbstractArray::add*/;
2875 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2876 variable[16] = variable[15];
2877 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[16]) /*AbstractArray::add*/;
2878 variable[17] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
2879 variable[17] = CALL_abstractmetamodel___MMLocalClass___name(variable[17])(variable[17]) /*MMLocalClass::name*/;
2880 variable[18] = variable[17];
2881 variable[18] = CALL_string___Object___to_s(variable[18])(variable[18]) /*Object::to_s*/;
2882 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[18]) /*AbstractArray::add*/;
2883 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2884 variable[20] = variable[19];
2885 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[20]) /*AbstractArray::add*/;
2886 variable[21] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
2887 variable[22] = variable[21];
2888 variable[22] = CALL_string___Object___to_s(variable[22])(variable[22]) /*Object::to_s*/;
2889 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[22]) /*AbstractArray::add*/;
2890 variable[23] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
2891 variable[24] = variable[23];
2892 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[24]) /*AbstractArray::add*/;
2893 variable[25] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
2894 variable[25] = CALL_static_type___MMSignature___arity(variable[25])(variable[25]) /*MMSignature::arity*/;
2895 variable[26] = variable[25];
2896 variable[26] = CALL_string___Object___to_s(variable[26])(variable[26]) /*Object::to_s*/;
2897 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[26]) /*AbstractArray::add*/;
2898 variable[27] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2899 variable[28] = variable[27];
2900 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[28]) /*AbstractArray::add*/;
2901 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
2902 variable[5] = variable[6];
2903 variable[6] = variable[0];
2904 variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[6])(variable[6]) /*AExternMethPropdef::n_extern*/;
2905 variable[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[6] == NIT_NULL /*null*/) || ((variable[6] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[6])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[6], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[6])(variable[6], NIT_NULL /*null*/) /*Object::==*/)))))));
2906 if (UNTAG_Bool(variable[6])) { /*if*/
2907 variable[6] = variable[0];
2908 variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[6])(variable[6]) /*AExternMethPropdef::n_extern*/;
2909 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
2910 variable[5] = variable[6] /*ename=*/;
2911 variable[6] = CALL_abstract_collection___Collection___length( variable[5] /*ename*/)( variable[5] /*ename*/) /*AbstractArray::length*/;
2912 variable[6] = TAG_Int(UNTAG_Int(variable[6])-UNTAG_Int( TAG_Int(2)));
2913 variable[6] = CALL_string___String___substring( variable[5] /*ename*/)( variable[5] /*ename*/, TAG_Int(1), variable[6]) /*String::substring*/;
2914 variable[5] = variable[6] /*ename=*/;
2915 }
2916 variable[7] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
2917 variable[6] = variable[7];
2918 variable[7] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArray::length*/;
2919 variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
2920 variable[8] = TAG_Int(UNTAG_Int(variable[8])+UNTAG_Int( TAG_Int(1)));
2921 variable[7] = TAG_Bool((variable[7])!=(variable[8]));
2922 if (UNTAG_Bool(variable[7])) { /*if*/
2923 variable[7] = variable[0];
2924 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
2925 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)); /*new String*/
2926 variable[10] = variable[9];
2927 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
2928 variable[11] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArray::length*/;
2929 variable[12] = variable[11];
2930 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
2931 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
2932 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)); /*new String*/
2933 variable[14] = variable[13];
2934 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
2935 variable[15] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
2936 variable[16] = variable[15];
2937 variable[16] = CALL_string___Object___to_s(variable[16])(variable[16]) /*Object::to_s*/;
2938 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
2939 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
2940 variable[18] = variable[17];
2941 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
2942 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
2943 CALL_parser_prod___PNode___printl(variable[7])(variable[7], variable[8]) /*PNode::printl*/;
2944 }
2945 variable[8] = NEW_Array_array___Array___init(); /*new Array[String]*/
2946 variable[7] = variable[8];
2947 variable[8] = CALL_static_type___MMSignature___recv( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::recv*/;
2948 variable[9] = variable[3] /*params*/;
2949 variable[10] = TAG_Int(0);
2950 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2951 variable[13] = variable[12];
2952 if (UNTAG_Bool(variable[13])) { /* and */
2953 variable[13] = variable[9];
2954 variable[13] = ATTR_array___AbstractArray____length(variable[13]) /*AbstractArray::_length*/;
2955 variable[13] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[13]));
2956 }
2957 variable[12] = variable[13];
2958 if (!UNTAG_Bool(variable[12])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2959 variable[12] = variable[9];
2960 variable[12] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
2961 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
2962 variable[11] = variable[12];
2963 goto return_label78;
2964 return_label78: while(false);
2965 variable[9] = variable[11];
2966 variable[8] = CALL_compiling_base___MMType___unboxtype(variable[8])(variable[8], variable[9]) /*MMType::unboxtype*/;
2967 CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[8]) /*AbstractArray::add*/;
2968 variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
2969 variable[9] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[8]); /*new Range[Int]*/
2970 variable[8] = variable[9];
2971 variable[8] = CALL_abstract_collection___Collection___iterator(variable[8])(variable[8]) /*Range::iterator*/;
2972 while (true) { /*for*/
2973 variable[9] = CALL_abstract_collection___Iterator___is_ok(variable[8])(variable[8]) /*Iterator::is_ok*/;
2974 if (!UNTAG_Bool(variable[9])) break; /*for*/
2975 variable[9] = CALL_abstract_collection___Iterator___item(variable[8])(variable[8]) /*Iterator::item*/;
2976 variable[10] = variable[9];
2977 variable[11] = CALL_static_type___MMSignature_____bra( variable[6] /*sig*/)( variable[6] /*sig*/, variable[10] /*i*/) /*MMSignature::[]*/;
2978 variable[12] = TAG_Int(UNTAG_Int( variable[10] /*i*/)+UNTAG_Int( TAG_Int(1)));
2979 variable[13] = variable[3] /*params*/;
2980 variable[14] = variable[12];
2981 variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2982 variable[17] = variable[16];
2983 if (UNTAG_Bool(variable[17])) { /* and */
2984 variable[17] = variable[13];
2985 variable[17] = ATTR_array___AbstractArray____length(variable[17]) /*AbstractArray::_length*/;
2986 variable[17] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)<UNTAG_Int(variable[17]));
2987 }
2988 variable[16] = variable[17];
2989 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
2990 variable[16] = variable[13];
2991 variable[16] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
2992 variable[16] = UNBOX_NativeArray(variable[16])[UNTAG_Int( variable[14] /*index*/)];
2993 variable[15] = variable[16];
2994 goto return_label80;
2995 return_label80: while(false);
2996 variable[12] = variable[15];
2997 variable[11] = CALL_compiling_base___MMType___unboxtype(variable[11])(variable[11], variable[12]) /*MMType::unboxtype*/;
2998 CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[11]) /*AbstractArray::add*/;
2999 continue_79: while(0);
3000 CALL_abstract_collection___Iterator___next(variable[8])(variable[8]) /*Iterator::next*/;
3001 }
3002 break_79: while(0);
3003 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3004 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3005 variable[11] = variable[10];
3006 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
3007 variable[12] = variable[5] /*ename*/;
3008 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
3009 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
3010 variable[14] = variable[13];
3011 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
3012 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
3013 variable[15] = CALL_string___Collection___join( variable[7] /*args*/)( variable[7] /*args*/, variable[15]) /*Collection::join*/;
3014 variable[16] = variable[15];
3015 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
3016 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
3017 variable[18] = variable[17];
3018 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
3019 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
3020 variable[8] = variable[9];
3021 variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
3022 variable[9] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[9] == NIT_NULL /*null*/) || ((variable[9] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[9])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[9], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[9])(variable[9], NIT_NULL /*null*/) /*Object::==*/)))))));
3023 if (UNTAG_Bool(variable[9])) { /*if*/
3024 variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
3025 variable[9] = CALL_compiling_base___MMType___boxtype(variable[9])(variable[9], variable[8] /*s*/) /*MMType::boxtype*/;
3026 variable[4] = variable[9];
3027 goto return_label77;
3028 } else { /*if*/
3029 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3030 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3031 variable[11] = variable[10];
3032 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
3033 variable[12] = variable[8] /*s*/;
3034 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
3035 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
3036 variable[14] = variable[13];
3037 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
3038 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
3039 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3040 variable[4] = NIT_NULL /*null*/;
3041 goto return_label77;
3042 }
3043 return_label77: while(false);
3044 tracehead = trace.prev;
3045 return variable[4];
3046 }
3047 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
3048 struct trace_t trace = {NULL, NULL, 650, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
3049 static val_t once_value_82; static int once_bool_82; /* Once value for variable[8]*/
3050 static val_t once_value_83; static int once_bool_83; /* Once value for variable[8]*/
3051 static val_t once_value_85; static int once_bool_85; /* Once value for variable[8]*/
3052 static val_t once_value_87; static int once_bool_87; /* Once value for variable[8]*/
3053 static val_t once_value_89; static int once_bool_89; /* Once value for variable[8]*/
3054 static val_t once_value_91; static int once_bool_91; /* Once value for variable[8]*/
3055 static val_t once_value_93; static int once_bool_93; /* Once value for variable[8]*/
3056 static val_t once_value_95; static int once_bool_95; /* Once value for variable[8]*/
3057 static val_t once_value_97; static int once_bool_97; /* Once value for variable[8]*/
3058 static val_t once_value_100; static int once_bool_100; /* Once value for variable[8]*/
3059 static val_t once_value_103; static int once_bool_103; /* Once value for variable[8]*/
3060 static val_t once_value_106; static int once_bool_106; /* Once value for variable[8]*/
3061 static val_t once_value_109; static int once_bool_109; /* Once value for variable[8]*/
3062 static val_t once_value_112; static int once_bool_112; /* Once value for variable[8]*/
3063 static val_t once_value_115; static int once_bool_115; /* Once value for variable[8]*/
3064 static val_t once_value_118; static int once_bool_118; /* Once value for variable[8]*/
3065 static val_t once_value_121; static int once_bool_121; /* Once value for variable[8]*/
3066 static val_t once_value_124; static int once_bool_124; /* Once value for variable[8]*/
3067 static val_t once_value_127; static int once_bool_127; /* Once value for variable[8]*/
3068 static val_t once_value_130; static int once_bool_130; /* Once value for variable[8]*/
3069 static val_t once_value_133; static int once_bool_133; /* Once value for variable[8]*/
3070 static val_t once_value_136; static int once_bool_136; /* Once value for variable[8]*/
3071 static val_t once_value_137; static int once_bool_137; /* Once value for variable[8]*/
3072 static val_t once_value_139; static int once_bool_139; /* Once value for variable[8]*/
3073 static val_t once_value_141; static int once_bool_141; /* Once value for variable[8]*/
3074 static val_t once_value_143; static int once_bool_143; /* Once value for variable[8]*/
3075 static val_t once_value_145; static int once_bool_145; /* Once value for variable[8]*/
3076 static val_t once_value_148; static int once_bool_148; /* Once value for variable[8]*/
3077 static val_t once_value_151; static int once_bool_151; /* Once value for variable[8]*/
3078 static val_t once_value_154; static int once_bool_154; /* Once value for variable[8]*/
3079 static val_t once_value_157; static int once_bool_157; /* Once value for variable[8]*/
3080 static val_t once_value_160; static int once_bool_160; /* Once value for variable[8]*/
3081 static val_t once_value_163; static int once_bool_163; /* Once value for variable[8]*/
3082 static val_t once_value_166; static int once_bool_166; /* Once value for variable[8]*/
3083 static val_t once_value_169; static int once_bool_169; /* Once value for variable[8]*/
3084 static val_t once_value_170; static int once_bool_170; /* Once value for variable[8]*/
3085 static val_t once_value_172; static int once_bool_172; /* Once value for variable[8]*/
3086 static val_t once_value_174; static int once_bool_174; /* Once value for variable[8]*/
3087 static val_t once_value_176; static int once_bool_176; /* Once value for variable[8]*/
3088 static val_t once_value_178; static int once_bool_178; /* Once value for variable[8]*/
3089 static val_t once_value_180; static int once_bool_180; /* Once value for variable[8]*/
3090 static val_t once_value_182; static int once_bool_182; /* Once value for variable[8]*/
3091 static val_t once_value_184; static int once_bool_184; /* Once value for variable[8]*/
3092 static val_t once_value_187; static int once_bool_187; /* Once value for variable[8]*/
3093 static val_t once_value_190; static int once_bool_190; /* Once value for variable[8]*/
3094 static val_t once_value_193; static int once_bool_193; /* Once value for variable[8]*/
3095 static val_t once_value_196; static int once_bool_196; /* Once value for variable[8]*/
3096 static val_t once_value_199; static int once_bool_199; /* Once value for variable[8]*/
3097 static val_t once_value_202; static int once_bool_202; /* Once value for variable[8]*/
3098 static val_t once_value_205; static int once_bool_205; /* Once value for variable[8]*/
3099 static val_t once_value_208; static int once_bool_208; /* Once value for variable[8]*/
3100 static val_t once_value_211; static int once_bool_211; /* Once value for variable[8]*/
3101 static val_t once_value_214; static int once_bool_214; /* Once value for variable[8]*/
3102 static val_t once_value_217; static int once_bool_217; /* Once value for variable[8]*/
3103 static val_t once_value_218; static int once_bool_218; /* Once value for variable[8]*/
3104 static val_t once_value_220; static int once_bool_220; /* Once value for variable[8]*/
3105 static val_t once_value_222; static int once_bool_222; /* Once value for variable[8]*/
3106 static val_t once_value_224; static int once_bool_224; /* Once value for variable[8]*/
3107 static val_t once_value_226; static int once_bool_226; /* Once value for variable[8]*/
3108 static val_t once_value_228; static int once_bool_228; /* Once value for variable[8]*/
3109 static val_t once_value_231; static int once_bool_231; /* Once value for variable[8]*/
3110 static val_t once_value_234; static int once_bool_234; /* Once value for variable[8]*/
3111 static val_t once_value_235; static int once_bool_235; /* Once value for variable[8]*/
3112 static val_t once_value_237; static int once_bool_237; /* Once value for variable[8]*/
3113 static val_t once_value_240; static int once_bool_240; /* Once value for variable[8]*/
3114 static val_t once_value_244; static int once_bool_244; /* Once value for variable[8]*/
3115 static val_t once_value_248; static int once_bool_248; /* Once value for variable[8]*/
3116 static val_t once_value_249; static int once_bool_249; /* Once value for variable[8]*/
3117 static val_t once_value_251; static int once_bool_251; /* Once value for variable[8]*/
3118 static val_t once_value_253; static int once_bool_253; /* Once value for variable[8]*/
3119 static val_t once_value_256; static int once_bool_256; /* Once value for variable[8]*/
3120 static val_t once_value_260; static int once_bool_260; /* Once value for variable[8]*/
3121 static val_t once_value_266; static int once_bool_266; /* Once value for variable[8]*/
3122 static val_t once_value_268; static int once_bool_268; /* Once value for variable[8]*/
3123 static val_t once_value_269; static int once_bool_269; /* Once value for variable[8]*/
3124 static val_t once_value_272; static int once_bool_272; /* Once value for variable[8]*/
3125 static val_t once_value_274; static int once_bool_274; /* Once value for variable[8]*/
3126 static val_t once_value_276; static int once_bool_276; /* Once value for variable[8]*/
3127 val_t variable[32];
3128 void **closurevariable = NULL;
3129 trace.prev = tracehead; tracehead = &trace;
3130 trace.file = LOCATE_compiling_methods;
3131 variable[0] = self;
3132 variable[1] = param0;
3133 variable[2] = param1;
3134 variable[3] = param2;
3135 variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
3136 variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
3137 variable[5] = variable[6];
3138 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
3139 variable[6] = variable[7];
3140 variable[7] = NIT_NULL /*null*/;
3141 if (once_bool_82) variable[8] = once_value_82;
3142 else {
3143 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)); /*new String*/
3144 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3145 once_value_82 = variable[8];
3146 once_bool_82 = true;
3147 }
3148 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
3149 if (UNTAG_Bool(variable[8])) { /*if*/
3150 if (once_bool_83) variable[8] = once_value_83;
3151 else {
3152 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
3153 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3154 once_value_83 = variable[8];
3155 once_bool_83 = true;
3156 }
3157 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3158 if (UNTAG_Bool(variable[8])) { /*if*/
3159 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3160 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3161 variable[10] = variable[9];
3162 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3163 variable[11] = variable[3] /*p*/;
3164 variable[12] = TAG_Int(0);
3165 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3166 variable[15] = variable[14];
3167 if (UNTAG_Bool(variable[15])) { /* and */
3168 variable[15] = variable[11];
3169 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3170 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3171 }
3172 variable[14] = variable[15];
3173 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3174 variable[14] = variable[11];
3175 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3176 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3177 variable[13] = variable[14];
3178 goto return_label84;
3179 return_label84: while(false);
3180 variable[11] = variable[13];
3181 variable[12] = variable[11];
3182 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3183 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
3184 variable[14] = variable[13];
3185 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3186 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3187 variable[7] = variable[8] /*s=*/;
3188 } else { /*if*/
3189 if (once_bool_85) variable[8] = once_value_85;
3190 else {
3191 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
3192 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3193 once_value_85 = variable[8];
3194 once_bool_85 = true;
3195 }
3196 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3197 if (UNTAG_Bool(variable[8])) { /*if*/
3198 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3199 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)); /*new String*/
3200 variable[10] = variable[9];
3201 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3202 variable[11] = variable[3] /*p*/;
3203 variable[12] = TAG_Int(0);
3204 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3205 variable[15] = variable[14];
3206 if (UNTAG_Bool(variable[15])) { /* and */
3207 variable[15] = variable[11];
3208 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3209 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3210 }
3211 variable[14] = variable[15];
3212 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3213 variable[14] = variable[11];
3214 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3215 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3216 variable[13] = variable[14];
3217 goto return_label86;
3218 return_label86: while(false);
3219 variable[11] = variable[13];
3220 variable[12] = variable[11];
3221 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3222 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3223 variable[14] = variable[13];
3224 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3225 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3226 variable[7] = variable[8] /*s=*/;
3227 } else { /*if*/
3228 if (once_bool_87) variable[8] = once_value_87;
3229 else {
3230 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
3231 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3232 once_value_87 = variable[8];
3233 once_bool_87 = true;
3234 }
3235 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3236 if (UNTAG_Bool(variable[8])) { /*if*/
3237 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3238 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int("), TAG_Int(26)); /*new String*/
3239 variable[10] = variable[9];
3240 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3241 variable[11] = variable[3] /*p*/;
3242 variable[12] = TAG_Int(0);
3243 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3244 variable[15] = variable[14];
3245 if (UNTAG_Bool(variable[15])) { /* and */
3246 variable[15] = variable[11];
3247 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3248 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3249 }
3250 variable[14] = variable[15];
3251 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3252 variable[14] = variable[11];
3253 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3254 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3255 variable[13] = variable[14];
3256 goto return_label88;
3257 return_label88: while(false);
3258 variable[11] = variable[13];
3259 variable[12] = variable[11];
3260 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3261 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
3262 variable[14] = variable[13];
3263 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3264 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3265 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
3266 } else { /*if*/
3267 if (once_bool_89) variable[8] = once_value_89;
3268 else {
3269 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
3270 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3271 once_value_89 = variable[8];
3272 once_bool_89 = true;
3273 }
3274 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3275 if (UNTAG_Bool(variable[8])) { /*if*/
3276 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3277 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)); /*new String*/
3278 variable[10] = variable[9];
3279 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3280 variable[11] = variable[3] /*p*/;
3281 variable[12] = TAG_Int(0);
3282 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3283 variable[15] = variable[14];
3284 if (UNTAG_Bool(variable[15])) { /* and */
3285 variable[15] = variable[11];
3286 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3287 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3288 }
3289 variable[14] = variable[15];
3290 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3291 variable[14] = variable[11];
3292 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3293 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3294 variable[13] = variable[14];
3295 goto return_label90;
3296 return_label90: while(false);
3297 variable[11] = variable[13];
3298 variable[12] = variable[11];
3299 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3300 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3301 variable[14] = variable[13];
3302 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3303 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3304 variable[7] = variable[8] /*s=*/;
3305 } else { /*if*/
3306 if (once_bool_91) variable[8] = once_value_91;
3307 else {
3308 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
3309 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3310 once_value_91 = variable[8];
3311 once_bool_91 = true;
3312 }
3313 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3314 if (UNTAG_Bool(variable[8])) { /*if*/
3315 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3316 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3317 variable[10] = variable[9];
3318 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3319 variable[11] = variable[3] /*p*/;
3320 variable[12] = TAG_Int(0);
3321 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3322 variable[15] = variable[14];
3323 if (UNTAG_Bool(variable[15])) { /* and */
3324 variable[15] = variable[11];
3325 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3326 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3327 }
3328 variable[14] = variable[15];
3329 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3330 variable[14] = variable[11];
3331 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3332 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3333 variable[13] = variable[14];
3334 goto return_label92;
3335 return_label92: while(false);
3336 variable[11] = variable[13];
3337 variable[12] = variable[11];
3338 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3339 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
3340 variable[14] = variable[13];
3341 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3342 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3343 variable[7] = variable[8] /*s=*/;
3344 } else { /*if*/
3345 if (once_bool_93) variable[8] = once_value_93;
3346 else {
3347 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
3348 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3349 once_value_93 = variable[8];
3350 once_bool_93 = true;
3351 }
3352 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3353 if (UNTAG_Bool(variable[8])) { /*if*/
3354 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3355 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3356 variable[10] = variable[9];
3357 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3358 variable[11] = variable[3] /*p*/;
3359 variable[12] = TAG_Int(0);
3360 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3361 variable[15] = variable[14];
3362 if (UNTAG_Bool(variable[15])) { /* and */
3363 variable[15] = variable[11];
3364 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3365 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3366 }
3367 variable[14] = variable[15];
3368 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3369 variable[14] = variable[11];
3370 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3371 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3372 variable[13] = variable[14];
3373 goto return_label94;
3374 return_label94: while(false);
3375 variable[11] = variable[13];
3376 variable[12] = variable[11];
3377 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3378 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
3379 variable[14] = variable[13];
3380 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3381 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3382 variable[7] = variable[8] /*s=*/;
3383 } else { /*if*/
3384 if (once_bool_95) variable[8] = once_value_95;
3385 else {
3386 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)); /*new String*/
3387 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3388 once_value_95 = variable[8];
3389 once_bool_95 = true;
3390 }
3391 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3392 if (UNTAG_Bool(variable[8])) { /*if*/
3393 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
3394 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)); /*new String*/
3395 variable[10] = variable[9];
3396 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3397 variable[11] = variable[3] /*p*/;
3398 variable[12] = TAG_Int(0);
3399 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3400 variable[15] = variable[14];
3401 if (UNTAG_Bool(variable[15])) { /* and */
3402 variable[15] = variable[11];
3403 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3404 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3405 }
3406 variable[14] = variable[15];
3407 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3408 variable[14] = variable[11];
3409 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3410 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3411 variable[13] = variable[14];
3412 goto return_label96;
3413 return_label96: while(false);
3414 variable[11] = variable[13];
3415 variable[12] = variable[11];
3416 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3417 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3418 variable[14] = variable[13];
3419 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3420 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3421 variable[7] = variable[8] /*s=*/;
3422 } else { /*if*/
3423 if (once_bool_97) variable[8] = once_value_97;
3424 else {
3425 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
3426 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3427 once_value_97 = variable[8];
3428 once_bool_97 = true;
3429 }
3430 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3431 if (UNTAG_Bool(variable[8])) { /*if*/
3432 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3433 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3434 variable[10] = variable[9];
3435 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3436 variable[11] = variable[3] /*p*/;
3437 variable[12] = TAG_Int(0);
3438 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3439 variable[15] = variable[14];
3440 if (UNTAG_Bool(variable[15])) { /* and */
3441 variable[15] = variable[11];
3442 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3443 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3444 }
3445 variable[14] = variable[15];
3446 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3447 variable[14] = variable[11];
3448 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3449 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3450 variable[13] = variable[14];
3451 goto return_label98;
3452 return_label98: while(false);
3453 variable[11] = variable[13];
3454 variable[12] = variable[11];
3455 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3456 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
3457 variable[14] = variable[13];
3458 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3459 variable[15] = variable[3] /*p*/;
3460 variable[16] = TAG_Int(1);
3461 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3462 variable[19] = variable[18];
3463 if (UNTAG_Bool(variable[19])) { /* and */
3464 variable[19] = variable[15];
3465 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3466 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3467 }
3468 variable[18] = variable[19];
3469 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3470 variable[18] = variable[15];
3471 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3472 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3473 variable[17] = variable[18];
3474 goto return_label99;
3475 return_label99: while(false);
3476 variable[15] = variable[17];
3477 variable[16] = variable[15];
3478 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3479 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3480 variable[18] = variable[17];
3481 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3482 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3483 variable[7] = variable[8] /*s=*/;
3484 } else { /*if*/
3485 if (once_bool_100) variable[8] = once_value_100;
3486 else {
3487 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
3488 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3489 once_value_100 = variable[8];
3490 once_bool_100 = true;
3491 }
3492 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3493 if (UNTAG_Bool(variable[8])) { /*if*/
3494 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3495 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3496 variable[10] = variable[9];
3497 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3498 variable[11] = variable[3] /*p*/;
3499 variable[12] = TAG_Int(0);
3500 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3501 variable[15] = variable[14];
3502 if (UNTAG_Bool(variable[15])) { /* and */
3503 variable[15] = variable[11];
3504 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3505 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3506 }
3507 variable[14] = variable[15];
3508 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3509 variable[14] = variable[11];
3510 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3511 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3512 variable[13] = variable[14];
3513 goto return_label101;
3514 return_label101: while(false);
3515 variable[11] = variable[13];
3516 variable[12] = variable[11];
3517 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3518 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)); /*new String*/
3519 variable[14] = variable[13];
3520 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3521 variable[15] = variable[3] /*p*/;
3522 variable[16] = TAG_Int(1);
3523 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3524 variable[19] = variable[18];
3525 if (UNTAG_Bool(variable[19])) { /* and */
3526 variable[19] = variable[15];
3527 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3528 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3529 }
3530 variable[18] = variable[19];
3531 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3532 variable[18] = variable[15];
3533 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3534 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3535 variable[17] = variable[18];
3536 goto return_label102;
3537 return_label102: while(false);
3538 variable[15] = variable[17];
3539 variable[16] = variable[15];
3540 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3541 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3542 variable[18] = variable[17];
3543 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3544 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3545 variable[7] = variable[8] /*s=*/;
3546 } else { /*if*/
3547 if (once_bool_103) variable[8] = once_value_103;
3548 else {
3549 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
3550 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3551 once_value_103 = variable[8];
3552 once_bool_103 = true;
3553 }
3554 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3555 if (UNTAG_Bool(variable[8])) { /*if*/
3556 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3557 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3558 variable[10] = variable[9];
3559 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3560 variable[11] = variable[3] /*p*/;
3561 variable[12] = TAG_Int(0);
3562 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3563 variable[15] = variable[14];
3564 if (UNTAG_Bool(variable[15])) { /* and */
3565 variable[15] = variable[11];
3566 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3567 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3568 }
3569 variable[14] = variable[15];
3570 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3571 variable[14] = variable[11];
3572 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3573 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3574 variable[13] = variable[14];
3575 goto return_label104;
3576 return_label104: while(false);
3577 variable[11] = variable[13];
3578 variable[12] = variable[11];
3579 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3580 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)); /*new String*/
3581 variable[14] = variable[13];
3582 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3583 variable[15] = variable[3] /*p*/;
3584 variable[16] = TAG_Int(1);
3585 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3586 variable[19] = variable[18];
3587 if (UNTAG_Bool(variable[19])) { /* and */
3588 variable[19] = variable[15];
3589 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3590 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3591 }
3592 variable[18] = variable[19];
3593 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3594 variable[18] = variable[15];
3595 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3596 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3597 variable[17] = variable[18];
3598 goto return_label105;
3599 return_label105: while(false);
3600 variable[15] = variable[17];
3601 variable[16] = variable[15];
3602 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3603 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3604 variable[18] = variable[17];
3605 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3606 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3607 variable[7] = variable[8] /*s=*/;
3608 } else { /*if*/
3609 if (once_bool_106) variable[8] = once_value_106;
3610 else {
3611 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
3612 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3613 once_value_106 = variable[8];
3614 once_bool_106 = true;
3615 }
3616 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3617 if (UNTAG_Bool(variable[8])) { /*if*/
3618 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3619 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3620 variable[10] = variable[9];
3621 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3622 variable[11] = variable[3] /*p*/;
3623 variable[12] = TAG_Int(0);
3624 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3625 variable[15] = variable[14];
3626 if (UNTAG_Bool(variable[15])) { /* and */
3627 variable[15] = variable[11];
3628 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3629 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3630 }
3631 variable[14] = variable[15];
3632 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3633 variable[14] = variable[11];
3634 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3635 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3636 variable[13] = variable[14];
3637 goto return_label107;
3638 return_label107: while(false);
3639 variable[11] = variable[13];
3640 variable[12] = variable[11];
3641 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3642 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)); /*new String*/
3643 variable[14] = variable[13];
3644 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3645 variable[15] = variable[3] /*p*/;
3646 variable[16] = TAG_Int(1);
3647 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3648 variable[19] = variable[18];
3649 if (UNTAG_Bool(variable[19])) { /* and */
3650 variable[19] = variable[15];
3651 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3652 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3653 }
3654 variable[18] = variable[19];
3655 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3656 variable[18] = variable[15];
3657 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3658 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3659 variable[17] = variable[18];
3660 goto return_label108;
3661 return_label108: while(false);
3662 variable[15] = variable[17];
3663 variable[16] = variable[15];
3664 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3665 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3666 variable[18] = variable[17];
3667 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3668 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3669 variable[7] = variable[8] /*s=*/;
3670 } else { /*if*/
3671 if (once_bool_109) variable[8] = once_value_109;
3672 else {
3673 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
3674 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3675 once_value_109 = variable[8];
3676 once_bool_109 = true;
3677 }
3678 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3679 if (UNTAG_Bool(variable[8])) { /*if*/
3680 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3681 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3682 variable[10] = variable[9];
3683 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3684 variable[11] = variable[3] /*p*/;
3685 variable[12] = TAG_Int(0);
3686 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3687 variable[15] = variable[14];
3688 if (UNTAG_Bool(variable[15])) { /* and */
3689 variable[15] = variable[11];
3690 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3691 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3692 }
3693 variable[14] = variable[15];
3694 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3695 variable[14] = variable[11];
3696 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3697 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3698 variable[13] = variable[14];
3699 goto return_label110;
3700 return_label110: while(false);
3701 variable[11] = variable[13];
3702 variable[12] = variable[11];
3703 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3704 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)); /*new String*/
3705 variable[14] = variable[13];
3706 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3707 variable[15] = variable[3] /*p*/;
3708 variable[16] = TAG_Int(1);
3709 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3710 variable[19] = variable[18];
3711 if (UNTAG_Bool(variable[19])) { /* and */
3712 variable[19] = variable[15];
3713 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3714 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3715 }
3716 variable[18] = variable[19];
3717 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3718 variable[18] = variable[15];
3719 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3720 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3721 variable[17] = variable[18];
3722 goto return_label111;
3723 return_label111: while(false);
3724 variable[15] = variable[17];
3725 variable[16] = variable[15];
3726 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3727 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3728 variable[18] = variable[17];
3729 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3730 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3731 variable[7] = variable[8] /*s=*/;
3732 } else { /*if*/
3733 if (once_bool_112) variable[8] = once_value_112;
3734 else {
3735 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
3736 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3737 once_value_112 = variable[8];
3738 once_bool_112 = true;
3739 }
3740 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3741 if (UNTAG_Bool(variable[8])) { /*if*/
3742 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3743 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
3744 variable[10] = variable[9];
3745 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3746 variable[11] = variable[3] /*p*/;
3747 variable[12] = TAG_Int(0);
3748 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3749 variable[15] = variable[14];
3750 if (UNTAG_Bool(variable[15])) { /* and */
3751 variable[15] = variable[11];
3752 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3753 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3754 }
3755 variable[14] = variable[15];
3756 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3757 variable[14] = variable[11];
3758 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3759 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3760 variable[13] = variable[14];
3761 goto return_label113;
3762 return_label113: while(false);
3763 variable[11] = variable[13];
3764 variable[12] = variable[11];
3765 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3766 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)); /*new String*/
3767 variable[14] = variable[13];
3768 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3769 variable[15] = variable[3] /*p*/;
3770 variable[16] = TAG_Int(1);
3771 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3772 variable[19] = variable[18];
3773 if (UNTAG_Bool(variable[19])) { /* and */
3774 variable[19] = variable[15];
3775 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3776 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3777 }
3778 variable[18] = variable[19];
3779 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3780 variable[18] = variable[15];
3781 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3782 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3783 variable[17] = variable[18];
3784 goto return_label114;
3785 return_label114: while(false);
3786 variable[15] = variable[17];
3787 variable[16] = variable[15];
3788 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3789 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3790 variable[18] = variable[17];
3791 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3792 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3793 variable[7] = variable[8] /*s=*/;
3794 } else { /*if*/
3795 if (once_bool_115) variable[8] = once_value_115;
3796 else {
3797 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
3798 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3799 once_value_115 = variable[8];
3800 once_bool_115 = true;
3801 }
3802 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3803 if (UNTAG_Bool(variable[8])) { /*if*/
3804 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3805 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
3806 variable[10] = variable[9];
3807 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3808 variable[11] = variable[3] /*p*/;
3809 variable[12] = TAG_Int(0);
3810 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3811 variable[15] = variable[14];
3812 if (UNTAG_Bool(variable[15])) { /* and */
3813 variable[15] = variable[11];
3814 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3815 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3816 }
3817 variable[14] = variable[15];
3818 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3819 variable[14] = variable[11];
3820 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3821 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3822 variable[13] = variable[14];
3823 goto return_label116;
3824 return_label116: while(false);
3825 variable[11] = variable[13];
3826 variable[12] = variable[11];
3827 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3828 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)); /*new String*/
3829 variable[14] = variable[13];
3830 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3831 variable[15] = variable[3] /*p*/;
3832 variable[16] = TAG_Int(1);
3833 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3834 variable[19] = variable[18];
3835 if (UNTAG_Bool(variable[19])) { /* and */
3836 variable[19] = variable[15];
3837 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3838 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3839 }
3840 variable[18] = variable[19];
3841 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3842 variable[18] = variable[15];
3843 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3844 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3845 variable[17] = variable[18];
3846 goto return_label117;
3847 return_label117: while(false);
3848 variable[15] = variable[17];
3849 variable[16] = variable[15];
3850 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3851 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3852 variable[18] = variable[17];
3853 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3854 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3855 variable[7] = variable[8] /*s=*/;
3856 } else { /*if*/
3857 if (once_bool_118) variable[8] = once_value_118;
3858 else {
3859 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
3860 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3861 once_value_118 = variable[8];
3862 once_bool_118 = true;
3863 }
3864 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3865 if (UNTAG_Bool(variable[8])) { /*if*/
3866 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3867 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
3868 variable[10] = variable[9];
3869 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3870 variable[11] = variable[3] /*p*/;
3871 variable[12] = TAG_Int(0);
3872 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3873 variable[15] = variable[14];
3874 if (UNTAG_Bool(variable[15])) { /* and */
3875 variable[15] = variable[11];
3876 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3877 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3878 }
3879 variable[14] = variable[15];
3880 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3881 variable[14] = variable[11];
3882 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3883 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3884 variable[13] = variable[14];
3885 goto return_label119;
3886 return_label119: while(false);
3887 variable[11] = variable[13];
3888 variable[12] = variable[11];
3889 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3890 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)); /*new String*/
3891 variable[14] = variable[13];
3892 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3893 variable[15] = variable[3] /*p*/;
3894 variable[16] = TAG_Int(1);
3895 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3896 variable[19] = variable[18];
3897 if (UNTAG_Bool(variable[19])) { /* and */
3898 variable[19] = variable[15];
3899 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3900 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3901 }
3902 variable[18] = variable[19];
3903 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3904 variable[18] = variable[15];
3905 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3906 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3907 variable[17] = variable[18];
3908 goto return_label120;
3909 return_label120: while(false);
3910 variable[15] = variable[17];
3911 variable[16] = variable[15];
3912 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3913 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3914 variable[18] = variable[17];
3915 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3916 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3917 variable[7] = variable[8] /*s=*/;
3918 } else { /*if*/
3919 if (once_bool_121) variable[8] = once_value_121;
3920 else {
3921 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
3922 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3923 once_value_121 = variable[8];
3924 once_bool_121 = true;
3925 }
3926 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3927 if (UNTAG_Bool(variable[8])) { /*if*/
3928 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3929 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)); /*new String*/
3930 variable[10] = variable[9];
3931 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3932 variable[11] = variable[3] /*p*/;
3933 variable[12] = TAG_Int(0);
3934 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3935 variable[15] = variable[14];
3936 if (UNTAG_Bool(variable[15])) { /* and */
3937 variable[15] = variable[11];
3938 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
3939 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
3940 }
3941 variable[14] = variable[15];
3942 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3943 variable[14] = variable[11];
3944 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
3945 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
3946 variable[13] = variable[14];
3947 goto return_label122;
3948 return_label122: while(false);
3949 variable[11] = variable[13];
3950 variable[12] = variable[11];
3951 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
3952 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)); /*new String*/
3953 variable[14] = variable[13];
3954 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
3955 variable[15] = variable[3] /*p*/;
3956 variable[16] = TAG_Int(1);
3957 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3958 variable[19] = variable[18];
3959 if (UNTAG_Bool(variable[19])) { /* and */
3960 variable[19] = variable[15];
3961 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
3962 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
3963 }
3964 variable[18] = variable[19];
3965 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
3966 variable[18] = variable[15];
3967 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
3968 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
3969 variable[17] = variable[18];
3970 goto return_label123;
3971 return_label123: while(false);
3972 variable[15] = variable[17];
3973 variable[16] = variable[15];
3974 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
3975 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
3976 variable[18] = variable[17];
3977 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
3978 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3979 variable[7] = variable[8] /*s=*/;
3980 } else { /*if*/
3981 if (once_bool_124) variable[8] = once_value_124;
3982 else {
3983 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)); /*new String*/
3984 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
3985 once_value_124 = variable[8];
3986 once_bool_124 = true;
3987 }
3988 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
3989 if (UNTAG_Bool(variable[8])) { /*if*/
3990 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
3991 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
3992 variable[10] = variable[9];
3993 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
3994 variable[11] = variable[3] /*p*/;
3995 variable[12] = TAG_Int(0);
3996 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3997 variable[15] = variable[14];
3998 if (UNTAG_Bool(variable[15])) { /* and */
3999 variable[15] = variable[11];
4000 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4001 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4002 }
4003 variable[14] = variable[15];
4004 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4005 variable[14] = variable[11];
4006 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4007 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4008 variable[13] = variable[14];
4009 goto return_label125;
4010 return_label125: while(false);
4011 variable[11] = variable[13];
4012 variable[12] = variable[11];
4013 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4014 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)); /*new String*/
4015 variable[14] = variable[13];
4016 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4017 variable[15] = variable[3] /*p*/;
4018 variable[16] = TAG_Int(1);
4019 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4020 variable[19] = variable[18];
4021 if (UNTAG_Bool(variable[19])) { /* and */
4022 variable[19] = variable[15];
4023 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4024 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4025 }
4026 variable[18] = variable[19];
4027 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4028 variable[18] = variable[15];
4029 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4030 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4031 variable[17] = variable[18];
4032 goto return_label126;
4033 return_label126: while(false);
4034 variable[15] = variable[17];
4035 variable[16] = variable[15];
4036 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4037 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4038 variable[18] = variable[17];
4039 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4040 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4041 variable[7] = variable[8] /*s=*/;
4042 } else { /*if*/
4043 if (once_bool_127) variable[8] = once_value_127;
4044 else {
4045 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)); /*new String*/
4046 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4047 once_value_127 = variable[8];
4048 once_bool_127 = true;
4049 }
4050 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4051 if (UNTAG_Bool(variable[8])) { /*if*/
4052 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4053 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)); /*new String*/
4054 variable[10] = variable[9];
4055 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4056 variable[11] = variable[3] /*p*/;
4057 variable[12] = TAG_Int(0);
4058 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4059 variable[15] = variable[14];
4060 if (UNTAG_Bool(variable[15])) { /* and */
4061 variable[15] = variable[11];
4062 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4063 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4064 }
4065 variable[14] = variable[15];
4066 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4067 variable[14] = variable[11];
4068 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4069 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4070 variable[13] = variable[14];
4071 goto return_label128;
4072 return_label128: while(false);
4073 variable[11] = variable[13];
4074 variable[12] = variable[11];
4075 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4076 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)); /*new String*/
4077 variable[14] = variable[13];
4078 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4079 variable[15] = variable[3] /*p*/;
4080 variable[16] = TAG_Int(1);
4081 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4082 variable[19] = variable[18];
4083 if (UNTAG_Bool(variable[19])) { /* and */
4084 variable[19] = variable[15];
4085 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4086 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4087 }
4088 variable[18] = variable[19];
4089 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4090 variable[18] = variable[15];
4091 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4092 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4093 variable[17] = variable[18];
4094 goto return_label129;
4095 return_label129: while(false);
4096 variable[15] = variable[17];
4097 variable[16] = variable[15];
4098 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4099 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4100 variable[18] = variable[17];
4101 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4102 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4103 variable[7] = variable[8] /*s=*/;
4104 } else { /*if*/
4105 if (once_bool_130) variable[8] = once_value_130;
4106 else {
4107 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
4108 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4109 once_value_130 = variable[8];
4110 once_bool_130 = true;
4111 }
4112 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4113 if (UNTAG_Bool(variable[8])) { /*if*/
4114 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4115 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4116 variable[10] = variable[9];
4117 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4118 variable[11] = variable[3] /*p*/;
4119 variable[12] = TAG_Int(0);
4120 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4121 variable[15] = variable[14];
4122 if (UNTAG_Bool(variable[15])) { /* and */
4123 variable[15] = variable[11];
4124 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4125 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4126 }
4127 variable[14] = variable[15];
4128 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4129 variable[14] = variable[11];
4130 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4131 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4132 variable[13] = variable[14];
4133 goto return_label131;
4134 return_label131: while(false);
4135 variable[11] = variable[13];
4136 variable[12] = variable[11];
4137 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4138 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
4139 variable[14] = variable[13];
4140 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4141 variable[15] = variable[3] /*p*/;
4142 variable[16] = TAG_Int(1);
4143 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4144 variable[19] = variable[18];
4145 if (UNTAG_Bool(variable[19])) { /* and */
4146 variable[19] = variable[15];
4147 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4148 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4149 }
4150 variable[18] = variable[19];
4151 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4152 variable[18] = variable[15];
4153 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4154 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4155 variable[17] = variable[18];
4156 goto return_label132;
4157 return_label132: while(false);
4158 variable[15] = variable[17];
4159 variable[16] = variable[15];
4160 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4161 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4162 variable[18] = variable[17];
4163 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4164 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4165 variable[7] = variable[8] /*s=*/;
4166 } else { /*if*/
4167 if (once_bool_133) variable[8] = once_value_133;
4168 else {
4169 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
4170 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4171 once_value_133 = variable[8];
4172 once_bool_133 = true;
4173 }
4174 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4175 if (UNTAG_Bool(variable[8])) { /*if*/
4176 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4177 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
4178 variable[10] = variable[9];
4179 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4180 variable[11] = variable[3] /*p*/;
4181 variable[12] = TAG_Int(0);
4182 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4183 variable[15] = variable[14];
4184 if (UNTAG_Bool(variable[15])) { /* and */
4185 variable[15] = variable[11];
4186 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4187 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4188 }
4189 variable[14] = variable[15];
4190 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4191 variable[14] = variable[11];
4192 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4193 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4194 variable[13] = variable[14];
4195 goto return_label134;
4196 return_label134: while(false);
4197 variable[11] = variable[13];
4198 variable[12] = variable[11];
4199 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4200 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
4201 variable[14] = variable[13];
4202 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4203 variable[15] = variable[3] /*p*/;
4204 variable[16] = TAG_Int(1);
4205 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4206 variable[19] = variable[18];
4207 if (UNTAG_Bool(variable[19])) { /* and */
4208 variable[19] = variable[15];
4209 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4210 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4211 }
4212 variable[18] = variable[19];
4213 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4214 variable[18] = variable[15];
4215 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4216 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4217 variable[17] = variable[18];
4218 goto return_label135;
4219 return_label135: while(false);
4220 variable[15] = variable[17];
4221 variable[16] = variable[15];
4222 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4223 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4224 variable[18] = variable[17];
4225 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4226 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4227 variable[7] = variable[8] /*s=*/;
4228 }
4229 }
4230 }
4231 }
4232 }
4233 }
4234 }
4235 }
4236 }
4237 }
4238 }
4239 }
4240 }
4241 }
4242 }
4243 }
4244 }
4245 }
4246 }
4247 }
4248 } else { /*if*/
4249 if (once_bool_136) variable[8] = once_value_136;
4250 else {
4251 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)); /*new String*/
4252 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4253 once_value_136 = variable[8];
4254 once_bool_136 = true;
4255 }
4256 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
4257 if (UNTAG_Bool(variable[8])) { /*if*/
4258 if (once_bool_137) variable[8] = once_value_137;
4259 else {
4260 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
4261 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4262 once_value_137 = variable[8];
4263 once_bool_137 = true;
4264 }
4265 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4266 if (UNTAG_Bool(variable[8])) { /*if*/
4267 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4268 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
4269 variable[10] = variable[9];
4270 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4271 variable[11] = variable[3] /*p*/;
4272 variable[12] = TAG_Int(0);
4273 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4274 variable[15] = variable[14];
4275 if (UNTAG_Bool(variable[15])) { /* and */
4276 variable[15] = variable[11];
4277 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4278 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4279 }
4280 variable[14] = variable[15];
4281 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4282 variable[14] = variable[11];
4283 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4284 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4285 variable[13] = variable[14];
4286 goto return_label138;
4287 return_label138: while(false);
4288 variable[11] = variable[13];
4289 variable[12] = variable[11];
4290 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4291 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4292 variable[14] = variable[13];
4293 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4294 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4295 variable[7] = variable[8] /*s=*/;
4296 } else { /*if*/
4297 if (once_bool_139) variable[8] = once_value_139;
4298 else {
4299 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
4300 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4301 once_value_139 = variable[8];
4302 once_bool_139 = true;
4303 }
4304 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4305 if (UNTAG_Bool(variable[8])) { /*if*/
4306 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4307 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)); /*new String*/
4308 variable[10] = variable[9];
4309 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4310 variable[11] = variable[3] /*p*/;
4311 variable[12] = TAG_Int(0);
4312 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4313 variable[15] = variable[14];
4314 if (UNTAG_Bool(variable[15])) { /* and */
4315 variable[15] = variable[11];
4316 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4317 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4318 }
4319 variable[14] = variable[15];
4320 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4321 variable[14] = variable[11];
4322 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4323 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4324 variable[13] = variable[14];
4325 goto return_label140;
4326 return_label140: while(false);
4327 variable[11] = variable[13];
4328 variable[12] = variable[11];
4329 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4330 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4331 variable[14] = variable[13];
4332 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4333 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4334 variable[7] = variable[8] /*s=*/;
4335 } else { /*if*/
4336 if (once_bool_141) variable[8] = once_value_141;
4337 else {
4338 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
4339 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4340 once_value_141 = variable[8];
4341 once_bool_141 = true;
4342 }
4343 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4344 if (UNTAG_Bool(variable[8])) { /*if*/
4345 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4346 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)); /*new String*/
4347 variable[10] = variable[9];
4348 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4349 variable[11] = variable[3] /*p*/;
4350 variable[12] = TAG_Int(0);
4351 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4352 variable[15] = variable[14];
4353 if (UNTAG_Bool(variable[15])) { /* and */
4354 variable[15] = variable[11];
4355 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4356 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4357 }
4358 variable[14] = variable[15];
4359 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4360 variable[14] = variable[11];
4361 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4362 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4363 variable[13] = variable[14];
4364 goto return_label142;
4365 return_label142: while(false);
4366 variable[11] = variable[13];
4367 variable[12] = variable[11];
4368 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4369 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
4370 variable[14] = variable[13];
4371 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4372 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4373 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
4374 } else { /*if*/
4375 if (once_bool_143) variable[8] = once_value_143;
4376 else {
4377 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
4378 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4379 once_value_143 = variable[8];
4380 once_bool_143 = true;
4381 }
4382 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4383 if (UNTAG_Bool(variable[8])) { /*if*/
4384 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4385 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)); /*new String*/
4386 variable[10] = variable[9];
4387 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4388 variable[11] = variable[3] /*p*/;
4389 variable[12] = TAG_Int(0);
4390 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4391 variable[15] = variable[14];
4392 if (UNTAG_Bool(variable[15])) { /* and */
4393 variable[15] = variable[11];
4394 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4395 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4396 }
4397 variable[14] = variable[15];
4398 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4399 variable[14] = variable[11];
4400 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4401 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4402 variable[13] = variable[14];
4403 goto return_label144;
4404 return_label144: while(false);
4405 variable[11] = variable[13];
4406 variable[12] = variable[11];
4407 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4408 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4409 variable[14] = variable[13];
4410 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4411 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4412 variable[7] = variable[8] /*s=*/;
4413 } else { /*if*/
4414 if (once_bool_145) variable[8] = once_value_145;
4415 else {
4416 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
4417 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4418 once_value_145 = variable[8];
4419 once_bool_145 = true;
4420 }
4421 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4422 if (UNTAG_Bool(variable[8])) { /*if*/
4423 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4424 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
4425 variable[10] = variable[9];
4426 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4427 variable[11] = variable[3] /*p*/;
4428 variable[12] = TAG_Int(0);
4429 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4430 variable[15] = variable[14];
4431 if (UNTAG_Bool(variable[15])) { /* and */
4432 variable[15] = variable[11];
4433 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4434 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4435 }
4436 variable[14] = variable[15];
4437 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4438 variable[14] = variable[11];
4439 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4440 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4441 variable[13] = variable[14];
4442 goto return_label146;
4443 return_label146: while(false);
4444 variable[11] = variable[13];
4445 variable[12] = variable[11];
4446 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4447 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)); /*new String*/
4448 variable[14] = variable[13];
4449 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4450 variable[15] = variable[3] /*p*/;
4451 variable[16] = TAG_Int(1);
4452 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4453 variable[19] = variable[18];
4454 if (UNTAG_Bool(variable[19])) { /* and */
4455 variable[19] = variable[15];
4456 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4457 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4458 }
4459 variable[18] = variable[19];
4460 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4461 variable[18] = variable[15];
4462 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4463 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4464 variable[17] = variable[18];
4465 goto return_label147;
4466 return_label147: while(false);
4467 variable[15] = variable[17];
4468 variable[16] = variable[15];
4469 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4470 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4471 variable[18] = variable[17];
4472 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4473 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4474 variable[7] = variable[8] /*s=*/;
4475 } else { /*if*/
4476 if (once_bool_148) variable[8] = once_value_148;
4477 else {
4478 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
4479 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4480 once_value_148 = variable[8];
4481 once_bool_148 = true;
4482 }
4483 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4484 if (UNTAG_Bool(variable[8])) { /*if*/
4485 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4486 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
4487 variable[10] = variable[9];
4488 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4489 variable[11] = variable[3] /*p*/;
4490 variable[12] = TAG_Int(0);
4491 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4492 variable[15] = variable[14];
4493 if (UNTAG_Bool(variable[15])) { /* and */
4494 variable[15] = variable[11];
4495 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4496 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4497 }
4498 variable[14] = variable[15];
4499 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4500 variable[14] = variable[11];
4501 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4502 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4503 variable[13] = variable[14];
4504 goto return_label149;
4505 return_label149: while(false);
4506 variable[11] = variable[13];
4507 variable[12] = variable[11];
4508 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4509 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)); /*new String*/
4510 variable[14] = variable[13];
4511 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4512 variable[15] = variable[3] /*p*/;
4513 variable[16] = TAG_Int(1);
4514 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4515 variable[19] = variable[18];
4516 if (UNTAG_Bool(variable[19])) { /* and */
4517 variable[19] = variable[15];
4518 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4519 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4520 }
4521 variable[18] = variable[19];
4522 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4523 variable[18] = variable[15];
4524 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4525 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4526 variable[17] = variable[18];
4527 goto return_label150;
4528 return_label150: while(false);
4529 variable[15] = variable[17];
4530 variable[16] = variable[15];
4531 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4532 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4533 variable[18] = variable[17];
4534 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4535 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4536 variable[7] = variable[8] /*s=*/;
4537 } else { /*if*/
4538 if (once_bool_151) variable[8] = once_value_151;
4539 else {
4540 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
4541 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4542 once_value_151 = variable[8];
4543 once_bool_151 = true;
4544 }
4545 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4546 if (UNTAG_Bool(variable[8])) { /*if*/
4547 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4548 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
4549 variable[10] = variable[9];
4550 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4551 variable[11] = variable[3] /*p*/;
4552 variable[12] = TAG_Int(0);
4553 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4554 variable[15] = variable[14];
4555 if (UNTAG_Bool(variable[15])) { /* and */
4556 variable[15] = variable[11];
4557 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4558 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4559 }
4560 variable[14] = variable[15];
4561 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4562 variable[14] = variable[11];
4563 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4564 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4565 variable[13] = variable[14];
4566 goto return_label152;
4567 return_label152: while(false);
4568 variable[11] = variable[13];
4569 variable[12] = variable[11];
4570 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4571 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)); /*new String*/
4572 variable[14] = variable[13];
4573 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4574 variable[15] = variable[3] /*p*/;
4575 variable[16] = TAG_Int(1);
4576 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4577 variable[19] = variable[18];
4578 if (UNTAG_Bool(variable[19])) { /* and */
4579 variable[19] = variable[15];
4580 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4581 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4582 }
4583 variable[18] = variable[19];
4584 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4585 variable[18] = variable[15];
4586 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4587 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4588 variable[17] = variable[18];
4589 goto return_label153;
4590 return_label153: while(false);
4591 variable[15] = variable[17];
4592 variable[16] = variable[15];
4593 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4594 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4595 variable[18] = variable[17];
4596 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4597 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4598 variable[7] = variable[8] /*s=*/;
4599 } else { /*if*/
4600 if (once_bool_154) variable[8] = once_value_154;
4601 else {
4602 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
4603 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4604 once_value_154 = variable[8];
4605 once_bool_154 = true;
4606 }
4607 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4608 if (UNTAG_Bool(variable[8])) { /*if*/
4609 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4610 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)); /*new String*/
4611 variable[10] = variable[9];
4612 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4613 variable[11] = variable[3] /*p*/;
4614 variable[12] = TAG_Int(0);
4615 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4616 variable[15] = variable[14];
4617 if (UNTAG_Bool(variable[15])) { /* and */
4618 variable[15] = variable[11];
4619 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4620 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4621 }
4622 variable[14] = variable[15];
4623 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4624 variable[14] = variable[11];
4625 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4626 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4627 variable[13] = variable[14];
4628 goto return_label155;
4629 return_label155: while(false);
4630 variable[11] = variable[13];
4631 variable[12] = variable[11];
4632 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4633 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)); /*new String*/
4634 variable[14] = variable[13];
4635 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4636 variable[15] = variable[3] /*p*/;
4637 variable[16] = TAG_Int(1);
4638 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4639 variable[19] = variable[18];
4640 if (UNTAG_Bool(variable[19])) { /* and */
4641 variable[19] = variable[15];
4642 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4643 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4644 }
4645 variable[18] = variable[19];
4646 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4647 variable[18] = variable[15];
4648 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4649 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4650 variable[17] = variable[18];
4651 goto return_label156;
4652 return_label156: while(false);
4653 variable[15] = variable[17];
4654 variable[16] = variable[15];
4655 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4656 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4657 variable[18] = variable[17];
4658 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4659 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4660 variable[7] = variable[8] /*s=*/;
4661 } else { /*if*/
4662 if (once_bool_157) variable[8] = once_value_157;
4663 else {
4664 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
4665 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4666 once_value_157 = variable[8];
4667 once_bool_157 = true;
4668 }
4669 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4670 if (UNTAG_Bool(variable[8])) { /*if*/
4671 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4672 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
4673 variable[10] = variable[9];
4674 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4675 variable[11] = variable[3] /*p*/;
4676 variable[12] = TAG_Int(0);
4677 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4678 variable[15] = variable[14];
4679 if (UNTAG_Bool(variable[15])) { /* and */
4680 variable[15] = variable[11];
4681 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4682 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4683 }
4684 variable[14] = variable[15];
4685 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4686 variable[14] = variable[11];
4687 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4688 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4689 variable[13] = variable[14];
4690 goto return_label158;
4691 return_label158: while(false);
4692 variable[11] = variable[13];
4693 variable[12] = variable[11];
4694 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4695 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)); /*new String*/
4696 variable[14] = variable[13];
4697 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4698 variable[15] = variable[3] /*p*/;
4699 variable[16] = TAG_Int(1);
4700 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4701 variable[19] = variable[18];
4702 if (UNTAG_Bool(variable[19])) { /* and */
4703 variable[19] = variable[15];
4704 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4705 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4706 }
4707 variable[18] = variable[19];
4708 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4709 variable[18] = variable[15];
4710 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4711 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4712 variable[17] = variable[18];
4713 goto return_label159;
4714 return_label159: while(false);
4715 variable[15] = variable[17];
4716 variable[16] = variable[15];
4717 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4718 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4719 variable[18] = variable[17];
4720 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4721 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4722 variable[7] = variable[8] /*s=*/;
4723 } else { /*if*/
4724 if (once_bool_160) variable[8] = once_value_160;
4725 else {
4726 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
4727 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4728 once_value_160 = variable[8];
4729 once_bool_160 = true;
4730 }
4731 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4732 if (UNTAG_Bool(variable[8])) { /*if*/
4733 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4734 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
4735 variable[10] = variable[9];
4736 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4737 variable[11] = variable[3] /*p*/;
4738 variable[12] = TAG_Int(0);
4739 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4740 variable[15] = variable[14];
4741 if (UNTAG_Bool(variable[15])) { /* and */
4742 variable[15] = variable[11];
4743 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4744 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4745 }
4746 variable[14] = variable[15];
4747 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4748 variable[14] = variable[11];
4749 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4750 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4751 variable[13] = variable[14];
4752 goto return_label161;
4753 return_label161: while(false);
4754 variable[11] = variable[13];
4755 variable[12] = variable[11];
4756 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4757 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)); /*new String*/
4758 variable[14] = variable[13];
4759 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4760 variable[15] = variable[3] /*p*/;
4761 variable[16] = TAG_Int(1);
4762 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4763 variable[19] = variable[18];
4764 if (UNTAG_Bool(variable[19])) { /* and */
4765 variable[19] = variable[15];
4766 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4767 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4768 }
4769 variable[18] = variable[19];
4770 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4771 variable[18] = variable[15];
4772 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4773 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4774 variable[17] = variable[18];
4775 goto return_label162;
4776 return_label162: while(false);
4777 variable[15] = variable[17];
4778 variable[16] = variable[15];
4779 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4780 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4781 variable[18] = variable[17];
4782 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4783 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4784 variable[7] = variable[8] /*s=*/;
4785 } else { /*if*/
4786 if (once_bool_163) variable[8] = once_value_163;
4787 else {
4788 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
4789 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4790 once_value_163 = variable[8];
4791 once_bool_163 = true;
4792 }
4793 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4794 if (UNTAG_Bool(variable[8])) { /*if*/
4795 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4796 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
4797 variable[10] = variable[9];
4798 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4799 variable[11] = variable[3] /*p*/;
4800 variable[12] = TAG_Int(0);
4801 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4802 variable[15] = variable[14];
4803 if (UNTAG_Bool(variable[15])) { /* and */
4804 variable[15] = variable[11];
4805 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4806 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4807 }
4808 variable[14] = variable[15];
4809 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4810 variable[14] = variable[11];
4811 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4812 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4813 variable[13] = variable[14];
4814 goto return_label164;
4815 return_label164: while(false);
4816 variable[11] = variable[13];
4817 variable[12] = variable[11];
4818 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4819 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)); /*new String*/
4820 variable[14] = variable[13];
4821 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4822 variable[15] = variable[3] /*p*/;
4823 variable[16] = TAG_Int(1);
4824 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4825 variable[19] = variable[18];
4826 if (UNTAG_Bool(variable[19])) { /* and */
4827 variable[19] = variable[15];
4828 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4829 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4830 }
4831 variable[18] = variable[19];
4832 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4833 variable[18] = variable[15];
4834 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4835 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4836 variable[17] = variable[18];
4837 goto return_label165;
4838 return_label165: while(false);
4839 variable[15] = variable[17];
4840 variable[16] = variable[15];
4841 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4842 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4843 variable[18] = variable[17];
4844 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4845 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4846 variable[7] = variable[8] /*s=*/;
4847 } else { /*if*/
4848 if (once_bool_166) variable[8] = once_value_166;
4849 else {
4850 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
4851 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4852 once_value_166 = variable[8];
4853 once_bool_166 = true;
4854 }
4855 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4856 if (UNTAG_Bool(variable[8])) { /*if*/
4857 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
4858 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)); /*new String*/
4859 variable[10] = variable[9];
4860 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4861 variable[11] = variable[3] /*p*/;
4862 variable[12] = TAG_Int(0);
4863 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4864 variable[15] = variable[14];
4865 if (UNTAG_Bool(variable[15])) { /* and */
4866 variable[15] = variable[11];
4867 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4868 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4869 }
4870 variable[14] = variable[15];
4871 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4872 variable[14] = variable[11];
4873 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4874 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4875 variable[13] = variable[14];
4876 goto return_label167;
4877 return_label167: while(false);
4878 variable[11] = variable[13];
4879 variable[12] = variable[11];
4880 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4881 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)); /*new String*/
4882 variable[14] = variable[13];
4883 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4884 variable[15] = variable[3] /*p*/;
4885 variable[16] = TAG_Int(1);
4886 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4887 variable[19] = variable[18];
4888 if (UNTAG_Bool(variable[19])) { /* and */
4889 variable[19] = variable[15];
4890 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
4891 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
4892 }
4893 variable[18] = variable[19];
4894 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4895 variable[18] = variable[15];
4896 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
4897 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4898 variable[17] = variable[18];
4899 goto return_label168;
4900 return_label168: while(false);
4901 variable[15] = variable[17];
4902 variable[16] = variable[15];
4903 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
4904 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4905 variable[18] = variable[17];
4906 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
4907 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4908 variable[7] = variable[8] /*s=*/;
4909 }
4910 }
4911 }
4912 }
4913 }
4914 }
4915 }
4916 }
4917 }
4918 }
4919 }
4920 }
4921 } else { /*if*/
4922 if (once_bool_169) variable[8] = once_value_169;
4923 else {
4924 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)); /*new String*/
4925 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4926 once_value_169 = variable[8];
4927 once_bool_169 = true;
4928 }
4929 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
4930 if (UNTAG_Bool(variable[8])) { /*if*/
4931 if (once_bool_170) variable[8] = once_value_170;
4932 else {
4933 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
4934 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4935 once_value_170 = variable[8];
4936 once_bool_170 = true;
4937 }
4938 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4939 if (UNTAG_Bool(variable[8])) { /*if*/
4940 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4941 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
4942 variable[10] = variable[9];
4943 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4944 variable[11] = variable[3] /*p*/;
4945 variable[12] = TAG_Int(0);
4946 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4947 variable[15] = variable[14];
4948 if (UNTAG_Bool(variable[15])) { /* and */
4949 variable[15] = variable[11];
4950 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4951 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4952 }
4953 variable[14] = variable[15];
4954 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4955 variable[14] = variable[11];
4956 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4957 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4958 variable[13] = variable[14];
4959 goto return_label171;
4960 return_label171: while(false);
4961 variable[11] = variable[13];
4962 variable[12] = variable[11];
4963 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
4964 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
4965 variable[14] = variable[13];
4966 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
4967 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
4968 variable[7] = variable[8] /*s=*/;
4969 } else { /*if*/
4970 if (once_bool_172) variable[8] = once_value_172;
4971 else {
4972 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
4973 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
4974 once_value_172 = variable[8];
4975 once_bool_172 = true;
4976 }
4977 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
4978 if (UNTAG_Bool(variable[8])) { /*if*/
4979 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
4980 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)); /*new String*/
4981 variable[10] = variable[9];
4982 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
4983 variable[11] = variable[3] /*p*/;
4984 variable[12] = TAG_Int(0);
4985 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4986 variable[15] = variable[14];
4987 if (UNTAG_Bool(variable[15])) { /* and */
4988 variable[15] = variable[11];
4989 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
4990 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
4991 }
4992 variable[14] = variable[15];
4993 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
4994 variable[14] = variable[11];
4995 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4996 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4997 variable[13] = variable[14];
4998 goto return_label173;
4999 return_label173: while(false);
5000 variable[11] = variable[13];
5001 variable[12] = variable[11];
5002 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5003 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5004 variable[14] = variable[13];
5005 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5006 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5007 variable[7] = variable[8] /*s=*/;
5008 } else { /*if*/
5009 if (once_bool_174) variable[8] = once_value_174;
5010 else {
5011 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
5012 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5013 once_value_174 = variable[8];
5014 once_bool_174 = true;
5015 }
5016 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5017 if (UNTAG_Bool(variable[8])) { /*if*/
5018 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5019 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)); /*new String*/
5020 variable[10] = variable[9];
5021 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5022 variable[11] = variable[3] /*p*/;
5023 variable[12] = TAG_Int(0);
5024 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5025 variable[15] = variable[14];
5026 if (UNTAG_Bool(variable[15])) { /* and */
5027 variable[15] = variable[11];
5028 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5029 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5030 }
5031 variable[14] = variable[15];
5032 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5033 variable[14] = variable[11];
5034 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5035 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5036 variable[13] = variable[14];
5037 goto return_label175;
5038 return_label175: while(false);
5039 variable[11] = variable[13];
5040 variable[12] = variable[11];
5041 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5042 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
5043 variable[14] = variable[13];
5044 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5045 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5046 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
5047 } else { /*if*/
5048 if (once_bool_176) variable[8] = once_value_176;
5049 else {
5050 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
5051 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5052 once_value_176 = variable[8];
5053 once_bool_176 = true;
5054 }
5055 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5056 if (UNTAG_Bool(variable[8])) { /*if*/
5057 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5058 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)); /*new String*/
5059 variable[10] = variable[9];
5060 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5061 variable[11] = variable[3] /*p*/;
5062 variable[12] = TAG_Int(0);
5063 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5064 variable[15] = variable[14];
5065 if (UNTAG_Bool(variable[15])) { /* and */
5066 variable[15] = variable[11];
5067 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5068 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5069 }
5070 variable[14] = variable[15];
5071 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5072 variable[14] = variable[11];
5073 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5074 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5075 variable[13] = variable[14];
5076 goto return_label177;
5077 return_label177: while(false);
5078 variable[11] = variable[13];
5079 variable[12] = variable[11];
5080 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5081 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5082 variable[14] = variable[13];
5083 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5084 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5085 variable[7] = variable[8] /*s=*/;
5086 } else { /*if*/
5087 if (once_bool_178) variable[8] = once_value_178;
5088 else {
5089 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)); /*new String*/
5090 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5091 once_value_178 = variable[8];
5092 once_bool_178 = true;
5093 }
5094 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5095 if (UNTAG_Bool(variable[8])) { /*if*/
5096 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5097 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5098 variable[10] = variable[9];
5099 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5100 variable[11] = variable[3] /*p*/;
5101 variable[12] = TAG_Int(0);
5102 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5103 variable[15] = variable[14];
5104 if (UNTAG_Bool(variable[15])) { /* and */
5105 variable[15] = variable[11];
5106 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5107 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5108 }
5109 variable[14] = variable[15];
5110 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5111 variable[14] = variable[11];
5112 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5113 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5114 variable[13] = variable[14];
5115 goto return_label179;
5116 return_label179: while(false);
5117 variable[11] = variable[13];
5118 variable[12] = variable[11];
5119 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5120 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)); /*new String*/
5121 variable[14] = variable[13];
5122 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5123 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5124 variable[7] = variable[8] /*s=*/;
5125 } else { /*if*/
5126 if (once_bool_180) variable[8] = once_value_180;
5127 else {
5128 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)); /*new String*/
5129 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5130 once_value_180 = variable[8];
5131 once_bool_180 = true;
5132 }
5133 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5134 if (UNTAG_Bool(variable[8])) { /*if*/
5135 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5136 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5137 variable[10] = variable[9];
5138 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5139 variable[11] = variable[3] /*p*/;
5140 variable[12] = TAG_Int(0);
5141 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5142 variable[15] = variable[14];
5143 if (UNTAG_Bool(variable[15])) { /* and */
5144 variable[15] = variable[11];
5145 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5146 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5147 }
5148 variable[14] = variable[15];
5149 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5150 variable[14] = variable[11];
5151 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5152 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5153 variable[13] = variable[14];
5154 goto return_label181;
5155 return_label181: while(false);
5156 variable[11] = variable[13];
5157 variable[12] = variable[11];
5158 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5159 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)); /*new String*/
5160 variable[14] = variable[13];
5161 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5162 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5163 variable[7] = variable[8] /*s=*/;
5164 } else { /*if*/
5165 if (once_bool_182) variable[8] = once_value_182;
5166 else {
5167 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
5168 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5169 once_value_182 = variable[8];
5170 once_bool_182 = true;
5171 }
5172 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5173 if (UNTAG_Bool(variable[8])) { /*if*/
5174 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5175 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)); /*new String*/
5176 variable[10] = variable[9];
5177 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5178 variable[11] = variable[3] /*p*/;
5179 variable[12] = TAG_Int(0);
5180 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5181 variable[15] = variable[14];
5182 if (UNTAG_Bool(variable[15])) { /* and */
5183 variable[15] = variable[11];
5184 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5185 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5186 }
5187 variable[14] = variable[15];
5188 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5189 variable[14] = variable[11];
5190 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5191 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5192 variable[13] = variable[14];
5193 goto return_label183;
5194 return_label183: while(false);
5195 variable[11] = variable[13];
5196 variable[12] = variable[11];
5197 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5198 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)); /*new String*/
5199 variable[14] = variable[13];
5200 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5201 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5202 variable[7] = variable[8] /*s=*/;
5203 } else { /*if*/
5204 if (once_bool_184) variable[8] = once_value_184;
5205 else {
5206 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)); /*new String*/
5207 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5208 once_value_184 = variable[8];
5209 once_bool_184 = true;
5210 }
5211 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5212 if (UNTAG_Bool(variable[8])) { /*if*/
5213 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5214 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5215 variable[10] = variable[9];
5216 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5217 variable[11] = variable[3] /*p*/;
5218 variable[12] = TAG_Int(0);
5219 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5220 variable[15] = variable[14];
5221 if (UNTAG_Bool(variable[15])) { /* and */
5222 variable[15] = variable[11];
5223 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5224 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5225 }
5226 variable[14] = variable[15];
5227 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5228 variable[14] = variable[11];
5229 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5230 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5231 variable[13] = variable[14];
5232 goto return_label185;
5233 return_label185: while(false);
5234 variable[11] = variable[13];
5235 variable[12] = variable[11];
5236 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5237 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)); /*new String*/
5238 variable[14] = variable[13];
5239 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5240 variable[15] = variable[3] /*p*/;
5241 variable[16] = TAG_Int(1);
5242 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5243 variable[19] = variable[18];
5244 if (UNTAG_Bool(variable[19])) { /* and */
5245 variable[19] = variable[15];
5246 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5247 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5248 }
5249 variable[18] = variable[19];
5250 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5251 variable[18] = variable[15];
5252 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5253 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5254 variable[17] = variable[18];
5255 goto return_label186;
5256 return_label186: while(false);
5257 variable[15] = variable[17];
5258 variable[16] = variable[15];
5259 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5260 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5261 variable[18] = variable[17];
5262 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5263 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5264 variable[7] = variable[8] /*s=*/;
5265 } else { /*if*/
5266 if (once_bool_187) variable[8] = once_value_187;
5267 else {
5268 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)); /*new String*/
5269 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5270 once_value_187 = variable[8];
5271 once_bool_187 = true;
5272 }
5273 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5274 if (UNTAG_Bool(variable[8])) { /*if*/
5275 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5276 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5277 variable[10] = variable[9];
5278 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5279 variable[11] = variable[3] /*p*/;
5280 variable[12] = TAG_Int(0);
5281 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5282 variable[15] = variable[14];
5283 if (UNTAG_Bool(variable[15])) { /* and */
5284 variable[15] = variable[11];
5285 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5286 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5287 }
5288 variable[14] = variable[15];
5289 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5290 variable[14] = variable[11];
5291 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5292 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5293 variable[13] = variable[14];
5294 goto return_label188;
5295 return_label188: while(false);
5296 variable[11] = variable[13];
5297 variable[12] = variable[11];
5298 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5299 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)); /*new String*/
5300 variable[14] = variable[13];
5301 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5302 variable[15] = variable[3] /*p*/;
5303 variable[16] = TAG_Int(1);
5304 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5305 variable[19] = variable[18];
5306 if (UNTAG_Bool(variable[19])) { /* and */
5307 variable[19] = variable[15];
5308 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5309 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5310 }
5311 variable[18] = variable[19];
5312 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5313 variable[18] = variable[15];
5314 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5315 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5316 variable[17] = variable[18];
5317 goto return_label189;
5318 return_label189: while(false);
5319 variable[15] = variable[17];
5320 variable[16] = variable[15];
5321 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5322 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5323 variable[18] = variable[17];
5324 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5325 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5326 variable[7] = variable[8] /*s=*/;
5327 } else { /*if*/
5328 if (once_bool_190) variable[8] = once_value_190;
5329 else {
5330 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)); /*new String*/
5331 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5332 once_value_190 = variable[8];
5333 once_bool_190 = true;
5334 }
5335 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5336 if (UNTAG_Bool(variable[8])) { /*if*/
5337 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5338 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5339 variable[10] = variable[9];
5340 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5341 variable[11] = variable[3] /*p*/;
5342 variable[12] = TAG_Int(0);
5343 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5344 variable[15] = variable[14];
5345 if (UNTAG_Bool(variable[15])) { /* and */
5346 variable[15] = variable[11];
5347 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5348 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5349 }
5350 variable[14] = variable[15];
5351 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5352 variable[14] = variable[11];
5353 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5354 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5355 variable[13] = variable[14];
5356 goto return_label191;
5357 return_label191: while(false);
5358 variable[11] = variable[13];
5359 variable[12] = variable[11];
5360 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5361 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)); /*new String*/
5362 variable[14] = variable[13];
5363 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5364 variable[15] = variable[3] /*p*/;
5365 variable[16] = TAG_Int(1);
5366 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5367 variable[19] = variable[18];
5368 if (UNTAG_Bool(variable[19])) { /* and */
5369 variable[19] = variable[15];
5370 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5371 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5372 }
5373 variable[18] = variable[19];
5374 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5375 variable[18] = variable[15];
5376 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5377 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5378 variable[17] = variable[18];
5379 goto return_label192;
5380 return_label192: while(false);
5381 variable[15] = variable[17];
5382 variable[16] = variable[15];
5383 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5384 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5385 variable[18] = variable[17];
5386 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5387 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5388 variable[7] = variable[8] /*s=*/;
5389 } else { /*if*/
5390 if (once_bool_193) variable[8] = once_value_193;
5391 else {
5392 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)); /*new String*/
5393 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5394 once_value_193 = variable[8];
5395 once_bool_193 = true;
5396 }
5397 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5398 if (UNTAG_Bool(variable[8])) { /*if*/
5399 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5400 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5401 variable[10] = variable[9];
5402 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5403 variable[11] = variable[3] /*p*/;
5404 variable[12] = TAG_Int(0);
5405 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5406 variable[15] = variable[14];
5407 if (UNTAG_Bool(variable[15])) { /* and */
5408 variable[15] = variable[11];
5409 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5410 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5411 }
5412 variable[14] = variable[15];
5413 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5414 variable[14] = variable[11];
5415 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5416 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5417 variable[13] = variable[14];
5418 goto return_label194;
5419 return_label194: while(false);
5420 variable[11] = variable[13];
5421 variable[12] = variable[11];
5422 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5423 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)); /*new String*/
5424 variable[14] = variable[13];
5425 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5426 variable[15] = variable[3] /*p*/;
5427 variable[16] = TAG_Int(1);
5428 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5429 variable[19] = variable[18];
5430 if (UNTAG_Bool(variable[19])) { /* and */
5431 variable[19] = variable[15];
5432 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5433 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5434 }
5435 variable[18] = variable[19];
5436 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5437 variable[18] = variable[15];
5438 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5439 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5440 variable[17] = variable[18];
5441 goto return_label195;
5442 return_label195: while(false);
5443 variable[15] = variable[17];
5444 variable[16] = variable[15];
5445 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5446 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5447 variable[18] = variable[17];
5448 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5449 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5450 variable[7] = variable[8] /*s=*/;
5451 } else { /*if*/
5452 if (once_bool_196) variable[8] = once_value_196;
5453 else {
5454 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)); /*new String*/
5455 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5456 once_value_196 = variable[8];
5457 once_bool_196 = true;
5458 }
5459 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5460 if (UNTAG_Bool(variable[8])) { /*if*/
5461 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5462 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)); /*new String*/
5463 variable[10] = variable[9];
5464 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5465 variable[11] = variable[3] /*p*/;
5466 variable[12] = TAG_Int(0);
5467 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5468 variable[15] = variable[14];
5469 if (UNTAG_Bool(variable[15])) { /* and */
5470 variable[15] = variable[11];
5471 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5472 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5473 }
5474 variable[14] = variable[15];
5475 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5476 variable[14] = variable[11];
5477 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5478 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5479 variable[13] = variable[14];
5480 goto return_label197;
5481 return_label197: while(false);
5482 variable[11] = variable[13];
5483 variable[12] = variable[11];
5484 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5485 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)); /*new String*/
5486 variable[14] = variable[13];
5487 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5488 variable[15] = variable[3] /*p*/;
5489 variable[16] = TAG_Int(1);
5490 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5491 variable[19] = variable[18];
5492 if (UNTAG_Bool(variable[19])) { /* and */
5493 variable[19] = variable[15];
5494 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5495 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5496 }
5497 variable[18] = variable[19];
5498 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5499 variable[18] = variable[15];
5500 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5501 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5502 variable[17] = variable[18];
5503 goto return_label198;
5504 return_label198: while(false);
5505 variable[15] = variable[17];
5506 variable[16] = variable[15];
5507 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5508 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5509 variable[18] = variable[17];
5510 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5511 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5512 variable[7] = variable[8] /*s=*/;
5513 } else { /*if*/
5514 if (once_bool_199) variable[8] = once_value_199;
5515 else {
5516 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
5517 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5518 once_value_199 = variable[8];
5519 once_bool_199 = true;
5520 }
5521 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5522 if (UNTAG_Bool(variable[8])) { /*if*/
5523 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5524 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
5525 variable[10] = variable[9];
5526 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5527 variable[11] = variable[3] /*p*/;
5528 variable[12] = TAG_Int(0);
5529 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5530 variable[15] = variable[14];
5531 if (UNTAG_Bool(variable[15])) { /* and */
5532 variable[15] = variable[11];
5533 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5534 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5535 }
5536 variable[14] = variable[15];
5537 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5538 variable[14] = variable[11];
5539 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5540 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5541 variable[13] = variable[14];
5542 goto return_label200;
5543 return_label200: while(false);
5544 variable[11] = variable[13];
5545 variable[12] = variable[11];
5546 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5547 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)); /*new String*/
5548 variable[14] = variable[13];
5549 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5550 variable[15] = variable[3] /*p*/;
5551 variable[16] = TAG_Int(1);
5552 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5553 variable[19] = variable[18];
5554 if (UNTAG_Bool(variable[19])) { /* and */
5555 variable[19] = variable[15];
5556 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5557 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5558 }
5559 variable[18] = variable[19];
5560 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5561 variable[18] = variable[15];
5562 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5563 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5564 variable[17] = variable[18];
5565 goto return_label201;
5566 return_label201: while(false);
5567 variable[15] = variable[17];
5568 variable[16] = variable[15];
5569 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5570 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5571 variable[18] = variable[17];
5572 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5573 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5574 variable[7] = variable[8] /*s=*/;
5575 } else { /*if*/
5576 if (once_bool_202) variable[8] = once_value_202;
5577 else {
5578 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
5579 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5580 once_value_202 = variable[8];
5581 once_bool_202 = true;
5582 }
5583 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5584 if (UNTAG_Bool(variable[8])) { /*if*/
5585 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5586 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
5587 variable[10] = variable[9];
5588 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5589 variable[11] = variable[3] /*p*/;
5590 variable[12] = TAG_Int(0);
5591 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5592 variable[15] = variable[14];
5593 if (UNTAG_Bool(variable[15])) { /* and */
5594 variable[15] = variable[11];
5595 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5596 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5597 }
5598 variable[14] = variable[15];
5599 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5600 variable[14] = variable[11];
5601 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5602 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5603 variable[13] = variable[14];
5604 goto return_label203;
5605 return_label203: while(false);
5606 variable[11] = variable[13];
5607 variable[12] = variable[11];
5608 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5609 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)); /*new String*/
5610 variable[14] = variable[13];
5611 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5612 variable[15] = variable[3] /*p*/;
5613 variable[16] = TAG_Int(1);
5614 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5615 variable[19] = variable[18];
5616 if (UNTAG_Bool(variable[19])) { /* and */
5617 variable[19] = variable[15];
5618 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5619 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5620 }
5621 variable[18] = variable[19];
5622 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5623 variable[18] = variable[15];
5624 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5625 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5626 variable[17] = variable[18];
5627 goto return_label204;
5628 return_label204: while(false);
5629 variable[15] = variable[17];
5630 variable[16] = variable[15];
5631 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5632 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5633 variable[18] = variable[17];
5634 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5635 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5636 variable[7] = variable[8] /*s=*/;
5637 } else { /*if*/
5638 if (once_bool_205) variable[8] = once_value_205;
5639 else {
5640 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)); /*new String*/
5641 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5642 once_value_205 = variable[8];
5643 once_bool_205 = true;
5644 }
5645 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5646 if (UNTAG_Bool(variable[8])) { /*if*/
5647 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5648 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
5649 variable[10] = variable[9];
5650 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5651 variable[11] = variable[3] /*p*/;
5652 variable[12] = TAG_Int(0);
5653 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5654 variable[15] = variable[14];
5655 if (UNTAG_Bool(variable[15])) { /* and */
5656 variable[15] = variable[11];
5657 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5658 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5659 }
5660 variable[14] = variable[15];
5661 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5662 variable[14] = variable[11];
5663 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5664 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5665 variable[13] = variable[14];
5666 goto return_label206;
5667 return_label206: while(false);
5668 variable[11] = variable[13];
5669 variable[12] = variable[11];
5670 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5671 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)); /*new String*/
5672 variable[14] = variable[13];
5673 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5674 variable[15] = variable[3] /*p*/;
5675 variable[16] = TAG_Int(1);
5676 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5677 variable[19] = variable[18];
5678 if (UNTAG_Bool(variable[19])) { /* and */
5679 variable[19] = variable[15];
5680 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5681 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5682 }
5683 variable[18] = variable[19];
5684 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5685 variable[18] = variable[15];
5686 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5687 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5688 variable[17] = variable[18];
5689 goto return_label207;
5690 return_label207: while(false);
5691 variable[15] = variable[17];
5692 variable[16] = variable[15];
5693 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5694 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5695 variable[18] = variable[17];
5696 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5697 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5698 variable[7] = variable[8] /*s=*/;
5699 } else { /*if*/
5700 if (once_bool_208) variable[8] = once_value_208;
5701 else {
5702 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)); /*new String*/
5703 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5704 once_value_208 = variable[8];
5705 once_bool_208 = true;
5706 }
5707 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5708 if (UNTAG_Bool(variable[8])) { /*if*/
5709 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5710 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)); /*new String*/
5711 variable[10] = variable[9];
5712 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5713 variable[11] = variable[3] /*p*/;
5714 variable[12] = TAG_Int(0);
5715 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5716 variable[15] = variable[14];
5717 if (UNTAG_Bool(variable[15])) { /* and */
5718 variable[15] = variable[11];
5719 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5720 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5721 }
5722 variable[14] = variable[15];
5723 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5724 variable[14] = variable[11];
5725 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5726 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5727 variable[13] = variable[14];
5728 goto return_label209;
5729 return_label209: while(false);
5730 variable[11] = variable[13];
5731 variable[12] = variable[11];
5732 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5733 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)); /*new String*/
5734 variable[14] = variable[13];
5735 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5736 variable[15] = variable[3] /*p*/;
5737 variable[16] = TAG_Int(1);
5738 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5739 variable[19] = variable[18];
5740 if (UNTAG_Bool(variable[19])) { /* and */
5741 variable[19] = variable[15];
5742 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5743 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5744 }
5745 variable[18] = variable[19];
5746 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5747 variable[18] = variable[15];
5748 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5749 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5750 variable[17] = variable[18];
5751 goto return_label210;
5752 return_label210: while(false);
5753 variable[15] = variable[17];
5754 variable[16] = variable[15];
5755 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5756 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5757 variable[18] = variable[17];
5758 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5759 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5760 variable[7] = variable[8] /*s=*/;
5761 } else { /*if*/
5762 if (once_bool_211) variable[8] = once_value_211;
5763 else {
5764 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
5765 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5766 once_value_211 = variable[8];
5767 once_bool_211 = true;
5768 }
5769 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5770 if (UNTAG_Bool(variable[8])) { /*if*/
5771 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5772 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
5773 variable[10] = variable[9];
5774 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5775 variable[11] = variable[3] /*p*/;
5776 variable[12] = TAG_Int(0);
5777 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5778 variable[15] = variable[14];
5779 if (UNTAG_Bool(variable[15])) { /* and */
5780 variable[15] = variable[11];
5781 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5782 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5783 }
5784 variable[14] = variable[15];
5785 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5786 variable[14] = variable[11];
5787 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5788 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5789 variable[13] = variable[14];
5790 goto return_label212;
5791 return_label212: while(false);
5792 variable[11] = variable[13];
5793 variable[12] = variable[11];
5794 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5795 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
5796 variable[14] = variable[13];
5797 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5798 variable[15] = variable[3] /*p*/;
5799 variable[16] = TAG_Int(1);
5800 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5801 variable[19] = variable[18];
5802 if (UNTAG_Bool(variable[19])) { /* and */
5803 variable[19] = variable[15];
5804 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5805 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5806 }
5807 variable[18] = variable[19];
5808 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5809 variable[18] = variable[15];
5810 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5811 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5812 variable[17] = variable[18];
5813 goto return_label213;
5814 return_label213: while(false);
5815 variable[15] = variable[17];
5816 variable[16] = variable[15];
5817 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5818 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5819 variable[18] = variable[17];
5820 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5821 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5822 variable[7] = variable[8] /*s=*/;
5823 } else { /*if*/
5824 if (once_bool_214) variable[8] = once_value_214;
5825 else {
5826 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
5827 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5828 once_value_214 = variable[8];
5829 once_bool_214 = true;
5830 }
5831 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5832 if (UNTAG_Bool(variable[8])) { /*if*/
5833 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
5834 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
5835 variable[10] = variable[9];
5836 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5837 variable[11] = variable[3] /*p*/;
5838 variable[12] = TAG_Int(0);
5839 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5840 variable[15] = variable[14];
5841 if (UNTAG_Bool(variable[15])) { /* and */
5842 variable[15] = variable[11];
5843 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5844 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5845 }
5846 variable[14] = variable[15];
5847 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5848 variable[14] = variable[11];
5849 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5850 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5851 variable[13] = variable[14];
5852 goto return_label215;
5853 return_label215: while(false);
5854 variable[11] = variable[13];
5855 variable[12] = variable[11];
5856 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5857 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
5858 variable[14] = variable[13];
5859 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5860 variable[15] = variable[3] /*p*/;
5861 variable[16] = TAG_Int(1);
5862 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5863 variable[19] = variable[18];
5864 if (UNTAG_Bool(variable[19])) { /* and */
5865 variable[19] = variable[15];
5866 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
5867 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
5868 }
5869 variable[18] = variable[19];
5870 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5871 variable[18] = variable[15];
5872 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
5873 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
5874 variable[17] = variable[18];
5875 goto return_label216;
5876 return_label216: while(false);
5877 variable[15] = variable[17];
5878 variable[16] = variable[15];
5879 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
5880 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5881 variable[18] = variable[17];
5882 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
5883 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5884 variable[7] = variable[8] /*s=*/;
5885 }
5886 }
5887 }
5888 }
5889 }
5890 }
5891 }
5892 }
5893 }
5894 }
5895 }
5896 }
5897 }
5898 }
5899 }
5900 }
5901 }
5902 }
5903 } else { /*if*/
5904 if (once_bool_217) variable[8] = once_value_217;
5905 else {
5906 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)); /*new String*/
5907 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5908 once_value_217 = variable[8];
5909 once_bool_217 = true;
5910 }
5911 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
5912 if (UNTAG_Bool(variable[8])) { /*if*/
5913 if (once_bool_218) variable[8] = once_value_218;
5914 else {
5915 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
5916 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5917 once_value_218 = variable[8];
5918 once_bool_218 = true;
5919 }
5920 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5921 if (UNTAG_Bool(variable[8])) { /*if*/
5922 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5923 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
5924 variable[10] = variable[9];
5925 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5926 variable[11] = variable[3] /*p*/;
5927 variable[12] = TAG_Int(0);
5928 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5929 variable[15] = variable[14];
5930 if (UNTAG_Bool(variable[15])) { /* and */
5931 variable[15] = variable[11];
5932 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5933 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5934 }
5935 variable[14] = variable[15];
5936 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5937 variable[14] = variable[11];
5938 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5939 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5940 variable[13] = variable[14];
5941 goto return_label219;
5942 return_label219: while(false);
5943 variable[11] = variable[13];
5944 variable[12] = variable[11];
5945 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5946 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5947 variable[14] = variable[13];
5948 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5949 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5950 variable[7] = variable[8] /*s=*/;
5951 } else { /*if*/
5952 if (once_bool_220) variable[8] = once_value_220;
5953 else {
5954 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)); /*new String*/
5955 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5956 once_value_220 = variable[8];
5957 once_bool_220 = true;
5958 }
5959 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5960 if (UNTAG_Bool(variable[8])) { /*if*/
5961 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
5962 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)); /*new String*/
5963 variable[10] = variable[9];
5964 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
5965 variable[11] = variable[3] /*p*/;
5966 variable[12] = TAG_Int(0);
5967 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5968 variable[15] = variable[14];
5969 if (UNTAG_Bool(variable[15])) { /* and */
5970 variable[15] = variable[11];
5971 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
5972 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
5973 }
5974 variable[14] = variable[15];
5975 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
5976 variable[14] = variable[11];
5977 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
5978 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5979 variable[13] = variable[14];
5980 goto return_label221;
5981 return_label221: while(false);
5982 variable[11] = variable[13];
5983 variable[12] = variable[11];
5984 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
5985 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
5986 variable[14] = variable[13];
5987 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
5988 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5989 variable[7] = variable[8] /*s=*/;
5990 } else { /*if*/
5991 if (once_bool_222) variable[8] = once_value_222;
5992 else {
5993 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)); /*new String*/
5994 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
5995 once_value_222 = variable[8];
5996 once_bool_222 = true;
5997 }
5998 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
5999 if (UNTAG_Bool(variable[8])) { /*if*/
6000 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6001 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)); /*new String*/
6002 variable[10] = variable[9];
6003 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6004 variable[11] = variable[3] /*p*/;
6005 variable[12] = TAG_Int(0);
6006 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6007 variable[15] = variable[14];
6008 if (UNTAG_Bool(variable[15])) { /* and */
6009 variable[15] = variable[11];
6010 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6011 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6012 }
6013 variable[14] = variable[15];
6014 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6015 variable[14] = variable[11];
6016 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6017 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6018 variable[13] = variable[14];
6019 goto return_label223;
6020 return_label223: while(false);
6021 variable[11] = variable[13];
6022 variable[12] = variable[11];
6023 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6024 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)); /*new String*/
6025 variable[14] = variable[13];
6026 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6027 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6028 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6029 } else { /*if*/
6030 if (once_bool_224) variable[8] = once_value_224;
6031 else {
6032 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)); /*new String*/
6033 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6034 once_value_224 = variable[8];
6035 once_bool_224 = true;
6036 }
6037 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6038 if (UNTAG_Bool(variable[8])) { /*if*/
6039 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6040 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)); /*new String*/
6041 variable[10] = variable[9];
6042 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6043 variable[11] = variable[3] /*p*/;
6044 variable[12] = TAG_Int(0);
6045 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6046 variable[15] = variable[14];
6047 if (UNTAG_Bool(variable[15])) { /* and */
6048 variable[15] = variable[11];
6049 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6050 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6051 }
6052 variable[14] = variable[15];
6053 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6054 variable[14] = variable[11];
6055 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6056 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6057 variable[13] = variable[14];
6058 goto return_label225;
6059 return_label225: while(false);
6060 variable[11] = variable[13];
6061 variable[12] = variable[11];
6062 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6063 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6064 variable[14] = variable[13];
6065 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6066 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6067 variable[7] = variable[8] /*s=*/;
6068 } else { /*if*/
6069 if (once_bool_226) variable[8] = once_value_226;
6070 else {
6071 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)); /*new String*/
6072 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6073 once_value_226 = variable[8];
6074 once_bool_226 = true;
6075 }
6076 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6077 if (UNTAG_Bool(variable[8])) { /*if*/
6078 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6079 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)); /*new String*/
6080 variable[10] = variable[9];
6081 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6082 variable[11] = variable[3] /*p*/;
6083 variable[12] = TAG_Int(0);
6084 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6085 variable[15] = variable[14];
6086 if (UNTAG_Bool(variable[15])) { /* and */
6087 variable[15] = variable[11];
6088 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6089 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6090 }
6091 variable[14] = variable[15];
6092 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6093 variable[14] = variable[11];
6094 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6095 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6096 variable[13] = variable[14];
6097 goto return_label227;
6098 return_label227: while(false);
6099 variable[11] = variable[13];
6100 variable[12] = variable[11];
6101 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6102 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6103 variable[14] = variable[13];
6104 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6105 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6106 variable[7] = variable[8] /*s=*/;
6107 } else { /*if*/
6108 if (once_bool_228) variable[8] = once_value_228;
6109 else {
6110 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)); /*new String*/
6111 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6112 once_value_228 = variable[8];
6113 once_bool_228 = true;
6114 }
6115 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6116 if (UNTAG_Bool(variable[8])) { /*if*/
6117 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
6118 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
6119 variable[10] = variable[9];
6120 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6121 variable[11] = variable[3] /*p*/;
6122 variable[12] = TAG_Int(0);
6123 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6124 variable[15] = variable[14];
6125 if (UNTAG_Bool(variable[15])) { /* and */
6126 variable[15] = variable[11];
6127 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6128 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6129 }
6130 variable[14] = variable[15];
6131 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6132 variable[14] = variable[11];
6133 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6134 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6135 variable[13] = variable[14];
6136 goto return_label229;
6137 return_label229: while(false);
6138 variable[11] = variable[13];
6139 variable[12] = variable[11];
6140 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6141 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)); /*new String*/
6142 variable[14] = variable[13];
6143 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6144 variable[15] = variable[3] /*p*/;
6145 variable[16] = TAG_Int(1);
6146 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6147 variable[19] = variable[18];
6148 if (UNTAG_Bool(variable[19])) { /* and */
6149 variable[19] = variable[15];
6150 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6151 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6152 }
6153 variable[18] = variable[19];
6154 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6155 variable[18] = variable[15];
6156 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6157 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6158 variable[17] = variable[18];
6159 goto return_label230;
6160 return_label230: while(false);
6161 variable[15] = variable[17];
6162 variable[16] = variable[15];
6163 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6164 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6165 variable[18] = variable[17];
6166 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6167 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6168 variable[7] = variable[8] /*s=*/;
6169 } else { /*if*/
6170 if (once_bool_231) variable[8] = once_value_231;
6171 else {
6172 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)); /*new String*/
6173 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6174 once_value_231 = variable[8];
6175 once_bool_231 = true;
6176 }
6177 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6178 if (UNTAG_Bool(variable[8])) { /*if*/
6179 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
6180 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)); /*new String*/
6181 variable[10] = variable[9];
6182 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6183 variable[11] = variable[3] /*p*/;
6184 variable[12] = TAG_Int(0);
6185 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6186 variable[15] = variable[14];
6187 if (UNTAG_Bool(variable[15])) { /* and */
6188 variable[15] = variable[11];
6189 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6190 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6191 }
6192 variable[14] = variable[15];
6193 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6194 variable[14] = variable[11];
6195 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6196 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6197 variable[13] = variable[14];
6198 goto return_label232;
6199 return_label232: while(false);
6200 variable[11] = variable[13];
6201 variable[12] = variable[11];
6202 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6203 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)); /*new String*/
6204 variable[14] = variable[13];
6205 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6206 variable[15] = variable[3] /*p*/;
6207 variable[16] = TAG_Int(1);
6208 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6209 variable[19] = variable[18];
6210 if (UNTAG_Bool(variable[19])) { /* and */
6211 variable[19] = variable[15];
6212 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6213 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6214 }
6215 variable[18] = variable[19];
6216 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6217 variable[18] = variable[15];
6218 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6219 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6220 variable[17] = variable[18];
6221 goto return_label233;
6222 return_label233: while(false);
6223 variable[15] = variable[17];
6224 variable[16] = variable[15];
6225 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6226 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6227 variable[18] = variable[17];
6228 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6229 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6230 variable[7] = variable[8] /*s=*/;
6231 }
6232 }
6233 }
6234 }
6235 }
6236 }
6237 }
6238 } else { /*if*/
6239 if (once_bool_234) variable[8] = once_value_234;
6240 else {
6241 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)); /*new String*/
6242 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6243 once_value_234 = variable[8];
6244 once_bool_234 = true;
6245 }
6246 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
6247 if (UNTAG_Bool(variable[8])) { /*if*/
6248 if (once_bool_235) variable[8] = once_value_235;
6249 else {
6250 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
6251 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6252 once_value_235 = variable[8];
6253 once_bool_235 = true;
6254 }
6255 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6256 if (UNTAG_Bool(variable[8])) { /*if*/
6257 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6258 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)); /*new String*/
6259 variable[10] = variable[9];
6260 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6261 variable[11] = variable[3] /*p*/;
6262 variable[12] = TAG_Int(0);
6263 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6264 variable[15] = variable[14];
6265 if (UNTAG_Bool(variable[15])) { /* and */
6266 variable[15] = variable[11];
6267 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6268 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6269 }
6270 variable[14] = variable[15];
6271 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6272 variable[14] = variable[11];
6273 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6274 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6275 variable[13] = variable[14];
6276 goto return_label236;
6277 return_label236: while(false);
6278 variable[11] = variable[13];
6279 variable[12] = variable[11];
6280 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6281 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6282 variable[14] = variable[13];
6283 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6284 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6285 variable[7] = variable[8] /*s=*/;
6286 } else { /*if*/
6287 if (once_bool_237) variable[8] = once_value_237;
6288 else {
6289 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
6290 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6291 once_value_237 = variable[8];
6292 once_bool_237 = true;
6293 }
6294 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6295 if (UNTAG_Bool(variable[8])) { /*if*/
6296 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
6297 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
6298 variable[10] = variable[9];
6299 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6300 variable[11] = variable[3] /*p*/;
6301 variable[12] = TAG_Int(0);
6302 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6303 variable[15] = variable[14];
6304 if (UNTAG_Bool(variable[15])) { /* and */
6305 variable[15] = variable[11];
6306 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6307 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6308 }
6309 variable[14] = variable[15];
6310 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6311 variable[14] = variable[11];
6312 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6313 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6314 variable[13] = variable[14];
6315 goto return_label238;
6316 return_label238: while(false);
6317 variable[11] = variable[13];
6318 variable[12] = variable[11];
6319 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6320 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
6321 variable[14] = variable[13];
6322 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6323 variable[15] = variable[3] /*p*/;
6324 variable[16] = TAG_Int(1);
6325 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6326 variable[19] = variable[18];
6327 if (UNTAG_Bool(variable[19])) { /* and */
6328 variable[19] = variable[15];
6329 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6330 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6331 }
6332 variable[18] = variable[19];
6333 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6334 variable[18] = variable[15];
6335 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6336 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6337 variable[17] = variable[18];
6338 goto return_label239;
6339 return_label239: while(false);
6340 variable[15] = variable[17];
6341 variable[16] = variable[15];
6342 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6343 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)); /*new String*/
6344 variable[18] = variable[17];
6345 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6346 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6347 variable[7] = variable[8] /*s=*/;
6348 } else { /*if*/
6349 if (once_bool_240) variable[8] = once_value_240;
6350 else {
6351 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
6352 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6353 once_value_240 = variable[8];
6354 once_bool_240 = true;
6355 }
6356 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6357 if (UNTAG_Bool(variable[8])) { /*if*/
6358 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
6359 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)); /*new String*/
6360 variable[10] = variable[9];
6361 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6362 variable[11] = variable[3] /*p*/;
6363 variable[12] = TAG_Int(0);
6364 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6365 variable[15] = variable[14];
6366 if (UNTAG_Bool(variable[15])) { /* and */
6367 variable[15] = variable[11];
6368 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6369 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6370 }
6371 variable[14] = variable[15];
6372 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6373 variable[14] = variable[11];
6374 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6375 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6376 variable[13] = variable[14];
6377 goto return_label241;
6378 return_label241: while(false);
6379 variable[11] = variable[13];
6380 variable[12] = variable[11];
6381 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6382 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
6383 variable[14] = variable[13];
6384 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6385 variable[15] = variable[3] /*p*/;
6386 variable[16] = TAG_Int(1);
6387 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6388 variable[19] = variable[18];
6389 if (UNTAG_Bool(variable[19])) { /* and */
6390 variable[19] = variable[15];
6391 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6392 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6393 }
6394 variable[18] = variable[19];
6395 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6396 variable[18] = variable[15];
6397 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6398 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6399 variable[17] = variable[18];
6400 goto return_label242;
6401 return_label242: while(false);
6402 variable[15] = variable[17];
6403 variable[16] = variable[15];
6404 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6405 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)); /*new String*/
6406 variable[18] = variable[17];
6407 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6408 variable[19] = variable[3] /*p*/;
6409 variable[20] = TAG_Int(2);
6410 variable[22] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6411 variable[23] = variable[22];
6412 if (UNTAG_Bool(variable[23])) { /* and */
6413 variable[23] = variable[19];
6414 variable[23] = ATTR_array___AbstractArray____length(variable[23]) /*AbstractArray::_length*/;
6415 variable[23] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)<UNTAG_Int(variable[23]));
6416 }
6417 variable[22] = variable[23];
6418 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6419 variable[22] = variable[19];
6420 variable[22] = ATTR_array___Array____items(variable[22]) /*Array::_items*/;
6421 variable[22] = UNBOX_NativeArray(variable[22])[UNTAG_Int( variable[20] /*index*/)];
6422 variable[21] = variable[22];
6423 goto return_label243;
6424 return_label243: while(false);
6425 variable[19] = variable[21];
6426 variable[20] = variable[19];
6427 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[20]) /*AbstractArray::add*/;
6428 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
6429 variable[22] = variable[21];
6430 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[22]) /*AbstractArray::add*/;
6431 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6432 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6433 } else { /*if*/
6434 if (once_bool_244) variable[8] = once_value_244;
6435 else {
6436 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
6437 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6438 once_value_244 = variable[8];
6439 once_bool_244 = true;
6440 }
6441 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6442 if (UNTAG_Bool(variable[8])) { /*if*/
6443 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
6444 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)); /*new String*/
6445 variable[10] = variable[9];
6446 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6447 variable[11] = variable[3] /*p*/;
6448 variable[12] = TAG_Int(1);
6449 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6450 variable[15] = variable[14];
6451 if (UNTAG_Bool(variable[15])) { /* and */
6452 variable[15] = variable[11];
6453 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6454 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6455 }
6456 variable[14] = variable[15];
6457 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6458 variable[14] = variable[11];
6459 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6460 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6461 variable[13] = variable[14];
6462 goto return_label245;
6463 return_label245: while(false);
6464 variable[11] = variable[13];
6465 variable[12] = variable[11];
6466 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6467 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)); /*new String*/
6468 variable[14] = variable[13];
6469 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6470 variable[15] = variable[3] /*p*/;
6471 variable[16] = TAG_Int(0);
6472 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6473 variable[19] = variable[18];
6474 if (UNTAG_Bool(variable[19])) { /* and */
6475 variable[19] = variable[15];
6476 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6477 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6478 }
6479 variable[18] = variable[19];
6480 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6481 variable[18] = variable[15];
6482 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6483 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6484 variable[17] = variable[18];
6485 goto return_label246;
6486 return_label246: while(false);
6487 variable[15] = variable[17];
6488 variable[16] = variable[15];
6489 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6490 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
6491 variable[18] = variable[17];
6492 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6493 variable[19] = variable[3] /*p*/;
6494 variable[20] = TAG_Int(2);
6495 variable[22] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6496 variable[23] = variable[22];
6497 if (UNTAG_Bool(variable[23])) { /* and */
6498 variable[23] = variable[19];
6499 variable[23] = ATTR_array___AbstractArray____length(variable[23]) /*AbstractArray::_length*/;
6500 variable[23] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)<UNTAG_Int(variable[23]));
6501 }
6502 variable[22] = variable[23];
6503 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6504 variable[22] = variable[19];
6505 variable[22] = ATTR_array___Array____items(variable[22]) /*Array::_items*/;
6506 variable[22] = UNBOX_NativeArray(variable[22])[UNTAG_Int( variable[20] /*index*/)];
6507 variable[21] = variable[22];
6508 goto return_label247;
6509 return_label247: while(false);
6510 variable[19] = variable[21];
6511 variable[20] = variable[19];
6512 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[20]) /*AbstractArray::add*/;
6513 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)); /*new String*/
6514 variable[22] = variable[21];
6515 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[22]) /*AbstractArray::add*/;
6516 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6517 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6518 }
6519 }
6520 }
6521 }
6522 } else { /*if*/
6523 if (once_bool_248) variable[8] = once_value_248;
6524 else {
6525 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)); /*new String*/
6526 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6527 once_value_248 = variable[8];
6528 once_bool_248 = true;
6529 }
6530 variable[8] = TAG_Bool(( variable[5] /*c*/ == variable[8]) || (( variable[5] /*c*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*c*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*c*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*c*/)( variable[5] /*c*/, variable[8]) /*Object::==*/)))));
6531 if (UNTAG_Bool(variable[8])) { /*if*/
6532 if (once_bool_249) variable[8] = once_value_249;
6533 else {
6534 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
6535 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6536 once_value_249 = variable[8];
6537 once_bool_249 = true;
6538 }
6539 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6540 if (UNTAG_Bool(variable[8])) { /*if*/
6541 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6542 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)); /*new String*/
6543 variable[10] = variable[9];
6544 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6545 variable[11] = variable[3] /*p*/;
6546 variable[12] = TAG_Int(0);
6547 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6548 variable[15] = variable[14];
6549 if (UNTAG_Bool(variable[15])) { /* and */
6550 variable[15] = variable[11];
6551 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6552 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6553 }
6554 variable[14] = variable[15];
6555 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6556 variable[14] = variable[11];
6557 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6558 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6559 variable[13] = variable[14];
6560 goto return_label250;
6561 return_label250: while(false);
6562 variable[11] = variable[13];
6563 variable[12] = variable[11];
6564 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6565 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
6566 variable[14] = variable[13];
6567 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6568 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6569 variable[7] = variable[8] /*s=*/;
6570 } else { /*if*/
6571 if (once_bool_251) variable[8] = once_value_251;
6572 else {
6573 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)); /*new String*/
6574 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6575 once_value_251 = variable[8];
6576 once_bool_251 = true;
6577 }
6578 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6579 if (UNTAG_Bool(variable[8])) { /*if*/
6580 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6581 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
6582 variable[10] = variable[9];
6583 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6584 variable[11] = variable[3] /*p*/;
6585 variable[12] = TAG_Int(0);
6586 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6587 variable[15] = variable[14];
6588 if (UNTAG_Bool(variable[15])) { /* and */
6589 variable[15] = variable[11];
6590 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6591 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6592 }
6593 variable[14] = variable[15];
6594 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6595 variable[14] = variable[11];
6596 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6597 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6598 variable[13] = variable[14];
6599 goto return_label252;
6600 return_label252: while(false);
6601 variable[11] = variable[13];
6602 variable[12] = variable[11];
6603 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6604 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
6605 variable[14] = variable[13];
6606 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6607 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6608 variable[7] = variable[8] /*s=*/;
6609 } else { /*if*/
6610 if (once_bool_253) variable[8] = once_value_253;
6611 else {
6612 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)); /*new String*/
6613 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6614 once_value_253 = variable[8];
6615 once_bool_253 = true;
6616 }
6617 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6618 if (UNTAG_Bool(variable[8])) { /*if*/
6619 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
6620 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)); /*new String*/
6621 variable[10] = variable[9];
6622 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6623 variable[11] = variable[3] /*p*/;
6624 variable[12] = TAG_Int(0);
6625 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6626 variable[15] = variable[14];
6627 if (UNTAG_Bool(variable[15])) { /* and */
6628 variable[15] = variable[11];
6629 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6630 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6631 }
6632 variable[14] = variable[15];
6633 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6634 variable[14] = variable[11];
6635 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6636 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6637 variable[13] = variable[14];
6638 goto return_label254;
6639 return_label254: while(false);
6640 variable[11] = variable[13];
6641 variable[12] = variable[11];
6642 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6643 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
6644 variable[14] = variable[13];
6645 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6646 variable[15] = variable[3] /*p*/;
6647 variable[16] = TAG_Int(1);
6648 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6649 variable[19] = variable[18];
6650 if (UNTAG_Bool(variable[19])) { /* and */
6651 variable[19] = variable[15];
6652 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6653 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6654 }
6655 variable[18] = variable[19];
6656 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6657 variable[18] = variable[15];
6658 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6659 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6660 variable[17] = variable[18];
6661 goto return_label255;
6662 return_label255: while(false);
6663 variable[15] = variable[17];
6664 variable[16] = variable[15];
6665 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6666 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)); /*new String*/
6667 variable[18] = variable[17];
6668 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6669 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6670 variable[7] = variable[8] /*s=*/;
6671 } else { /*if*/
6672 if (once_bool_256) variable[8] = once_value_256;
6673 else {
6674 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)); /*new String*/
6675 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6676 once_value_256 = variable[8];
6677 once_bool_256 = true;
6678 }
6679 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6680 if (UNTAG_Bool(variable[8])) { /*if*/
6681 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
6682 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)); /*new String*/
6683 variable[10] = variable[9];
6684 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6685 variable[11] = variable[3] /*p*/;
6686 variable[12] = TAG_Int(0);
6687 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6688 variable[15] = variable[14];
6689 if (UNTAG_Bool(variable[15])) { /* and */
6690 variable[15] = variable[11];
6691 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6692 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6693 }
6694 variable[14] = variable[15];
6695 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6696 variable[14] = variable[11];
6697 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6698 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6699 variable[13] = variable[14];
6700 goto return_label257;
6701 return_label257: while(false);
6702 variable[11] = variable[13];
6703 variable[12] = variable[11];
6704 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6705 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)); /*new String*/
6706 variable[14] = variable[13];
6707 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6708 variable[15] = variable[3] /*p*/;
6709 variable[16] = TAG_Int(1);
6710 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6711 variable[19] = variable[18];
6712 if (UNTAG_Bool(variable[19])) { /* and */
6713 variable[19] = variable[15];
6714 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6715 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6716 }
6717 variable[18] = variable[19];
6718 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6719 variable[18] = variable[15];
6720 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6721 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6722 variable[17] = variable[18];
6723 goto return_label258;
6724 return_label258: while(false);
6725 variable[15] = variable[17];
6726 variable[16] = variable[15];
6727 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6728 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)); /*new String*/
6729 variable[18] = variable[17];
6730 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6731 variable[19] = variable[3] /*p*/;
6732 variable[20] = TAG_Int(2);
6733 variable[22] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6734 variable[23] = variable[22];
6735 if (UNTAG_Bool(variable[23])) { /* and */
6736 variable[23] = variable[19];
6737 variable[23] = ATTR_array___AbstractArray____length(variable[23]) /*AbstractArray::_length*/;
6738 variable[23] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)<UNTAG_Int(variable[23]));
6739 }
6740 variable[22] = variable[23];
6741 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6742 variable[22] = variable[19];
6743 variable[22] = ATTR_array___Array____items(variable[22]) /*Array::_items*/;
6744 variable[22] = UNBOX_NativeArray(variable[22])[UNTAG_Int( variable[20] /*index*/)];
6745 variable[21] = variable[22];
6746 goto return_label259;
6747 return_label259: while(false);
6748 variable[19] = variable[21];
6749 variable[20] = variable[19];
6750 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[20]) /*AbstractArray::add*/;
6751 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
6752 variable[22] = variable[21];
6753 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[22]) /*AbstractArray::add*/;
6754 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6755 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6756 } else { /*if*/
6757 if (once_bool_260) variable[8] = once_value_260;
6758 else {
6759 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)); /*new String*/
6760 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6761 once_value_260 = variable[8];
6762 once_bool_260 = true;
6763 }
6764 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6765 if (UNTAG_Bool(variable[8])) { /*if*/
6766 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(11)); /*new Array[String]*/
6767 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)); /*new String*/
6768 variable[10] = variable[9];
6769 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6770 variable[11] = variable[3] /*p*/;
6771 variable[12] = TAG_Int(1);
6772 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6773 variable[15] = variable[14];
6774 if (UNTAG_Bool(variable[15])) { /* and */
6775 variable[15] = variable[11];
6776 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6777 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6778 }
6779 variable[14] = variable[15];
6780 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6781 variable[14] = variable[11];
6782 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6783 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6784 variable[13] = variable[14];
6785 goto return_label261;
6786 return_label261: while(false);
6787 variable[11] = variable[13];
6788 variable[12] = variable[11];
6789 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6790 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
6791 variable[14] = variable[13];
6792 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6793 variable[15] = variable[3] /*p*/;
6794 variable[16] = TAG_Int(4);
6795 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6796 variable[19] = variable[18];
6797 if (UNTAG_Bool(variable[19])) { /* and */
6798 variable[19] = variable[15];
6799 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6800 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6801 }
6802 variable[18] = variable[19];
6803 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6804 variable[18] = variable[15];
6805 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6806 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6807 variable[17] = variable[18];
6808 goto return_label262;
6809 return_label262: while(false);
6810 variable[15] = variable[17];
6811 variable[16] = variable[15];
6812 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
6813 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)); /*new String*/
6814 variable[18] = variable[17];
6815 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
6816 variable[19] = variable[3] /*p*/;
6817 variable[20] = TAG_Int(0);
6818 variable[22] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6819 variable[23] = variable[22];
6820 if (UNTAG_Bool(variable[23])) { /* and */
6821 variable[23] = variable[19];
6822 variable[23] = ATTR_array___AbstractArray____length(variable[23]) /*AbstractArray::_length*/;
6823 variable[23] = TAG_Bool(UNTAG_Int( variable[20] /*index*/)<UNTAG_Int(variable[23]));
6824 }
6825 variable[22] = variable[23];
6826 if (!UNTAG_Bool(variable[22])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6827 variable[22] = variable[19];
6828 variable[22] = ATTR_array___Array____items(variable[22]) /*Array::_items*/;
6829 variable[22] = UNBOX_NativeArray(variable[22])[UNTAG_Int( variable[20] /*index*/)];
6830 variable[21] = variable[22];
6831 goto return_label263;
6832 return_label263: while(false);
6833 variable[19] = variable[21];
6834 variable[20] = variable[19];
6835 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[20]) /*AbstractArray::add*/;
6836 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)); /*new String*/
6837 variable[22] = variable[21];
6838 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[22]) /*AbstractArray::add*/;
6839 variable[23] = variable[3] /*p*/;
6840 variable[24] = TAG_Int(3);
6841 variable[26] = TAG_Bool(UNTAG_Int( variable[24] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6842 variable[27] = variable[26];
6843 if (UNTAG_Bool(variable[27])) { /* and */
6844 variable[27] = variable[23];
6845 variable[27] = ATTR_array___AbstractArray____length(variable[27]) /*AbstractArray::_length*/;
6846 variable[27] = TAG_Bool(UNTAG_Int( variable[24] /*index*/)<UNTAG_Int(variable[27]));
6847 }
6848 variable[26] = variable[27];
6849 if (!UNTAG_Bool(variable[26])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6850 variable[26] = variable[23];
6851 variable[26] = ATTR_array___Array____items(variable[26]) /*Array::_items*/;
6852 variable[26] = UNBOX_NativeArray(variable[26])[UNTAG_Int( variable[24] /*index*/)];
6853 variable[25] = variable[26];
6854 goto return_label264;
6855 return_label264: while(false);
6856 variable[23] = variable[25];
6857 variable[24] = variable[23];
6858 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[24]) /*AbstractArray::add*/;
6859 variable[25] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)); /*new String*/
6860 variable[26] = variable[25];
6861 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[26]) /*AbstractArray::add*/;
6862 variable[27] = variable[3] /*p*/;
6863 variable[28] = TAG_Int(2);
6864 variable[30] = TAG_Bool(UNTAG_Int( variable[28] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6865 variable[31] = variable[30];
6866 if (UNTAG_Bool(variable[31])) { /* and */
6867 variable[31] = variable[27];
6868 variable[31] = ATTR_array___AbstractArray____length(variable[31]) /*AbstractArray::_length*/;
6869 variable[31] = TAG_Bool(UNTAG_Int( variable[28] /*index*/)<UNTAG_Int(variable[31]));
6870 }
6871 variable[30] = variable[31];
6872 if (!UNTAG_Bool(variable[30])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6873 variable[30] = variable[27];
6874 variable[30] = ATTR_array___Array____items(variable[30]) /*Array::_items*/;
6875 variable[30] = UNBOX_NativeArray(variable[30])[UNTAG_Int( variable[28] /*index*/)];
6876 variable[29] = variable[30];
6877 goto return_label265;
6878 return_label265: while(false);
6879 variable[27] = variable[29];
6880 variable[28] = variable[27];
6881 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[28]) /*AbstractArray::add*/;
6882 variable[29] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
6883 variable[30] = variable[29];
6884 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[30]) /*AbstractArray::add*/;
6885 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6886 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6887 }
6888 }
6889 }
6890 }
6891 }
6892 } else { /*if*/
6893 if (once_bool_266) variable[8] = once_value_266;
6894 else {
6895 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)); /*new String*/
6896 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6897 once_value_266 = variable[8];
6898 once_bool_266 = true;
6899 }
6900 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6901 if (UNTAG_Bool(variable[8])) { /*if*/
6902 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
6903 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)"), TAG_Int(16)); /*new String*/
6904 variable[10] = variable[9];
6905 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6906 variable[11] = variable[3] /*p*/;
6907 variable[12] = TAG_Int(0);
6908 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6909 variable[15] = variable[14];
6910 if (UNTAG_Bool(variable[15])) { /* and */
6911 variable[15] = variable[11];
6912 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6913 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6914 }
6915 variable[14] = variable[15];
6916 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6917 variable[14] = variable[11];
6918 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6919 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6920 variable[13] = variable[14];
6921 goto return_label267;
6922 return_label267: while(false);
6923 variable[11] = variable[13];
6924 variable[12] = variable[11];
6925 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6926 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
6927 variable[14] = variable[13];
6928 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6929 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6930 variable[7] = variable[8] /*s=*/;
6931 } else { /*if*/
6932 if (once_bool_268) variable[8] = once_value_268;
6933 else {
6934 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)); /*new String*/
6935 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6936 once_value_268 = variable[8];
6937 once_bool_268 = true;
6938 }
6939 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6940 if (UNTAG_Bool(variable[8])) { /*if*/
6941 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)); /*new String*/
6942 variable[7] = variable[8] /*s=*/;
6943 } else { /*if*/
6944 if (once_bool_269) variable[8] = once_value_269;
6945 else {
6946 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)); /*new String*/
6947 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6948 once_value_269 = variable[8];
6949 once_bool_269 = true;
6950 }
6951 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
6952 if (UNTAG_Bool(variable[8])) { /*if*/
6953 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
6954 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)); /*new String*/
6955 variable[10] = variable[9];
6956 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
6957 variable[11] = variable[3] /*p*/;
6958 variable[12] = TAG_Int(0);
6959 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6960 variable[15] = variable[14];
6961 if (UNTAG_Bool(variable[15])) { /* and */
6962 variable[15] = variable[11];
6963 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
6964 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
6965 }
6966 variable[14] = variable[15];
6967 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6968 variable[14] = variable[11];
6969 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
6970 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
6971 variable[13] = variable[14];
6972 goto return_label270;
6973 return_label270: while(false);
6974 variable[11] = variable[13];
6975 variable[12] = variable[11];
6976 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
6977 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)); /*new String*/
6978 variable[14] = variable[13];
6979 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
6980 variable[15] = variable[3] /*p*/;
6981 variable[16] = TAG_Int(1);
6982 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6983 variable[19] = variable[18];
6984 if (UNTAG_Bool(variable[19])) { /* and */
6985 variable[19] = variable[15];
6986 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
6987 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
6988 }
6989 variable[18] = variable[19];
6990 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
6991 variable[18] = variable[15];
6992 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
6993 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
6994 variable[17] = variable[18];
6995 goto return_label271;
6996 return_label271: while(false);
6997 variable[15] = variable[17];
6998 variable[16] = variable[15];
6999 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
7000 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)); /*new String*/
7001 variable[18] = variable[17];
7002 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[18]) /*AbstractArray::add*/;
7003 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7004 variable[7] = variable[8] /*s=*/;
7005 } else { /*if*/
7006 if (once_bool_272) variable[8] = once_value_272;
7007 else {
7008 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)); /*new String*/
7009 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7010 once_value_272 = variable[8];
7011 once_bool_272 = true;
7012 }
7013 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
7014 if (UNTAG_Bool(variable[8])) { /*if*/
7015 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7016 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)); /*new String*/
7017 variable[10] = variable[9];
7018 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
7019 variable[11] = variable[3] /*p*/;
7020 variable[12] = TAG_Int(1);
7021 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7022 variable[15] = variable[14];
7023 if (UNTAG_Bool(variable[15])) { /* and */
7024 variable[15] = variable[11];
7025 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
7026 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
7027 }
7028 variable[14] = variable[15];
7029 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
7030 variable[14] = variable[11];
7031 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
7032 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
7033 variable[13] = variable[14];
7034 goto return_label273;
7035 return_label273: while(false);
7036 variable[11] = variable[13];
7037 variable[12] = variable[11];
7038 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
7039 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)); /*new String*/
7040 variable[14] = variable[13];
7041 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
7042 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7043 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
7044 } else { /*if*/
7045 if (once_bool_274) variable[8] = once_value_274;
7046 else {
7047 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)); /*new String*/
7048 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7049 once_value_274 = variable[8];
7050 once_bool_274 = true;
7051 }
7052 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
7053 if (UNTAG_Bool(variable[8])) { /*if*/
7054 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7055 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
7056 variable[10] = variable[9];
7057 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
7058 variable[11] = variable[3] /*p*/;
7059 variable[12] = TAG_Int(1);
7060 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7061 variable[15] = variable[14];
7062 if (UNTAG_Bool(variable[15])) { /* and */
7063 variable[15] = variable[11];
7064 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
7065 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
7066 }
7067 variable[14] = variable[15];
7068 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
7069 variable[14] = variable[11];
7070 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
7071 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
7072 variable[13] = variable[14];
7073 goto return_label275;
7074 return_label275: while(false);
7075 variable[11] = variable[13];
7076 variable[12] = variable[11];
7077 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
7078 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)); /*new String*/
7079 variable[14] = variable[13];
7080 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
7081 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7082 variable[7] = variable[8] /*s=*/;
7083 } else { /*if*/
7084 if (once_bool_276) variable[8] = once_value_276;
7085 else {
7086 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)); /*new String*/
7087 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7088 once_value_276 = variable[8];
7089 once_bool_276 = true;
7090 }
7091 variable[8] = TAG_Bool(( variable[6] /*n*/ == variable[8]) || (( variable[6] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*n*/,variable[8])):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*n*/)( variable[6] /*n*/, variable[8]) /*Object::==*/)))));
7092 if (UNTAG_Bool(variable[8])) { /*if*/
7093 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7094 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)); /*new String*/
7095 variable[10] = variable[9];
7096 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
7097 variable[11] = variable[3] /*p*/;
7098 variable[12] = TAG_Int(1);
7099 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7100 variable[15] = variable[14];
7101 if (UNTAG_Bool(variable[15])) { /* and */
7102 variable[15] = variable[11];
7103 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
7104 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
7105 }
7106 variable[14] = variable[15];
7107 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
7108 variable[14] = variable[11];
7109 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
7110 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
7111 variable[13] = variable[14];
7112 goto return_label277;
7113 return_label277: while(false);
7114 variable[11] = variable[13];
7115 variable[12] = variable[11];
7116 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
7117 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)); /*new String*/
7118 variable[14] = variable[13];
7119 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
7120 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7121 variable[7] = variable[8] /*s=*/;
7122 } else { /*if*/
7123 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7124 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)); /*new String*/
7125 variable[10] = variable[9];
7126 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
7127 variable[11] = variable[6] /*n*/;
7128 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
7129 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
7130 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)); /*new String*/
7131 variable[13] = variable[12];
7132 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
7133 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7134 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
7135 }
7136 }
7137 }
7138 }
7139 }
7140 }
7141 }
7142 }
7143 }
7144 }
7145 }
7146 }
7147 variable[8] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
7148 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
7149 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
7150 variable[9] = variable[8];
7151 if (UNTAG_Bool(variable[9])) { /* and */
7152 variable[9] = TAG_Bool(( variable[7] /*s*/ == NIT_NULL /*null*/) || (( variable[7] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*s*/)( variable[7] /*s*/, NIT_NULL /*null*/) /*String::==*/)));
7153 }
7154 variable[8] = variable[9];
7155 if (UNTAG_Bool(variable[8])) { /*if*/
7156 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)); /*new String*/
7157 variable[7] = variable[8] /*s=*/;
7158 }
7159 variable[4] = variable[7] /*s*/;
7160 goto return_label81;
7161 return_label81: while(false);
7162 tracehead = trace.prev;
7163 return variable[4];
7164 }
7165 val_t compiling_methods___PExpr___compile_expr(val_t self, val_t param0) {
7166 struct trace_t trace = {NULL, NULL, 825, LOCATE_compiling_methods___PExpr___compile_expr};
7167 val_t *variable = NULL;
7168 void **closurevariable = NULL;
7169 trace.prev = tracehead; tracehead = &trace;
7170 trace.file = LOCATE_compiling_methods;
7171 fprintf(stderr, "Deferred method called");
7172 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 825);
7173 nit_exit(1);
7174 tracehead = trace.prev;
7175 return NIT_NULL;
7176 }
7177 void compiling_methods___PExpr___prepare_compile_stmt(val_t self, val_t param0) {
7178 struct trace_t trace = {NULL, NULL, 829, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
7179 val_t variable[3];
7180 void **closurevariable = NULL;
7181 trace.prev = tracehead; tracehead = &trace;
7182 trace.file = LOCATE_compiling_methods;
7183 variable[0] = self;
7184 variable[1] = param0;
7185 return_label278: while(false);
7186 tracehead = trace.prev;
7187 return;
7188 }
7189 void compiling_methods___PExpr___compile_stmt(val_t self, val_t param0) {
7190 struct trace_t trace = {NULL, NULL, 834, LOCATE_compiling_methods___PExpr___compile_stmt};
7191 val_t variable[5];
7192 void **closurevariable = NULL;
7193 trace.prev = tracehead; tracehead = &trace;
7194 trace.file = LOCATE_compiling_methods;
7195 variable[0] = self;
7196 variable[1] = param0;
7197 variable[3] = variable[0];
7198 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)); /*new String*/
7199 CALL_parser_prod___PNode___printl(variable[3])(variable[3], variable[4]) /*PNode::printl*/;
7200 return_label279: while(false);
7201 tracehead = trace.prev;
7202 return;
7203 }
7204 void compiling_methods___ABlockExpr___compile_stmt(val_t self, val_t param0) {
7205 struct trace_t trace = {NULL, NULL, 840, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
7206 val_t variable[6];
7207 void **closurevariable = NULL;
7208 trace.prev = tracehead; tracehead = &trace;
7209 trace.file = LOCATE_compiling_methods;
7210 variable[0] = self;
7211 variable[1] = param0;
7212 variable[3] = variable[0];
7213 variable[3] = CALL_parser_nodes___ABlockExpr___n_expr(variable[3])(variable[3]) /*ABlockExpr::n_expr*/;
7214 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*List::iterator*/;
7215 while (true) { /*for*/
7216 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*ListIterator::is_ok*/;
7217 if (!UNTAG_Bool(variable[4])) break; /*for*/
7218 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*ListIterator::item*/;
7219 variable[5] = variable[4];
7220 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*n*/) /*CompilerVisitor::compile_stmt*/;
7221 continue_281: while(0);
7222 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*ListIterator::next*/;
7223 }
7224 break_281: while(0);
7225 return_label280: while(false);
7226 tracehead = trace.prev;
7227 return;
7228 }
7229 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t self, val_t param0) {
7230 struct trace_t trace = {NULL, NULL, 849, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
7231 val_t variable[5];
7232 void **closurevariable = NULL;
7233 trace.prev = tracehead; tracehead = &trace;
7234 trace.file = LOCATE_compiling_methods;
7235 variable[0] = self;
7236 variable[1] = param0;
7237 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7238 variable[4] = variable[0];
7239 variable[4] = CALL_syntax_base___AVardeclExpr___variable(variable[4])(variable[4]) /*AVardeclExpr::variable*/;
7240 CALL_compiling_methods___CFunctionContext___register_variable(variable[3])(variable[3], variable[4]) /*CFunctionContext::register_variable*/;
7241 return_label282: while(false);
7242 tracehead = trace.prev;
7243 return;
7244 }
7245 void compiling_methods___AVardeclExpr___compile_stmt(val_t self, val_t param0) {
7246 struct trace_t trace = {NULL, NULL, 854, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
7247 val_t variable[14];
7248 void **closurevariable = NULL;
7249 trace.prev = tracehead; tracehead = &trace;
7250 trace.file = LOCATE_compiling_methods;
7251 variable[0] = self;
7252 variable[1] = param0;
7253 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7254 variable[5] = variable[0];
7255 variable[5] = CALL_syntax_base___AVardeclExpr___variable(variable[5])(variable[5]) /*AVardeclExpr::variable*/;
7256 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
7257 variable[3] = variable[4];
7258 variable[4] = variable[0];
7259 variable[4] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[4])(variable[4]) /*AVardeclExpr::n_expr*/;
7260 variable[4] = TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))));
7261 if (UNTAG_Bool(variable[4])) { /*if*/
7262 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
7263 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/*"), TAG_Int(2)); /*new String*/
7264 variable[6] = variable[5];
7265 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7266 variable[7] = variable[3] /*cname*/;
7267 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
7268 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" is variable "), TAG_Int(13)); /*new String*/
7269 variable[9] = variable[8];
7270 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
7271 variable[10] = variable[0];
7272 variable[10] = CALL_syntax_base___AVardeclExpr___variable(variable[10])(variable[10]) /*AVardeclExpr::variable*/;
7273 variable[10] = CALL_syntax_base___Variable___name(variable[10])(variable[10]) /*Variable::name*/;
7274 variable[11] = variable[10];
7275 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
7276 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[11]) /*AbstractArray::add*/;
7277 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
7278 variable[13] = variable[12];
7279 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[13]) /*AbstractArray::add*/;
7280 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7281 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7282 } else { /*if*/
7283 variable[5] = variable[0];
7284 variable[5] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[5])(variable[5]) /*AVardeclExpr::n_expr*/;
7285 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
7286 variable[4] = variable[5];
7287 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*cname*/, variable[4] /*e*/) /*CompilerVisitor::add_assignment*/;
7288 }
7289 return_label283: while(false);
7290 tracehead = trace.prev;
7291 return;
7292 }
7293 void compiling_methods___AReturnExpr___compile_stmt(val_t self, val_t param0) {
7294 struct trace_t trace = {NULL, NULL, 867, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
7295 val_t variable[10];
7296 void **closurevariable = NULL;
7297 trace.prev = tracehead; tracehead = &trace;
7298 trace.file = LOCATE_compiling_methods;
7299 variable[0] = self;
7300 variable[1] = param0;
7301 variable[3] = variable[0];
7302 variable[3] = CALL_parser_nodes___AReturnExpr___n_expr(variable[3])(variable[3]) /*AReturnExpr::n_expr*/;
7303 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
7304 if (UNTAG_Bool(variable[3])) { /*if*/
7305 variable[4] = variable[0];
7306 variable[4] = CALL_parser_nodes___AReturnExpr___n_expr(variable[4])(variable[4]) /*AReturnExpr::n_expr*/;
7307 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7308 variable[3] = variable[4];
7309 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7310 variable[4] = CALL_compiling_methods___NitMethodContext___return_value(variable[4])(variable[4]) /*NitMethodContext::return_value*/;
7311 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
7312 }
7313 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7314 variable[3] = CALL_compiling_methods___CFunctionContext___in_closure(variable[3])(variable[3]) /*CFunctionContext::in_closure*/;
7315 if (UNTAG_Bool(variable[3])) { /*if*/
7316 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7317 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)); /*new String*/
7318 variable[5] = variable[4];
7319 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7320 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7321 variable[6] = CALL_compiling_methods___NitMethodContext___return_value(variable[6])(variable[6]) /*NitMethodContext::return_value*/;
7322 variable[7] = variable[6];
7323 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7324 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
7325 variable[9] = variable[8];
7326 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7327 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7328 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7329 }
7330 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7331 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
7332 variable[5] = variable[4];
7333 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7334 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7335 variable[6] = CALL_compiling_methods___NitMethodContext___return_label(variable[6])(variable[6]) /*NitMethodContext::return_label*/;
7336 variable[7] = variable[6];
7337 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7338 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7339 variable[9] = variable[8];
7340 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7341 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7342 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7343 return_label284: while(false);
7344 tracehead = trace.prev;
7345 return;
7346 }
7347 void compiling_methods___ABreakExpr___compile_stmt(val_t self, val_t param0) {
7348 struct trace_t trace = {NULL, NULL, 879, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
7349 val_t variable[10];
7350 void **closurevariable = NULL;
7351 trace.prev = tracehead; tracehead = &trace;
7352 trace.file = LOCATE_compiling_methods;
7353 variable[0] = self;
7354 variable[1] = param0;
7355 variable[3] = variable[0];
7356 variable[3] = CALL_parser_nodes___ABreakExpr___n_expr(variable[3])(variable[3]) /*ABreakExpr::n_expr*/;
7357 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
7358 if (UNTAG_Bool(variable[3])) { /*if*/
7359 variable[4] = variable[0];
7360 variable[4] = CALL_parser_nodes___ABreakExpr___n_expr(variable[4])(variable[4]) /*ABreakExpr::n_expr*/;
7361 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7362 variable[3] = variable[4];
7363 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7364 variable[4] = CALL_compiling_methods___NitMethodContext___break_value(variable[4])(variable[4]) /*NitMethodContext::break_value*/;
7365 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
7366 }
7367 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7368 variable[3] = CALL_compiling_methods___CFunctionContext___in_closure(variable[3])(variable[3]) /*CFunctionContext::in_closure*/;
7369 if (UNTAG_Bool(variable[3])) { /*if*/
7370 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7371 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)); /*new String*/
7372 variable[5] = variable[4];
7373 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7374 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7375 variable[6] = CALL_compiling_methods___NitMethodContext___break_value(variable[6])(variable[6]) /*NitMethodContext::break_value*/;
7376 variable[7] = variable[6];
7377 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7378 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("); closctx->broke_value = *closctx->has_broke;"), TAG_Int(46)); /*new String*/
7379 variable[9] = variable[8];
7380 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7381 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7382 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7383 }
7384 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7385 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
7386 variable[5] = variable[4];
7387 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7388 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7389 variable[6] = CALL_compiling_methods___NitMethodContext___break_label(variable[6])(variable[6]) /*NitMethodContext::break_label*/;
7390 variable[7] = variable[6];
7391 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7392 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7393 variable[9] = variable[8];
7394 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7395 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7396 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7397 return_label285: while(false);
7398 tracehead = trace.prev;
7399 return;
7400 }
7401 void compiling_methods___AContinueExpr___compile_stmt(val_t self, val_t param0) {
7402 struct trace_t trace = {NULL, NULL, 891, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
7403 val_t variable[10];
7404 void **closurevariable = NULL;
7405 trace.prev = tracehead; tracehead = &trace;
7406 trace.file = LOCATE_compiling_methods;
7407 variable[0] = self;
7408 variable[1] = param0;
7409 variable[3] = variable[0];
7410 variable[3] = CALL_parser_nodes___AContinueExpr___n_expr(variable[3])(variable[3]) /*AContinueExpr::n_expr*/;
7411 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
7412 if (UNTAG_Bool(variable[3])) { /*if*/
7413 variable[4] = variable[0];
7414 variable[4] = CALL_parser_nodes___AContinueExpr___n_expr(variable[4])(variable[4]) /*AContinueExpr::n_expr*/;
7415 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7416 variable[3] = variable[4];
7417 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7418 variable[4] = CALL_compiling_methods___NitMethodContext___continue_value(variable[4])(variable[4]) /*NitMethodContext::continue_value*/;
7419 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
7420 }
7421 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7422 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
7423 variable[5] = variable[4];
7424 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7425 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7426 variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
7427 variable[7] = variable[6];
7428 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7429 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
7430 variable[9] = variable[8];
7431 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7432 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7433 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7434 return_label286: while(false);
7435 tracehead = trace.prev;
7436 return;
7437 }
7438 void compiling_methods___AAbortExpr___compile_stmt(val_t self, val_t param0) {
7439 struct trace_t trace = {NULL, NULL, 902, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
7440 val_t variable[10];
7441 void **closurevariable = NULL;
7442 trace.prev = tracehead; tracehead = &trace;
7443 trace.file = LOCATE_compiling_methods;
7444 variable[0] = self;
7445 variable[1] = param0;
7446 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7447 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)); /*new String*/
7448 variable[5] = variable[4];
7449 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7450 variable[6] = variable[0];
7451 variable[6] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::printf_locate_error*/;
7452 variable[7] = variable[6];
7453 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7454 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);"), TAG_Int(13)); /*new String*/
7455 variable[9] = variable[8];
7456 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7457 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7458 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7459 return_label287: while(false);
7460 tracehead = trace.prev;
7461 return;
7462 }
7463 void compiling_methods___ADoExpr___compile_stmt(val_t self, val_t param0) {
7464 struct trace_t trace = {NULL, NULL, 909, LOCATE_compiling_methods___ADoExpr___compile_stmt};
7465 val_t variable[4];
7466 void **closurevariable = NULL;
7467 trace.prev = tracehead; tracehead = &trace;
7468 trace.file = LOCATE_compiling_methods;
7469 variable[0] = self;
7470 variable[1] = param0;
7471 variable[3] = variable[0];
7472 variable[3] = CALL_parser_nodes___ADoExpr___n_block(variable[3])(variable[3]) /*ADoExpr::n_block*/;
7473 variable[3] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[3] == NIT_NULL /*null*/) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], NIT_NULL /*null*/) /*Object::==*/)))))));
7474 if (UNTAG_Bool(variable[3])) { /*if*/
7475 variable[3] = variable[0];
7476 variable[3] = CALL_parser_nodes___ADoExpr___n_block(variable[3])(variable[3]) /*ADoExpr::n_block*/;
7477 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_stmt*/;
7478 }
7479 return_label288: while(false);
7480 tracehead = trace.prev;
7481 return;
7482 }
7483 void compiling_methods___AIfExpr___compile_stmt(val_t self, val_t param0) {
7484 struct trace_t trace = {NULL, NULL, 918, LOCATE_compiling_methods___AIfExpr___compile_stmt};
7485 val_t variable[10];
7486 void **closurevariable = NULL;
7487 trace.prev = tracehead; tracehead = &trace;
7488 trace.file = LOCATE_compiling_methods;
7489 variable[0] = self;
7490 variable[1] = param0;
7491 variable[4] = variable[0];
7492 variable[4] = CALL_parser_nodes___AIfExpr___n_expr(variable[4])(variable[4]) /*AIfExpr::n_expr*/;
7493 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7494 variable[3] = variable[4];
7495 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7496 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
7497 variable[6] = variable[5];
7498 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7499 variable[7] = variable[3] /*e*/;
7500 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
7501 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
7502 variable[9] = variable[8];
7503 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
7504 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7505 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7506 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7507 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
7508 variable[4] = variable[0];
7509 variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[4])(variable[4]) /*AIfExpr::n_then*/;
7510 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
7511 if (UNTAG_Bool(variable[4])) { /*if*/
7512 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7513 variable[4] = variable[0];
7514 variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[4])(variable[4]) /*AIfExpr::n_then*/;
7515 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
7516 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7517 }
7518 variable[4] = variable[0];
7519 variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[4])(variable[4]) /*AIfExpr::n_else*/;
7520 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
7521 if (UNTAG_Bool(variable[4])) { /*if*/
7522 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
7523 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7524 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7525 variable[4] = variable[0];
7526 variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[4])(variable[4]) /*AIfExpr::n_else*/;
7527 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
7528 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7529 }
7530 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
7531 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7532 return_label289: while(false);
7533 tracehead = trace.prev;
7534 return;
7535 }
7536 val_t compiling_methods___AIfexprExpr___compile_expr(val_t self, val_t param0) {
7537 struct trace_t trace = {NULL, NULL, 939, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
7538 val_t variable[10];
7539 void **closurevariable = NULL;
7540 trace.prev = tracehead; tracehead = &trace;
7541 trace.file = LOCATE_compiling_methods;
7542 variable[0] = self;
7543 variable[1] = param0;
7544 variable[4] = variable[0];
7545 variable[4] = CALL_parser_nodes___AIfexprExpr___n_expr(variable[4])(variable[4]) /*AIfexprExpr::n_expr*/;
7546 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7547 variable[3] = variable[4];
7548 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7549 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
7550 variable[6] = variable[5];
7551 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7552 variable[7] = variable[3] /*e*/;
7553 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
7554 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)); /*new String*/
7555 variable[9] = variable[8];
7556 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
7557 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7558 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7559 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7560 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
7561 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7562 variable[5] = variable[0];
7563 variable[5] = CALL_parser_nodes___AIfexprExpr___n_then(variable[5])(variable[5]) /*AIfexprExpr::n_then*/;
7564 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
7565 variable[5] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::ensure_var*/;
7566 variable[4] = variable[5];
7567 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7568 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)); /*new String*/
7569 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
7570 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7571 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[4] /*e*/) /*CFunctionContext::free_var*/;
7572 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7573 variable[6] = variable[0];
7574 variable[6] = CALL_parser_nodes___AIfexprExpr___n_else(variable[6])(variable[6]) /*AIfexprExpr::n_else*/;
7575 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
7576 variable[6] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::ensure_var*/;
7577 variable[5] = variable[6];
7578 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*e*/, variable[5] /*e2*/) /*CompilerVisitor::add_assignment*/;
7579 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7580 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
7581 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
7582 variable[2] = variable[4] /*e*/;
7583 goto return_label290;
7584 return_label290: while(false);
7585 tracehead = trace.prev;
7586 return variable[2];
7587 }
7588 void compiling_methods___AControlableBlock___compile_stmt(val_t self, val_t param0) {
7589 struct trace_t trace = {NULL, NULL, 960, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
7590 val_t variable[13];
7591 void **closurevariable = NULL;
7592 trace.prev = tracehead; tracehead = &trace;
7593 trace.file = LOCATE_compiling_methods;
7594 variable[0] = self;
7595 variable[1] = param0;
7596 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7597 variable[4] = CALL_compiling_methods___NitMethodContext___break_label(variable[4])(variable[4]) /*NitMethodContext::break_label*/;
7598 variable[3] = variable[4];
7599 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7600 variable[5] = CALL_compiling_methods___NitMethodContext___continue_label(variable[5])(variable[5]) /*NitMethodContext::continue_label*/;
7601 variable[4] = variable[5];
7602 variable[6] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
7603 variable[5] = variable[6];
7604 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7605 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7606 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)); /*new String*/
7607 variable[9] = variable[8];
7608 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
7609 variable[10] = variable[5] /*id*/;
7610 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
7611 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
7612 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7613 variable[12] = variable[11];
7614 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
7615 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
7616 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::break_label=*/;
7617 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7618 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7619 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)); /*new String*/
7620 variable[9] = variable[8];
7621 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
7622 variable[10] = variable[5] /*id*/;
7623 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
7624 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
7625 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7626 variable[12] = variable[11];
7627 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
7628 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
7629 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::continue_label=*/;
7630 variable[6] = variable[0];
7631 CALL_compiling_methods___AControlableBlock___compile_inside_block(variable[6])(variable[6], variable[1] /*v*/) /*AControlableBlock::compile_inside_block*/;
7632 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7633 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6], variable[3] /*old_break_label*/) /*NitMethodContext::break_label=*/;
7634 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7635 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6], variable[4] /*old_continue_label*/) /*NitMethodContext::continue_label=*/;
7636 return_label291: while(false);
7637 tracehead = trace.prev;
7638 return;
7639 }
7640 void compiling_methods___AControlableBlock___compile_inside_block(val_t self, val_t param0) {
7641 struct trace_t trace = {NULL, NULL, 959, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
7642 val_t *variable = NULL;
7643 void **closurevariable = NULL;
7644 trace.prev = tracehead; tracehead = &trace;
7645 trace.file = LOCATE_compiling_methods;
7646 fprintf(stderr, "Deferred method called");
7647 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 959);
7648 nit_exit(1);
7649 tracehead = trace.prev;
7650 return;
7651 }
7652 void compiling_methods___AWhileExpr___compile_inside_block(val_t self, val_t param0) {
7653 struct trace_t trace = {NULL, NULL, 977, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
7654 val_t variable[11];
7655 void **closurevariable = NULL;
7656 trace.prev = tracehead; tracehead = &trace;
7657 trace.file = LOCATE_compiling_methods;
7658 variable[0] = self;
7659 variable[1] = param0;
7660 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)); /*new String*/
7661 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
7662 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7663 variable[4] = variable[0];
7664 variable[4] = CALL_parser_nodes___AWhileExpr___n_expr(variable[4])(variable[4]) /*AWhileExpr::n_expr*/;
7665 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7666 variable[3] = variable[4];
7667 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7668 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
7669 variable[6] = variable[5];
7670 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7671 variable[7] = variable[3] /*e*/;
7672 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
7673 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)); /*new String*/
7674 variable[9] = variable[8];
7675 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
7676 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7677 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7678 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7679 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
7680 variable[4] = variable[0];
7681 variable[4] = CALL_parser_nodes___AWhileExpr___n_block(variable[4])(variable[4]) /*AWhileExpr::n_block*/;
7682 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
7683 if (UNTAG_Bool(variable[4])) { /*if*/
7684 variable[4] = variable[0];
7685 variable[4] = CALL_parser_nodes___AWhileExpr___n_block(variable[4])(variable[4]) /*AWhileExpr::n_block*/;
7686 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
7687 }
7688 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7689 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7690 variable[6] = variable[5];
7691 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7692 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7693 variable[7] = CALL_compiling_methods___NitMethodContext___continue_label(variable[7])(variable[7]) /*NitMethodContext::continue_label*/;
7694 variable[8] = variable[7];
7695 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
7696 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
7697 variable[10] = variable[9];
7698 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
7699 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7700 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7701 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7702 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
7703 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7704 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7705 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7706 variable[6] = variable[5];
7707 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
7708 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7709 variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
7710 variable[8] = variable[7];
7711 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[8]) /*AbstractArray::add*/;
7712 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
7713 variable[10] = variable[9];
7714 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[10]) /*AbstractArray::add*/;
7715 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
7716 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
7717 return_label292: while(false);
7718 tracehead = trace.prev;
7719 return;
7720 }
7721 void compiling_methods___AForExpr___compile_inside_block(val_t self, val_t param0) {
7722 struct trace_t trace = {NULL, NULL, 995, LOCATE_compiling_methods___AForExpr___compile_inside_block};
7723 val_t variable[4];
7724 void **closurevariable = NULL;
7725 trace.prev = tracehead; tracehead = &trace;
7726 trace.file = LOCATE_compiling_methods;
7727 variable[0] = self;
7728 variable[1] = param0;
7729 variable[3] = variable[0];
7730 variable[3] = CALL_parser_nodes___AForExpr___n_vardecl(variable[3])(variable[3]) /*AForExpr::n_vardecl*/;
7731 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_stmt*/;
7732 return_label293: while(false);
7733 tracehead = trace.prev;
7734 return;
7735 }
7736 void compiling_methods___AForVardeclExpr___compile_stmt(val_t self, val_t param0) {
7737 struct trace_t trace = {NULL, NULL, 1002, LOCATE_compiling_methods___AForVardeclExpr___compile_stmt};
7738 val_t variable[18];
7739 void **closurevariable = NULL;
7740 trace.prev = tracehead; tracehead = &trace;
7741 trace.file = LOCATE_compiling_methods;
7742 variable[0] = self;
7743 variable[1] = param0;
7744 variable[4] = variable[0];
7745 variable[4] = CALL_parser_nodes___AForVardeclExpr___n_expr(variable[4])(variable[4]) /*AForVardeclExpr::n_expr*/;
7746 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7747 variable[3] = variable[4];
7748 variable[5] = variable[0];
7749 variable[5] = CALL_typing___AForVardeclExpr___meth_iterator(variable[5])(variable[5]) /*AForVardeclExpr::meth_iterator*/;
7750 variable[5] = CALL_static_type___MMLocalProperty___signature(variable[5])(variable[5]) /*MMLocalProperty::signature*/;
7751 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
7752 variable[4] = variable[5];
7753 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7754 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[3] /*e*/) /*CFunctionContext::free_var*/;
7755 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7756 variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6]) /*CFunctionContext::get_var*/;
7757 variable[5] = variable[6];
7758 variable[6] = variable[0];
7759 variable[6] = CALL_typing___AForVardeclExpr___meth_iterator(variable[6])(variable[6]) /*AForVardeclExpr::meth_iterator*/;
7760 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7761 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e*/) /*AbstractArray::add*/;
7762 variable[6] = CALL_compiling_methods___MMMethod___compile_call(variable[6])(variable[6], variable[1] /*v*/, variable[7]) /*MMMethod::compile_call*/;
7763 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*iter*/, variable[6]) /*CompilerVisitor::add_assignment*/;
7764 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)); /*new String*/
7765 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
7766 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
7767 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7768 variable[7] = CALL_compiling_methods___CFunctionContext___get_var(variable[7])(variable[7]) /*CFunctionContext::get_var*/;
7769 variable[6] = variable[7];
7770 variable[7] = variable[0];
7771 variable[7] = CALL_typing___AForVardeclExpr___meth_is_ok(variable[7])(variable[7]) /*AForVardeclExpr::meth_is_ok*/;
7772 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7773 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[5] /*iter*/) /*AbstractArray::add*/;
7774 variable[7] = CALL_compiling_methods___MMMethod___compile_call(variable[7])(variable[7], variable[1] /*v*/, variable[8]) /*MMMethod::compile_call*/;
7775 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ok*/, variable[7]) /*CompilerVisitor::add_assignment*/;
7776 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7777 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
7778 variable[9] = variable[8];
7779 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
7780 variable[10] = variable[6] /*ok*/;
7781 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
7782 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)); /*new String*/
7783 variable[12] = variable[11];
7784 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
7785 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
7786 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
7787 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7788 CALL_compiling_methods___CFunctionContext___free_var(variable[7])(variable[7], variable[6] /*ok*/) /*CFunctionContext::free_var*/;
7789 variable[8] = variable[0];
7790 variable[8] = CALL_typing___AForVardeclExpr___meth_item(variable[8])(variable[8]) /*AForVardeclExpr::meth_item*/;
7791 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7792 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[5] /*iter*/) /*AbstractArray::add*/;
7793 variable[8] = CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_call*/;
7794 variable[7] = variable[8];
7795 variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*e*/) /*CompilerVisitor::ensure_var*/;
7796 variable[7] = variable[8] /*e=*/;
7797 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7798 variable[10] = variable[0];
7799 variable[10] = CALL_syntax_base___AForVardeclExpr___variable(variable[10])(variable[10]) /*AForVardeclExpr::variable*/;
7800 variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
7801 variable[8] = variable[9];
7802 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[8] /*cname*/, variable[7] /*e*/) /*CompilerVisitor::add_assignment*/;
7803 variable[10] = variable[0];
7804 variable[10] = CALL_parser_prod___PNode___parent(variable[10])(variable[10]) /*PNode::parent*/;
7805 variable[9] = variable[10];
7806 variable[10] = TAG_Bool(( variable[9] /*par*/==NIT_NULL) || VAL_ISA( variable[9] /*par*/, COLOR_AForExpr, ID_AForExpr)) /*cast AForExpr*/;
7807 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 1020); nit_exit(1);}
7808 variable[11] = CALL_parser_nodes___AForExpr___n_block( variable[9] /*par*/)( variable[9] /*par*/) /*AForExpr::n_block*/;
7809 variable[10] = variable[11];
7810 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*n_block*/ == NIT_NULL /*null*/) || (( variable[10] /*n_block*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*n_block*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*n_block*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*n_block*/)( variable[10] /*n_block*/, NIT_NULL /*null*/) /*Object::==*/)))))));
7811 if (UNTAG_Bool(variable[11])) { /*if*/
7812 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[10] /*n_block*/) /*CompilerVisitor::compile_stmt*/;
7813 }
7814 variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7815 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7816 variable[13] = variable[12];
7817 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[13]) /*AbstractArray::add*/;
7818 variable[14] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7819 variable[14] = CALL_compiling_methods___NitMethodContext___continue_label(variable[14])(variable[14]) /*NitMethodContext::continue_label*/;
7820 variable[15] = variable[14];
7821 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[15]) /*AbstractArray::add*/;
7822 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
7823 variable[17] = variable[16];
7824 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[17]) /*AbstractArray::add*/;
7825 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
7826 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
7827 variable[11] = variable[0];
7828 variable[11] = CALL_typing___AForVardeclExpr___meth_next(variable[11])(variable[11]) /*AForVardeclExpr::meth_next*/;
7829 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
7830 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[5] /*iter*/) /*AbstractArray::add*/;
7831 variable[11] = CALL_compiling_methods___MMMethod___compile_call(variable[11])(variable[11], variable[1] /*v*/, variable[12]) /*MMMethod::compile_call*/;
7832 variable[7] = variable[11] /*e=*/;
7833 variable[11] = TAG_Bool(( variable[7] /*e*/ == NIT_NULL /*null*/) || (( variable[7] /*e*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[7] /*e*/)( variable[7] /*e*/, NIT_NULL /*null*/) /*String::==*/)));
7834 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AForVardeclExpr___compile_stmt, LOCATE_compiling_methods, 1027); nit_exit(1);}
7835 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
7836 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
7837 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
7838 variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7839 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7840 variable[13] = variable[12];
7841 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[13]) /*AbstractArray::add*/;
7842 variable[14] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
7843 variable[14] = CALL_compiling_methods___NitMethodContext___break_label(variable[14])(variable[14]) /*NitMethodContext::break_label*/;
7844 variable[15] = variable[14];
7845 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[15]) /*AbstractArray::add*/;
7846 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)); /*new String*/
7847 variable[17] = variable[16];
7848 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[17]) /*AbstractArray::add*/;
7849 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
7850 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
7851 return_label294: while(false);
7852 tracehead = trace.prev;
7853 return;
7854 }
7855 void compiling_methods___AAssertExpr___compile_stmt(val_t self, val_t param0) {
7856 struct trace_t trace = {NULL, NULL, 1035, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
7857 val_t variable[18];
7858 void **closurevariable = NULL;
7859 trace.prev = tracehead; tracehead = &trace;
7860 trace.file = LOCATE_compiling_methods;
7861 variable[0] = self;
7862 variable[1] = param0;
7863 variable[4] = variable[0];
7864 variable[4] = CALL_parser_nodes___AAssertExpr___n_expr(variable[4])(variable[4]) /*AAssertExpr::n_expr*/;
7865 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7866 variable[3] = variable[4];
7867 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7868 variable[4] = variable[5];
7869 variable[5] = variable[0];
7870 variable[5] = CALL_parser_nodes___AAssertExpr___n_id(variable[5])(variable[5]) /*AAssertExpr::n_id*/;
7871 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
7872 if (UNTAG_Bool(variable[5])) { /*if*/
7873 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
7874 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" '"), TAG_Int(2)); /*new String*/
7875 variable[7] = variable[6];
7876 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
7877 variable[8] = variable[0];
7878 variable[8] = CALL_parser_nodes___AAssertExpr___n_id(variable[8])(variable[8]) /*AAssertExpr::n_id*/;
7879 variable[8] = CALL_lexer___Token___text(variable[8])(variable[8]) /*Token::text*/;
7880 variable[9] = variable[8];
7881 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
7882 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)); /*new String*/
7883 variable[11] = variable[10];
7884 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
7885 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
7886 variable[4] = variable[5] /*s=*/;
7887 }
7888 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
7889 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
7890 variable[7] = variable[6];
7891 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
7892 variable[8] = variable[3] /*e*/;
7893 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
7894 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Assert%s failed\", \""), TAG_Int(41)); /*new String*/
7895 variable[10] = variable[9];
7896 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
7897 variable[11] = variable[4] /*s*/;
7898 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
7899 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)); /*new String*/
7900 variable[13] = variable[12];
7901 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
7902 variable[14] = variable[0];
7903 variable[14] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::printf_locate_error*/;
7904 variable[15] = variable[14];
7905 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[15]) /*AbstractArray::add*/;
7906 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);}"), TAG_Int(14)); /*new String*/
7907 variable[17] = variable[16];
7908 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[17]) /*AbstractArray::add*/;
7909 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
7910 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
7911 return_label295: while(false);
7912 tracehead = trace.prev;
7913 return;
7914 }
7915 val_t compiling_methods___AVarExpr___compile_expr(val_t self, val_t param0) {
7916 struct trace_t trace = {NULL, NULL, 1047, LOCATE_compiling_methods___AVarExpr___compile_expr};
7917 val_t variable[14];
7918 void **closurevariable = NULL;
7919 trace.prev = tracehead; tracehead = &trace;
7920 trace.file = LOCATE_compiling_methods;
7921 variable[0] = self;
7922 variable[1] = param0;
7923 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
7924 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
7925 variable[5] = variable[4];
7926 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
7927 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7928 variable[7] = variable[0];
7929 variable[7] = CALL_syntax_base___AVarFormExpr___variable(variable[7])(variable[7]) /*AVarFormExpr::variable*/;
7930 variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
7931 variable[7] = variable[6];
7932 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
7933 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
7934 variable[9] = variable[8];
7935 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
7936 variable[10] = variable[0];
7937 variable[10] = CALL_syntax_base___AVarFormExpr___variable(variable[10])(variable[10]) /*AVarFormExpr::variable*/;
7938 variable[10] = CALL_syntax_base___Variable___name(variable[10])(variable[10]) /*Variable::name*/;
7939 variable[11] = variable[10];
7940 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
7941 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[11]) /*AbstractArray::add*/;
7942 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
7943 variable[13] = variable[12];
7944 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[13]) /*AbstractArray::add*/;
7945 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
7946 variable[2] = variable[3];
7947 goto return_label296;
7948 return_label296: while(false);
7949 tracehead = trace.prev;
7950 return variable[2];
7951 }
7952 void compiling_methods___AVarAssignExpr___compile_stmt(val_t self, val_t param0) {
7953 struct trace_t trace = {NULL, NULL, 1054, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
7954 val_t variable[15];
7955 void **closurevariable = NULL;
7956 trace.prev = tracehead; tracehead = &trace;
7957 trace.file = LOCATE_compiling_methods;
7958 variable[0] = self;
7959 variable[1] = param0;
7960 variable[4] = variable[0];
7961 variable[4] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[4])(variable[4]) /*AAssignFormExpr::n_value*/;
7962 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
7963 variable[3] = variable[4];
7964 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
7965 variable[5] = variable[0];
7966 variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[5])(variable[5]) /*AVarFormExpr::variable*/;
7967 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
7968 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
7969 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
7970 variable[7] = variable[6];
7971 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
7972 variable[8] = variable[3] /*e*/;
7973 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
7974 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
7975 variable[10] = variable[9];
7976 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
7977 variable[11] = variable[0];
7978 variable[11] = CALL_syntax_base___AVarFormExpr___variable(variable[11])(variable[11]) /*AVarFormExpr::variable*/;
7979 variable[11] = CALL_syntax_base___Variable___name(variable[11])(variable[11]) /*Variable::name*/;
7980 variable[12] = variable[11];
7981 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
7982 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[12]) /*AbstractArray::add*/;
7983 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)); /*new String*/
7984 variable[14] = variable[13];
7985 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[14]) /*AbstractArray::add*/;
7986 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
7987 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::add_assignment*/;
7988 return_label297: while(false);
7989 tracehead = trace.prev;
7990 return;
7991 }
7992 void compiling_methods___AVarReassignExpr___compile_stmt(val_t self, val_t param0) {
7993 struct trace_t trace = {NULL, NULL, 1062, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
7994 val_t variable[17];
7995 void **closurevariable = NULL;
7996 trace.prev = tracehead; tracehead = &trace;
7997 trace.file = LOCATE_compiling_methods;
7998 variable[0] = self;
7999 variable[1] = param0;
8000 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8001 variable[5] = variable[0];
8002 variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[5])(variable[5]) /*AVarFormExpr::variable*/;
8003 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
8004 variable[3] = variable[4];
8005 variable[5] = variable[0];
8006 variable[5] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[5])(variable[5]) /*AReassignFormExpr::n_value*/;
8007 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8008 variable[4] = variable[5];
8009 variable[6] = variable[0];
8010 variable[6] = CALL_typing___AReassignFormExpr___assign_method(variable[6])(variable[6]) /*AReassignFormExpr::assign_method*/;
8011 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8012 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e1*/) /*AbstractArray::add*/;
8013 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[4] /*e2*/) /*AbstractArray::add*/;
8014 variable[6] = CALL_compiling_methods___MMMethod___compile_call(variable[6])(variable[6], variable[1] /*v*/, variable[7]) /*MMMethod::compile_call*/;
8015 variable[5] = variable[6];
8016 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8017 variable[7] = variable[0];
8018 variable[7] = CALL_syntax_base___AVarFormExpr___variable(variable[7])(variable[7]) /*AVarFormExpr::variable*/;
8019 variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
8020 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
8021 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
8022 variable[9] = variable[8];
8023 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
8024 variable[10] = variable[5] /*e3*/;
8025 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[10]) /*AbstractArray::add*/;
8026 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)); /*new String*/
8027 variable[12] = variable[11];
8028 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[12]) /*AbstractArray::add*/;
8029 variable[13] = variable[0];
8030 variable[13] = CALL_syntax_base___AVarFormExpr___variable(variable[13])(variable[13]) /*AVarFormExpr::variable*/;
8031 variable[13] = CALL_syntax_base___Variable___name(variable[13])(variable[13]) /*Variable::name*/;
8032 variable[14] = variable[13];
8033 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
8034 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[14]) /*AbstractArray::add*/;
8035 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
8036 variable[16] = variable[15];
8037 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[16]) /*AbstractArray::add*/;
8038 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
8039 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6], variable[7]) /*CompilerVisitor::add_assignment*/;
8040 return_label298: while(false);
8041 tracehead = trace.prev;
8042 return;
8043 }
8044 val_t compiling_methods___ASelfExpr___compile_expr(val_t self, val_t param0) {
8045 struct trace_t trace = {NULL, NULL, 1072, LOCATE_compiling_methods___ASelfExpr___compile_expr};
8046 val_t variable[10];
8047 void **closurevariable = NULL;
8048 trace.prev = tracehead; tracehead = &trace;
8049 trace.file = LOCATE_compiling_methods;
8050 variable[0] = self;
8051 variable[1] = param0;
8052 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8053 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
8054 variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
8055 variable[5] = variable[4];
8056 variable[6] = TAG_Int(0);
8057 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8058 variable[9] = variable[8];
8059 if (UNTAG_Bool(variable[9])) { /* and */
8060 variable[9] = variable[5];
8061 variable[9] = ATTR_array___AbstractArray____length(variable[9]) /*AbstractArray::_length*/;
8062 variable[9] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[9]));
8063 }
8064 variable[8] = variable[9];
8065 if (!UNTAG_Bool(variable[8])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
8066 variable[8] = variable[5];
8067 variable[8] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
8068 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
8069 variable[7] = variable[8];
8070 goto return_label300;
8071 return_label300: while(false);
8072 variable[4] = variable[7];
8073 variable[3] = CALL_compiling_methods___CFunctionContext___varname(variable[3])(variable[3], variable[4]) /*CFunctionContext::varname*/;
8074 variable[2] = variable[3];
8075 goto return_label299;
8076 return_label299: while(false);
8077 tracehead = trace.prev;
8078 return variable[2];
8079 }
8080 val_t compiling_methods___AOrExpr___compile_expr(val_t self, val_t param0) {
8081 struct trace_t trace = {NULL, NULL, 1079, LOCATE_compiling_methods___AOrExpr___compile_expr};
8082 val_t variable[10];
8083 void **closurevariable = NULL;
8084 trace.prev = tracehead; tracehead = &trace;
8085 trace.file = LOCATE_compiling_methods;
8086 variable[0] = self;
8087 variable[1] = param0;
8088 variable[4] = variable[0];
8089 variable[4] = CALL_parser_nodes___AOrExpr___n_expr(variable[4])(variable[4]) /*AOrExpr::n_expr*/;
8090 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8091 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::ensure_var*/;
8092 variable[3] = variable[4];
8093 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8094 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)); /*new String*/
8095 variable[6] = variable[5];
8096 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
8097 variable[7] = variable[3] /*e*/;
8098 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
8099 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)); /*new String*/
8100 variable[9] = variable[8];
8101 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
8102 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
8103 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
8104 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8105 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
8106 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
8107 variable[5] = variable[0];
8108 variable[5] = CALL_parser_nodes___AOrExpr___n_expr2(variable[5])(variable[5]) /*AOrExpr::n_expr2*/;
8109 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8110 variable[4] = variable[5];
8111 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*e*/, variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
8112 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
8113 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
8114 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
8115 variable[2] = variable[3] /*e*/;
8116 goto return_label301;
8117 return_label301: while(false);
8118 tracehead = trace.prev;
8119 return variable[2];
8120 }
8121 val_t compiling_methods___AAndExpr___compile_expr(val_t self, val_t param0) {
8122 struct trace_t trace = {NULL, NULL, 1094, LOCATE_compiling_methods___AAndExpr___compile_expr};
8123 val_t variable[10];
8124 void **closurevariable = NULL;
8125 trace.prev = tracehead; tracehead = &trace;
8126 trace.file = LOCATE_compiling_methods;
8127 variable[0] = self;
8128 variable[1] = param0;
8129 variable[4] = variable[0];
8130 variable[4] = CALL_parser_nodes___AAndExpr___n_expr(variable[4])(variable[4]) /*AAndExpr::n_expr*/;
8131 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8132 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::ensure_var*/;
8133 variable[3] = variable[4];
8134 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8135 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)); /*new String*/
8136 variable[6] = variable[5];
8137 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
8138 variable[7] = variable[3] /*e*/;
8139 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
8140 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)); /*new String*/
8141 variable[9] = variable[8];
8142 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
8143 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
8144 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
8145 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8146 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
8147 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
8148 variable[5] = variable[0];
8149 variable[5] = CALL_parser_nodes___AAndExpr___n_expr2(variable[5])(variable[5]) /*AAndExpr::n_expr2*/;
8150 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8151 variable[4] = variable[5];
8152 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*e*/, variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
8153 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
8154 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
8155 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
8156 variable[2] = variable[3] /*e*/;
8157 goto return_label302;
8158 return_label302: while(false);
8159 tracehead = trace.prev;
8160 return variable[2];
8161 }
8162 val_t compiling_methods___ANotExpr___compile_expr(val_t self, val_t param0) {
8163 struct trace_t trace = {NULL, NULL, 1109, LOCATE_compiling_methods___ANotExpr___compile_expr};
8164 val_t variable[10];
8165 void **closurevariable = NULL;
8166 trace.prev = tracehead; tracehead = &trace;
8167 trace.file = LOCATE_compiling_methods;
8168 variable[0] = self;
8169 variable[1] = param0;
8170 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8171 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)); /*new String*/
8172 variable[5] = variable[4];
8173 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
8174 variable[6] = variable[0];
8175 variable[6] = CALL_parser_nodes___ANotExpr___n_expr(variable[6])(variable[6]) /*ANotExpr::n_expr*/;
8176 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
8177 variable[7] = variable[6];
8178 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
8179 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
8180 variable[9] = variable[8];
8181 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
8182 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
8183 variable[2] = variable[3];
8184 goto return_label303;
8185 return_label303: while(false);
8186 tracehead = trace.prev;
8187 return variable[2];
8188 }
8189 val_t compiling_methods___AEeExpr___compile_expr(val_t self, val_t param0) {
8190 struct trace_t trace = {NULL, NULL, 1116, LOCATE_compiling_methods___AEeExpr___compile_expr};
8191 val_t variable[14];
8192 void **closurevariable = NULL;
8193 trace.prev = tracehead; tracehead = &trace;
8194 trace.file = LOCATE_compiling_methods;
8195 variable[0] = self;
8196 variable[1] = param0;
8197 variable[4] = variable[0];
8198 variable[4] = CALL_parser_nodes___AEeExpr___n_expr(variable[4])(variable[4]) /*AEeExpr::n_expr*/;
8199 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8200 variable[3] = variable[4];
8201 variable[5] = variable[0];
8202 variable[5] = CALL_parser_nodes___AEeExpr___n_expr2(variable[5])(variable[5]) /*AEeExpr::n_expr2*/;
8203 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8204 variable[4] = variable[5];
8205 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
8206 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)); /*new String*/
8207 variable[7] = variable[6];
8208 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
8209 variable[8] = variable[3] /*e*/;
8210 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
8211 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)); /*new String*/
8212 variable[10] = variable[9];
8213 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
8214 variable[11] = variable[4] /*e2*/;
8215 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
8216 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
8217 variable[13] = variable[12];
8218 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
8219 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
8220 variable[2] = variable[5];
8221 goto return_label304;
8222 return_label304: while(false);
8223 tracehead = trace.prev;
8224 return variable[2];
8225 }
8226 val_t compiling_methods___AIsaExpr___compile_expr(val_t self, val_t param0) {
8227 struct trace_t trace = {NULL, NULL, 1125, LOCATE_compiling_methods___AIsaExpr___compile_expr};
8228 val_t variable[5];
8229 void **closurevariable = NULL;
8230 trace.prev = tracehead; tracehead = &trace;
8231 trace.file = LOCATE_compiling_methods;
8232 variable[0] = self;
8233 variable[1] = param0;
8234 variable[4] = variable[0];
8235 variable[4] = CALL_parser_nodes___AIsaExpr___n_expr(variable[4])(variable[4]) /*AIsaExpr::n_expr*/;
8236 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8237 variable[3] = variable[4];
8238 variable[4] = variable[0];
8239 variable[4] = CALL_parser_nodes___AIsaExpr___n_type(variable[4])(variable[4]) /*AIsaExpr::n_type*/;
8240 variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
8241 variable[4] = CALL_compiling_methods___MMType___compile_cast(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/) /*MMType::compile_cast*/;
8242 variable[2] = variable[4];
8243 goto return_label305;
8244 return_label305: while(false);
8245 tracehead = trace.prev;
8246 return variable[2];
8247 }
8248 val_t compiling_methods___AAsCastExpr___compile_expr(val_t self, val_t param0) {
8249 struct trace_t trace = {NULL, NULL, 1133, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
8250 val_t variable[6];
8251 void **closurevariable = NULL;
8252 trace.prev = tracehead; tracehead = &trace;
8253 trace.file = LOCATE_compiling_methods;
8254 variable[0] = self;
8255 variable[1] = param0;
8256 variable[4] = variable[0];
8257 variable[4] = CALL_parser_nodes___AAsCastExpr___n_expr(variable[4])(variable[4]) /*AAsCastExpr::n_expr*/;
8258 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8259 variable[3] = variable[4];
8260 variable[4] = variable[0];
8261 variable[4] = CALL_parser_nodes___AAsCastExpr___n_type(variable[4])(variable[4]) /*AAsCastExpr::n_type*/;
8262 variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
8263 variable[5] = variable[0];
8264 CALL_compiling_methods___MMType___compile_type_check(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/, variable[5]) /*MMType::compile_type_check*/;
8265 variable[2] = variable[3] /*e*/;
8266 goto return_label306;
8267 return_label306: while(false);
8268 tracehead = trace.prev;
8269 return variable[2];
8270 }
8271 val_t compiling_methods___ATrueExpr___compile_expr(val_t self, val_t param0) {
8272 struct trace_t trace = {NULL, NULL, 1142, LOCATE_compiling_methods___ATrueExpr___compile_expr};
8273 val_t variable[4];
8274 void **closurevariable = NULL;
8275 trace.prev = tracehead; tracehead = &trace;
8276 trace.file = LOCATE_compiling_methods;
8277 variable[0] = self;
8278 variable[1] = param0;
8279 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)); /*new String*/
8280 variable[2] = variable[3];
8281 goto return_label307;
8282 return_label307: while(false);
8283 tracehead = trace.prev;
8284 return variable[2];
8285 }
8286 val_t compiling_methods___AFalseExpr___compile_expr(val_t self, val_t param0) {
8287 struct trace_t trace = {NULL, NULL, 1149, LOCATE_compiling_methods___AFalseExpr___compile_expr};
8288 val_t variable[4];
8289 void **closurevariable = NULL;
8290 trace.prev = tracehead; tracehead = &trace;
8291 trace.file = LOCATE_compiling_methods;
8292 variable[0] = self;
8293 variable[1] = param0;
8294 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)); /*new String*/
8295 variable[2] = variable[3];
8296 goto return_label308;
8297 return_label308: while(false);
8298 tracehead = trace.prev;
8299 return variable[2];
8300 }
8301 val_t compiling_methods___AIntExpr___compile_expr(val_t self, val_t param0) {
8302 struct trace_t trace = {NULL, NULL, 1156, LOCATE_compiling_methods___AIntExpr___compile_expr};
8303 val_t variable[10];
8304 void **closurevariable = NULL;
8305 trace.prev = tracehead; tracehead = &trace;
8306 trace.file = LOCATE_compiling_methods;
8307 variable[0] = self;
8308 variable[1] = param0;
8309 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8310 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)); /*new String*/
8311 variable[5] = variable[4];
8312 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
8313 variable[6] = variable[0];
8314 variable[6] = CALL_parser_nodes___AIntExpr___n_number(variable[6])(variable[6]) /*AIntExpr::n_number*/;
8315 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
8316 variable[7] = variable[6];
8317 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
8318 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8319 variable[9] = variable[8];
8320 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
8321 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
8322 variable[2] = variable[3];
8323 goto return_label309;
8324 return_label309: while(false);
8325 tracehead = trace.prev;
8326 return variable[2];
8327 }
8328 val_t compiling_methods___AFloatExpr___compile_expr(val_t self, val_t param0) {
8329 struct trace_t trace = {NULL, NULL, 1163, LOCATE_compiling_methods___AFloatExpr___compile_expr};
8330 val_t variable[10];
8331 void **closurevariable = NULL;
8332 trace.prev = tracehead; tracehead = &trace;
8333 trace.file = LOCATE_compiling_methods;
8334 variable[0] = self;
8335 variable[1] = param0;
8336 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8337 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)); /*new String*/
8338 variable[5] = variable[4];
8339 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
8340 variable[6] = variable[0];
8341 variable[6] = CALL_parser_nodes___AFloatExpr___n_float(variable[6])(variable[6]) /*AFloatExpr::n_float*/;
8342 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
8343 variable[7] = variable[6];
8344 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
8345 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8346 variable[9] = variable[8];
8347 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
8348 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
8349 variable[2] = variable[3];
8350 goto return_label310;
8351 return_label310: while(false);
8352 tracehead = trace.prev;
8353 return variable[2];
8354 }
8355 val_t compiling_methods___ACharExpr___compile_expr(val_t self, val_t param0) {
8356 struct trace_t trace = {NULL, NULL, 1170, LOCATE_compiling_methods___ACharExpr___compile_expr};
8357 val_t variable[10];
8358 void **closurevariable = NULL;
8359 trace.prev = tracehead; tracehead = &trace;
8360 trace.file = LOCATE_compiling_methods;
8361 variable[0] = self;
8362 variable[1] = param0;
8363 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8364 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)); /*new String*/
8365 variable[5] = variable[4];
8366 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[5]) /*AbstractArray::add*/;
8367 variable[6] = variable[0];
8368 variable[6] = CALL_parser_nodes___ACharExpr___n_char(variable[6])(variable[6]) /*ACharExpr::n_char*/;
8369 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
8370 variable[7] = variable[6];
8371 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[7]) /*AbstractArray::add*/;
8372 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8373 variable[9] = variable[8];
8374 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[9]) /*AbstractArray::add*/;
8375 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
8376 variable[2] = variable[3];
8377 goto return_label311;
8378 return_label311: while(false);
8379 tracehead = trace.prev;
8380 return variable[2];
8381 }
8382 val_t compiling_methods___AStringFormExpr___compile_expr(val_t self, val_t param0) {
8383 struct trace_t trace = {NULL, NULL, 1177, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
8384 val_t variable[14];
8385 void **closurevariable = NULL;
8386 trace.prev = tracehead; tracehead = &trace;
8387 trace.file = LOCATE_compiling_methods;
8388 variable[0] = self;
8389 variable[1] = param0;
8390 variable[3] = variable[0];
8391 CALL_compiling_methods___AStringFormExpr___compute_string_info(variable[3])(variable[3]) /*AStringFormExpr::compute_string_info*/;
8392 variable[3] = variable[0];
8393 variable[3] = CALL_typing___AStringFormExpr___meth_with_native(variable[3])(variable[3]) /*AStringFormExpr::meth_with_native*/;
8394 variable[4] = variable[0];
8395 variable[4] = CALL_syntax_base___PExpr___stype(variable[4])(variable[4]) /*PExpr::stype*/;
8396 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8397 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8398 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)); /*new String*/
8399 variable[8] = variable[7];
8400 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
8401 variable[9] = variable[0];
8402 variable[9] = ATTR_compiling_methods___AStringFormExpr____cstring(variable[9]) /*AStringFormExpr::_cstring*/;
8403 variable[10] = variable[9];
8404 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[10]) /*AbstractArray::add*/;
8405 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)); /*new String*/
8406 variable[12] = variable[11];
8407 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
8408 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
8409 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
8410 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8411 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
8412 variable[9] = variable[8];
8413 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
8414 variable[10] = variable[0];
8415 variable[10] = ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[10]) /*AStringFormExpr::_cstring_length*/;
8416 variable[11] = variable[10];
8417 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
8418 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[11]) /*AbstractArray::add*/;
8419 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8420 variable[13] = variable[12];
8421 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[13]) /*AbstractArray::add*/;
8422 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
8423 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
8424 variable[3] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[3])(variable[3], variable[1] /*v*/, variable[4], variable[5]) /*MMMethod::compile_constructor_call*/;
8425 variable[2] = variable[3];
8426 goto return_label312;
8427 return_label312: while(false);
8428 tracehead = trace.prev;
8429 return variable[2];
8430 }
8431 val_t compiling_methods___AStringFormExpr___string_text(val_t self) {
8432 struct trace_t trace = {NULL, NULL, 1183, LOCATE_compiling_methods___AStringFormExpr___string_text};
8433 val_t *variable = NULL;
8434 void **closurevariable = NULL;
8435 trace.prev = tracehead; tracehead = &trace;
8436 trace.file = LOCATE_compiling_methods;
8437 fprintf(stderr, "Deferred method called");
8438 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1183);
8439 nit_exit(1);
8440 tracehead = trace.prev;
8441 return NIT_NULL;
8442 }
8443 void compiling_methods___AStringFormExpr___compute_string_info(val_t self) {
8444 struct trace_t trace = {NULL, NULL, 1192, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
8445 val_t variable[10];
8446 void **closurevariable = NULL;
8447 trace.prev = tracehead; tracehead = &trace;
8448 trace.file = LOCATE_compiling_methods;
8449 variable[0] = self;
8450 variable[2] = TAG_Int(0);
8451 variable[4] = variable[0];
8452 variable[4] = CALL_compiling_methods___AStringFormExpr___string_text(variable[4])(variable[4]) /*AStringFormExpr::string_text*/;
8453 variable[3] = variable[4];
8454 variable[5] = NEW_String_string___String___init(); /*new String*/
8455 variable[4] = variable[5];
8456 variable[5] = TAG_Int(0);
8457 while (true) { /*while*/
8458 variable[6] = CALL_abstract_collection___Collection___length( variable[3] /*str*/)( variable[3] /*str*/) /*AbstractArray::length*/;
8459 variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*i*/)<UNTAG_Int(variable[6]));
8460 if (!UNTAG_Bool(variable[6])) break; /* while*/
8461 variable[7] = CALL_abstract_collection___Map_____bra( variable[3] /*str*/)( variable[3] /*str*/, variable[5] /*i*/) /*String::[]*/;
8462 variable[6] = variable[7];
8463 variable[7] = TAG_Bool(( variable[6] /*c*/)==( TAG_Char('\\')));
8464 if (UNTAG_Bool(variable[7])) { /*if*/
8465 variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
8466 variable[5] = variable[7] /*i=*/;
8467 variable[8] = CALL_abstract_collection___Map_____bra( variable[3] /*str*/)( variable[3] /*str*/, variable[5] /*i*/) /*String::[]*/;
8468 variable[7] = variable[8];
8469 variable[8] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('{')));
8470 variable[9] = variable[8];
8471 if (UNTAG_Bool(variable[9])) { /* and */
8472 variable[9] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('}')));
8473 }
8474 variable[8] = variable[9];
8475 if (UNTAG_Bool(variable[8])) { /*if*/
8476 CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[6] /*c*/) /*String::add*/;
8477 }
8478 variable[6] = variable[7] /*c2*/ /*c=*/;
8479 }
8480 variable[7] = TAG_Int(UNTAG_Int( variable[2] /*len*/)+UNTAG_Int( TAG_Int(1)));
8481 variable[2] = variable[7] /*len=*/;
8482 CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[6] /*c*/) /*String::add*/;
8483 variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
8484 variable[5] = variable[7] /*i=*/;
8485 continue_314: while(0);
8486 }
8487 break_314: while(0);
8488 variable[6] = variable[0];
8489 ATTR_compiling_methods___AStringFormExpr____cstring(variable[6]) /*AStringFormExpr::_cstring*/ = variable[4] /*res*/;
8490 variable[6] = variable[0];
8491 ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[6]) /*AStringFormExpr::_cstring_length*/ = variable[2] /*len*/;
8492 return_label313: while(false);
8493 tracehead = trace.prev;
8494 return;
8495 }
8496 val_t compiling_methods___AStringExpr___string_text(val_t self) {
8497 struct trace_t trace = {NULL, NULL, 1219, LOCATE_compiling_methods___AStringExpr___string_text};
8498 val_t variable[4];
8499 void **closurevariable = NULL;
8500 trace.prev = tracehead; tracehead = &trace;
8501 trace.file = LOCATE_compiling_methods;
8502 variable[0] = self;
8503 variable[2] = variable[0];
8504 variable[2] = CALL_parser_nodes___AStringExpr___n_string(variable[2])(variable[2]) /*AStringExpr::n_string*/;
8505 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
8506 variable[3] = variable[0];
8507 variable[3] = CALL_parser_nodes___AStringExpr___n_string(variable[3])(variable[3]) /*AStringExpr::n_string*/;
8508 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
8509 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArray::length*/;
8510 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
8511 variable[2] = CALL_string___String___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*String::substring*/;
8512 variable[1] = variable[2];
8513 goto return_label315;
8514 return_label315: while(false);
8515 tracehead = trace.prev;
8516 return variable[1];
8517 }
8518 val_t compiling_methods___AStartStringExpr___string_text(val_t self) {
8519 struct trace_t trace = {NULL, NULL, 1222, LOCATE_compiling_methods___AStartStringExpr___string_text};
8520 val_t variable[4];
8521 void **closurevariable = NULL;
8522 trace.prev = tracehead; tracehead = &trace;
8523 trace.file = LOCATE_compiling_methods;
8524 variable[0] = self;
8525 variable[2] = variable[0];
8526 variable[2] = CALL_parser_nodes___AStartStringExpr___n_string(variable[2])(variable[2]) /*AStartStringExpr::n_string*/;
8527 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
8528 variable[3] = variable[0];
8529 variable[3] = CALL_parser_nodes___AStartStringExpr___n_string(variable[3])(variable[3]) /*AStartStringExpr::n_string*/;
8530 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
8531 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArray::length*/;
8532 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
8533 variable[2] = CALL_string___String___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*String::substring*/;
8534 variable[1] = variable[2];
8535 goto return_label316;
8536 return_label316: while(false);
8537 tracehead = trace.prev;
8538 return variable[1];
8539 }
8540 val_t compiling_methods___AMidStringExpr___string_text(val_t self) {
8541 struct trace_t trace = {NULL, NULL, 1225, LOCATE_compiling_methods___AMidStringExpr___string_text};
8542 val_t variable[4];
8543 void **closurevariable = NULL;
8544 trace.prev = tracehead; tracehead = &trace;
8545 trace.file = LOCATE_compiling_methods;
8546 variable[0] = self;
8547 variable[2] = variable[0];
8548 variable[2] = CALL_parser_nodes___AMidStringExpr___n_string(variable[2])(variable[2]) /*AMidStringExpr::n_string*/;
8549 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
8550 variable[3] = variable[0];
8551 variable[3] = CALL_parser_nodes___AMidStringExpr___n_string(variable[3])(variable[3]) /*AMidStringExpr::n_string*/;
8552 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
8553 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArray::length*/;
8554 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
8555 variable[2] = CALL_string___String___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*String::substring*/;
8556 variable[1] = variable[2];
8557 goto return_label317;
8558 return_label317: while(false);
8559 tracehead = trace.prev;
8560 return variable[1];
8561 }
8562 val_t compiling_methods___AEndStringExpr___string_text(val_t self) {
8563 struct trace_t trace = {NULL, NULL, 1228, LOCATE_compiling_methods___AEndStringExpr___string_text};
8564 val_t variable[4];
8565 void **closurevariable = NULL;
8566 trace.prev = tracehead; tracehead = &trace;
8567 trace.file = LOCATE_compiling_methods;
8568 variable[0] = self;
8569 variable[2] = variable[0];
8570 variable[2] = CALL_parser_nodes___AEndStringExpr___n_string(variable[2])(variable[2]) /*AEndStringExpr::n_string*/;
8571 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
8572 variable[3] = variable[0];
8573 variable[3] = CALL_parser_nodes___AEndStringExpr___n_string(variable[3])(variable[3]) /*AEndStringExpr::n_string*/;
8574 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
8575 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArray::length*/;
8576 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
8577 variable[2] = CALL_string___String___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*String::substring*/;
8578 variable[1] = variable[2];
8579 goto return_label318;
8580 return_label318: while(false);
8581 tracehead = trace.prev;
8582 return variable[1];
8583 }
8584 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t self, val_t param0) {
8585 struct trace_t trace = {NULL, NULL, 1232, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
8586 val_t variable[14];
8587 void **closurevariable = NULL;
8588 trace.prev = tracehead; tracehead = &trace;
8589 trace.file = LOCATE_compiling_methods;
8590 variable[0] = self;
8591 variable[1] = param0;
8592 variable[4] = variable[0];
8593 variable[4] = CALL_typing___ASuperstringExpr___meth_with_capacity(variable[4])(variable[4]) /*ASuperstringExpr::meth_with_capacity*/;
8594 variable[5] = variable[0];
8595 variable[5] = CALL_typing___ASuperstringExpr___atype(variable[5])(variable[5]) /*ASuperstringExpr::atype*/;
8596 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
8597 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8598 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
8599 variable[9] = variable[8];
8600 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
8601 variable[10] = variable[0];
8602 variable[10] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[10])(variable[10]) /*ASuperstringExpr::n_exprs*/;
8603 variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*List::length*/;
8604 variable[11] = variable[10];
8605 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
8606 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[11]) /*AbstractArray::add*/;
8607 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8608 variable[13] = variable[12];
8609 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[13]) /*AbstractArray::add*/;
8610 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
8611 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
8612 variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
8613 variable[3] = variable[4];
8614 variable[4] = variable[0];
8615 variable[4] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[4])(variable[4]) /*ASuperstringExpr::n_exprs*/;
8616 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
8617 while (true) { /*for*/
8618 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
8619 if (!UNTAG_Bool(variable[5])) break; /*for*/
8620 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/;
8621 variable[6] = variable[5];
8622 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
8623 variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::ensure_var*/;
8624 variable[7] = variable[8];
8625 variable[8] = CALL_syntax_base___PExpr___stype( variable[6] /*ne*/)( variable[6] /*ne*/) /*PExpr::stype*/;
8626 variable[9] = variable[0];
8627 variable[9] = CALL_syntax_base___PExpr___stype(variable[9])(variable[9]) /*PExpr::stype*/;
8628 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == variable[9]) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8],variable[9])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], variable[9]) /*Object::==*/)))))));
8629 if (UNTAG_Bool(variable[8])) { /*if*/
8630 variable[8] = variable[0];
8631 variable[8] = CALL_typing___ASuperstringExpr___meth_to_s(variable[8])(variable[8]) /*ASuperstringExpr::meth_to_s*/;
8632 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
8633 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
8634 variable[8] = CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_call*/;
8635 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*e*/, variable[8]) /*CompilerVisitor::add_assignment*/;
8636 }
8637 variable[8] = variable[0];
8638 variable[8] = CALL_typing___ASuperstringExpr___meth_add(variable[8])(variable[8]) /*ASuperstringExpr::meth_add*/;
8639 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8640 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[3] /*array*/) /*AbstractArray::add*/;
8641 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
8642 CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_call*/;
8643 continue_320: while(0);
8644 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
8645 }
8646 break_320: while(0);
8647 variable[4] = variable[0];
8648 variable[4] = CALL_typing___ASuperstringExpr___meth_to_s(variable[4])(variable[4]) /*ASuperstringExpr::meth_to_s*/;
8649 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
8650 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[3] /*array*/) /*AbstractArray::add*/;
8651 variable[4] = CALL_compiling_methods___MMMethod___compile_call(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*MMMethod::compile_call*/;
8652 variable[2] = variable[4];
8653 goto return_label319;
8654 return_label319: while(false);
8655 tracehead = trace.prev;
8656 return variable[2];
8657 }
8658 val_t compiling_methods___ANullExpr___compile_expr(val_t self, val_t param0) {
8659 struct trace_t trace = {NULL, NULL, 1249, LOCATE_compiling_methods___ANullExpr___compile_expr};
8660 val_t variable[4];
8661 void **closurevariable = NULL;
8662 trace.prev = tracehead; tracehead = &trace;
8663 trace.file = LOCATE_compiling_methods;
8664 variable[0] = self;
8665 variable[1] = param0;
8666 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)); /*new String*/
8667 variable[2] = variable[3];
8668 goto return_label321;
8669 return_label321: while(false);
8670 tracehead = trace.prev;
8671 return variable[2];
8672 }
8673 val_t compiling_methods___AArrayExpr___compile_expr(val_t self, val_t param0) {
8674 struct trace_t trace = {NULL, NULL, 1256, LOCATE_compiling_methods___AArrayExpr___compile_expr};
8675 val_t variable[14];
8676 void **closurevariable = NULL;
8677 trace.prev = tracehead; tracehead = &trace;
8678 trace.file = LOCATE_compiling_methods;
8679 variable[0] = self;
8680 variable[1] = param0;
8681 variable[4] = variable[0];
8682 variable[4] = CALL_typing___AArrayExpr___meth_with_capacity(variable[4])(variable[4]) /*AArrayExpr::meth_with_capacity*/;
8683 variable[5] = variable[0];
8684 variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
8685 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
8686 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8687 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)); /*new String*/
8688 variable[9] = variable[8];
8689 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
8690 variable[10] = variable[0];
8691 variable[10] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[10])(variable[10]) /*AArrayExpr::n_exprs*/;
8692 variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*List::length*/;
8693 variable[11] = variable[10];
8694 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
8695 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[11]) /*AbstractArray::add*/;
8696 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
8697 variable[13] = variable[12];
8698 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[13]) /*AbstractArray::add*/;
8699 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
8700 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
8701 variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
8702 variable[3] = variable[4];
8703 variable[4] = variable[0];
8704 variable[4] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[4])(variable[4]) /*AArrayExpr::n_exprs*/;
8705 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
8706 while (true) { /*for*/
8707 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
8708 if (!UNTAG_Bool(variable[5])) break; /*for*/
8709 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/;
8710 variable[6] = variable[5];
8711 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
8712 variable[7] = variable[8];
8713 variable[8] = variable[0];
8714 variable[8] = CALL_typing___AArrayExpr___meth_add(variable[8])(variable[8]) /*AArrayExpr::meth_add*/;
8715 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8716 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[3] /*recv*/) /*AbstractArray::add*/;
8717 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
8718 CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_call*/;
8719 continue_323: while(0);
8720 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
8721 }
8722 break_323: while(0);
8723 variable[2] = variable[3] /*recv*/;
8724 goto return_label322;
8725 return_label322: while(false);
8726 tracehead = trace.prev;
8727 return variable[2];
8728 }
8729 val_t compiling_methods___ARangeExpr___compile_expr(val_t self, val_t param0) {
8730 struct trace_t trace = {NULL, NULL, 1269, LOCATE_compiling_methods___ARangeExpr___compile_expr};
8731 val_t variable[8];
8732 void **closurevariable = NULL;
8733 trace.prev = tracehead; tracehead = &trace;
8734 trace.file = LOCATE_compiling_methods;
8735 variable[0] = self;
8736 variable[1] = param0;
8737 variable[4] = variable[0];
8738 variable[4] = CALL_parser_nodes___ARangeExpr___n_expr(variable[4])(variable[4]) /*ARangeExpr::n_expr*/;
8739 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8740 variable[3] = variable[4];
8741 variable[5] = variable[0];
8742 variable[5] = CALL_parser_nodes___ARangeExpr___n_expr2(variable[5])(variable[5]) /*ARangeExpr::n_expr2*/;
8743 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8744 variable[4] = variable[5];
8745 variable[5] = variable[0];
8746 variable[5] = CALL_typing___ARangeExpr___meth_init(variable[5])(variable[5]) /*ARangeExpr::meth_init*/;
8747 variable[6] = variable[0];
8748 variable[6] = CALL_syntax_base___PExpr___stype(variable[6])(variable[6]) /*PExpr::stype*/;
8749 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8750 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e*/) /*AbstractArray::add*/;
8751 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[4] /*e2*/) /*AbstractArray::add*/;
8752 variable[5] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[5])(variable[5], variable[1] /*v*/, variable[6], variable[7]) /*MMMethod::compile_constructor_call*/;
8753 variable[2] = variable[5];
8754 goto return_label324;
8755 return_label324: while(false);
8756 tracehead = trace.prev;
8757 return variable[2];
8758 }
8759 val_t compiling_methods___ASuperExpr___compile_expr(val_t self, val_t param0) {
8760 struct trace_t trace = {NULL, NULL, 1284, LOCATE_compiling_methods___ASuperExpr___compile_expr};
8761 val_t variable[16];
8762 void **closurevariable = NULL;
8763 trace.prev = tracehead; tracehead = &trace;
8764 trace.file = LOCATE_compiling_methods;
8765 variable[0] = self;
8766 variable[1] = param0;
8767 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
8768 variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
8769 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArray::length*/;
8770 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
8771 variable[3] = variable[4];
8772 variable[4] = variable[0];
8773 variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[4])(variable[4]) /*ASuperExpr::init_in_superclass*/;
8774 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
8775 if (UNTAG_Bool(variable[4])) { /*if*/
8776 variable[4] = variable[0];
8777 variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[4])(variable[4]) /*ASuperExpr::init_in_superclass*/;
8778 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[4])(variable[4]) /*MMLocalProperty::signature*/;
8779 variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
8780 variable[3] = variable[4] /*arity=*/;
8781 }
8782 variable[5] = TAG_Int(UNTAG_Int( variable[3] /*arity*/)+UNTAG_Int( TAG_Int(1)));
8783 variable[6] = NEW_Array_array___Array___with_capacity(variable[5]); /*new Array[String]*/
8784 variable[5] = variable[6];
8785 variable[4] = variable[5];
8786 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8787 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
8788 variable[6] = CALL_compiling_methods___NitMethodContext___method_params(variable[6])(variable[6]) /*NitMethodContext::method_params*/;
8789 variable[7] = variable[6];
8790 variable[8] = TAG_Int(0);
8791 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8792 variable[11] = variable[10];
8793 if (UNTAG_Bool(variable[11])) { /* and */
8794 variable[11] = variable[7];
8795 variable[11] = ATTR_array___AbstractArray____length(variable[11]) /*AbstractArray::_length*/;
8796 variable[11] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[11]));
8797 }
8798 variable[10] = variable[11];
8799 if (!UNTAG_Bool(variable[10])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
8800 variable[10] = variable[7];
8801 variable[10] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
8802 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
8803 variable[9] = variable[10];
8804 goto return_label326;
8805 return_label326: while(false);
8806 variable[6] = variable[9];
8807 variable[5] = CALL_compiling_methods___CFunctionContext___varname(variable[5])(variable[5], variable[6]) /*CFunctionContext::varname*/;
8808 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
8809 variable[5] = variable[0];
8810 variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[5])(variable[5]) /*ASuperExpr::n_args*/;
8811 variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
8812 variable[5] = TAG_Bool((variable[5])!=( variable[3] /*arity*/));
8813 if (UNTAG_Bool(variable[5])) { /*if*/
8814 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[3] /*arity*/); /*new Range[Int]*/
8815 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
8816 while (true) { /*for*/
8817 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
8818 if (!UNTAG_Bool(variable[6])) break; /*for*/
8819 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/;
8820 variable[7] = variable[6];
8821 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
8822 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
8823 variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
8824 variable[10] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
8825 variable[11] = variable[9];
8826 variable[12] = variable[10];
8827 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8828 variable[15] = variable[14];
8829 if (UNTAG_Bool(variable[15])) { /* and */
8830 variable[15] = variable[11];
8831 variable[15] = ATTR_array___AbstractArray____length(variable[15]) /*AbstractArray::_length*/;
8832 variable[15] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[15]));
8833 }
8834 variable[14] = variable[15];
8835 if (!UNTAG_Bool(variable[14])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
8836 variable[14] = variable[11];
8837 variable[14] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
8838 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
8839 variable[13] = variable[14];
8840 goto return_label328;
8841 return_label328: while(false);
8842 variable[9] = variable[13];
8843 variable[8] = CALL_compiling_methods___CFunctionContext___varname(variable[8])(variable[8], variable[9]) /*CFunctionContext::varname*/;
8844 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
8845 continue_327: while(0);
8846 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
8847 }
8848 break_327: while(0);
8849 } else { /*if*/
8850 variable[5] = variable[0];
8851 variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[5])(variable[5]) /*ASuperExpr::n_args*/;
8852 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
8853 while (true) { /*for*/
8854 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
8855 if (!UNTAG_Bool(variable[6])) break; /*for*/
8856 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/;
8857 variable[7] = variable[6];
8858 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*na*/) /*CompilerVisitor::compile_expr*/;
8859 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
8860 continue_329: while(0);
8861 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
8862 }
8863 break_329: while(0);
8864 }
8865 variable[5] = variable[0];
8866 variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[5])(variable[5]) /*ASuperExpr::init_in_superclass*/;
8867 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
8868 if (UNTAG_Bool(variable[5])) { /*if*/
8869 variable[5] = variable[0];
8870 variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[5])(variable[5]) /*ASuperExpr::init_in_superclass*/;
8871 variable[5] = CALL_compiling_methods___MMMethod___compile_call(variable[5])(variable[5], variable[1] /*v*/, variable[4] /*args*/) /*MMMethod::compile_call*/;
8872 variable[2] = variable[5];
8873 goto return_label325;
8874 } else { /*if*/
8875 variable[5] = variable[0];
8876 variable[5] = CALL_typing___AAbsSendExpr___prop(variable[5])(variable[5]) /*AAbsSendExpr::prop*/;
8877 variable[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable[5])(variable[5]) /*MMLocalProperty::global*/;
8878 variable[5] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[5])(variable[5]) /*MMGlobalProperty::is_init*/;
8879 if (UNTAG_Bool(variable[5])) { /*if*/
8880 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)); /*new String*/
8881 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
8882 }
8883 variable[5] = variable[0];
8884 variable[5] = CALL_typing___AAbsSendExpr___prop(variable[5])(variable[5]) /*AAbsSendExpr::prop*/;
8885 variable[5] = CALL_compiling_methods___MMMethod___compile_super_call(variable[5])(variable[5], variable[1] /*v*/, variable[4] /*args*/) /*MMMethod::compile_super_call*/;
8886 variable[2] = variable[5];
8887 goto return_label325;
8888 }
8889 return_label325: while(false);
8890 tracehead = trace.prev;
8891 return variable[2];
8892 }
8893 void compiling_methods___ASuperExpr___compile_stmt(val_t self, val_t param0) {
8894 struct trace_t trace = {NULL, NULL, 1278, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
8895 val_t variable[10];
8896 void **closurevariable = NULL;
8897 trace.prev = tracehead; tracehead = &trace;
8898 trace.file = LOCATE_compiling_methods;
8899 variable[0] = self;
8900 variable[1] = param0;
8901 variable[4] = variable[0];
8902 variable[4] = CALL_compiling_methods___PExpr___compile_expr(variable[4])(variable[4], variable[1] /*v*/) /*ASuperExpr::compile_expr*/;
8903 variable[3] = variable[4];
8904 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ == NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
8905 if (UNTAG_Bool(variable[4])) { /*if*/
8906 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
8907 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
8908 variable[6] = variable[5];
8909 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[6]) /*AbstractArray::add*/;
8910 variable[7] = variable[3] /*e*/;
8911 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[7]) /*AbstractArray::add*/;
8912 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
8913 variable[9] = variable[8];
8914 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[9]) /*AbstractArray::add*/;
8915 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
8916 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
8917 }
8918 return_label330: while(false);
8919 tracehead = trace.prev;
8920 return;
8921 }
8922 val_t compiling_methods___AAttrExpr___compile_expr(val_t self, val_t param0) {
8923 struct trace_t trace = {NULL, NULL, 1312, LOCATE_compiling_methods___AAttrExpr___compile_expr};
8924 val_t variable[5];
8925 void **closurevariable = NULL;
8926 trace.prev = tracehead; tracehead = &trace;
8927 trace.file = LOCATE_compiling_methods;
8928 variable[0] = self;
8929 variable[1] = param0;
8930 variable[4] = variable[0];
8931 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[4])(variable[4]) /*AAttrFormExpr::n_expr*/;
8932 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8933 variable[3] = variable[4];
8934 variable[4] = variable[0];
8935 variable[4] = CALL_typing___AAttrFormExpr___prop(variable[4])(variable[4]) /*AAttrFormExpr::prop*/;
8936 variable[4] = CALL_compiling_methods___MMAttribute___compile_access(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/) /*MMAttribute::compile_access*/;
8937 variable[2] = variable[4];
8938 goto return_label331;
8939 return_label331: while(false);
8940 tracehead = trace.prev;
8941 return variable[2];
8942 }
8943 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t self, val_t param0) {
8944 struct trace_t trace = {NULL, NULL, 1320, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
8945 val_t variable[6];
8946 void **closurevariable = NULL;
8947 trace.prev = tracehead; tracehead = &trace;
8948 trace.file = LOCATE_compiling_methods;
8949 variable[0] = self;
8950 variable[1] = param0;
8951 variable[4] = variable[0];
8952 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[4])(variable[4]) /*AAttrFormExpr::n_expr*/;
8953 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8954 variable[3] = variable[4];
8955 variable[5] = variable[0];
8956 variable[5] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[5])(variable[5]) /*AAssignFormExpr::n_value*/;
8957 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
8958 variable[4] = variable[5];
8959 variable[5] = variable[0];
8960 variable[5] = CALL_typing___AAttrFormExpr___prop(variable[5])(variable[5]) /*AAttrFormExpr::prop*/;
8961 variable[5] = CALL_compiling_methods___MMAttribute___compile_access(variable[5])(variable[5], variable[1] /*v*/, variable[3] /*e*/) /*MMAttribute::compile_access*/;
8962 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[5], variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
8963 return_label332: while(false);
8964 tracehead = trace.prev;
8965 return;
8966 }
8967 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t self, val_t param0) {
8968 struct trace_t trace = {NULL, NULL, 1328, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
8969 val_t variable[9];
8970 void **closurevariable = NULL;
8971 trace.prev = tracehead; tracehead = &trace;
8972 trace.file = LOCATE_compiling_methods;
8973 variable[0] = self;
8974 variable[1] = param0;
8975 variable[4] = variable[0];
8976 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[4])(variable[4]) /*AAttrFormExpr::n_expr*/;
8977 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
8978 variable[3] = variable[4];
8979 variable[5] = variable[0];
8980 variable[5] = CALL_typing___AAttrFormExpr___prop(variable[5])(variable[5]) /*AAttrFormExpr::prop*/;
8981 variable[5] = CALL_compiling_methods___MMAttribute___compile_access(variable[5])(variable[5], variable[1] /*v*/, variable[3] /*e1*/) /*MMAttribute::compile_access*/;
8982 variable[4] = variable[5];
8983 variable[6] = variable[0];
8984 variable[6] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[6])(variable[6]) /*AReassignFormExpr::n_value*/;
8985 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
8986 variable[5] = variable[6];
8987 variable[7] = variable[0];
8988 variable[7] = CALL_typing___AReassignFormExpr___assign_method(variable[7])(variable[7]) /*AReassignFormExpr::assign_method*/;
8989 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
8990 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[4] /*e2*/) /*AbstractArray::add*/;
8991 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[5] /*e3*/) /*AbstractArray::add*/;
8992 variable[7] = CALL_compiling_methods___MMMethod___compile_call(variable[7])(variable[7], variable[1] /*v*/, variable[8]) /*MMMethod::compile_call*/;
8993 variable[6] = variable[7];
8994 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*e2*/, variable[6] /*e4*/) /*CompilerVisitor::add_assignment*/;
8995 return_label333: while(false);
8996 tracehead = trace.prev;
8997 return;
8998 }
8999 val_t compiling_methods___ASendExpr___compile_expr(val_t self, val_t param0) {
9000 struct trace_t trace = {NULL, NULL, 1339, LOCATE_compiling_methods___ASendExpr___compile_expr};
9001 val_t variable[26];
9002 void **closurevariable = NULL;
9003 trace.prev = tracehead; tracehead = &trace;
9004 trace.file = LOCATE_compiling_methods;
9005 variable[0] = self;
9006 variable[1] = param0;
9007 variable[4] = variable[0];
9008 variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[4])(variable[4]) /*ASendExpr::n_expr*/;
9009 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
9010 variable[3] = variable[4];
9011 variable[5] = NEW_Array_array___Array___init(); /*new Array[String]*/
9012 variable[4] = variable[5];
9013 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[3] /*recv*/) /*AbstractArray::add*/;
9014 variable[5] = variable[0];
9015 variable[5] = CALL_typing___AAbsSendExpr___arguments(variable[5])(variable[5]) /*AAbsSendExpr::arguments*/;
9016 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*AbstractArray::iterator*/;
9017 while (true) { /*for*/
9018 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ArrayIterator::is_ok*/;
9019 if (!UNTAG_Bool(variable[6])) break; /*for*/
9020 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ArrayIterator::item*/;
9021 variable[7] = variable[6];
9022 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*a*/) /*CompilerVisitor::compile_expr*/;
9023 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[8]) /*AbstractArray::add*/;
9024 continue_335: while(0);
9025 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
9026 }
9027 break_335: while(0);
9028 /*variable[5] is variable e*/
9029 variable[6] = variable[0];
9030 variable[6] = CALL_typing___AAbsSendExpr___prop_signature(variable[6])(variable[6]) /*AAbsSendExpr::prop_signature*/;
9031 variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
9032 variable[6] = CALL_abstract_collection___Collection___is_empty(variable[6])(variable[6]) /*AbstractArray::is_empty*/;
9033 if (UNTAG_Bool(variable[6])) { /*if*/
9034 variable[6] = variable[0];
9035 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[6])(variable[6]) /*AAbsSendExpr::prop*/;
9036 variable[6] = CALL_compiling_methods___MMMethod___compile_call(variable[6])(variable[6], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_call*/;
9037 variable[5] = variable[6] /*e=*/;
9038 } else { /*if*/
9039 variable[7] = variable[0];
9040 variable[7] = CALL_typing___ASendExpr___closure_defs(variable[7])(variable[7]) /*ASendExpr::closure_defs*/;
9041 variable[6] = variable[7];
9042 variable[7] = TAG_Int(0);
9043 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*cd*/ == NIT_NULL /*null*/) || (( variable[6] /*cd*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*cd*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*cd*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*cd*/)( variable[6] /*cd*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9044 if (UNTAG_Bool(variable[8])) { /*if*/
9045 variable[8] = CALL_abstract_collection___Collection___length( variable[6] /*cd*/)( variable[6] /*cd*/) /*AbstractArray::length*/;
9046 variable[7] = variable[8] /*arity=*/;
9047 }
9048 variable[9] = NEW_Array_array___Array___init(); /*new Array[String]*/
9049 variable[8] = variable[9];
9050 variable[9] = NIT_NULL /*null*/;
9051 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9052 variable[11] = CALL_compiling_methods___NitMethodContext___break_value(variable[11])(variable[11]) /*NitMethodContext::break_value*/;
9053 variable[10] = variable[11];
9054 variable[11] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9055 variable[11] = CALL_compiling_methods___CFunctionContext___get_var(variable[11])(variable[11]) /*CFunctionContext::get_var*/;
9056 variable[9] = variable[11] /*ve=*/;
9057 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9058 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[11])(variable[11], variable[9] /*ve*/) /*NitMethodContext::break_value=*/;
9059 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[7] /*arity*/); /*new Range[Int]*/
9060 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
9061 while (true) { /*for*/
9062 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
9063 if (!UNTAG_Bool(variable[12])) break; /*for*/
9064 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/;
9065 variable[13] = variable[12];
9066 variable[15] = variable[6] /*cd*/;
9067 variable[16] = variable[13] /*i*/;
9068 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9069 variable[19] = variable[18];
9070 if (UNTAG_Bool(variable[19])) { /* and */
9071 variable[19] = variable[15];
9072 variable[19] = ATTR_array___AbstractArray____length(variable[19]) /*AbstractArray::_length*/;
9073 variable[19] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[19]));
9074 }
9075 variable[18] = variable[19];
9076 if (!UNTAG_Bool(variable[18])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9077 variable[18] = variable[15];
9078 variable[18] = ATTR_array___Array____items(variable[18]) /*Array::_items*/;
9079 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
9080 variable[17] = variable[18];
9081 goto return_label337;
9082 return_label337: while(false);
9083 variable[15] = variable[17];
9084 variable[16] = variable[0];
9085 variable[16] = CALL_typing___AAbsSendExpr___prop(variable[16])(variable[16]) /*AAbsSendExpr::prop*/;
9086 variable[16] = CALL_compiling_methods___MMMethod___closure_cname(variable[16])(variable[16], variable[13] /*i*/) /*MMMethod::closure_cname*/;
9087 variable[15] = CALL_compiling_methods___PClosureDef___compile_closure(variable[15])(variable[15], variable[1] /*v*/, variable[16]) /*PClosureDef::compile_closure*/;
9088 variable[14] = variable[15];
9089 CALL_abstract_collection___SimpleCollection___add( variable[8] /*closcns*/)( variable[8] /*closcns*/, variable[14] /*cn*/) /*AbstractArray::add*/;
9090 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[14] /*cn*/) /*AbstractArray::add*/;
9091 continue_336: while(0);
9092 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
9093 }
9094 break_336: while(0);
9095 variable[11] = variable[0];
9096 variable[11] = CALL_typing___AAbsSendExpr___prop_signature(variable[11])(variable[11]) /*AAbsSendExpr::prop_signature*/;
9097 variable[11] = CALL_static_type___MMSignature___closures(variable[11])(variable[11]) /*MMSignature::closures*/;
9098 variable[11] = CALL_abstract_collection___Collection___length(variable[11])(variable[11]) /*AbstractArray::length*/;
9099 variable[12] = NEW_Range_range___Range___without_last( variable[7] /*arity*/, variable[11]); /*new Range[Int]*/
9100 variable[11] = variable[12];
9101 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
9102 while (true) { /*for*/
9103 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
9104 if (!UNTAG_Bool(variable[12])) break; /*for*/
9105 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/;
9106 variable[13] = variable[12];
9107 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("NULL"), TAG_Int(4)); /*new String*/
9108 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[14]) /*AbstractArray::add*/;
9109 continue_338: while(0);
9110 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
9111 }
9112 break_338: while(0);
9113 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9114 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[11])(variable[11], variable[10] /*old_bv*/) /*NitMethodContext::break_value=*/;
9115 variable[11] = variable[0];
9116 variable[11] = CALL_typing___AAbsSendExpr___prop(variable[11])(variable[11]) /*AAbsSendExpr::prop*/;
9117 variable[11] = CALL_compiling_methods___MMMethod___compile_call(variable[11])(variable[11], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_call*/;
9118 variable[5] = variable[11] /*e=*/;
9119 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[5] /*e*/ == NIT_NULL /*null*/) || (( variable[5] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*e*/)( variable[5] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9120 if (UNTAG_Bool(variable[11])) { /*if*/
9121 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[9] /*ve*/, variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
9122 variable[5] = variable[9] /*ve*/ /*e=*/;
9123 }
9124 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[7] /*arity*/); /*new Range[Int]*/
9125 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
9126 while (true) { /*for*/
9127 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
9128 if (!UNTAG_Bool(variable[12])) break; /*for*/
9129 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/;
9130 variable[13] = variable[12];
9131 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9132 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)); /*new String*/
9133 variable[16] = variable[15];
9134 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9135 variable[17] = variable[8] /*closcns*/;
9136 variable[18] = variable[13] /*i*/;
9137 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9138 variable[21] = variable[20];
9139 if (UNTAG_Bool(variable[21])) { /* and */
9140 variable[21] = variable[17];
9141 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
9142 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
9143 }
9144 variable[20] = variable[21];
9145 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9146 variable[20] = variable[17];
9147 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
9148 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
9149 variable[19] = variable[20];
9150 goto return_label340;
9151 return_label340: while(false);
9152 variable[17] = variable[19];
9153 variable[18] = variable[17];
9154 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[18]) /*AbstractArray::add*/;
9155 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != NULL) {"), TAG_Int(22)); /*new String*/
9156 variable[20] = variable[19];
9157 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9158 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9159 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9160 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
9161 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
9162 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)); /*new String*/
9163 variable[16] = variable[15];
9164 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9165 variable[17] = variable[8] /*closcns*/;
9166 variable[18] = variable[13] /*i*/;
9167 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9168 variable[21] = variable[20];
9169 if (UNTAG_Bool(variable[21])) { /* and */
9170 variable[21] = variable[17];
9171 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
9172 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
9173 }
9174 variable[20] = variable[21];
9175 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9176 variable[20] = variable[17];
9177 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
9178 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
9179 variable[19] = variable[20];
9180 goto return_label341;
9181 return_label341: while(false);
9182 variable[17] = variable[19];
9183 variable[18] = variable[17];
9184 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[18]) /*AbstractArray::add*/;
9185 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != &("), TAG_Int(17)); /*new String*/
9186 variable[20] = variable[19];
9187 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9188 variable[21] = variable[9] /*ve*/;
9189 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[21]) /*AbstractArray::add*/;
9190 variable[22] = NEW_String_string___String___with_native(BOX_NativeString(")) {"), TAG_Int(4)); /*new String*/
9191 variable[23] = variable[22];
9192 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[23]) /*AbstractArray::add*/;
9193 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9194 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9195 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
9196 variable[14] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9197 variable[14] = CALL_compiling_methods___CFunctionContext___in_closure(variable[14])(variable[14]) /*CFunctionContext::in_closure*/;
9198 if (UNTAG_Bool(variable[14])) { /*if*/
9199 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
9200 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = "), TAG_Int(21)); /*new String*/
9201 variable[16] = variable[15];
9202 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9203 variable[17] = variable[8] /*closcns*/;
9204 variable[18] = variable[13] /*i*/;
9205 variable[20] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9206 variable[21] = variable[20];
9207 if (UNTAG_Bool(variable[21])) { /* and */
9208 variable[21] = variable[17];
9209 variable[21] = ATTR_array___AbstractArray____length(variable[21]) /*AbstractArray::_length*/;
9210 variable[21] = TAG_Bool(UNTAG_Int( variable[18] /*index*/)<UNTAG_Int(variable[21]));
9211 }
9212 variable[20] = variable[21];
9213 if (!UNTAG_Bool(variable[20])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9214 variable[20] = variable[17];
9215 variable[20] = ATTR_array___Array____items(variable[20]) /*Array::_items*/;
9216 variable[20] = UNBOX_NativeArray(variable[20])[UNTAG_Int( variable[18] /*index*/)];
9217 variable[19] = variable[20];
9218 goto return_label342;
9219 return_label342: while(false);
9220 variable[17] = variable[19];
9221 variable[18] = variable[17];
9222 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[18]) /*AbstractArray::add*/;
9223 variable[19] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)); /*new String*/
9224 variable[20] = variable[19];
9225 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9226 variable[21] = variable[8] /*closcns*/;
9227 variable[22] = variable[13] /*i*/;
9228 variable[24] = TAG_Bool(UNTAG_Int( variable[22] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9229 variable[25] = variable[24];
9230 if (UNTAG_Bool(variable[25])) { /* and */
9231 variable[25] = variable[21];
9232 variable[25] = ATTR_array___AbstractArray____length(variable[25]) /*AbstractArray::_length*/;
9233 variable[25] = TAG_Bool(UNTAG_Int( variable[22] /*index*/)<UNTAG_Int(variable[25]));
9234 }
9235 variable[24] = variable[25];
9236 if (!UNTAG_Bool(variable[24])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9237 variable[24] = variable[21];
9238 variable[24] = ATTR_array___Array____items(variable[24]) /*Array::_items*/;
9239 variable[24] = UNBOX_NativeArray(variable[24])[UNTAG_Int( variable[22] /*index*/)];
9240 variable[23] = variable[24];
9241 goto return_label343;
9242 return_label343: while(false);
9243 variable[21] = variable[23];
9244 variable[22] = variable[21];
9245 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[22]) /*AbstractArray::add*/;
9246 variable[23] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)); /*new String*/
9247 variable[24] = variable[23];
9248 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[24]) /*AbstractArray::add*/;
9249 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9250 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9251 }
9252 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9253 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
9254 variable[16] = variable[15];
9255 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9256 variable[17] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9257 variable[17] = CALL_compiling_methods___NitMethodContext___return_label(variable[17])(variable[17]) /*NitMethodContext::return_label*/;
9258 variable[18] = variable[17];
9259 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[18]) /*AbstractArray::add*/;
9260 variable[19] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
9261 variable[20] = variable[19];
9262 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9263 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9264 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9265 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
9266 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[5] /*e*/ == NIT_NULL /*null*/) || (( variable[5] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*e*/)( variable[5] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9267 if (UNTAG_Bool(variable[14])) { /*if*/
9268 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
9269 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("} else "), TAG_Int(7)); /*new String*/
9270 variable[16] = variable[15];
9271 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9272 variable[17] = variable[9] /*ve*/;
9273 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9274 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
9275 variable[19] = variable[18];
9276 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9277 variable[20] = variable[8] /*closcns*/;
9278 variable[21] = variable[13] /*i*/;
9279 variable[23] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9280 variable[24] = variable[23];
9281 if (UNTAG_Bool(variable[24])) { /* and */
9282 variable[24] = variable[20];
9283 variable[24] = ATTR_array___AbstractArray____length(variable[24]) /*AbstractArray::_length*/;
9284 variable[24] = TAG_Bool(UNTAG_Int( variable[21] /*index*/)<UNTAG_Int(variable[24]));
9285 }
9286 variable[23] = variable[24];
9287 if (!UNTAG_Bool(variable[23])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9288 variable[23] = variable[20];
9289 variable[23] = ATTR_array___Array____items(variable[23]) /*Array::_items*/;
9290 variable[23] = UNBOX_NativeArray(variable[23])[UNTAG_Int( variable[21] /*index*/)];
9291 variable[22] = variable[23];
9292 goto return_label344;
9293 return_label344: while(false);
9294 variable[20] = variable[22];
9295 variable[21] = variable[20];
9296 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[21]) /*AbstractArray::add*/;
9297 variable[22] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)); /*new String*/
9298 variable[23] = variable[22];
9299 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[23]) /*AbstractArray::add*/;
9300 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9301 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9302 } else { /*if*/
9303 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
9304 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9305 }
9306 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
9307 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
9308 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9309 continue_339: while(0);
9310 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
9311 }
9312 break_339: while(0);
9313 }
9314 variable[6] = variable[0];
9315 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[6])(variable[6]) /*AAbsSendExpr::prop*/;
9316 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[6])(variable[6]) /*MMLocalProperty::global*/;
9317 variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
9318 if (UNTAG_Bool(variable[6])) { /*if*/
9319 variable[6] = variable[0];
9320 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[6])(variable[6]) /*AAbsSendExpr::prop*/;
9321 CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::invoke_super_init_calls_after*/;
9322 }
9323 variable[2] = variable[5] /*e*/;
9324 goto return_label334;
9325 return_label334: while(false);
9326 tracehead = trace.prev;
9327 return variable[2];
9328 }
9329 void compiling_methods___ASendExpr___compile_stmt(val_t self, val_t param0) {
9330 struct trace_t trace = {NULL, NULL, 1413, LOCATE_compiling_methods___ASendExpr___compile_stmt};
9331 val_t variable[5];
9332 void **closurevariable = NULL;
9333 trace.prev = tracehead; tracehead = &trace;
9334 trace.file = LOCATE_compiling_methods;
9335 variable[0] = self;
9336 variable[1] = param0;
9337 variable[4] = variable[0];
9338 variable[4] = CALL_compiling_methods___PExpr___compile_expr(variable[4])(variable[4], variable[1] /*v*/) /*ASendExpr::compile_expr*/;
9339 variable[3] = variable[4];
9340 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*e*/ == NIT_NULL /*null*/) || (( variable[3] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*e*/)( variable[3] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
9341 if (UNTAG_Bool(variable[4])) { /*if*/
9342 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
9343 variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
9344 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
9345 }
9346 return_label345: while(false);
9347 tracehead = trace.prev;
9348 return;
9349 }
9350 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t self, val_t param0) {
9351 struct trace_t trace = {NULL, NULL, 1423, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
9352 val_t variable[10];
9353 void **closurevariable = NULL;
9354 trace.prev = tracehead; tracehead = &trace;
9355 trace.file = LOCATE_compiling_methods;
9356 variable[0] = self;
9357 variable[1] = param0;
9358 variable[4] = variable[0];
9359 variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[4])(variable[4]) /*ASendExpr::n_expr*/;
9360 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
9361 variable[3] = variable[4];
9362 variable[5] = NEW_Array_array___Array___init(); /*new Array[String]*/
9363 variable[4] = variable[5];
9364 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[3] /*recv*/) /*AbstractArray::add*/;
9365 variable[5] = variable[0];
9366 variable[5] = CALL_typing___AAbsSendExpr___arguments(variable[5])(variable[5]) /*AAbsSendExpr::arguments*/;
9367 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*AbstractArray::iterator*/;
9368 while (true) { /*for*/
9369 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ArrayIterator::is_ok*/;
9370 if (!UNTAG_Bool(variable[6])) break; /*for*/
9371 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ArrayIterator::item*/;
9372 variable[7] = variable[6];
9373 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*a*/) /*CompilerVisitor::compile_expr*/;
9374 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[8]) /*AbstractArray::add*/;
9375 continue_347: while(0);
9376 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ArrayIterator::next*/;
9377 }
9378 break_347: while(0);
9379 variable[6] = variable[0];
9380 variable[6] = CALL_typing___ASendReassignExpr___read_prop(variable[6])(variable[6]) /*ASendReassignExpr::read_prop*/;
9381 variable[6] = CALL_compiling_methods___MMMethod___compile_call(variable[6])(variable[6], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_call*/;
9382 variable[5] = variable[6];
9383 variable[7] = variable[0];
9384 variable[7] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[7])(variable[7]) /*AReassignFormExpr::n_value*/;
9385 variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_expr*/;
9386 variable[6] = variable[7];
9387 variable[8] = variable[0];
9388 variable[8] = CALL_typing___AReassignFormExpr___assign_method(variable[8])(variable[8]) /*AReassignFormExpr::assign_method*/;
9389 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)); /*new Array[String]*/
9390 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[5] /*e2*/) /*AbstractArray::add*/;
9391 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[6] /*e3*/) /*AbstractArray::add*/;
9392 variable[8] = CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_call*/;
9393 variable[7] = variable[8];
9394 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[7] /*e4*/) /*AbstractArray::add*/;
9395 variable[8] = variable[0];
9396 variable[8] = CALL_typing___AAbsSendExpr___prop(variable[8])(variable[8]) /*AAbsSendExpr::prop*/;
9397 variable[8] = CALL_compiling_methods___MMMethod___compile_call(variable[8])(variable[8], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_call*/;
9398 variable[2] = variable[8];
9399 goto return_label346;
9400 return_label346: while(false);
9401 tracehead = trace.prev;
9402 return variable[2];
9403 }
9404 val_t compiling_methods___ANewExpr___compile_expr(val_t self, val_t param0) {
9405 struct trace_t trace = {NULL, NULL, 1441, LOCATE_compiling_methods___ANewExpr___compile_expr};
9406 val_t variable[8];
9407 void **closurevariable = NULL;
9408 trace.prev = tracehead; tracehead = &trace;
9409 trace.file = LOCATE_compiling_methods;
9410 variable[0] = self;
9411 variable[1] = param0;
9412 variable[4] = NEW_Array_array___Array___init(); /*new Array[String]*/
9413 variable[3] = variable[4];
9414 variable[4] = variable[0];
9415 variable[4] = CALL_typing___AAbsSendExpr___arguments(variable[4])(variable[4]) /*AAbsSendExpr::arguments*/;
9416 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*AbstractArray::iterator*/;
9417 while (true) { /*for*/
9418 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ArrayIterator::is_ok*/;
9419 if (!UNTAG_Bool(variable[5])) break; /*for*/
9420 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ArrayIterator::item*/;
9421 variable[6] = variable[5];
9422 variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*a*/) /*CompilerVisitor::compile_expr*/;
9423 CALL_abstract_collection___SimpleCollection___add( variable[3] /*cargs*/)( variable[3] /*cargs*/, variable[7]) /*AbstractArray::add*/;
9424 continue_349: while(0);
9425 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ArrayIterator::next*/;
9426 }
9427 break_349: while(0);
9428 variable[4] = variable[0];
9429 variable[4] = CALL_typing___AAbsSendExpr___prop(variable[4])(variable[4]) /*AAbsSendExpr::prop*/;
9430 variable[5] = variable[0];
9431 variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
9432 variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[3] /*cargs*/) /*MMMethod::compile_constructor_call*/;
9433 variable[2] = variable[4];
9434 goto return_label348;
9435 return_label348: while(false);
9436 tracehead = trace.prev;
9437 return variable[2];
9438 }
9439 val_t compiling_methods___PClosureDef___compile_closure(val_t self, val_t param0, val_t param1) {
9440 struct trace_t trace = {NULL, NULL, 1452, LOCATE_compiling_methods___PClosureDef___compile_closure};
9441 val_t *variable = NULL;
9442 void **closurevariable = NULL;
9443 trace.prev = tracehead; tracehead = &trace;
9444 trace.file = LOCATE_compiling_methods;
9445 fprintf(stderr, "Deferred method called");
9446 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1452);
9447 nit_exit(1);
9448 tracehead = trace.prev;
9449 return NIT_NULL;
9450 }
9451 val_t compiling_methods___PClosureDef___do_compile_inside(val_t self, val_t param0, val_t param1) {
9452 struct trace_t trace = {NULL, NULL, 1456, LOCATE_compiling_methods___PClosureDef___do_compile_inside};
9453 val_t *variable = NULL;
9454 void **closurevariable = NULL;
9455 trace.prev = tracehead; tracehead = &trace;
9456 trace.file = LOCATE_compiling_methods;
9457 fprintf(stderr, "Deferred method called");
9458 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1456);
9459 nit_exit(1);
9460 tracehead = trace.prev;
9461 return NIT_NULL;
9462 }
9463 val_t compiling_methods___AClosureDef___compile_closure(val_t self, val_t param0, val_t param1) {
9464 struct trace_t trace = {NULL, NULL, 1464, LOCATE_compiling_methods___AClosureDef___compile_closure};
9465 val_t variable[26];
9466 void **closurevariable = NULL;
9467 trace.prev = tracehead; tracehead = &trace;
9468 trace.file = LOCATE_compiling_methods;
9469 variable[0] = self;
9470 variable[1] = param0;
9471 variable[2] = param1;
9472 variable[5] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
9473 variable[4] = variable[5];
9474 variable[5] = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
9475 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::ctx=*/;
9476 variable[5] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
9477 variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
9478 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
9479 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9480 variable[6] = CALL_compiling_methods___CFunctionContext___in_closure(variable[6])(variable[6]) /*CFunctionContext::in_closure*/;
9481 variable[5] = variable[6];
9482 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9483 CALL_compiling_methods___CFunctionContext___in_closure__eq(variable[6])(variable[6], TAG_Bool(true)) /*CFunctionContext::in_closure=*/;
9484 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9485 variable[7] = CALL_compiling_methods___NitMethodContext___return_value(variable[7])(variable[7]) /*NitMethodContext::return_value*/;
9486 variable[6] = variable[7];
9487 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9488 variable[8] = CALL_compiling_methods___NitMethodContext___break_value(variable[8])(variable[8]) /*NitMethodContext::break_value*/;
9489 variable[7] = variable[8];
9490 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool( variable[5] /*cfc_old*/)))) { /*if*/
9491 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9492 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9493 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)); /*new String*/
9494 variable[11] = variable[10];
9495 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
9496 variable[12] = variable[6] /*old_rv*/;
9497 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
9498 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9499 variable[14] = variable[13];
9500 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
9501 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
9502 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
9503 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9504 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9505 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)); /*new String*/
9506 variable[11] = variable[10];
9507 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
9508 variable[12] = variable[7] /*old_bv*/;
9509 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
9510 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9511 variable[14] = variable[13];
9512 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
9513 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
9514 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::break_value=*/;
9515 }
9516 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
9517 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("OC_"), TAG_Int(3)); /*new String*/
9518 variable[11] = variable[10];
9519 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
9520 variable[12] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9521 variable[12] = CALL_compiling_methods___NitMethodContext___method(variable[12])(variable[12]) /*NitMethodContext::method*/;
9522 variable[12] = CALL_compiling_base___MMLocalProperty___cname(variable[12])(variable[12]) /*MMLocalProperty::cname*/;
9523 variable[13] = variable[12];
9524 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[13]) /*AbstractArray::add*/;
9525 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)); /*new String*/
9526 variable[15] = variable[14];
9527 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[15]) /*AbstractArray::add*/;
9528 variable[16] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
9529 variable[16] = CALL_abstract_collection___Collection___length(variable[16])(variable[16]) /*AbstractArray::length*/;
9530 variable[17] = variable[16];
9531 variable[17] = CALL_string___Object___to_s(variable[17])(variable[17]) /*Object::to_s*/;
9532 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[17]) /*AbstractArray::add*/;
9533 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9534 variable[19] = variable[18];
9535 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[19]) /*AbstractArray::add*/;
9536 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
9537 variable[8] = variable[9];
9538 variable[9] = variable[0];
9539 ATTR_compiling_methods___AClosureDef____cname(variable[9]) /*AClosureDef::_cname*/ = variable[8] /*cname*/;
9540 variable[10] = NEW_Array_array___Array___init(); /*new Array[String]*/
9541 variable[9] = variable[10];
9542 variable[10] = variable[0];
9543 variable[10] = CALL_syntax_base___PClosureDef___closure(variable[10])(variable[10]) /*PClosureDef::closure*/;
9544 variable[10] = CALL_static_type___MMClosure___signature(variable[10])(variable[10]) /*MMClosure::signature*/;
9545 variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
9546 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[10]); /*new Range[Int]*/
9547 variable[10] = variable[11];
9548 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
9549 while (true) { /*for*/
9550 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
9551 if (!UNTAG_Bool(variable[11])) break; /*for*/
9552 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/;
9553 variable[12] = variable[11];
9554 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9555 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)); /*new String*/
9556 variable[15] = variable[14];
9557 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
9558 variable[16] = variable[12] /*i*/;
9559 variable[16] = CALL_string___Object___to_s(variable[16])(variable[16]) /*Object::to_s*/;
9560 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
9561 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9562 variable[18] = variable[17];
9563 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
9564 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
9565 CALL_abstract_collection___SimpleCollection___add( variable[9] /*args*/)( variable[9] /*args*/, variable[13]) /*AbstractArray::add*/;
9566 continue_351: while(0);
9567 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
9568 }
9569 break_351: while(0);
9570 variable[11] = variable[0];
9571 variable[11] = CALL_compiling_methods___AClosureDef___decl_csignature(variable[11])(variable[11], variable[1] /*v*/, variable[9] /*args*/, variable[2] /*closcn*/) /*AClosureDef::decl_csignature*/;
9572 variable[10] = variable[11];
9573 variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9574 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9575 variable[13] = variable[12];
9576 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[13]) /*AbstractArray::add*/;
9577 variable[14] = variable[10] /*cs*/;
9578 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[14]) /*AbstractArray::add*/;
9579 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)); /*new String*/
9580 variable[16] = variable[15];
9581 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[16]) /*AbstractArray::add*/;
9582 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
9583 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
9584 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
9585 variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
9586 variable[11] = variable[12];
9587 variable[12] = NEW_CContext_compiling_base___CContext___init(); /*new CContext*/
9588 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::ctx=*/;
9589 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
9590 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)); /*new String*/
9591 variable[14] = variable[13];
9592 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[14]) /*AbstractArray::add*/;
9593 variable[15] = variable[0];
9594 variable[15] = CALL_parser_prod___PNode___line_number(variable[15])(variable[15]) /*Prod::line_number*/;
9595 variable[16] = variable[15];
9596 variable[16] = CALL_string___Object___to_s(variable[16])(variable[16]) /*Object::to_s*/;
9597 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[16]) /*AbstractArray::add*/;
9598 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)); /*new String*/
9599 variable[18] = variable[17];
9600 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[18]) /*AbstractArray::add*/;
9601 variable[19] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9602 variable[19] = CALL_compiling_methods___NitMethodContext___method(variable[19])(variable[19]) /*NitMethodContext::method*/;
9603 variable[19] = CALL_compiling_base___MMLocalProperty___cname(variable[19])(variable[19]) /*MMLocalProperty::cname*/;
9604 variable[20] = variable[19];
9605 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[20]) /*AbstractArray::add*/;
9606 variable[21] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)); /*new String*/
9607 variable[22] = variable[21];
9608 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[22]) /*AbstractArray::add*/;
9609 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
9610 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_decl*/;
9611 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)); /*new String*/
9612 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
9613 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9614 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)); /*new String*/
9615 variable[14] = variable[13];
9616 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[14]) /*AbstractArray::add*/;
9617 variable[15] = CALL_compiling_base___CompilerVisitor___module( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::module*/;
9618 variable[15] = CALL_abstractmetamodel___MMModule___name(variable[15])(variable[15]) /*MMModule::name*/;
9619 variable[16] = variable[15];
9620 variable[16] = CALL_string___Object___to_s(variable[16])(variable[16]) /*Object::to_s*/;
9621 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[16]) /*AbstractArray::add*/;
9622 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
9623 variable[18] = variable[17];
9624 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[18]) /*AbstractArray::add*/;
9625 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
9626 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
9627 variable[13] = variable[0];
9628 variable[13] = CALL_compiling_methods___PClosureDef___do_compile_inside(variable[13])(variable[13], variable[1] /*v*/, variable[9] /*args*/) /*AClosureDef::do_compile_inside*/;
9629 variable[12] = variable[13];
9630 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9631 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9632 variable[15] = variable[14];
9633 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
9634 variable[16] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9635 variable[16] = CALL_compiling_methods___NitMethodContext___return_label(variable[16])(variable[16]) /*NitMethodContext::return_label*/;
9636 variable[17] = variable[16];
9637 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[17]) /*AbstractArray::add*/;
9638 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)); /*new String*/
9639 variable[19] = variable[18];
9640 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[19]) /*AbstractArray::add*/;
9641 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
9642 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
9643 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)); /*new String*/
9644 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
9645 variable[13] = TAG_Bool(( variable[12] /*s*/ == NIT_NULL /*null*/) || (( variable[12] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[12] /*s*/)( variable[12] /*s*/, NIT_NULL /*null*/) /*String::==*/)));
9646 if (UNTAG_Bool(variable[13])) { /*if*/
9647 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)); /*new String*/
9648 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
9649 } else { /*if*/
9650 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9651 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)); /*new String*/
9652 variable[15] = variable[14];
9653 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[15]) /*AbstractArray::add*/;
9654 variable[16] = variable[12] /*s*/;
9655 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[16]) /*AbstractArray::add*/;
9656 variable[17] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
9657 variable[18] = variable[17];
9658 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[18]) /*AbstractArray::add*/;
9659 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
9660 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
9661 }
9662 variable[13] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
9663 CALL_compiling_base___CContext___append( variable[11] /*ctx_old2*/)( variable[11] /*ctx_old2*/, variable[13]) /*CContext::append*/;
9664 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[11] /*ctx_old2*/) /*CompilerVisitor::ctx=*/;
9665 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
9666 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
9667 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
9668 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
9669 variable[13] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9670 CALL_compiling_methods___CFunctionContext___in_closure__eq(variable[13])(variable[13], variable[5] /*cfc_old*/) /*CFunctionContext::in_closure=*/;
9671 variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9672 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[13])(variable[13], variable[6] /*old_rv*/) /*NitMethodContext::return_value=*/;
9673 variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9674 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[13])(variable[13], variable[7] /*old_bv*/) /*NitMethodContext::break_value=*/;
9675 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9676 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("wbclos"), TAG_Int(6)); /*new String*/
9677 variable[16] = variable[15];
9678 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9679 variable[17] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
9680 variable[18] = variable[17];
9681 variable[18] = CALL_string___Object___to_s(variable[18])(variable[18]) /*Object::to_s*/;
9682 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[18]) /*AbstractArray::add*/;
9683 variable[19] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9684 variable[20] = variable[19];
9685 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9686 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9687 variable[13] = variable[14];
9688 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
9689 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
9690 variable[16] = variable[15];
9691 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9692 variable[17] = variable[2] /*closcn*/;
9693 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9694 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
9695 variable[19] = variable[18];
9696 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9697 variable[20] = variable[13] /*closcnv*/;
9698 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[20]) /*AbstractArray::add*/;
9699 variable[21] = NEW_String_string___String___with_native(BOX_NativeString(" = {"), TAG_Int(4)); /*new String*/
9700 variable[22] = variable[21];
9701 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[22]) /*AbstractArray::add*/;
9702 variable[23] = variable[8] /*cname*/;
9703 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[23]) /*AbstractArray::add*/;
9704 variable[24] = NEW_String_string___String___with_native(BOX_NativeString(", NULL};"), TAG_Int(8)); /*new String*/
9705 variable[25] = variable[24];
9706 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[25]) /*AbstractArray::add*/;
9707 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9708 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_decl*/;
9709 if (UNTAG_Bool( variable[5] /*cfc_old*/)) { /*if*/
9710 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9711 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9712 variable[16] = variable[15];
9713 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9714 variable[17] = variable[13] /*closcnv*/;
9715 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9716 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(".variable = closctx->variable;"), TAG_Int(30)); /*new String*/
9717 variable[19] = variable[18];
9718 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9719 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9720 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9721 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9722 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9723 variable[16] = variable[15];
9724 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9725 variable[17] = variable[13] /*closcnv*/;
9726 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9727 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closctx->closurevariable;"), TAG_Int(44)); /*new String*/
9728 variable[19] = variable[18];
9729 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9730 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9731 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9732 } else { /*if*/
9733 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9734 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9735 variable[16] = variable[15];
9736 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9737 variable[17] = variable[13] /*closcnv*/;
9738 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9739 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(".variable = variable;"), TAG_Int(21)); /*new String*/
9740 variable[19] = variable[18];
9741 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9742 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9743 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9744 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9745 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9746 variable[16] = variable[15];
9747 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9748 variable[17] = variable[13] /*closcnv*/;
9749 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9750 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closurevariable;"), TAG_Int(35)); /*new String*/
9751 variable[19] = variable[18];
9752 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9753 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9754 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
9755 }
9756 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9757 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("(&"), TAG_Int(2)); /*new String*/
9758 variable[16] = variable[15];
9759 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[16]) /*AbstractArray::add*/;
9760 variable[17] = variable[13] /*closcnv*/;
9761 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[17]) /*AbstractArray::add*/;
9762 variable[18] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
9763 variable[19] = variable[18];
9764 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[19]) /*AbstractArray::add*/;
9765 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
9766 variable[3] = variable[14];
9767 goto return_label350;
9768 return_label350: while(false);
9769 tracehead = trace.prev;
9770 return variable[3];
9771 }
9772 val_t compiling_methods___AClosureDef___do_compile_inside(val_t self, val_t param0, val_t param1) {
9773 struct trace_t trace = {NULL, NULL, 1554, LOCATE_compiling_methods___AClosureDef___do_compile_inside};
9774 val_t variable[15];
9775 void **closurevariable = NULL;
9776 trace.prev = tracehead; tracehead = &trace;
9777 trace.file = LOCATE_compiling_methods;
9778 variable[0] = self;
9779 variable[1] = param0;
9780 variable[2] = param1;
9781 variable[4] = variable[0];
9782 variable[4] = CALL_syntax_base___PClosureDef___variables(variable[4])(variable[4]) /*PClosureDef::variables*/;
9783 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArray::length*/;
9784 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]); /*new Range[Int]*/
9785 variable[4] = variable[5];
9786 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
9787 while (true) { /*for*/
9788 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
9789 if (!UNTAG_Bool(variable[5])) break; /*for*/
9790 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/;
9791 variable[6] = variable[5];
9792 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9793 variable[9] = variable[0];
9794 variable[9] = CALL_syntax_base___PClosureDef___variables(variable[9])(variable[9]) /*PClosureDef::variables*/;
9795 variable[10] = variable[9];
9796 variable[11] = variable[6] /*i*/;
9797 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9798 variable[14] = variable[13];
9799 if (UNTAG_Bool(variable[14])) { /* and */
9800 variable[14] = variable[10];
9801 variable[14] = ATTR_array___AbstractArray____length(variable[14]) /*AbstractArray::_length*/;
9802 variable[14] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[14]));
9803 }
9804 variable[13] = variable[14];
9805 if (!UNTAG_Bool(variable[13])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9806 variable[13] = variable[10];
9807 variable[13] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
9808 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
9809 variable[12] = variable[13];
9810 goto return_label354;
9811 return_label354: while(false);
9812 variable[9] = variable[12];
9813 variable[8] = CALL_compiling_methods___CFunctionContext___register_variable(variable[8])(variable[8], variable[9]) /*CFunctionContext::register_variable*/;
9814 variable[7] = variable[8];
9815 variable[8] = variable[2] /*params*/;
9816 variable[9] = variable[6] /*i*/;
9817 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9818 variable[12] = variable[11];
9819 if (UNTAG_Bool(variable[12])) { /* and */
9820 variable[12] = variable[8];
9821 variable[12] = ATTR_array___AbstractArray____length(variable[12]) /*AbstractArray::_length*/;
9822 variable[12] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[12]));
9823 }
9824 variable[11] = variable[12];
9825 if (!UNTAG_Bool(variable[11])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9826 variable[11] = variable[8];
9827 variable[11] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
9828 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
9829 variable[10] = variable[11];
9830 goto return_label355;
9831 return_label355: while(false);
9832 variable[8] = variable[10];
9833 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*vacname*/, variable[8]) /*CompilerVisitor::add_assignment*/;
9834 continue_353: while(0);
9835 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
9836 }
9837 break_353: while(0);
9838 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9839 variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
9840 variable[4] = variable[5];
9841 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9842 variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
9843 variable[5] = variable[6];
9844 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9845 variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
9846 variable[6] = variable[7];
9847 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9848 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
9849 variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8]) /*CFunctionContext::get_var*/;
9850 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
9851 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9852 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9853 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)); /*new String*/
9854 variable[10] = variable[9];
9855 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
9856 variable[11] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
9857 variable[12] = variable[11];
9858 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
9859 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
9860 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9861 variable[14] = variable[13];
9862 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
9863 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9864 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
9865 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9866 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9867 variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
9868 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
9869 variable[7] = variable[0];
9870 variable[7] = CALL_parser_nodes___AClosureDef___n_expr(variable[7])(variable[7]) /*AClosureDef::n_expr*/;
9871 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
9872 if (UNTAG_Bool(variable[7])) { /*if*/
9873 variable[7] = variable[0];
9874 variable[7] = CALL_parser_nodes___AClosureDef___n_expr(variable[7])(variable[7]) /*AClosureDef::n_expr*/;
9875 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
9876 }
9877 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9878 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9879 variable[9] = variable[8];
9880 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
9881 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9882 variable[10] = CALL_compiling_methods___NitMethodContext___continue_label(variable[10])(variable[10]) /*NitMethodContext::continue_label*/;
9883 variable[11] = variable[10];
9884 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[11]) /*AbstractArray::add*/;
9885 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
9886 variable[13] = variable[12];
9887 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[13]) /*AbstractArray::add*/;
9888 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
9889 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
9890 variable[7] = NIT_NULL /*null*/;
9891 variable[8] = variable[0];
9892 variable[8] = CALL_syntax_base___PClosureDef___closure(variable[8])(variable[8]) /*PClosureDef::closure*/;
9893 variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
9894 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
9895 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
9896 if (UNTAG_Bool(variable[8])) { /*if*/
9897 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9898 variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
9899 variable[7] = variable[8] /*ret=*/;
9900 }
9901 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9902 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8], variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
9903 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9904 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8], variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
9905 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
9906 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8], variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
9907 variable[3] = variable[7] /*ret*/;
9908 goto return_label352;
9909 return_label352: while(false);
9910 tracehead = trace.prev;
9911 return variable[3];
9912 }
9913 val_t compiling_methods___AClosureDef___cname(val_t self) {
9914 struct trace_t trace = {NULL, NULL, 1461, LOCATE_compiling_methods___AClosureDef___cname};
9915 val_t *variable = NULL;
9916 void **closurevariable = NULL;
9917 trace.prev = tracehead; tracehead = &trace;
9918 trace.file = LOCATE_compiling_methods;
9919 tracehead = trace.prev;
9920 return ATTR_compiling_methods___AClosureDef____cname( self) /*AClosureDef::_cname*/;
9921 }
9922 val_t compiling_methods___AClosureDef___decl_csignature(val_t self, val_t param0, val_t param1, val_t param2) {
9923 struct trace_t trace = {NULL, NULL, 1532, LOCATE_compiling_methods___AClosureDef___decl_csignature};
9924 val_t variable[22];
9925 void **closurevariable = NULL;
9926 trace.prev = tracehead; tracehead = &trace;
9927 trace.file = LOCATE_compiling_methods;
9928 variable[0] = self;
9929 variable[1] = param0;
9930 variable[2] = param1;
9931 variable[3] = param2;
9932 variable[6] = NEW_Array_array___Array___init(); /*new Array[String]*/
9933 variable[5] = variable[6];
9934 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9935 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
9936 variable[8] = variable[7];
9937 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
9938 variable[9] = variable[3] /*closcn*/;
9939 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
9940 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("* closctx"), TAG_Int(9)); /*new String*/
9941 variable[11] = variable[10];
9942 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
9943 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
9944 CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/, variable[6]) /*AbstractArray::add*/;
9945 variable[6] = variable[0];
9946 variable[6] = CALL_syntax_base___PClosureDef___closure(variable[6])(variable[6]) /*PClosureDef::closure*/;
9947 variable[6] = CALL_static_type___MMClosure___signature(variable[6])(variable[6]) /*MMClosure::signature*/;
9948 variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
9949 variable[7] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]); /*new Range[Int]*/
9950 variable[6] = variable[7];
9951 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
9952 while (true) { /*for*/
9953 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
9954 if (!UNTAG_Bool(variable[7])) break; /*for*/
9955 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/;
9956 variable[8] = variable[7];
9957 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
9958 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)); /*new String*/
9959 variable[12] = variable[11];
9960 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[12]) /*AbstractArray::add*/;
9961 variable[13] = variable[2] /*args*/;
9962 variable[14] = variable[8] /*i*/;
9963 variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9964 variable[17] = variable[16];
9965 if (UNTAG_Bool(variable[17])) { /* and */
9966 variable[17] = variable[13];
9967 variable[17] = ATTR_array___AbstractArray____length(variable[17]) /*AbstractArray::_length*/;
9968 variable[17] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)<UNTAG_Int(variable[17]));
9969 }
9970 variable[16] = variable[17];
9971 if (!UNTAG_Bool(variable[16])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 229); nit_exit(1);}
9972 variable[16] = variable[13];
9973 variable[16] = ATTR_array___Array____items(variable[16]) /*Array::_items*/;
9974 variable[16] = UNBOX_NativeArray(variable[16])[UNTAG_Int( variable[14] /*index*/)];
9975 variable[15] = variable[16];
9976 goto return_label358;
9977 return_label358: while(false);
9978 variable[13] = variable[15];
9979 variable[14] = variable[13];
9980 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[14]) /*AbstractArray::add*/;
9981 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
9982 variable[16] = variable[15];
9983 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[16]) /*AbstractArray::add*/;
9984 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
9985 variable[9] = variable[10];
9986 CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/, variable[9] /*p*/) /*AbstractArray::add*/;
9987 continue_357: while(0);
9988 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
9989 }
9990 break_357: while(0);
9991 /*variable[6] is variable ret*/
9992 variable[7] = variable[0];
9993 variable[7] = CALL_syntax_base___PClosureDef___closure(variable[7])(variable[7]) /*PClosureDef::closure*/;
9994 variable[7] = CALL_static_type___MMClosure___signature(variable[7])(variable[7]) /*MMClosure::signature*/;
9995 variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
9996 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
9997 if (UNTAG_Bool(variable[7])) { /*if*/
9998 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)); /*new String*/
9999 variable[6] = variable[7] /*ret=*/;
10000 } else { /*if*/
10001 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)); /*new String*/
10002 variable[6] = variable[7] /*ret=*/;
10003 }
10004 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
10005 variable[8] = CALL_string___Collection___join( variable[5] /*params*/)( variable[5] /*params*/, variable[8]) /*Collection::join*/;
10006 variable[7] = variable[8];
10007 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10008 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
10009 variable[11] = variable[10];
10010 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
10011 variable[12] = variable[6] /*ret*/;
10012 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
10013 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
10014 variable[14] = variable[13];
10015 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
10016 variable[15] = variable[0];
10017 variable[15] = CALL_compiling_methods___AClosureDef___cname(variable[15])(variable[15]) /*AClosureDef::cname*/;
10018 variable[16] = variable[15];
10019 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
10020 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
10021 variable[18] = variable[17];
10022 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
10023 variable[19] = variable[7] /*p*/;
10024 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[19]) /*AbstractArray::add*/;
10025 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
10026 variable[21] = variable[20];
10027 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[21]) /*AbstractArray::add*/;
10028 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
10029 variable[8] = variable[9];
10030 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10031 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("struct "), TAG_Int(7)); /*new String*/
10032 variable[11] = variable[10];
10033 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
10034 variable[12] = variable[3] /*closcn*/;
10035 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
10036 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10037 variable[14] = variable[13];
10038 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
10039 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
10040 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
10041 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10042 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)); /*new String*/
10043 variable[11] = variable[10];
10044 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[11]) /*AbstractArray::add*/;
10045 variable[12] = variable[6] /*ret*/;
10046 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[12]) /*AbstractArray::add*/;
10047 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)); /*new String*/
10048 variable[14] = variable[13];
10049 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[14]) /*AbstractArray::add*/;
10050 variable[15] = variable[0];
10051 variable[15] = CALL_compiling_methods___AClosureDef___cname(variable[15])(variable[15]) /*AClosureDef::cname*/;
10052 variable[16] = variable[15];
10053 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[16]) /*AbstractArray::add*/;
10054 variable[17] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)); /*new String*/
10055 variable[18] = variable[17];
10056 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[18]) /*AbstractArray::add*/;
10057 variable[19] = variable[7] /*p*/;
10058 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[19]) /*AbstractArray::add*/;
10059 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)); /*new String*/
10060 variable[21] = variable[20];
10061 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[21]) /*AbstractArray::add*/;
10062 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
10063 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
10064 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10065 variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
10066 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
10067 variable[4] = variable[8] /*s*/;
10068 goto return_label356;
10069 return_label356: while(false);
10070 tracehead = trace.prev;
10071 return variable[4];
10072 }
10073 val_t compiling_methods___PClosureDecl___do_compile_inside(val_t self, val_t param0, val_t param1) {
10074 struct trace_t trace = {NULL, NULL, 1585, LOCATE_compiling_methods___PClosureDecl___do_compile_inside};
10075 val_t *variable = NULL;
10076 void **closurevariable = NULL;
10077 trace.prev = tracehead; tracehead = &trace;
10078 trace.file = LOCATE_compiling_methods;
10079 fprintf(stderr, "Deferred method called");
10080 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1585);
10081 nit_exit(1);
10082 tracehead = trace.prev;
10083 return NIT_NULL;
10084 }
10085 val_t compiling_methods___AClosureDecl___do_compile_inside(val_t self, val_t param0, val_t param1) {
10086 struct trace_t trace = {NULL, NULL, 1588, LOCATE_compiling_methods___AClosureDecl___do_compile_inside};
10087 val_t variable[15];
10088 void **closurevariable = NULL;
10089 trace.prev = tracehead; tracehead = &trace;
10090 trace.file = LOCATE_compiling_methods;
10091 variable[0] = self;
10092 variable[1] = param0;
10093 variable[2] = param1;
10094 variable[4] = variable[0];
10095 variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[4])(variable[4]) /*AClosureDecl::n_signature*/;
10096 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[4] == NIT_NULL /*null*/) || ((variable[4] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[4])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[4], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[4])(variable[4], NIT_NULL /*null*/) /*Object::==*/)))))));
10097 if (UNTAG_Bool(variable[4])) { /*if*/
10098 variable[4] = variable[0];
10099 variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[4])(variable[4]) /*AClosureDecl::n_signature*/;
10100 variable[5] = variable[0];
10101 variable[5] = CALL_syntax_base___PClosureDecl___variable(variable[5])(variable[5]) /*AClosureDecl::variable*/;
10102 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
10103 variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
10104 CALL_compiling_methods___PSignature___compile_parameters(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[2] /*params*/) /*PSignature::compile_parameters*/;
10105 }
10106 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10107 variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
10108 variable[4] = variable[5];
10109 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10110 variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
10111 variable[5] = variable[6];
10112 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10113 variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
10114 variable[6] = variable[7];
10115 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10116 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10117 variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8]) /*CFunctionContext::get_var*/;
10118 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
10119 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10120 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10121 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)); /*new String*/
10122 variable[10] = variable[9];
10123 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10124 variable[11] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
10125 variable[12] = variable[11];
10126 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
10127 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
10128 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
10129 variable[14] = variable[13];
10130 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
10131 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10132 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
10133 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10134 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10135 variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
10136 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
10137 variable[7] = variable[0];
10138 variable[7] = CALL_parser_nodes___AClosureDecl___n_expr(variable[7])(variable[7]) /*AClosureDecl::n_expr*/;
10139 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[7] == NIT_NULL /*null*/) || ((variable[7] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[7])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[7], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[7])(variable[7], NIT_NULL /*null*/) /*Object::==*/)))))));
10140 if (UNTAG_Bool(variable[7])) { /*if*/
10141 variable[7] = variable[0];
10142 variable[7] = CALL_parser_nodes___AClosureDecl___n_expr(variable[7])(variable[7]) /*AClosureDecl::n_expr*/;
10143 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
10144 }
10145 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10146 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
10147 variable[9] = variable[8];
10148 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[9]) /*AbstractArray::add*/;
10149 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10150 variable[10] = CALL_compiling_methods___NitMethodContext___continue_label(variable[10])(variable[10]) /*NitMethodContext::continue_label*/;
10151 variable[11] = variable[10];
10152 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[11]) /*AbstractArray::add*/;
10153 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)); /*new String*/
10154 variable[13] = variable[12];
10155 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[13]) /*AbstractArray::add*/;
10156 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
10157 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
10158 variable[7] = NIT_NULL /*null*/;
10159 variable[8] = variable[0];
10160 variable[8] = CALL_syntax_base___PClosureDecl___variable(variable[8])(variable[8]) /*AClosureDecl::variable*/;
10161 variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
10162 variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
10163 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
10164 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
10165 if (UNTAG_Bool(variable[8])) { /*if*/
10166 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10167 variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
10168 variable[7] = variable[8] /*ret=*/;
10169 }
10170 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10171 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8], variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
10172 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10173 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8], variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
10174 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10175 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8], variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
10176 variable[3] = variable[7] /*ret*/;
10177 goto return_label359;
10178 return_label359: while(false);
10179 tracehead = trace.prev;
10180 return variable[3];
10181 }
10182 val_t compiling_methods___AClosureCallExpr___compile_expr(val_t self, val_t param0) {
10183 struct trace_t trace = {NULL, NULL, 1616, LOCATE_compiling_methods___AClosureCallExpr___compile_expr};
10184 val_t variable[22];
10185 void **closurevariable = NULL;
10186 trace.prev = tracehead; tracehead = &trace;
10187 trace.file = LOCATE_compiling_methods;
10188 variable[0] = self;
10189 variable[1] = param0;
10190 variable[4] = NEW_Array_array___Array___init(); /*new Array[String]*/
10191 variable[3] = variable[4];
10192 variable[4] = variable[0];
10193 variable[4] = CALL_typing___AAbsSendExpr___arguments(variable[4])(variable[4]) /*AAbsSendExpr::arguments*/;
10194 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*AbstractArray::iterator*/;
10195 while (true) { /*for*/
10196 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ArrayIterator::is_ok*/;
10197 if (!UNTAG_Bool(variable[5])) break; /*for*/
10198 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ArrayIterator::item*/;
10199 variable[6] = variable[5];
10200 variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*a*/) /*CompilerVisitor::compile_expr*/;
10201 CALL_abstract_collection___SimpleCollection___add( variable[3] /*cargs*/)( variable[3] /*cargs*/, variable[7]) /*AbstractArray::add*/;
10202 continue_361: while(0);
10203 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ArrayIterator::next*/;
10204 }
10205 break_361: while(0);
10206 variable[4] = NIT_NULL /*null*/;
10207 variable[5] = variable[0];
10208 variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[5])(variable[5]) /*AClosureCallExpr::variable*/;
10209 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
10210 variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
10211 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
10212 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[5] == NIT_NULL /*null*/) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], NIT_NULL /*null*/) /*Object::==*/)))))));
10213 if (UNTAG_Bool(variable[5])) { /*if*/
10214 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10215 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5]) /*CFunctionContext::get_var*/;
10216 variable[4] = variable[5] /*va=*/;
10217 }
10218 variable[5] = variable[0];
10219 variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[5])(variable[5]) /*AClosureCallExpr::variable*/;
10220 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
10221 variable[5] = CALL_static_type___MMClosure___is_optional(variable[5])(variable[5]) /*MMClosure::is_optional*/;
10222 if (UNTAG_Bool(variable[5])) { /*if*/
10223 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10224 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if("), TAG_Int(3)); /*new String*/
10225 variable[7] = variable[6];
10226 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
10227 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10228 variable[9] = variable[0];
10229 variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[9])(variable[9]) /*AClosureCallExpr::variable*/;
10230 variable[8] = CALL_compiling_methods___CFunctionContext___varname(variable[8])(variable[8], variable[9]) /*CFunctionContext::varname*/;
10231 variable[9] = variable[8];
10232 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[9]) /*AbstractArray::add*/;
10233 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("==NULL) {"), TAG_Int(9)); /*new String*/
10234 variable[11] = variable[10];
10235 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
10236 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
10237 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
10238 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
10239 variable[6] = variable[0];
10240 variable[6] = CALL_syntax_base___AClosureCallExpr___variable(variable[6])(variable[6]) /*AClosureCallExpr::variable*/;
10241 variable[6] = CALL_syntax_base___Variable___decl(variable[6])(variable[6]) /*Variable::decl*/;
10242 variable[5] = variable[6];
10243 variable[6] = TAG_Bool(( variable[5] /*n*/==NIT_NULL) || VAL_ISA( variable[5] /*n*/, COLOR_AClosureDecl, ID_AClosureDecl)) /*cast AClosureDecl*/;
10244 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AClosureCallExpr___compile_expr, LOCATE_compiling_methods, 1627); nit_exit(1);}
10245 variable[7] = CALL_compiling_methods___PClosureDecl___do_compile_inside( variable[5] /*n*/)( variable[5] /*n*/, variable[1] /*v*/, variable[3] /*cargs*/) /*AClosureDecl::do_compile_inside*/;
10246 variable[6] = variable[7];
10247 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[6] /*s*/ == NIT_NULL /*null*/) || (( variable[6] /*s*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[6] /*s*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[6] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[6] /*s*/)( variable[6] /*s*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10248 if (UNTAG_Bool(variable[7])) { /*if*/
10249 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*va*/, variable[6] /*s*/) /*CompilerVisitor::add_assignment*/;
10250 }
10251 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
10252 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("} else {"), TAG_Int(8)); /*new String*/
10253 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
10254 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
10255 }
10256 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
10257 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)); /*new String*/
10258 variable[8] = variable[7];
10259 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
10260 variable[9] = variable[0];
10261 variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[9])(variable[9]) /*AClosureCallExpr::variable*/;
10262 variable[9] = CALL_compiling_methods___ClosureVariable___ctypename(variable[9])(variable[9]) /*ClosureVariable::ctypename*/;
10263 variable[10] = variable[9];
10264 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[10]) /*AbstractArray::add*/;
10265 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)); /*new String*/
10266 variable[12] = variable[11];
10267 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
10268 variable[13] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10269 variable[14] = variable[0];
10270 variable[14] = CALL_syntax_base___AClosureCallExpr___variable(variable[14])(variable[14]) /*AClosureCallExpr::variable*/;
10271 variable[13] = CALL_compiling_methods___CFunctionContext___varname(variable[13])(variable[13], variable[14]) /*CFunctionContext::varname*/;
10272 variable[14] = variable[13];
10273 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[14]) /*AbstractArray::add*/;
10274 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)); /*new String*/
10275 variable[16] = variable[15];
10276 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[16]) /*AbstractArray::add*/;
10277 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
10278 variable[5] = variable[6];
10279 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)); /*new Array[String]*/
10280 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[5] /*ivar*/) /*AbstractArray::add*/;
10281 variable[6] = variable[7];
10282 CALL_abstract_collection___IndexedCollection___append( variable[6] /*cargs2*/)( variable[6] /*cargs2*/, variable[3] /*cargs*/) /*IndexedCollection::append*/;
10283 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10284 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)); /*new String*/
10285 variable[10] = variable[9];
10286 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10287 variable[11] = variable[5] /*ivar*/;
10288 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
10289 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("->fun("), TAG_Int(6)); /*new String*/
10290 variable[13] = variable[12];
10291 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
10292 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
10293 variable[14] = CALL_string___Collection___join( variable[6] /*cargs2*/)( variable[6] /*cargs2*/, variable[14]) /*Collection::join*/;
10294 variable[15] = variable[14];
10295 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[15]) /*AbstractArray::add*/;
10296 variable[16] = NEW_String_string___String___with_native(BOX_NativeString(")) /* Invoke closure "), TAG_Int(21)); /*new String*/
10297 variable[17] = variable[16];
10298 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[17]) /*AbstractArray::add*/;
10299 variable[18] = variable[0];
10300 variable[18] = CALL_syntax_base___AClosureCallExpr___variable(variable[18])(variable[18]) /*AClosureCallExpr::variable*/;
10301 variable[19] = variable[18];
10302 variable[19] = CALL_string___Object___to_s(variable[19])(variable[19]) /*Object::to_s*/;
10303 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[19]) /*AbstractArray::add*/;
10304 variable[20] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)); /*new String*/
10305 variable[21] = variable[20];
10306 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[21]) /*AbstractArray::add*/;
10307 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10308 variable[7] = variable[8];
10309 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[4] /*va*/ == NIT_NULL /*null*/) || (( variable[4] /*va*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[4] /*va*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*va*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*va*/)( variable[4] /*va*/, NIT_NULL /*null*/) /*Object::==*/)))))));
10310 if (UNTAG_Bool(variable[8])) { /*if*/
10311 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*va*/, variable[7] /*s*/) /*CompilerVisitor::add_assignment*/;
10312 } else { /*if*/
10313 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10314 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
10315 variable[10] = variable[9];
10316 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10317 variable[11] = variable[7] /*s*/;
10318 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
10319 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10320 variable[13] = variable[12];
10321 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
10322 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10323 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10324 }
10325 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10326 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)); /*new String*/
10327 variable[10] = variable[9];
10328 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10329 variable[11] = variable[5] /*ivar*/;
10330 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
10331 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) {"), TAG_Int(14)); /*new String*/
10332 variable[13] = variable[12];
10333 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
10334 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10335 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10336 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
10337 variable[8] = variable[0];
10338 variable[8] = CALL_parser_nodes___ASendExpr___n_closure_defs(variable[8])(variable[8]) /*ASendExpr::n_closure_defs*/;
10339 variable[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool((variable[8] == NIT_NULL /*null*/) || ((variable[8] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[8])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[8], NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[8])(variable[8], NIT_NULL /*null*/) /*Object::==*/)))))));
10340 variable[9] = variable[8];
10341 if (UNTAG_Bool(variable[9])) { /* and */
10342 variable[9] = variable[0];
10343 variable[9] = CALL_parser_nodes___ASendExpr___n_closure_defs(variable[9])(variable[9]) /*ASendExpr::n_closure_defs*/;
10344 variable[9] = CALL_abstract_collection___Collection___length(variable[9])(variable[9]) /*List::length*/;
10345 variable[9] = TAG_Bool((variable[9])==( TAG_Int(1)));
10346 }
10347 variable[8] = variable[9];
10348 if (UNTAG_Bool(variable[8])) { /*if*/
10349 variable[8] = variable[0];
10350 variable[8] = CALL_parser_nodes___ASendExpr___n_closure_defs(variable[8])(variable[8]) /*ASendExpr::n_closure_defs*/;
10351 variable[8] = CALL_abstract_collection___Collection___first(variable[8])(variable[8]) /*List::first*/;
10352 CALL_compiling_methods___PClosureDef___do_compile_inside(variable[8])(variable[8], variable[1] /*v*/, NIT_NULL /*null*/) /*PClosureDef::do_compile_inside*/;
10353 }
10354 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10355 variable[8] = CALL_compiling_methods___CFunctionContext___in_closure(variable[8])(variable[8]) /*CFunctionContext::in_closure*/;
10356 if (UNTAG_Bool(variable[8])) { /*if*/
10357 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10358 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)); /*new String*/
10359 variable[10] = variable[9];
10360 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10361 variable[11] = variable[5] /*ivar*/;
10362 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[11]) /*AbstractArray::add*/;
10363 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) { closctx->has_broke = "), TAG_Int(36)); /*new String*/
10364 variable[13] = variable[12];
10365 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[13]) /*AbstractArray::add*/;
10366 variable[14] = variable[5] /*ivar*/;
10367 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
10368 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)); /*new String*/
10369 variable[16] = variable[15];
10370 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[16]) /*AbstractArray::add*/;
10371 variable[17] = variable[5] /*ivar*/;
10372 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[17]) /*AbstractArray::add*/;
10373 variable[18] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;}"), TAG_Int(15)); /*new String*/
10374 variable[19] = variable[18];
10375 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[19]) /*AbstractArray::add*/;
10376 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10377 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10378 }
10379 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10380 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)); /*new String*/
10381 variable[10] = variable[9];
10382 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
10383 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
10384 variable[11] = CALL_compiling_methods___NitMethodContext___return_label(variable[11])(variable[11]) /*NitMethodContext::return_label*/;
10385 variable[12] = variable[11];
10386 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[12]) /*AbstractArray::add*/;
10387 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10388 variable[14] = variable[13];
10389 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[14]) /*AbstractArray::add*/;
10390 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10391 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10392 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
10393 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
10394 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10395 variable[8] = variable[0];
10396 variable[8] = CALL_syntax_base___AClosureCallExpr___variable(variable[8])(variable[8]) /*AClosureCallExpr::variable*/;
10397 variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
10398 variable[8] = CALL_static_type___MMClosure___is_optional(variable[8])(variable[8]) /*MMClosure::is_optional*/;
10399 if (UNTAG_Bool(variable[8])) { /*if*/
10400 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
10401 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
10402 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10403 }
10404 variable[2] = variable[4] /*va*/;
10405 goto return_label360;
10406 return_label360: while(false);
10407 tracehead = trace.prev;
10408 return variable[2];
10409 }
10410 val_t compiling_methods___AProxyExpr___compile_expr(val_t self, val_t param0) {
10411 struct trace_t trace = {NULL, NULL, 1663, LOCATE_compiling_methods___AProxyExpr___compile_expr};
10412 val_t variable[4];
10413 void **closurevariable = NULL;
10414 trace.prev = tracehead; tracehead = &trace;
10415 trace.file = LOCATE_compiling_methods;
10416 variable[0] = self;
10417 variable[1] = param0;
10418 variable[3] = variable[0];
10419 variable[3] = CALL_parser_nodes___AProxyExpr___n_expr(variable[3])(variable[3]) /*AProxyExpr::n_expr*/;
10420 variable[3] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_expr*/;
10421 variable[2] = variable[3];
10422 goto return_label362;
10423 return_label362: while(false);
10424 tracehead = trace.prev;
10425 return variable[2];
10426 }
10427 val_t compiling_methods___AOnceExpr___compile_expr(val_t self, val_t param0) {
10428 struct trace_t trace = {NULL, NULL, 1670, LOCATE_compiling_methods___AOnceExpr___compile_expr};
10429 val_t variable[17];
10430 void **closurevariable = NULL;
10431 trace.prev = tracehead; tracehead = &trace;
10432 trace.file = LOCATE_compiling_methods;
10433 variable[0] = self;
10434 variable[1] = param0;
10435 variable[4] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
10436 variable[3] = variable[4];
10437 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10438 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5]) /*CFunctionContext::get_var*/;
10439 variable[4] = variable[5];
10440 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10441 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)); /*new String*/
10442 variable[7] = variable[6];
10443 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
10444 variable[8] = variable[3] /*i*/;
10445 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10446 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
10447 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)); /*new String*/
10448 variable[10] = variable[9];
10449 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
10450 variable[11] = variable[3] /*i*/;
10451 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
10452 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
10453 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("; /* Once value for "), TAG_Int(20)); /*new String*/
10454 variable[13] = variable[12];
10455 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
10456 variable[14] = variable[4] /*cvar*/;
10457 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[14]) /*AbstractArray::add*/;
10458 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)); /*new String*/
10459 variable[16] = variable[15];
10460 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[16]) /*AbstractArray::add*/;
10461 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
10462 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
10463 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)); /*new Array[String]*/
10464 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)); /*new String*/
10465 variable[7] = variable[6];
10466 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[7]) /*AbstractArray::add*/;
10467 variable[8] = variable[3] /*i*/;
10468 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10469 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[8]) /*AbstractArray::add*/;
10470 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)); /*new String*/
10471 variable[10] = variable[9];
10472 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[10]) /*AbstractArray::add*/;
10473 variable[11] = variable[4] /*cvar*/;
10474 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[11]) /*AbstractArray::add*/;
10475 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)); /*new String*/
10476 variable[13] = variable[12];
10477 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[13]) /*AbstractArray::add*/;
10478 variable[14] = variable[3] /*i*/;
10479 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
10480 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[14]) /*AbstractArray::add*/;
10481 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10482 variable[16] = variable[15];
10483 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[16]) /*AbstractArray::add*/;
10484 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
10485 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
10486 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)); /*new String*/
10487 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
10488 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
10489 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
10490 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[4] /*cvar*/) /*CFunctionContext::free_var*/;
10491 variable[6] = variable[0];
10492 variable[6] = CALL_parser_nodes___AProxyExpr___n_expr(variable[6])(variable[6]) /*AProxyExpr::n_expr*/;
10493 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
10494 variable[5] = variable[6];
10495 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*cvar*/, variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
10496 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)); /*new Array[String]*/
10497 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)); /*new String*/
10498 variable[8] = variable[7];
10499 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
10500 variable[9] = variable[3] /*i*/;
10501 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
10502 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
10503 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)); /*new String*/
10504 variable[11] = variable[10];
10505 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
10506 variable[12] = variable[4] /*cvar*/;
10507 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[12]) /*AbstractArray::add*/;
10508 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)); /*new String*/
10509 variable[14] = variable[13];
10510 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[14]) /*AbstractArray::add*/;
10511 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
10512 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
10513 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)); /*new Array[String]*/
10514 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)); /*new String*/
10515 variable[8] = variable[7];
10516 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[8]) /*AbstractArray::add*/;
10517 variable[9] = variable[3] /*i*/;
10518 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
10519 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[9]) /*AbstractArray::add*/;
10520 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)); /*new String*/
10521 variable[11] = variable[10];
10522 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[11]) /*AbstractArray::add*/;
10523 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
10524 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
10525 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
10526 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)); /*new String*/
10527 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
10528 variable[2] = variable[4] /*cvar*/;
10529 goto return_label363;
10530 return_label363: while(false);
10531 tracehead = trace.prev;
10532 return variable[2];
10533 }