misc: update Changelog and NOTICE; remove BUGS and TODO
[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___compile_stmt(val_t self, val_t param0) {
4 struct trace_t trace = {NULL, NULL, 24, LOCATE_compiling_methods___CompilerVisitor___compile_stmt};
5 val_t variable[5];
6 struct WBT_ **closurevariable = NULL;
7 trace.prev = tracehead; tracehead = &trace;
8 trace.file = LOCATE_compiling_methods;
9 /* Register variable[0]: Local variable */
10 variable[0] = self;
11 /* Register variable[1]: Local variable */
12 variable[1] = param0;
13 /* Register variable[2]: Method return value and escape marker */
14 /* Register variable[3]: Result */
15 variable[3] = TAG_Bool(( variable[1] /*n*/ == NIT_NULL /*null*/) || (( variable[1] /*n*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*n*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*n*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*n*/)( variable[1] /*n*/, NIT_NULL /*null*/) /*Object::==*/)))));
16 if (UNTAG_Bool(variable[3])) { /*if*/
17 goto return_label0;
18 }
19 CALL_compiling_methods___PExpr___prepare_compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::prepare_compile_stmt*/;
20 /* Register variable[3]: Local variable */
21 /* Register variable[4]: Result */
22 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
23 /* Register variable[4]: Result */
24 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
25 variable[3] = variable[4];
26 CALL_compiling_methods___PExpr___compile_stmt( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::compile_stmt*/;
27 /* Register variable[4]: Result */
28 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
29 ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/ = variable[3] /*i*/;
30 return_label0: while(false);
31 tracehead = trace.prev;
32 return;
33 }
34 val_t compiling_methods___CompilerVisitor___compile_expr(val_t self, val_t param0) {
35 struct trace_t trace = {NULL, NULL, 35, LOCATE_compiling_methods___CompilerVisitor___compile_expr};
36 static val_t once_value_2 = NIT_NULL; /* Once value for string variable[7]*/
37 val_t variable[8];
38 struct WBT_ **closurevariable = NULL;
39 trace.prev = tracehead; tracehead = &trace;
40 trace.file = LOCATE_compiling_methods;
41 /* Register variable[0]: Local variable */
42 variable[0] = self;
43 /* Register variable[1]: Local variable */
44 variable[1] = param0;
45 /* Register variable[2]: Method return value and escape marker */
46 /* Register variable[3]: Local variable */
47 /* Register variable[4]: Result */
48 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
49 /* Register variable[4]: Result */
50 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[4]) /*CFunctionContext::_variable_index*/;
51 variable[3] = variable[4];
52 /* Register variable[4]: Local variable */
53 /* Register variable[5]: Result */
54 variable[5] = CALL_compiling_methods___PExpr___compile_expr( variable[1] /*n*/)( variable[1] /*n*/, variable[0]) /*PExpr::compile_expr*/;
55 variable[4] = variable[5];
56 /* Register variable[5]: Result */
57 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
58 ATTR_compiling_methods___CFunctionContext____variable_index(variable[5]) /*CFunctionContext::_variable_index*/ = variable[3] /*i*/;
59 /* Register variable[5]: Result */
60 variable[5] = CALL_abstract_collection___MapRead_____bra( variable[4] /*s*/)( variable[4] /*s*/, TAG_Int(0)) /*AbstractString::[]*/;
61 /* Register variable[5]: Result */
62 variable[5] = TAG_Bool((variable[5])==( TAG_Char(' ')));
63 /* Ensure var variable[5]: Left 'or' operand*/
64 if (!UNTAG_Bool(variable[5])) { /* or */
65 /* Register variable[5]: Result */
66 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
67 /* Register variable[5]: Result */
68 variable[5] = CALL_compiling_methods___CFunctionContext___is_valid_variable(variable[5])(variable[5], variable[4] /*s*/) /*CFunctionContext::is_valid_variable*/;
69 }
70 /* Register variable[5]: Result */
71 if (UNTAG_Bool(variable[5])) { /*if*/
72 variable[2] = variable[4] /*s*/;
73 goto return_label1;
74 }
75 /* Register variable[5]: Local variable */
76 /* Register variable[6]: Result */
77 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
78 /* Register variable[7]: Once String constant */
79 if (once_value_2 != NIT_NULL) variable[7] = once_value_2;
80 else {
81 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Result"), TAG_Int(6)) /*new String*/;
82 once_value_2 = variable[7];
83 }
84 /* Register variable[7]: Result */
85 /* Register variable[6]: Result */
86 variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6], variable[7]) /*CFunctionContext::get_var*/;
87 variable[5] = variable[6];
88 CALL_compiling_methods___CompilerVisitor___add_assignment(variable[0])(variable[0], variable[5] /*v*/, variable[4] /*s*/) /*CompilerVisitor::add_assignment*/;
89 variable[2] = variable[5] /*v*/;
90 goto return_label1;
91 return_label1: while(false);
92 tracehead = trace.prev;
93 return variable[2];
94 }
95 val_t compiling_methods___CompilerVisitor___ensure_var(val_t self, val_t param0, val_t param1) {
96 struct trace_t trace = {NULL, NULL, 50, LOCATE_compiling_methods___CompilerVisitor___ensure_var};
97 static val_t once_value_4 = NIT_NULL; /* Once value for string variable[5]*/
98 static val_t once_value_5 = NIT_NULL; /* Once value for string variable[5]*/
99 static val_t once_value_6 = NIT_NULL; /* Once value for string variable[5]*/
100 static val_t once_value_7 = NIT_NULL; /* Once value for string variable[6]*/
101 static val_t once_value_8 = NIT_NULL; /* Once value for string variable[6]*/
102 static val_t once_value_9 = NIT_NULL; /* Once value for string variable[6]*/
103 val_t variable[7];
104 struct WBT_ **closurevariable = NULL;
105 trace.prev = tracehead; tracehead = &trace;
106 trace.file = LOCATE_compiling_methods;
107 /* Register variable[0]: Local variable */
108 variable[0] = self;
109 /* Register variable[1]: Local variable */
110 variable[1] = param0;
111 /* Register variable[2]: Local variable */
112 variable[2] = param1;
113 /* Register variable[3]: Method return value and escape marker */
114 /* Register variable[4]: Result */
115 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
116 /* Register variable[4]: Result */
117 variable[4] = CALL_compiling_methods___CFunctionContext___is_valid_variable(variable[4])(variable[4], variable[1] /*s*/) /*CFunctionContext::is_valid_variable*/;
118 if (UNTAG_Bool(variable[4])) { /*if*/
119 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
120 /* Register variable[5]: Once String constant */
121 if (once_value_4 != NIT_NULL) variable[5] = once_value_4;
122 else {
123 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/* Ensure var "), TAG_Int(14)) /*new String*/;
124 once_value_4 = variable[5];
125 }
126 /* Register variable[5]: Result */
127 /* Ensure var variable[5]: super-string element*/
128 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
129 variable[5] = variable[1] /*s*/ /* Ensure var: super-string element*/;
130 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
131 /* Register variable[5]: Once String constant */
132 if (once_value_5 != NIT_NULL) variable[5] = once_value_5;
133 else {
134 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
135 once_value_5 = variable[5];
136 }
137 /* Register variable[5]: Result */
138 /* Ensure var variable[5]: super-string element*/
139 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
140 variable[5] = variable[2] /*comment*/ /* Ensure var: super-string element*/;
141 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
142 /* Register variable[5]: Once String constant */
143 if (once_value_6 != NIT_NULL) variable[5] = once_value_6;
144 else {
145 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
146 once_value_6 = variable[5];
147 }
148 /* Register variable[5]: Result */
149 /* Ensure var variable[5]: super-string element*/
150 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
151 /* Register variable[4]: Result */
152 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
153 CALL_compiling_base___CompilerVisitor___add_instr(variable[0])(variable[0], variable[4]) /*CompilerVisitor::add_instr*/;
154 variable[3] = variable[1] /*s*/;
155 goto return_label3;
156 }
157 /* Register variable[4]: Local variable */
158 /* Register variable[5]: Result */
159 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
160 /* Register variable[5]: Result */
161 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], NIT_NULL /*null*/) /*CFunctionContext::get_var*/;
162 variable[4] = variable[5];
163 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
164 /* Register variable[6]: Once String constant */
165 if (once_value_7 != NIT_NULL) variable[6] = once_value_7;
166 else {
167 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
168 once_value_7 = variable[6];
169 }
170 /* Register variable[6]: Result */
171 /* Ensure var variable[6]: super-string element*/
172 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
173 variable[6] = variable[1] /*s*/ /* Ensure var: super-string element*/;
174 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
175 /* Register variable[6]: Once String constant */
176 if (once_value_8 != NIT_NULL) variable[6] = once_value_8;
177 else {
178 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" /* Ensure var: "), TAG_Int(16)) /*new String*/;
179 once_value_8 = variable[6];
180 }
181 /* Register variable[6]: Result */
182 /* Ensure var variable[6]: super-string element*/
183 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
184 variable[6] = variable[2] /*comment*/ /* Ensure var: super-string element*/;
185 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
186 /* Register variable[6]: Once String constant */
187 if (once_value_9 != NIT_NULL) variable[6] = once_value_9;
188 else {
189 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
190 once_value_9 = variable[6];
191 }
192 /* Register variable[6]: Result */
193 /* Ensure var variable[6]: super-string element*/
194 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
195 /* Register variable[5]: Result */
196 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
197 CALL_compiling_methods___CompilerVisitor___add_assignment(variable[0])(variable[0], variable[4] /*v*/, variable[5]) /*CompilerVisitor::add_assignment*/;
198 variable[3] = variable[4] /*v*/;
199 goto return_label3;
200 return_label3: while(false);
201 tracehead = trace.prev;
202 return variable[3];
203 }
204 void compiling_methods___CompilerVisitor___add_assignment(val_t self, val_t param0, val_t param1) {
205 struct trace_t trace = {NULL, NULL, 62, LOCATE_compiling_methods___CompilerVisitor___add_assignment};
206 static val_t once_value_11 = NIT_NULL; /* Once value for string variable[5]*/
207 static val_t once_value_12 = NIT_NULL; /* Once value for string variable[5]*/
208 static val_t once_value_13 = NIT_NULL; /* Once value for string variable[5]*/
209 val_t variable[6];
210 struct WBT_ **closurevariable = NULL;
211 trace.prev = tracehead; tracehead = &trace;
212 trace.file = LOCATE_compiling_methods;
213 /* Register variable[0]: Local variable */
214 variable[0] = self;
215 /* Register variable[1]: Local variable */
216 variable[1] = param0;
217 /* Register variable[2]: Local variable */
218 variable[2] = param1;
219 /* Register variable[3]: Method return value and escape marker */
220 /* Register variable[4]: Result */
221 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::==*/)))))));
222 if (UNTAG_Bool(variable[4])) { /*if*/
223 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
224 /* Register variable[5]: Once String constant */
225 if (once_value_11 != NIT_NULL) variable[5] = once_value_11;
226 else {
227 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
228 once_value_11 = variable[5];
229 }
230 /* Register variable[5]: Result */
231 /* Ensure var variable[5]: super-string element*/
232 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
233 variable[5] = variable[1] /*v*/ /* Ensure var: super-string element*/;
234 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
235 /* Register variable[5]: Once String constant */
236 if (once_value_12 != NIT_NULL) variable[5] = once_value_12;
237 else {
238 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
239 once_value_12 = variable[5];
240 }
241 /* Register variable[5]: Result */
242 /* Ensure var variable[5]: super-string element*/
243 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
244 variable[5] = variable[2] /*s*/ /* Ensure var: super-string element*/;
245 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
246 /* Register variable[5]: Once String constant */
247 if (once_value_13 != NIT_NULL) variable[5] = once_value_13;
248 else {
249 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
250 once_value_13 = variable[5];
251 }
252 /* Register variable[5]: Result */
253 /* Ensure var variable[5]: super-string element*/
254 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
255 /* Register variable[4]: Result */
256 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
257 CALL_compiling_base___CompilerVisitor___add_instr(variable[0])(variable[0], variable[4]) /*CompilerVisitor::add_instr*/;
258 }
259 return_label10: while(false);
260 tracehead = trace.prev;
261 return;
262 }
263 val_t compiling_methods___CompilerVisitor___cfc(val_t self) {
264 struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___cfc};
265 val_t *variable = NULL;
266 struct WBT_ **closurevariable = NULL;
267 trace.prev = tracehead; tracehead = &trace;
268 trace.file = LOCATE_compiling_methods;
269 tracehead = trace.prev;
270 return ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/;
271 }
272 void compiling_methods___CompilerVisitor___cfc__eq(val_t self, val_t param0) {
273 struct trace_t trace = {NULL, NULL, 70, LOCATE_compiling_methods___CompilerVisitor___cfc__eq};
274 val_t *variable = NULL;
275 struct WBT_ **closurevariable = NULL;
276 trace.prev = tracehead; tracehead = &trace;
277 trace.file = LOCATE_compiling_methods;
278 ATTR_compiling_methods___CompilerVisitor____cfc( self) /*CompilerVisitor::_cfc*/ = param0;
279 tracehead = trace.prev;
280 return;
281 }
282 val_t compiling_methods___CompilerVisitor___nmc(val_t self) {
283 struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_methods___CompilerVisitor___nmc};
284 val_t *variable = NULL;
285 struct WBT_ **closurevariable = NULL;
286 trace.prev = tracehead; tracehead = &trace;
287 trace.file = LOCATE_compiling_methods;
288 tracehead = trace.prev;
289 return ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/;
290 }
291 void compiling_methods___CompilerVisitor___nmc__eq(val_t self, val_t param0) {
292 struct trace_t trace = {NULL, NULL, 72, LOCATE_compiling_methods___CompilerVisitor___nmc__eq};
293 val_t *variable = NULL;
294 struct WBT_ **closurevariable = NULL;
295 trace.prev = tracehead; tracehead = &trace;
296 trace.file = LOCATE_compiling_methods;
297 ATTR_compiling_methods___CompilerVisitor____nmc( self) /*CompilerVisitor::_nmc*/ = param0;
298 tracehead = trace.prev;
299 return;
300 }
301 val_t compiling_methods___CompilerVisitor___out_contexts(val_t self) {
302 struct trace_t trace = {NULL, NULL, 74, LOCATE_compiling_methods___CompilerVisitor___out_contexts};
303 val_t *variable = NULL;
304 struct WBT_ **closurevariable = NULL;
305 trace.prev = tracehead; tracehead = &trace;
306 trace.file = LOCATE_compiling_methods;
307 tracehead = trace.prev;
308 return ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/;
309 }
310 void compiling_methods___CompilerVisitor___out_contexts__eq(val_t self, val_t param0) {
311 struct trace_t trace = {NULL, NULL, 74, LOCATE_compiling_methods___CompilerVisitor___out_contexts__eq};
312 val_t *variable = NULL;
313 struct WBT_ **closurevariable = NULL;
314 trace.prev = tracehead; tracehead = &trace;
315 trace.file = LOCATE_compiling_methods;
316 ATTR_compiling_methods___CompilerVisitor____out_contexts( self) /*CompilerVisitor::_out_contexts*/ = param0;
317 tracehead = trace.prev;
318 return;
319 }
320 val_t compiling_methods___CompilerVisitor___printf_locate_error(val_t self, val_t param0) {
321 struct trace_t trace = {NULL, NULL, 77, LOCATE_compiling_methods___CompilerVisitor___printf_locate_error};
322 static val_t once_value_15 = NIT_NULL; /* Once value for string variable[4]*/
323 static val_t once_value_16 = NIT_NULL; /* Once value for string variable[4]*/
324 static val_t once_value_17 = NIT_NULL; /* Once value for string variable[4]*/
325 static val_t once_value_18 = NIT_NULL; /* Once value for string variable[5]*/
326 static val_t once_value_19 = NIT_NULL; /* Once value for string variable[5]*/
327 static val_t once_value_20 = NIT_NULL; /* Once value for string variable[5]*/
328 static val_t once_value_21 = NIT_NULL; /* Once value for string variable[5]*/
329 static val_t once_value_22 = NIT_NULL; /* Once value for string variable[5]*/
330 val_t variable[6];
331 struct WBT_ **closurevariable = NULL;
332 trace.prev = tracehead; tracehead = &trace;
333 trace.file = LOCATE_compiling_methods;
334 /* Register variable[0]: Local variable */
335 variable[0] = self;
336 /* Register variable[1]: Local variable */
337 variable[1] = param0;
338 /* Register variable[2]: Method return value and escape marker */
339 /* Register variable[3]: Local variable */
340 /* Register variable[4]: Once String constant */
341 if (once_value_15 != NIT_NULL) variable[4] = once_value_15;
342 else {
343 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \""), TAG_Int(17)) /*new String*/;
344 once_value_15 = variable[4];
345 }
346 /* Register variable[4]: Result */
347 /* Register variable[4]: Result */
348 variable[4] = NEW_Buffer_string___Buffer___from(variable[4]) /*new Buffer*/;
349 variable[3] = variable[4];
350 /* Register variable[4]: Result */
351 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
352 /* Register variable[4]: Result */
353 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::==*/)))))));
354 if (UNTAG_Bool(variable[4])) { /*if*/
355 /* Register variable[4]: Once String constant */
356 if (once_value_16 != NIT_NULL) variable[4] = once_value_16;
357 else {
358 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" in %s"), TAG_Int(6)) /*new String*/;
359 once_value_16 = variable[4];
360 }
361 /* Register variable[4]: Result */
362 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
363 }
364 /* Register variable[4]: Once String constant */
365 if (once_value_17 != NIT_NULL) variable[4] = once_value_17;
366 else {
367 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" (%s:%d)\\n\", "), TAG_Int(13)) /*new String*/;
368 once_value_17 = variable[4];
369 }
370 /* Register variable[4]: Result */
371 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
372 /* Register variable[4]: Result */
373 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
374 /* Register variable[4]: Result */
375 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::==*/)))))));
376 if (UNTAG_Bool(variable[4])) { /*if*/
377 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
378 /* Register variable[5]: Once String constant */
379 if (once_value_18 != NIT_NULL) variable[5] = once_value_18;
380 else {
381 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)) /*new String*/;
382 once_value_18 = variable[5];
383 }
384 /* Register variable[5]: Result */
385 /* Ensure var variable[5]: super-string element*/
386 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
387 /* Register variable[5]: Result */
388 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
389 /* Register variable[5]: Result */
390 variable[5] = CALL_compiling_methods___NitMethodContext___method(variable[5])(variable[5]) /*NitMethodContext::method*/;
391 /* Register variable[5]: Result */
392 variable[5] = CALL_compiling_base___MMLocalProperty___cname(variable[5])(variable[5]) /*MMLocalProperty::cname*/;
393 /* Ensure var variable[5]: super-string element*/
394 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
395 /* Register variable[5]: Once String constant */
396 if (once_value_19 != NIT_NULL) variable[5] = once_value_19;
397 else {
398 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
399 once_value_19 = variable[5];
400 }
401 /* Register variable[5]: Result */
402 /* Ensure var variable[5]: super-string element*/
403 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
404 /* Register variable[4]: Result */
405 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
406 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
407 }
408 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
409 /* Register variable[5]: Once String constant */
410 if (once_value_20 != NIT_NULL) variable[5] = once_value_20;
411 else {
412 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("LOCATE_"), TAG_Int(7)) /*new String*/;
413 once_value_20 = variable[5];
414 }
415 /* Register variable[5]: Result */
416 /* Ensure var variable[5]: super-string element*/
417 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
418 /* Register variable[5]: Result */
419 variable[5] = CALL_compiling_base___CompilerVisitor___module(variable[0])(variable[0]) /*CompilerVisitor::module*/;
420 /* Register variable[5]: Result */
421 variable[5] = CALL_abstractmetamodel___MMModule___name(variable[5])(variable[5]) /*MMModule::name*/;
422 /* Ensure var variable[5]: super-string element*/
423 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
424 /* Register variable[5]: Once String constant */
425 if (once_value_21 != NIT_NULL) variable[5] = once_value_21;
426 else {
427 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
428 once_value_21 = variable[5];
429 }
430 /* Register variable[5]: Result */
431 /* Ensure var variable[5]: super-string element*/
432 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
433 /* Register variable[5]: Result */
434 variable[5] = CALL_parser_prod___PNode___line_number( variable[1] /*node*/)( variable[1] /*node*/) /*PNode::line_number*/;
435 /* Ensure var variable[5]: super-string element*/
436 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
437 /* Register variable[5]: Once String constant */
438 if (once_value_22 != NIT_NULL) variable[5] = once_value_22;
439 else {
440 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
441 once_value_22 = variable[5];
442 }
443 /* Register variable[5]: Result */
444 /* Ensure var variable[5]: super-string element*/
445 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
446 /* Register variable[4]: Result */
447 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
448 CALL_abstract_collection___IndexedCollection___append( variable[3] /*s*/)( variable[3] /*s*/, variable[4]) /*Buffer::append*/;
449 /* Register variable[4]: Result */
450 variable[4] = CALL_string___Object___to_s( variable[3] /*s*/)( variable[3] /*s*/) /*Buffer::to_s*/;
451 variable[2] = variable[4];
452 goto return_label14;
453 return_label14: while(false);
454 tracehead = trace.prev;
455 return variable[2];
456 }
457 void compiling_methods___CompilerVisitor___invoke_super_init_calls_after(val_t self, val_t param0) {
458 struct trace_t trace = {NULL, NULL, 88, LOCATE_compiling_methods___CompilerVisitor___invoke_super_init_calls_after};
459 val_t variable[16];
460 struct WBT_ **closurevariable = NULL;
461 trace.prev = tracehead; tracehead = &trace;
462 trace.file = LOCATE_compiling_methods;
463 /* Register variable[0]: Local variable */
464 variable[0] = self;
465 /* Register variable[1]: Local variable */
466 variable[1] = param0;
467 /* Register variable[2]: Method return value and escape marker */
468 /* Register variable[3]: Local variable */
469 /* Register variable[4]: Result */
470 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
471 /* Register variable[4]: Result */
472 variable[4] = CALL_compiling_methods___NitMethodContext___method(variable[4])(variable[4]) /*NitMethodContext::method*/;
473 /* Register variable[4]: Result */
474 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[4])(variable[4]) /*MMLocalProperty::node*/;
475 variable[3] = variable[4];
476 /* Register variable[4]: Result */
477 variable[4] = TAG_Bool(( variable[3] /*n*/==NIT_NULL) || VAL_ISA( variable[3] /*n*/, COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
478 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, 91); nit_exit(1);}
479 /* Register variable[4]: Result */
480 variable[4] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
481 /* Register variable[4]: Result */
482 variable[4] = CALL_abstract_collection___Collection___is_empty(variable[4])(variable[4]) /*AbstractArrayRead::is_empty*/;
483 if (UNTAG_Bool(variable[4])) { /*if*/
484 goto return_label23;
485 }
486 /* Register variable[4]: Local variable */
487 variable[4] = TAG_Int(0);
488 /* Register variable[5]: Local variable */
489 variable[5] = TAG_Int(0);
490 /* Register variable[6]: Result */
491 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::==*/)))))));
492 if (UNTAG_Bool(variable[6])) { /*if*/
493 while (true) { /*while*/
494 /* Register variable[6]: Result */
495 variable[6] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
496 /* Register variable[7]: Local variable */
497 variable[7] = variable[6];
498 /* Register variable[8]: Local variable */
499 variable[8] = variable[4] /*i*/;
500 /* Register variable[9]: Method return value and escape marker */
501 /* Register variable[10]: Result */
502 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
503 /* Ensure var variable[10]: Left 'and' operand*/
504 if (UNTAG_Bool(variable[10])) { /* and */
505 /* Register variable[10]: Result */
506 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
507 /* Register variable[10]: Result */
508 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
509 }
510 /* Register variable[10]: Result */
511 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, 234); nit_exit(1);}
512 /* Register variable[10]: Result */
513 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
514 /* Register variable[10]: Result */
515 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
516 variable[9] = variable[10];
517 goto return_label25;
518 return_label25: while(false);
519 /* Register variable[6]: Result */
520 variable[6] = variable[9];
521 /* Register variable[6]: Result */
522 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::==*/)))))));
523 if (!UNTAG_Bool(variable[6])) break; /* while*/
524 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
525 continue_24: while(0);
526 }
527 break_24: while(0);
528 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
529 while (true) { /*while*/
530 /* Register variable[6]: Result */
531 variable[6] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
532 /* Register variable[7]: Local variable */
533 variable[7] = variable[6];
534 /* Register variable[8]: Local variable */
535 variable[8] = variable[5] /*j*/;
536 /* Register variable[9]: Method return value and escape marker */
537 /* Register variable[10]: Result */
538 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
539 /* Ensure var variable[10]: Left 'and' operand*/
540 if (UNTAG_Bool(variable[10])) { /* and */
541 /* Register variable[10]: Result */
542 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
543 /* Register variable[10]: Result */
544 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
545 }
546 /* Register variable[10]: Result */
547 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, 234); nit_exit(1);}
548 /* Register variable[10]: Result */
549 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
550 /* Register variable[10]: Result */
551 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
552 variable[9] = variable[10];
553 goto return_label27;
554 return_label27: while(false);
555 /* Register variable[6]: Result */
556 variable[6] = variable[9];
557 /* Register variable[6]: Result */
558 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::==*/)))))));
559 if (!UNTAG_Bool(variable[6])) break; /* while*/
560 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
561 continue_26: while(0);
562 }
563 break_26: while(0);
564 variable[5] = TAG_Int(UNTAG_Int(variable[5])+UNTAG_Int( TAG_Int(1))) /*j*/;
565 }
566 /* Register variable[6]: Local variable */
567 variable[6] = NIT_NULL /*null*/;
568 /* Register variable[7]: Result */
569 variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
570 /* Register variable[7]: Result */
571 variable[7] = CALL_abstract_collection___Collection___length(variable[7])(variable[7]) /*AbstractArrayRead::length*/;
572 /* Register variable[7]: Result */
573 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*j*/)<UNTAG_Int(variable[7]));
574 if (UNTAG_Bool(variable[7])) { /*if*/
575 /* Register variable[7]: Result */
576 variable[7] = CALL_typing___AConcreteInitPropdef___explicit_super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::explicit_super_init_calls*/;
577 /* Register variable[8]: Local variable */
578 variable[8] = variable[7];
579 /* Register variable[9]: Local variable */
580 variable[9] = variable[5] /*j*/;
581 /* Register variable[10]: Method return value and escape marker */
582 /* Register variable[11]: Result */
583 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
584 /* Ensure var variable[11]: Left 'and' operand*/
585 if (UNTAG_Bool(variable[11])) { /* and */
586 /* Register variable[11]: Result */
587 variable[11] = ATTR_array___AbstractArrayRead____length(variable[8]) /*AbstractArrayRead::_length*/;
588 /* Register variable[11]: Result */
589 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[11]));
590 }
591 /* Register variable[11]: Result */
592 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, 234); nit_exit(1);}
593 /* Register variable[11]: Result */
594 variable[11] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
595 /* Register variable[11]: Result */
596 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
597 variable[10] = variable[11];
598 goto return_label28;
599 return_label28: while(false);
600 /* Register variable[7]: Result */
601 variable[7] = variable[10];
602 variable[6] = variable[7] /*stop_prop=*/;
603 }
604 /* Register variable[7]: Local variable */
605 /* Register variable[8]: Result */
606 variable[8] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
607 /* Register variable[8]: Result */
608 variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*AbstractArrayRead::length*/;
609 variable[7] = variable[8];
610 while (true) { /*while*/
611 /* Register variable[8]: Result */
612 variable[8] = TAG_Bool(UNTAG_Int( variable[4] /*i*/)<UNTAG_Int( variable[7] /*l*/));
613 if (!UNTAG_Bool(variable[8])) break; /* while*/
614 /* Register variable[8]: Local variable */
615 /* Register variable[9]: Result */
616 variable[9] = CALL_typing___AConcreteInitPropdef___super_init_calls( variable[3] /*n*/)( variable[3] /*n*/) /*AConcreteInitPropdef::super_init_calls*/;
617 /* Register variable[10]: Local variable */
618 variable[10] = variable[9];
619 /* Register variable[11]: Local variable */
620 variable[11] = variable[4] /*i*/;
621 /* Register variable[12]: Method return value and escape marker */
622 /* Register variable[13]: Result */
623 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
624 /* Ensure var variable[13]: Left 'and' operand*/
625 if (UNTAG_Bool(variable[13])) { /* and */
626 /* Register variable[13]: Result */
627 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
628 /* Register variable[13]: Result */
629 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
630 }
631 /* Register variable[13]: Result */
632 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, 234); nit_exit(1);}
633 /* Register variable[13]: Result */
634 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
635 /* Register variable[13]: Result */
636 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
637 variable[12] = variable[13];
638 goto return_label30;
639 return_label30: while(false);
640 /* Register variable[9]: Result */
641 variable[9] = variable[12];
642 variable[8] = variable[9];
643 /* Register variable[9]: Result */
644 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::==*/)))));
645 if (UNTAG_Bool(variable[9])) { /*if*/
646 goto break_29;
647 }
648 /* Register variable[9]: Local variable */
649 /* Register variable[10]: Result */
650 variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
651 variable[9] = variable[10];
652 /* Register variable[10]: Result */
653 variable[10] = CALL_static_type___MMLocalProperty___signature( variable[8] /*p*/)( variable[8] /*p*/) /*MMLocalProperty::signature*/;
654 /* Register variable[10]: Result */
655 variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
656 /* Register variable[10]: Result */
657 variable[10] = TAG_Bool((variable[10])==( TAG_Int(0)));
658 if (UNTAG_Bool(variable[10])) { /*if*/
659 /* Register variable[10]: Result */
660 variable[10] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
661 /* Register variable[11]: Result */
662 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
663 /* Register variable[11]: Result */
664 variable[11] = CALL_compiling_methods___NitMethodContext___method_params(variable[11])(variable[11]) /*NitMethodContext::method_params*/;
665 /* Register variable[12]: Local variable */
666 variable[12] = variable[11];
667 /* Register variable[13]: Local variable */
668 variable[13] = TAG_Int(0);
669 /* Register variable[14]: Method return value and escape marker */
670 /* Register variable[15]: Result */
671 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
672 /* Ensure var variable[15]: Left 'and' operand*/
673 if (UNTAG_Bool(variable[15])) { /* and */
674 /* Register variable[15]: Result */
675 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
676 /* Register variable[15]: Result */
677 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
678 }
679 /* Register variable[15]: Result */
680 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, 234); nit_exit(1);}
681 /* Register variable[15]: Result */
682 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
683 /* Register variable[15]: Result */
684 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
685 variable[14] = variable[15];
686 goto return_label31;
687 return_label31: while(false);
688 /* Register variable[11]: Result */
689 variable[11] = variable[14];
690 /* Register variable[10]: Result */
691 variable[10] = CALL_compiling_methods___CFunctionContext___varname(variable[10])(variable[10], variable[11]) /*CFunctionContext::varname*/;
692 CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[10]) /*AbstractArray::add*/;
693 } else { /*if*/
694 /* Register variable[10]: Result */
695 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc(variable[0])(variable[0]) /*CompilerVisitor::nmc*/;
696 /* Register variable[10]: Result */
697 variable[10] = CALL_compiling_methods___NitMethodContext___method_params(variable[10])(variable[10]) /*NitMethodContext::method_params*/;
698 /* Register variable[10]: For iterator */
699 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*AbstractArrayRead::iterator*/;
700 while (true) { /*for*/
701 /* Register variable[11]: For 'is_ok' result */
702 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*ArrayIterator::is_ok*/;
703 if (!UNTAG_Bool(variable[11])) break; /*for*/
704 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
705 /* Register variable[12]: Local variable */
706 variable[12] = variable[11];
707 /* Register variable[13]: Result */
708 variable[13] = CALL_compiling_methods___CompilerVisitor___cfc(variable[0])(variable[0]) /*CompilerVisitor::cfc*/;
709 /* Register variable[13]: Result */
710 variable[13] = CALL_compiling_methods___CFunctionContext___varname(variable[13])(variable[13], variable[12] /*va*/) /*CFunctionContext::varname*/;
711 CALL_abstract_collection___SimpleCollection___add( variable[9] /*cargs*/)( variable[9] /*cargs*/, variable[13]) /*AbstractArray::add*/;
712 continue_32: while(0);
713 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*ArrayIterator::next*/;
714 }
715 break_32: while(0);
716 }
717 CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*p*/)( variable[8] /*p*/, variable[0], variable[9] /*cargs*/) /*MMMethod::compile_stmt_call*/;
718 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
719 continue_29: while(0);
720 }
721 break_29: while(0);
722 return_label23: while(false);
723 tracehead = trace.prev;
724 return;
725 }
726 val_t compiling_methods___CFunctionContext___visitor(val_t self) {
727 struct trace_t trace = {NULL, NULL, 143, LOCATE_compiling_methods___CFunctionContext___visitor};
728 val_t *variable = NULL;
729 struct WBT_ **closurevariable = NULL;
730 trace.prev = tracehead; tracehead = &trace;
731 trace.file = LOCATE_compiling_methods;
732 tracehead = trace.prev;
733 return ATTR_compiling_methods___CFunctionContext____visitor( self) /*CFunctionContext::_visitor*/;
734 }
735 val_t compiling_methods___CFunctionContext___closure(val_t self) {
736 struct trace_t trace = {NULL, NULL, 154, LOCATE_compiling_methods___CFunctionContext___closure};
737 val_t *variable = NULL;
738 struct WBT_ **closurevariable = NULL;
739 trace.prev = tracehead; tracehead = &trace;
740 trace.file = LOCATE_compiling_methods;
741 tracehead = trace.prev;
742 return ATTR_compiling_methods___CFunctionContext____closure( self) /*CFunctionContext::_closure*/;
743 }
744 void compiling_methods___CFunctionContext___closure__eq(val_t self, val_t param0) {
745 struct trace_t trace = {NULL, NULL, 154, LOCATE_compiling_methods___CFunctionContext___closure__eq};
746 val_t *variable = NULL;
747 struct WBT_ **closurevariable = NULL;
748 trace.prev = tracehead; tracehead = &trace;
749 trace.file = LOCATE_compiling_methods;
750 ATTR_compiling_methods___CFunctionContext____closure( self) /*CFunctionContext::_closure*/ = param0;
751 tracehead = trace.prev;
752 return;
753 }
754 val_t compiling_methods___CFunctionContext___varname(val_t self, val_t param0) {
755 struct trace_t trace = {NULL, NULL, 157, LOCATE_compiling_methods___CFunctionContext___varname};
756 val_t variable[4];
757 struct WBT_ **closurevariable = NULL;
758 trace.prev = tracehead; tracehead = &trace;
759 trace.file = LOCATE_compiling_methods;
760 /* Register variable[0]: Local variable */
761 variable[0] = self;
762 /* Register variable[1]: Local variable */
763 variable[1] = param0;
764 /* Register variable[2]: Method return value and escape marker */
765 /* Register variable[3]: Result */
766 variable[3] = TAG_Bool(( variable[1] /*v*/==NIT_NULL) || VAL_ISA( variable[1] /*v*/, COLOR_ClosureVariable, ID_ClosureVariable)) /*cast ClosureVariable*/;
767 if (UNTAG_Bool(variable[3])) { /*if*/
768 /* Register variable[3]: Result */
769 variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
770 /* Register variable[3]: Result */
771 variable[3] = CALL_abstract_collection___MapRead_____bra(variable[3])(variable[3], variable[1] /*v*/) /*MapRead::[]*/;
772 /* Register variable[3]: Result */
773 variable[3] = CALL_compiling_methods___CFunctionContext___closure_variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::closure_variable*/;
774 variable[2] = variable[3];
775 goto return_label33;
776 } else { /*if*/
777 /* Register variable[3]: Result */
778 variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
779 /* Register variable[3]: Result */
780 variable[3] = CALL_abstract_collection___MapRead_____bra(variable[3])(variable[3], variable[1] /*v*/) /*MapRead::[]*/;
781 /* Register variable[3]: Result */
782 variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::variable*/;
783 variable[2] = variable[3];
784 goto return_label33;
785 }
786 return_label33: while(false);
787 tracehead = trace.prev;
788 return variable[2];
789 }
790 val_t compiling_methods___CFunctionContext___get_var(val_t self, val_t param0) {
791 struct trace_t trace = {NULL, NULL, 167, LOCATE_compiling_methods___CFunctionContext___get_var};
792 static val_t once_value_35 = NIT_NULL; /* Once value for string variable[6]*/
793 static val_t once_value_36 = NIT_NULL; /* Once value for string variable[6]*/
794 static val_t once_value_37 = NIT_NULL; /* Once value for string variable[6]*/
795 val_t variable[7];
796 struct WBT_ **closurevariable = NULL;
797 trace.prev = tracehead; tracehead = &trace;
798 trace.file = LOCATE_compiling_methods;
799 /* Register variable[0]: Local variable */
800 variable[0] = self;
801 /* Register variable[1]: Local variable */
802 variable[1] = param0;
803 /* Register variable[2]: Method return value and escape marker */
804 /* Register variable[3]: Local variable */
805 /* Register variable[4]: Result */
806 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
807 /* Register variable[4]: Result */
808 variable[4] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[4]) /*CFunctionContext::variable*/;
809 variable[3] = variable[4];
810 /* Register variable[4]: Result */
811 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
812 /* Register variable[4]: Result */
813 variable[4] = TAG_Int(UNTAG_Int(variable[4])+UNTAG_Int( TAG_Int(1)));
814 ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/ = variable[4];
815 /* Register variable[4]: Result */
816 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
817 /* Register variable[5]: Result */
818 variable[5] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
819 /* Register variable[4]: Result */
820 variable[4] = TAG_Bool(UNTAG_Int(variable[4])>UNTAG_Int(variable[5]));
821 if (UNTAG_Bool(variable[4])) { /*if*/
822 /* Register variable[4]: Result */
823 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
824 ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/ = variable[4];
825 }
826 /* Register variable[4]: Result */
827 variable[4] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[1] /*comment*/ == NIT_NULL /*null*/) || (( variable[1] /*comment*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[1] /*comment*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[1] /*comment*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*comment*/)( variable[1] /*comment*/, NIT_NULL /*null*/) /*Object::==*/)))))));
828 if (UNTAG_Bool(variable[4])) { /*if*/
829 /* Register variable[4]: Result */
830 variable[4] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
831 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
832 /* Register variable[6]: Once String constant */
833 if (once_value_35 != NIT_NULL) variable[6] = once_value_35;
834 else {
835 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("/* Register "), TAG_Int(12)) /*new String*/;
836 once_value_35 = variable[6];
837 }
838 /* Register variable[6]: Result */
839 /* Ensure var variable[6]: super-string element*/
840 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
841 variable[6] = variable[3] /*v*/ /* Ensure var: super-string element*/;
842 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
843 /* Register variable[6]: Once String constant */
844 if (once_value_36 != NIT_NULL) variable[6] = once_value_36;
845 else {
846 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(": "), TAG_Int(2)) /*new String*/;
847 once_value_36 = variable[6];
848 }
849 /* Register variable[6]: Result */
850 /* Ensure var variable[6]: super-string element*/
851 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
852 variable[6] = variable[1] /*comment*/ /* Ensure var: super-string element*/;
853 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
854 /* Register variable[6]: Once String constant */
855 if (once_value_37 != NIT_NULL) variable[6] = once_value_37;
856 else {
857 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
858 once_value_37 = variable[6];
859 }
860 /* Register variable[6]: Result */
861 /* Ensure var variable[6]: super-string element*/
862 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
863 /* Register variable[5]: Result */
864 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
865 CALL_compiling_base___CompilerVisitor___add_instr(variable[4])(variable[4], variable[5]) /*CompilerVisitor::add_instr*/;
866 }
867 variable[2] = variable[3] /*v*/;
868 goto return_label34;
869 return_label34: while(false);
870 tracehead = trace.prev;
871 return variable[2];
872 }
873 val_t compiling_methods___CFunctionContext___register_variable(val_t self, val_t param0) {
874 struct trace_t trace = {NULL, NULL, 181, LOCATE_compiling_methods___CFunctionContext___register_variable};
875 static val_t once_value_39 = NIT_NULL; /* Once value for string variable[4]*/
876 val_t variable[5];
877 struct WBT_ **closurevariable = NULL;
878 trace.prev = tracehead; tracehead = &trace;
879 trace.file = LOCATE_compiling_methods;
880 /* Register variable[0]: Local variable */
881 variable[0] = self;
882 /* Register variable[1]: Local variable */
883 variable[1] = param0;
884 /* Register variable[2]: Method return value and escape marker */
885 /* Register variable[3]: Result */
886 variable[3] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
887 /* Register variable[4]: Result */
888 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
889 CALL_abstract_collection___Map_____braeq(variable[3])(variable[3], variable[1] /*v*/, variable[4]) /*Map::[]=*/;
890 /* Register variable[3]: Local variable */
891 /* Register variable[4]: Once String constant */
892 if (once_value_39 != NIT_NULL) variable[4] = once_value_39;
893 else {
894 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Local variable"), TAG_Int(14)) /*new String*/;
895 once_value_39 = variable[4];
896 }
897 /* Register variable[4]: Result */
898 /* Register variable[4]: Result */
899 variable[4] = CALL_compiling_methods___CFunctionContext___get_var(variable[0])(variable[0], variable[4]) /*CFunctionContext::get_var*/;
900 variable[3] = variable[4];
901 variable[2] = variable[3] /*s*/;
902 goto return_label38;
903 return_label38: while(false);
904 tracehead = trace.prev;
905 return variable[2];
906 }
907 val_t compiling_methods___CFunctionContext___register_closurevariable(val_t self, val_t param0) {
908 struct trace_t trace = {NULL, NULL, 191, LOCATE_compiling_methods___CFunctionContext___register_closurevariable};
909 static val_t once_value_41 = NIT_NULL; /* Once value for string variable[5]*/
910 static val_t once_value_42 = NIT_NULL; /* Once value for string variable[5]*/
911 static val_t once_value_43 = NIT_NULL; /* Once value for string variable[5]*/
912 static val_t once_value_44 = NIT_NULL; /* Once value for string variable[5]*/
913 val_t variable[6];
914 struct WBT_ **closurevariable = NULL;
915 trace.prev = tracehead; tracehead = &trace;
916 trace.file = LOCATE_compiling_methods;
917 /* Register variable[0]: Local variable */
918 variable[0] = self;
919 /* Register variable[1]: Local variable */
920 variable[1] = param0;
921 /* Register variable[2]: Method return value and escape marker */
922 /* Register variable[3]: Local variable */
923 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
924 /* Register variable[5]: Once String constant */
925 if (once_value_41 != NIT_NULL) variable[5] = once_value_41;
926 else {
927 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("closurevariable["), TAG_Int(16)) /*new String*/;
928 once_value_41 = variable[5];
929 }
930 /* Register variable[5]: Result */
931 /* Ensure var variable[5]: super-string element*/
932 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
933 /* Register variable[5]: Result */
934 variable[5] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
935 /* Ensure var variable[5]: super-string element*/
936 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
937 /* Register variable[5]: Once String constant */
938 if (once_value_42 != NIT_NULL) variable[5] = once_value_42;
939 else {
940 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
941 once_value_42 = variable[5];
942 }
943 /* Register variable[5]: Result */
944 /* Ensure var variable[5]: super-string element*/
945 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
946 /* Register variable[4]: Result */
947 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
948 variable[3] = variable[4];
949 /* Register variable[4]: Result */
950 variable[4] = ATTR_compiling_methods___CFunctionContext____varindexes(variable[0]) /*CFunctionContext::_varindexes*/;
951 /* Register variable[5]: Result */
952 variable[5] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
953 CALL_abstract_collection___Map_____braeq(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*Map::[]=*/;
954 ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/ = TAG_Int(UNTAG_Int(ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/)+UNTAG_Int( TAG_Int(1)));
955 /* Register variable[4]: Result */
956 variable[4] = ATTR_compiling_methods___CFunctionContext____closure(variable[0]) /*CFunctionContext::_closure*/;
957 /* Register variable[4]: Result */
958 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::==*/)))))));
959 if (UNTAG_Bool(variable[4])) { /*if*/
960 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
961 /* Register variable[5]: Once String constant */
962 if (once_value_43 != NIT_NULL) variable[5] = once_value_43;
963 else {
964 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->"), TAG_Int(10)) /*new String*/;
965 once_value_43 = variable[5];
966 }
967 /* Register variable[5]: Result */
968 /* Ensure var variable[5]: super-string element*/
969 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
970 variable[5] = variable[3] /*s*/ /* Ensure var: super-string element*/;
971 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
972 /* Register variable[5]: Once String constant */
973 if (once_value_44 != NIT_NULL) variable[5] = once_value_44;
974 else {
975 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
976 once_value_44 = variable[5];
977 }
978 /* Register variable[5]: Result */
979 /* Ensure var variable[5]: super-string element*/
980 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
981 /* Register variable[4]: Result */
982 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
983 variable[2] = variable[4];
984 goto return_label40;
985 } else { /*if*/
986 variable[2] = variable[3] /*s*/;
987 goto return_label40;
988 }
989 return_label40: while(false);
990 tracehead = trace.prev;
991 return variable[2];
992 }
993 val_t compiling_methods___CFunctionContext___variable(val_t self, val_t param0) {
994 struct trace_t trace = {NULL, NULL, 203, LOCATE_compiling_methods___CFunctionContext___variable};
995 static val_t once_value_46; static int once_bool_46; /* Once value for variable[4]*/
996 static val_t once_value_48 = NIT_NULL; /* Once value for string variable[8]*/
997 static val_t once_value_49 = NIT_NULL; /* Once value for string variable[8]*/
998 static val_t once_value_51; static int once_bool_51; /* Once value for variable[4]*/
999 static val_t once_value_53 = NIT_NULL; /* Once value for string variable[8]*/
1000 static val_t once_value_54 = NIT_NULL; /* Once value for string variable[8]*/
1001 val_t variable[9];
1002 struct WBT_ **closurevariable = NULL;
1003 trace.prev = tracehead; tracehead = &trace;
1004 trace.file = LOCATE_compiling_methods;
1005 /* Register variable[0]: Local variable */
1006 variable[0] = self;
1007 /* Register variable[1]: Local variable */
1008 variable[1] = param0;
1009 /* Register variable[2]: Method return value and escape marker */
1010 /* Register variable[3]: Result */
1011 variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[0])(variable[0]) /*CFunctionContext::closure*/;
1012 /* Register variable[3]: Result */
1013 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::==*/)))))));
1014 if (UNTAG_Bool(variable[3])) { /*if*/
1015 /* Register variable[3]: Local variable */
1016 /* Register variable[4]: Once expression result */
1017 if (once_bool_46) variable[4] = once_value_46;
1018 else {
1019 /* Register variable[4]: Result */
1020 variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
1021 once_value_46 = variable[4];
1022 once_bool_46 = true;
1023 }
1024 /* Register variable[4]: Result */
1025 variable[3] = variable[4];
1026 /* Register variable[4]: Result */
1027 variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
1028 /* Register variable[4]: Result */
1029 variable[4] = TAG_Bool(UNTAG_Int(variable[4])<=UNTAG_Int( variable[1] /*i*/));
1030 if (UNTAG_Bool(variable[4])) { /*if*/
1031 /* Register variable[4]: Result */
1032 variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
1033 /* Register variable[4]: Result */
1034 variable[4] = NEW_Range_range___Range___init(variable[4], variable[1] /*i*/) /*new Range[Int]*/;
1035 /* Register variable[4]: For iterator */
1036 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
1037 while (true) { /*for*/
1038 /* Register variable[5]: For 'is_ok' result */
1039 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
1040 if (!UNTAG_Bool(variable[5])) break; /*for*/
1041 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
1042 /* Register variable[6]: Local variable */
1043 variable[6] = variable[5];
1044 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1045 /* Register variable[8]: Once String constant */
1046 if (once_value_48 != NIT_NULL) variable[8] = once_value_48;
1047 else {
1048 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->variable["), TAG_Int(19)) /*new String*/;
1049 once_value_48 = variable[8];
1050 }
1051 /* Register variable[8]: Result */
1052 /* Ensure var variable[8]: super-string element*/
1053 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
1054 variable[8] = variable[6] /*j*/ /* Ensure var: super-string element*/;
1055 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
1056 /* Register variable[8]: Once String constant */
1057 if (once_value_49 != NIT_NULL) variable[8] = once_value_49;
1058 else {
1059 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("])"), TAG_Int(2)) /*new String*/;
1060 once_value_49 = variable[8];
1061 }
1062 /* Register variable[8]: Result */
1063 /* Ensure var variable[8]: super-string element*/
1064 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
1065 /* Register variable[7]: Result */
1066 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
1067 CALL_abstract_collection___Map_____braeq( variable[3] /*vn*/)( variable[3] /*vn*/, variable[6] /*j*/, variable[7]) /*Array::[]=*/;
1068 continue_47: while(0);
1069 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
1070 }
1071 break_47: while(0);
1072 }
1073 /* Register variable[4]: Local variable */
1074 variable[4] = variable[3] /*vn*/;
1075 /* Register variable[5]: Local variable */
1076 variable[5] = variable[1] /*i*/;
1077 /* Register variable[6]: Method return value and escape marker */
1078 /* Register variable[7]: Result */
1079 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1080 /* Ensure var variable[7]: Left 'and' operand*/
1081 if (UNTAG_Bool(variable[7])) { /* and */
1082 /* Register variable[7]: Result */
1083 variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
1084 /* Register variable[7]: Result */
1085 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));
1086 }
1087 /* Register variable[7]: Result */
1088 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
1089 /* Register variable[7]: Result */
1090 variable[7] = ATTR_array___Array____items(variable[4]) /*Array::_items*/;
1091 /* Register variable[7]: Result */
1092 variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
1093 variable[6] = variable[7];
1094 goto return_label50;
1095 return_label50: while(false);
1096 /* Register variable[4]: Result */
1097 variable[4] = variable[6];
1098 variable[2] = variable[4];
1099 goto return_label45;
1100 } else { /*if*/
1101 /* Register variable[3]: Local variable */
1102 /* Register variable[4]: Once expression result */
1103 if (once_bool_51) variable[4] = once_value_51;
1104 else {
1105 /* Register variable[4]: Result */
1106 variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
1107 once_value_51 = variable[4];
1108 once_bool_51 = true;
1109 }
1110 /* Register variable[4]: Result */
1111 variable[3] = variable[4];
1112 /* Register variable[4]: Result */
1113 variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
1114 /* Register variable[4]: Result */
1115 variable[4] = TAG_Bool(UNTAG_Int(variable[4])<=UNTAG_Int( variable[1] /*i*/));
1116 if (UNTAG_Bool(variable[4])) { /*if*/
1117 /* Register variable[4]: Result */
1118 variable[4] = CALL_abstract_collection___Collection___length( variable[3] /*vn*/)( variable[3] /*vn*/) /*AbstractArrayRead::length*/;
1119 /* Register variable[4]: Result */
1120 variable[4] = NEW_Range_range___Range___init(variable[4], variable[1] /*i*/) /*new Range[Int]*/;
1121 /* Register variable[4]: For iterator */
1122 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
1123 while (true) { /*for*/
1124 /* Register variable[5]: For 'is_ok' result */
1125 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
1126 if (!UNTAG_Bool(variable[5])) break; /*for*/
1127 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
1128 /* Register variable[6]: Local variable */
1129 variable[6] = variable[5];
1130 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1131 /* Register variable[8]: Once String constant */
1132 if (once_value_53 != NIT_NULL) variable[8] = once_value_53;
1133 else {
1134 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("variable["), TAG_Int(9)) /*new String*/;
1135 once_value_53 = variable[8];
1136 }
1137 /* Register variable[8]: Result */
1138 /* Ensure var variable[8]: super-string element*/
1139 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
1140 variable[8] = variable[6] /*j*/ /* Ensure var: super-string element*/;
1141 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
1142 /* Register variable[8]: Once String constant */
1143 if (once_value_54 != NIT_NULL) variable[8] = once_value_54;
1144 else {
1145 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
1146 once_value_54 = variable[8];
1147 }
1148 /* Register variable[8]: Result */
1149 /* Ensure var variable[8]: super-string element*/
1150 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
1151 /* Register variable[7]: Result */
1152 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
1153 CALL_abstract_collection___Map_____braeq( variable[3] /*vn*/)( variable[3] /*vn*/, variable[6] /*j*/, variable[7]) /*Array::[]=*/;
1154 continue_52: while(0);
1155 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
1156 }
1157 break_52: while(0);
1158 }
1159 /* Register variable[4]: Local variable */
1160 variable[4] = variable[3] /*vn*/;
1161 /* Register variable[5]: Local variable */
1162 variable[5] = variable[1] /*i*/;
1163 /* Register variable[6]: Method return value and escape marker */
1164 /* Register variable[7]: Result */
1165 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1166 /* Ensure var variable[7]: Left 'and' operand*/
1167 if (UNTAG_Bool(variable[7])) { /* and */
1168 /* Register variable[7]: Result */
1169 variable[7] = ATTR_array___AbstractArrayRead____length(variable[4]) /*AbstractArrayRead::_length*/;
1170 /* Register variable[7]: Result */
1171 variable[7] = TAG_Bool(UNTAG_Int( variable[5] /*index*/)<UNTAG_Int(variable[7]));
1172 }
1173 /* Register variable[7]: Result */
1174 if (!UNTAG_Bool(variable[7])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
1175 /* Register variable[7]: Result */
1176 variable[7] = ATTR_array___Array____items(variable[4]) /*Array::_items*/;
1177 /* Register variable[7]: Result */
1178 variable[7] = UNBOX_NativeArray(variable[7])[UNTAG_Int( variable[5] /*index*/)];
1179 variable[6] = variable[7];
1180 goto return_label55;
1181 return_label55: while(false);
1182 /* Register variable[4]: Result */
1183 variable[4] = variable[6];
1184 variable[2] = variable[4];
1185 goto return_label45;
1186 }
1187 return_label45: while(false);
1188 tracehead = trace.prev;
1189 return variable[2];
1190 }
1191 val_t compiling_methods___CFunctionContext___closure_variable(val_t self, val_t param0) {
1192 struct trace_t trace = {NULL, NULL, 225, LOCATE_compiling_methods___CFunctionContext___closure_variable};
1193 static val_t once_value_57 = NIT_NULL; /* Once value for string variable[4]*/
1194 static val_t once_value_58 = NIT_NULL; /* Once value for string variable[4]*/
1195 static val_t once_value_59 = NIT_NULL; /* Once value for string variable[4]*/
1196 static val_t once_value_60 = NIT_NULL; /* Once value for string variable[4]*/
1197 val_t variable[5];
1198 struct WBT_ **closurevariable = NULL;
1199 trace.prev = tracehead; tracehead = &trace;
1200 trace.file = LOCATE_compiling_methods;
1201 /* Register variable[0]: Local variable */
1202 variable[0] = self;
1203 /* Register variable[1]: Local variable */
1204 variable[1] = param0;
1205 /* Register variable[2]: Method return value and escape marker */
1206 /* Register variable[3]: Result */
1207 variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[0])(variable[0]) /*CFunctionContext::closure*/;
1208 /* Register variable[3]: Result */
1209 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::==*/)))))));
1210 if (UNTAG_Bool(variable[3])) { /*if*/
1211 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1212 /* Register variable[4]: Once String constant */
1213 if (once_value_57 != NIT_NULL) variable[4] = once_value_57;
1214 else {
1215 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("(closctx->closurevariable["), TAG_Int(26)) /*new String*/;
1216 once_value_57 = variable[4];
1217 }
1218 /* Register variable[4]: Result */
1219 /* Ensure var variable[4]: super-string element*/
1220 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1221 variable[4] = variable[1] /*i*/ /* Ensure var: super-string element*/;
1222 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1223 /* Register variable[4]: Once String constant */
1224 if (once_value_58 != NIT_NULL) variable[4] = once_value_58;
1225 else {
1226 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("])"), TAG_Int(2)) /*new String*/;
1227 once_value_58 = variable[4];
1228 }
1229 /* Register variable[4]: Result */
1230 /* Ensure var variable[4]: super-string element*/
1231 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1232 /* Register variable[3]: Result */
1233 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1234 variable[2] = variable[3];
1235 goto return_label56;
1236 } else { /*if*/
1237 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1238 /* Register variable[4]: Once String constant */
1239 if (once_value_59 != NIT_NULL) variable[4] = once_value_59;
1240 else {
1241 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closurevariable["), TAG_Int(16)) /*new String*/;
1242 once_value_59 = variable[4];
1243 }
1244 /* Register variable[4]: Result */
1245 /* Ensure var variable[4]: super-string element*/
1246 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1247 variable[4] = variable[1] /*i*/ /* Ensure var: super-string element*/;
1248 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1249 /* Register variable[4]: Once String constant */
1250 if (once_value_60 != NIT_NULL) variable[4] = once_value_60;
1251 else {
1252 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("]"), TAG_Int(1)) /*new String*/;
1253 once_value_60 = variable[4];
1254 }
1255 /* Register variable[4]: Result */
1256 /* Ensure var variable[4]: super-string element*/
1257 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1258 /* Register variable[3]: Result */
1259 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1260 variable[2] = variable[3];
1261 goto return_label56;
1262 }
1263 return_label56: while(false);
1264 tracehead = trace.prev;
1265 return variable[2];
1266 }
1267 val_t compiling_methods___CFunctionContext___is_valid_variable(val_t self, val_t param0) {
1268 struct trace_t trace = {NULL, NULL, 235, LOCATE_compiling_methods___CFunctionContext___is_valid_variable};
1269 val_t variable[7];
1270 struct WBT_ **closurevariable = NULL;
1271 trace.prev = tracehead; tracehead = &trace;
1272 trace.file = LOCATE_compiling_methods;
1273 /* Register variable[0]: Local variable */
1274 variable[0] = self;
1275 /* Register variable[1]: Local variable */
1276 variable[1] = param0;
1277 /* Register variable[2]: Method return value and escape marker */
1278 /* Register variable[3]: Result */
1279 variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
1280 /* Register variable[3]: Result */
1281 variable[3] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[3]) /*new Range[Int]*/;
1282 /* Register variable[3]: For iterator */
1283 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*Range::iterator*/;
1284 while (true) { /*for*/
1285 /* Register variable[4]: For 'is_ok' result */
1286 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*Iterator::is_ok*/;
1287 if (!UNTAG_Bool(variable[4])) break; /*for*/
1288 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*Iterator::item*/ /* Ensure var: For item*/;
1289 /* Register variable[5]: Local variable */
1290 variable[5] = variable[4];
1291 /* Register variable[6]: Result */
1292 variable[6] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[5] /*i*/) /*CFunctionContext::variable*/;
1293 /* Register variable[6]: Result */
1294 variable[6] = TAG_Bool(( variable[1] /*s*/ == variable[6]) || (( variable[1] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[1] /*s*/)( variable[1] /*s*/, variable[6]) /*String::==*/)));
1295 if (UNTAG_Bool(variable[6])) { /*if*/
1296 variable[2] = TAG_Bool(true);
1297 goto return_label61;
1298 }
1299 continue_62: while(0);
1300 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*Iterator::next*/;
1301 }
1302 break_62: while(0);
1303 variable[2] = TAG_Bool(false);
1304 goto return_label61;
1305 return_label61: while(false);
1306 tracehead = trace.prev;
1307 return variable[2];
1308 }
1309 void compiling_methods___CFunctionContext___free_var(val_t self, val_t param0) {
1310 struct trace_t trace = {NULL, NULL, 244, LOCATE_compiling_methods___CFunctionContext___free_var};
1311 val_t variable[4];
1312 struct WBT_ **closurevariable = NULL;
1313 trace.prev = tracehead; tracehead = &trace;
1314 trace.file = LOCATE_compiling_methods;
1315 /* Register variable[0]: Local variable */
1316 variable[0] = self;
1317 /* Register variable[1]: Local variable */
1318 variable[1] = param0;
1319 /* Register variable[2]: Method return value and escape marker */
1320 /* Register variable[3]: Result */
1321 variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
1322 /* Register variable[3]: Result */
1323 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(1)));
1324 /* Register variable[3]: Result */
1325 variable[3] = CALL_compiling_methods___CFunctionContext___variable(variable[0])(variable[0], variable[3]) /*CFunctionContext::variable*/;
1326 /* Register variable[3]: Result */
1327 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::==*/)));
1328 if (UNTAG_Bool(variable[3])) { /*if*/
1329 /* Register variable[3]: Result */
1330 variable[3] = ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/;
1331 /* Register variable[3]: Result */
1332 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(1)));
1333 ATTR_compiling_methods___CFunctionContext____variable_index(variable[0]) /*CFunctionContext::_variable_index*/ = variable[3];
1334 }
1335 return_label63: while(false);
1336 tracehead = trace.prev;
1337 return;
1338 }
1339 void compiling_methods___CFunctionContext___generate_var_decls(val_t self) {
1340 struct trace_t trace = {NULL, NULL, 253, LOCATE_compiling_methods___CFunctionContext___generate_var_decls};
1341 static val_t once_value_65 = NIT_NULL; /* Once value for string variable[4]*/
1342 static val_t once_value_66 = NIT_NULL; /* Once value for string variable[4]*/
1343 static val_t once_value_67 = NIT_NULL; /* Once value for string variable[3]*/
1344 static val_t once_value_68 = NIT_NULL; /* Once value for string variable[4]*/
1345 static val_t once_value_69 = NIT_NULL; /* Once value for string variable[4]*/
1346 static val_t once_value_70 = NIT_NULL; /* Once value for string variable[3]*/
1347 val_t variable[5];
1348 struct WBT_ **closurevariable = NULL;
1349 trace.prev = tracehead; tracehead = &trace;
1350 trace.file = LOCATE_compiling_methods;
1351 /* Register variable[0]: Local variable */
1352 variable[0] = self;
1353 /* Register variable[1]: Method return value and escape marker */
1354 /* Register variable[2]: Result */
1355 variable[2] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
1356 /* Register variable[2]: Result */
1357 variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
1358 if (UNTAG_Bool(variable[2])) { /*if*/
1359 /* Register variable[2]: Result */
1360 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
1361 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1362 /* Register variable[4]: Once String constant */
1363 if (once_value_65 != NIT_NULL) variable[4] = once_value_65;
1364 else {
1365 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("val_t variable["), TAG_Int(15)) /*new String*/;
1366 once_value_65 = variable[4];
1367 }
1368 /* Register variable[4]: Result */
1369 /* Ensure var variable[4]: super-string element*/
1370 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1371 /* Register variable[4]: Result */
1372 variable[4] = ATTR_compiling_methods___CFunctionContext____variable_index_max(variable[0]) /*CFunctionContext::_variable_index_max*/;
1373 /* Ensure var variable[4]: super-string element*/
1374 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1375 /* Register variable[4]: Once String constant */
1376 if (once_value_66 != NIT_NULL) variable[4] = once_value_66;
1377 else {
1378 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)) /*new String*/;
1379 once_value_66 = variable[4];
1380 }
1381 /* Register variable[4]: Result */
1382 /* Ensure var variable[4]: super-string element*/
1383 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1384 /* Register variable[3]: Result */
1385 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1386 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
1387 } else { /*if*/
1388 /* Register variable[2]: Result */
1389 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
1390 /* Register variable[3]: Once String constant */
1391 if (once_value_67 != NIT_NULL) variable[3] = once_value_67;
1392 else {
1393 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("val_t *variable = NULL;"), TAG_Int(23)) /*new String*/;
1394 once_value_67 = variable[3];
1395 }
1396 /* Register variable[3]: Result */
1397 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
1398 }
1399 /* Register variable[2]: Result */
1400 variable[2] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
1401 /* Register variable[2]: Result */
1402 variable[2] = TAG_Bool(UNTAG_Int(variable[2])>UNTAG_Int( TAG_Int(0)));
1403 if (UNTAG_Bool(variable[2])) { /*if*/
1404 /* Register variable[2]: Result */
1405 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
1406 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1407 /* Register variable[4]: Once String constant */
1408 if (once_value_68 != NIT_NULL) variable[4] = once_value_68;
1409 else {
1410 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *closurevariable["), TAG_Int(29)) /*new String*/;
1411 once_value_68 = variable[4];
1412 }
1413 /* Register variable[4]: Result */
1414 /* Ensure var variable[4]: super-string element*/
1415 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1416 /* Register variable[4]: Result */
1417 variable[4] = ATTR_compiling_methods___CFunctionContext____closurevariable_index(variable[0]) /*CFunctionContext::_closurevariable_index*/;
1418 /* Ensure var variable[4]: super-string element*/
1419 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
1420 /* Register variable[4]: Once String constant */
1421 if (once_value_69 != NIT_NULL) variable[4] = once_value_69;
1422 else {
1423 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("];"), TAG_Int(2)) /*new String*/;
1424 once_value_69 = variable[4];
1425 }
1426 /* Register variable[4]: Result */
1427 /* Ensure var variable[4]: super-string element*/
1428 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
1429 /* Register variable[3]: Result */
1430 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
1431 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
1432 } else { /*if*/
1433 /* Register variable[2]: Result */
1434 variable[2] = CALL_compiling_methods___CFunctionContext___visitor(variable[0])(variable[0]) /*CFunctionContext::visitor*/;
1435 /* Register variable[3]: Once String constant */
1436 if (once_value_70 != NIT_NULL) variable[3] = once_value_70;
1437 else {
1438 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ **closurevariable = NULL;"), TAG_Int(37)) /*new String*/;
1439 once_value_70 = variable[3];
1440 }
1441 /* Register variable[3]: Result */
1442 CALL_compiling_base___CompilerVisitor___add_decl(variable[2])(variable[2], variable[3]) /*CompilerVisitor::add_decl*/;
1443 }
1444 return_label64: while(false);
1445 tracehead = trace.prev;
1446 return;
1447 }
1448 void compiling_methods___CFunctionContext___init(val_t self, val_t param0, int* init_table) {
1449 struct trace_t trace = {NULL, NULL, 269, LOCATE_compiling_methods___CFunctionContext___init};
1450 val_t variable[3];
1451 struct WBT_ **closurevariable = NULL;
1452 trace.prev = tracehead; tracehead = &trace;
1453 trace.file = LOCATE_compiling_methods;
1454 /* Register variable[0]: Local variable */
1455 variable[0] = self;
1456 /* Register variable[1]: Local variable */
1457 variable[1] = param0;
1458 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i]) return;
1459 /* Register variable[2]: Method return value and escape marker */
1460 ATTR_compiling_methods___CFunctionContext____visitor(variable[0]) /*CFunctionContext::_visitor*/ = variable[1] /*v*/;
1461 return_label71: while(false);
1462 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_CFunctionContext].i] = 1;
1463 tracehead = trace.prev;
1464 return;
1465 }
1466 val_t compiling_methods___NitMethodContext___method(val_t self) {
1467 struct trace_t trace = {NULL, NULL, 274, LOCATE_compiling_methods___NitMethodContext___method};
1468 val_t *variable = NULL;
1469 struct WBT_ **closurevariable = NULL;
1470 trace.prev = tracehead; tracehead = &trace;
1471 trace.file = LOCATE_compiling_methods;
1472 tracehead = trace.prev;
1473 return ATTR_compiling_methods___NitMethodContext____method( self) /*NitMethodContext::_method*/;
1474 }
1475 val_t compiling_methods___NitMethodContext___method_params(val_t self) {
1476 struct trace_t trace = {NULL, NULL, 277, LOCATE_compiling_methods___NitMethodContext___method_params};
1477 val_t *variable = NULL;
1478 struct WBT_ **closurevariable = NULL;
1479 trace.prev = tracehead; tracehead = &trace;
1480 trace.file = LOCATE_compiling_methods;
1481 tracehead = trace.prev;
1482 return ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/;
1483 }
1484 void compiling_methods___NitMethodContext___method_params__eq(val_t self, val_t param0) {
1485 struct trace_t trace = {NULL, NULL, 277, LOCATE_compiling_methods___NitMethodContext___method_params__eq};
1486 val_t *variable = NULL;
1487 struct WBT_ **closurevariable = NULL;
1488 trace.prev = tracehead; tracehead = &trace;
1489 trace.file = LOCATE_compiling_methods;
1490 ATTR_compiling_methods___NitMethodContext____method_params( self) /*NitMethodContext::_method_params*/ = param0;
1491 tracehead = trace.prev;
1492 return;
1493 }
1494 val_t compiling_methods___NitMethodContext___return_label(val_t self) {
1495 struct trace_t trace = {NULL, NULL, 280, LOCATE_compiling_methods___NitMethodContext___return_label};
1496 val_t *variable = NULL;
1497 struct WBT_ **closurevariable = NULL;
1498 trace.prev = tracehead; tracehead = &trace;
1499 trace.file = LOCATE_compiling_methods;
1500 tracehead = trace.prev;
1501 return ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/;
1502 }
1503 void compiling_methods___NitMethodContext___return_label__eq(val_t self, val_t param0) {
1504 struct trace_t trace = {NULL, NULL, 280, LOCATE_compiling_methods___NitMethodContext___return_label__eq};
1505 val_t *variable = NULL;
1506 struct WBT_ **closurevariable = NULL;
1507 trace.prev = tracehead; tracehead = &trace;
1508 trace.file = LOCATE_compiling_methods;
1509 ATTR_compiling_methods___NitMethodContext____return_label( self) /*NitMethodContext::_return_label*/ = param0;
1510 tracehead = trace.prev;
1511 return;
1512 }
1513 val_t compiling_methods___NitMethodContext___break_label(val_t self) {
1514 struct trace_t trace = {NULL, NULL, 283, LOCATE_compiling_methods___NitMethodContext___break_label};
1515 val_t *variable = NULL;
1516 struct WBT_ **closurevariable = NULL;
1517 trace.prev = tracehead; tracehead = &trace;
1518 trace.file = LOCATE_compiling_methods;
1519 tracehead = trace.prev;
1520 return ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/;
1521 }
1522 void compiling_methods___NitMethodContext___break_label__eq(val_t self, val_t param0) {
1523 struct trace_t trace = {NULL, NULL, 283, LOCATE_compiling_methods___NitMethodContext___break_label__eq};
1524 val_t *variable = NULL;
1525 struct WBT_ **closurevariable = NULL;
1526 trace.prev = tracehead; tracehead = &trace;
1527 trace.file = LOCATE_compiling_methods;
1528 ATTR_compiling_methods___NitMethodContext____break_label( self) /*NitMethodContext::_break_label*/ = param0;
1529 tracehead = trace.prev;
1530 return;
1531 }
1532 val_t compiling_methods___NitMethodContext___continue_label(val_t self) {
1533 struct trace_t trace = {NULL, NULL, 286, LOCATE_compiling_methods___NitMethodContext___continue_label};
1534 val_t *variable = NULL;
1535 struct WBT_ **closurevariable = NULL;
1536 trace.prev = tracehead; tracehead = &trace;
1537 trace.file = LOCATE_compiling_methods;
1538 tracehead = trace.prev;
1539 return ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/;
1540 }
1541 void compiling_methods___NitMethodContext___continue_label__eq(val_t self, val_t param0) {
1542 struct trace_t trace = {NULL, NULL, 286, LOCATE_compiling_methods___NitMethodContext___continue_label__eq};
1543 val_t *variable = NULL;
1544 struct WBT_ **closurevariable = NULL;
1545 trace.prev = tracehead; tracehead = &trace;
1546 trace.file = LOCATE_compiling_methods;
1547 ATTR_compiling_methods___NitMethodContext____continue_label( self) /*NitMethodContext::_continue_label*/ = param0;
1548 tracehead = trace.prev;
1549 return;
1550 }
1551 val_t compiling_methods___NitMethodContext___return_value(val_t self) {
1552 struct trace_t trace = {NULL, NULL, 289, LOCATE_compiling_methods___NitMethodContext___return_value};
1553 val_t *variable = NULL;
1554 struct WBT_ **closurevariable = NULL;
1555 trace.prev = tracehead; tracehead = &trace;
1556 trace.file = LOCATE_compiling_methods;
1557 tracehead = trace.prev;
1558 return ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/;
1559 }
1560 void compiling_methods___NitMethodContext___return_value__eq(val_t self, val_t param0) {
1561 struct trace_t trace = {NULL, NULL, 289, LOCATE_compiling_methods___NitMethodContext___return_value__eq};
1562 val_t *variable = NULL;
1563 struct WBT_ **closurevariable = NULL;
1564 trace.prev = tracehead; tracehead = &trace;
1565 trace.file = LOCATE_compiling_methods;
1566 ATTR_compiling_methods___NitMethodContext____return_value( self) /*NitMethodContext::_return_value*/ = param0;
1567 tracehead = trace.prev;
1568 return;
1569 }
1570 val_t compiling_methods___NitMethodContext___break_value(val_t self) {
1571 struct trace_t trace = {NULL, NULL, 292, LOCATE_compiling_methods___NitMethodContext___break_value};
1572 val_t *variable = NULL;
1573 struct WBT_ **closurevariable = NULL;
1574 trace.prev = tracehead; tracehead = &trace;
1575 trace.file = LOCATE_compiling_methods;
1576 tracehead = trace.prev;
1577 return ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/;
1578 }
1579 void compiling_methods___NitMethodContext___break_value__eq(val_t self, val_t param0) {
1580 struct trace_t trace = {NULL, NULL, 292, LOCATE_compiling_methods___NitMethodContext___break_value__eq};
1581 val_t *variable = NULL;
1582 struct WBT_ **closurevariable = NULL;
1583 trace.prev = tracehead; tracehead = &trace;
1584 trace.file = LOCATE_compiling_methods;
1585 ATTR_compiling_methods___NitMethodContext____break_value( self) /*NitMethodContext::_break_value*/ = param0;
1586 tracehead = trace.prev;
1587 return;
1588 }
1589 val_t compiling_methods___NitMethodContext___continue_value(val_t self) {
1590 struct trace_t trace = {NULL, NULL, 295, LOCATE_compiling_methods___NitMethodContext___continue_value};
1591 val_t *variable = NULL;
1592 struct WBT_ **closurevariable = NULL;
1593 trace.prev = tracehead; tracehead = &trace;
1594 trace.file = LOCATE_compiling_methods;
1595 tracehead = trace.prev;
1596 return ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/;
1597 }
1598 void compiling_methods___NitMethodContext___continue_value__eq(val_t self, val_t param0) {
1599 struct trace_t trace = {NULL, NULL, 295, LOCATE_compiling_methods___NitMethodContext___continue_value__eq};
1600 val_t *variable = NULL;
1601 struct WBT_ **closurevariable = NULL;
1602 trace.prev = tracehead; tracehead = &trace;
1603 trace.file = LOCATE_compiling_methods;
1604 ATTR_compiling_methods___NitMethodContext____continue_value( self) /*NitMethodContext::_continue_value*/ = param0;
1605 tracehead = trace.prev;
1606 return;
1607 }
1608 void compiling_methods___NitMethodContext___init(val_t self, val_t param0, int* init_table) {
1609 struct trace_t trace = {NULL, NULL, 298, LOCATE_compiling_methods___NitMethodContext___init};
1610 val_t variable[3];
1611 struct WBT_ **closurevariable = NULL;
1612 trace.prev = tracehead; tracehead = &trace;
1613 trace.file = LOCATE_compiling_methods;
1614 /* Register variable[0]: Local variable */
1615 variable[0] = self;
1616 /* Register variable[1]: Local variable */
1617 variable[1] = param0;
1618 if (init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i]) return;
1619 /* Register variable[2]: Method return value and escape marker */
1620 ATTR_compiling_methods___NitMethodContext____method(variable[0]) /*NitMethodContext::_method*/ = variable[1] /*method*/;
1621 return_label72: while(false);
1622 init_table[VAL2OBJ(variable[0])->vft[INIT_TABLE_POS_NitMethodContext].i] = 1;
1623 tracehead = trace.prev;
1624 return;
1625 }
1626 val_t compiling_methods___ClosureVariable___ctypename(val_t self) {
1627 struct trace_t trace = {NULL, NULL, 307, LOCATE_compiling_methods___ClosureVariable___ctypename};
1628 val_t *variable = NULL;
1629 struct WBT_ **closurevariable = NULL;
1630 trace.prev = tracehead; tracehead = &trace;
1631 trace.file = LOCATE_compiling_methods;
1632 tracehead = trace.prev;
1633 return ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/;
1634 }
1635 void compiling_methods___ClosureVariable___ctypename__eq(val_t self, val_t param0) {
1636 struct trace_t trace = {NULL, NULL, 307, LOCATE_compiling_methods___ClosureVariable___ctypename__eq};
1637 val_t *variable = NULL;
1638 struct WBT_ **closurevariable = NULL;
1639 trace.prev = tracehead; tracehead = &trace;
1640 trace.file = LOCATE_compiling_methods;
1641 ATTR_compiling_methods___ClosureVariable____ctypename( self) /*ClosureVariable::_ctypename*/ = param0;
1642 tracehead = trace.prev;
1643 return;
1644 }
1645 val_t compiling_methods___MMMethod___compile_expr_call(val_t self, val_t param0, val_t param1) {
1646 struct trace_t trace = {NULL, NULL, 311, LOCATE_compiling_methods___MMMethod___compile_expr_call};
1647 val_t variable[6];
1648 struct WBT_ **closurevariable = NULL;
1649 trace.prev = tracehead; tracehead = &trace;
1650 trace.file = LOCATE_compiling_methods;
1651 /* Register variable[0]: Local variable */
1652 variable[0] = self;
1653 /* Register variable[1]: Local variable */
1654 variable[1] = param0;
1655 /* Register variable[2]: Local variable */
1656 variable[2] = param1;
1657 /* Register variable[3]: Method return value and escape marker */
1658 /* Register variable[4]: Result */
1659 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
1660 /* Register variable[4]: Result */
1661 variable[4] = CALL_static_type___MMSignature___return_type(variable[4])(variable[4]) /*MMSignature::return_type*/;
1662 /* Register variable[4]: Result */
1663 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::==*/)))))));
1664 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_expr_call, LOCATE_compiling_methods, 315); nit_exit(1);}
1665 /* Register variable[4]: Local variable */
1666 /* Register variable[5]: Result */
1667 variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/, variable[2] /*cargs*/) /*MMMethod::intern_compile_call*/;
1668 variable[4] = variable[5];
1669 /* Register variable[5]: Result */
1670 variable[5] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[4] /*s*/ == NIT_NULL /*null*/) || (( variable[4] /*s*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[4] /*s*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[4] /*s*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*s*/)( variable[4] /*s*/, NIT_NULL /*null*/) /*Object::==*/)))))));
1671 if (!UNTAG_Bool(variable[5])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_expr_call, LOCATE_compiling_methods, 317); nit_exit(1);}
1672 variable[3] = variable[4] /*s*/;
1673 goto return_label73;
1674 return_label73: while(false);
1675 tracehead = trace.prev;
1676 return variable[3];
1677 }
1678 void compiling_methods___MMMethod___compile_stmt_call(val_t self, val_t param0, val_t param1) {
1679 struct trace_t trace = {NULL, NULL, 321, LOCATE_compiling_methods___MMMethod___compile_stmt_call};
1680 val_t variable[6];
1681 struct WBT_ **closurevariable = NULL;
1682 trace.prev = tracehead; tracehead = &trace;
1683 trace.file = LOCATE_compiling_methods;
1684 /* Register variable[0]: Local variable */
1685 variable[0] = self;
1686 /* Register variable[1]: Local variable */
1687 variable[1] = param0;
1688 /* Register variable[2]: Local variable */
1689 variable[2] = param1;
1690 /* Register variable[3]: Method return value and escape marker */
1691 /* Register variable[4]: Result */
1692 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
1693 /* Register variable[4]: Result */
1694 variable[4] = CALL_static_type___MMSignature___return_type(variable[4])(variable[4]) /*MMSignature::return_type*/;
1695 /* Register variable[4]: Result */
1696 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::==*/)))));
1697 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_stmt_call, LOCATE_compiling_methods, 325); nit_exit(1);}
1698 /* Register variable[4]: Local variable */
1699 /* Register variable[5]: Result */
1700 variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/, variable[2] /*cargs*/) /*MMMethod::intern_compile_call*/;
1701 variable[4] = variable[5];
1702 /* Register variable[5]: Result */
1703 variable[5] = TAG_Bool(( variable[4] /*s*/ == NIT_NULL /*null*/) || (( variable[4] /*s*/ != NIT_NULL) && UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[4] /*s*/)( variable[4] /*s*/, NIT_NULL /*null*/) /*String::==*/)));
1704 if (!UNTAG_Bool(variable[5])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___MMMethod___compile_stmt_call, LOCATE_compiling_methods, 327); nit_exit(1);}
1705 return_label74: while(false);
1706 tracehead = trace.prev;
1707 return;
1708 }
1709 val_t compiling_methods___MMMethod___intern_compile_call(val_t self, val_t param0, val_t param1) {
1710 struct trace_t trace = {NULL, NULL, 330, LOCATE_compiling_methods___MMMethod___intern_compile_call};
1711 static val_t once_value_76; static int once_bool_76; /* Once value for variable[6]*/
1712 static val_t once_value_77 = NIT_NULL; /* Once value for string variable[6]*/
1713 static val_t once_value_78; static int once_bool_78; /* Once value for variable[6]*/
1714 static val_t once_value_79 = NIT_NULL; /* Once value for string variable[6]*/
1715 static val_t once_value_80; static int once_bool_80; /* Once value for variable[6]*/
1716 static val_t once_value_81 = NIT_NULL; /* Once value for string variable[6]*/
1717 static val_t once_value_82; static int once_bool_82; /* Once value for variable[7]*/
1718 static val_t once_value_83 = NIT_NULL; /* Once value for string variable[7]*/
1719 static val_t once_value_84 = NIT_NULL; /* Once value for string variable[10]*/
1720 static val_t once_value_85 = NIT_NULL; /* Once value for string variable[10]*/
1721 static val_t once_value_86 = NIT_NULL; /* Once value for string variable[7]*/
1722 static val_t once_value_87 = NIT_NULL; /* Once value for string variable[9]*/
1723 static val_t once_value_88 = NIT_NULL; /* Once value for string variable[9]*/
1724 static val_t once_value_90 = NIT_NULL; /* Once value for string variable[9]*/
1725 static val_t once_value_91 = NIT_NULL; /* Once value for string variable[10]*/
1726 static val_t once_value_92 = NIT_NULL; /* Once value for string variable[10]*/
1727 static val_t once_value_93 = NIT_NULL; /* Once value for string variable[10]*/
1728 static val_t once_value_94 = NIT_NULL; /* Once value for string variable[10]*/
1729 static val_t once_value_95 = NIT_NULL; /* Once value for string variable[10]*/
1730 static val_t once_value_96 = NIT_NULL; /* Once value for string variable[10]*/
1731 static val_t once_value_97 = NIT_NULL; /* Once value for string variable[10]*/
1732 static val_t once_value_98 = NIT_NULL; /* Once value for string variable[10]*/
1733 static val_t once_value_99; static int once_bool_99; /* Once value for variable[10]*/
1734 static val_t once_value_100 = NIT_NULL; /* Once value for string variable[10]*/
1735 static val_t once_value_101 = NIT_NULL; /* Once value for string variable[11]*/
1736 static val_t once_value_102 = NIT_NULL; /* Once value for string variable[11]*/
1737 static val_t once_value_103 = NIT_NULL; /* Once value for string variable[11]*/
1738 static val_t once_value_105 = NIT_NULL; /* Once value for string variable[11]*/
1739 static val_t once_value_107 = NIT_NULL; /* Once value for string variable[11]*/
1740 static val_t once_value_108 = NIT_NULL; /* Once value for string variable[11]*/
1741 static val_t once_value_109 = NIT_NULL; /* Once value for string variable[11]*/
1742 static val_t once_value_110 = NIT_NULL; /* Once value for string variable[11]*/
1743 static val_t once_value_112 = NIT_NULL; /* Once value for string variable[11]*/
1744 static val_t once_value_113 = NIT_NULL; /* Once value for string variable[11]*/
1745 static val_t once_value_114 = NIT_NULL; /* Once value for string variable[11]*/
1746 static val_t once_value_115 = NIT_NULL; /* Once value for string variable[9]*/
1747 val_t variable[15];
1748 struct WBT_ **closurevariable = NULL;
1749 trace.prev = tracehead; tracehead = &trace;
1750 trace.file = LOCATE_compiling_methods;
1751 /* Register variable[0]: Local variable */
1752 variable[0] = self;
1753 /* Register variable[1]: Local variable */
1754 variable[1] = param0;
1755 /* Register variable[2]: Local variable */
1756 variable[2] = param1;
1757 /* Register variable[3]: Method return value and escape marker */
1758 /* Register variable[4]: Local variable */
1759 variable[4] = variable[0];
1760 /* Register variable[5]: Result */
1761 variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMSrcMethod, ID_MMSrcMethod)) /*cast MMSrcMethod*/;
1762 if (UNTAG_Bool(variable[5])) { /*if*/
1763 /* Register variable[5]: Result */
1764 variable[5] = TAG_Bool(( variable[4] /*i*/==NIT_NULL) || VAL_ISA( variable[4] /*i*/, COLOR_MMMethSrcMethod, ID_MMMethSrcMethod)) /*cast MMMethSrcMethod*/;
1765 /* Ensure var variable[5]: Left 'and' operand*/
1766 if (UNTAG_Bool(variable[5])) { /* and */
1767 /* Register variable[5]: Result */
1768 variable[5] = CALL_syntax_base___MMLocalProperty___node( variable[4] /*i*/)( variable[4] /*i*/) /*MMMethSrcMethod::node*/;
1769 /* Register variable[5]: Result */
1770 variable[5] = TAG_Bool((variable[5]==NIT_NULL) || VAL_ISA(variable[5], COLOR_AInternMethPropdef, ID_AInternMethPropdef)) /*cast AInternMethPropdef*/;
1771 }
1772 /* Register variable[5]: Result */
1773 /* Ensure var variable[5]: Left 'or' operand*/
1774 if (!UNTAG_Bool(variable[5])) { /* or */
1775 /* Register variable[5]: Result */
1776 variable[5] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
1777 /* Register variable[5]: Result */
1778 variable[5] = CALL_abstractmetamodel___MMLocalClass___name(variable[5])(variable[5]) /*MMLocalClass::name*/;
1779 /* Register variable[6]: Once expression result */
1780 if (once_bool_76) variable[6] = once_value_76;
1781 else {
1782 /* Register variable[6]: Once String constant */
1783 if (once_value_77 != NIT_NULL) variable[6] = once_value_77;
1784 else {
1785 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Array"), TAG_Int(5)) /*new String*/;
1786 once_value_77 = variable[6];
1787 }
1788 /* Register variable[6]: Result */
1789 /* Register variable[6]: Result */
1790 variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
1791 once_value_76 = variable[6];
1792 once_bool_76 = true;
1793 }
1794 /* Register variable[6]: Result */
1795 /* Register variable[5]: Result */
1796 variable[5] = TAG_Bool((variable[5] == variable[6]) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5],variable[6])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[6]) /*Object::==*/)))));
1797 /* Ensure var variable[5]: Left 'and' operand*/
1798 if (UNTAG_Bool(variable[5])) { /* and */
1799 /* Register variable[5]: Result */
1800 variable[5] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
1801 /* Register variable[6]: Once expression result */
1802 if (once_bool_78) variable[6] = once_value_78;
1803 else {
1804 /* Register variable[6]: Once String constant */
1805 if (once_value_79 != NIT_NULL) variable[6] = once_value_79;
1806 else {
1807 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
1808 once_value_79 = variable[6];
1809 }
1810 /* Register variable[6]: Result */
1811 /* Register variable[6]: Result */
1812 variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
1813 once_value_78 = variable[6];
1814 once_bool_78 = true;
1815 }
1816 /* Register variable[6]: Result */
1817 /* Register variable[5]: Result */
1818 variable[5] = TAG_Bool((variable[5] == variable[6]) || ((variable[5] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[5])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[5],variable[6])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[5])(variable[5], variable[6]) /*Object::==*/)))));
1819 }
1820 /* Register variable[5]: Result */
1821 }
1822 /* Register variable[5]: Result */
1823 if (UNTAG_Bool(variable[5])) { /*if*/
1824 /* Register variable[5]: Local variable */
1825 /* Register variable[6]: Result */
1826 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*/;
1827 variable[5] = variable[6];
1828 variable[3] = variable[5] /*e*/;
1829 goto return_label75;
1830 }
1831 }
1832 /* Register variable[5]: Local variable */
1833 /* Register variable[6]: Once expression result */
1834 if (once_bool_80) variable[6] = once_value_80;
1835 else {
1836 /* Register variable[6]: Once String constant */
1837 if (once_value_81 != NIT_NULL) variable[6] = once_value_81;
1838 else {
1839 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
1840 once_value_81 = variable[6];
1841 }
1842 /* Register variable[6]: Result */
1843 /* Register variable[6]: Result */
1844 variable[6] = CALL_symbol___String___to_symbol(variable[6])(variable[6]) /*String::to_symbol*/;
1845 once_value_80 = variable[6];
1846 once_bool_80 = true;
1847 }
1848 /* Register variable[6]: Result */
1849 variable[5] = variable[6];
1850 /* Register variable[6]: Local variable */
1851 /* Register variable[7]: Once expression result */
1852 if (once_bool_82) variable[7] = once_value_82;
1853 else {
1854 /* Register variable[7]: Once String constant */
1855 if (once_value_83 != NIT_NULL) variable[7] = once_value_83;
1856 else {
1857 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
1858 once_value_83 = variable[7];
1859 }
1860 /* Register variable[7]: Result */
1861 /* Register variable[7]: Result */
1862 variable[7] = CALL_symbol___String___to_symbol(variable[7])(variable[7]) /*String::to_symbol*/;
1863 once_value_82 = variable[7];
1864 once_bool_82 = true;
1865 }
1866 /* Register variable[7]: Result */
1867 variable[6] = variable[7];
1868 /* Register variable[7]: Result */
1869 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
1870 /* Register variable[7]: Result */
1871 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::==*/)))));
1872 if (UNTAG_Bool(variable[7])) { /*if*/
1873 /* Register variable[7]: Local variable */
1874 /* Register variable[8]: Result */
1875 variable[8] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
1876 /* Register variable[8]: Result */
1877 variable[8] = CALL_static_type___MMSignature___recv(variable[8])(variable[8]) /*MMSignature::recv*/;
1878 /* Register variable[8]: Result */
1879 variable[8] = CALL_static_type___MMType___local_class(variable[8])(variable[8]) /*MMType::local_class*/;
1880 /* Register variable[8]: Result */
1881 variable[8] = CALL_abstractmetamodel___MMLocalClass___select_method(variable[8])(variable[8], variable[5] /*ee*/) /*MMLocalClass::select_method*/;
1882 variable[7] = variable[8];
1883 /* Register variable[8]: Local variable */
1884 /* Register variable[9]: Result */
1885 variable[9] = CALL_compiling_methods___MMMethod___compile_expr_call( variable[7] /*eqp*/)( variable[7] /*eqp*/, variable[1] /*v*/, variable[2] /*cargs*/) /*MMMethod::compile_expr_call*/;
1886 variable[8] = variable[9];
1887 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1888 /* Register variable[10]: Once String constant */
1889 if (once_value_84 != NIT_NULL) variable[10] = once_value_84;
1890 else {
1891 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(!UNTAG_Bool("), TAG_Int(21)) /*new String*/;
1892 once_value_84 = variable[10];
1893 }
1894 /* Register variable[10]: Result */
1895 /* Ensure var variable[10]: super-string element*/
1896 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
1897 variable[10] = variable[8] /*eqcall*/ /* Ensure var: super-string element*/;
1898 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
1899 /* Register variable[10]: Once String constant */
1900 if (once_value_85 != NIT_NULL) variable[10] = once_value_85;
1901 else {
1902 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
1903 once_value_85 = variable[10];
1904 }
1905 /* Register variable[10]: Result */
1906 /* Ensure var variable[10]: super-string element*/
1907 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
1908 /* Register variable[9]: Result */
1909 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
1910 variable[3] = variable[9];
1911 goto return_label75;
1912 }
1913 /* Register variable[7]: Result */
1914 variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
1915 /* Register variable[7]: Result */
1916 variable[7] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[7])(variable[7]) /*MMGlobalProperty::is_init*/;
1917 if (UNTAG_Bool(variable[7])) { /*if*/
1918 /* Register variable[7]: Result */
1919 variable[7] = CALL_array___Collection___to_a( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*Collection::to_a*/;
1920 variable[2] = variable[7] /*cargs=*/;
1921 /* Register variable[7]: Once String constant */
1922 if (once_value_86 != NIT_NULL) variable[7] = once_value_86;
1923 else {
1924 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("init_table /*YYY*/"), TAG_Int(18)) /*new String*/;
1925 once_value_86 = variable[7];
1926 }
1927 /* Register variable[7]: Result */
1928 CALL_abstract_collection___SimpleCollection___add( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*AbstractArray::add*/;
1929 }
1930 /* Register variable[7]: Local variable */
1931 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1932 /* Register variable[9]: Once String constant */
1933 if (once_value_87 != NIT_NULL) variable[9] = once_value_87;
1934 else {
1935 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
1936 once_value_87 = variable[9];
1937 }
1938 /* Register variable[9]: Result */
1939 /* Ensure var variable[9]: super-string element*/
1940 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
1941 /* Register variable[9]: Result */
1942 variable[9] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
1943 /* Register variable[9]: Result */
1944 variable[9] = CALL_compiling_base___MMGlobalProperty___meth_call(variable[9])(variable[9]) /*MMGlobalProperty::meth_call*/;
1945 /* Ensure var variable[9]: super-string element*/
1946 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
1947 /* Register variable[9]: Once String constant */
1948 if (once_value_88 != NIT_NULL) variable[9] = once_value_88;
1949 else {
1950 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
1951 once_value_88 = variable[9];
1952 }
1953 /* Register variable[9]: Result */
1954 /* Ensure var variable[9]: super-string element*/
1955 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
1956 /* Register variable[9]: Local variable */
1957 variable[9] = variable[2] /*cargs*/;
1958 /* Register variable[10]: Local variable */
1959 variable[10] = TAG_Int(0);
1960 /* Register variable[11]: Method return value and escape marker */
1961 /* Register variable[12]: Result */
1962 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
1963 /* Ensure var variable[12]: Left 'and' operand*/
1964 if (UNTAG_Bool(variable[12])) { /* and */
1965 /* Register variable[12]: Result */
1966 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
1967 /* Register variable[12]: Result */
1968 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
1969 }
1970 /* Register variable[12]: Result */
1971 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, 234); nit_exit(1);}
1972 /* Register variable[12]: Result */
1973 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
1974 /* Register variable[12]: Result */
1975 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
1976 variable[11] = variable[12];
1977 goto return_label89;
1978 return_label89: while(false);
1979 /* Register variable[9]: Result */
1980 variable[9] = variable[11];
1981 /* Ensure var variable[9]: super-string element*/
1982 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
1983 /* Register variable[9]: Once String constant */
1984 if (once_value_90 != NIT_NULL) variable[9] = once_value_90;
1985 else {
1986 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
1987 once_value_90 = variable[9];
1988 }
1989 /* Register variable[9]: Result */
1990 /* Ensure var variable[9]: super-string element*/
1991 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
1992 /* Register variable[8]: Result */
1993 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
1994 variable[7] = variable[8];
1995 /* Register variable[8]: Local variable */
1996 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
1997 /* Register variable[10]: Once String constant */
1998 if (once_value_91 != NIT_NULL) variable[10] = once_value_91;
1999 else {
2000 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2001 once_value_91 = variable[10];
2002 }
2003 /* Register variable[10]: Result */
2004 /* Ensure var variable[10]: super-string element*/
2005 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2006 variable[10] = variable[7] /*m*/ /* Ensure var: super-string element*/;
2007 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2008 /* Register variable[10]: Once String constant */
2009 if (once_value_92 != NIT_NULL) variable[10] = once_value_92;
2010 else {
2011 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
2012 once_value_92 = variable[10];
2013 }
2014 /* Register variable[10]: Result */
2015 /* Ensure var variable[10]: super-string element*/
2016 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2017 /* Register variable[10]: Once String constant */
2018 if (once_value_93 != NIT_NULL) variable[10] = once_value_93;
2019 else {
2020 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
2021 once_value_93 = variable[10];
2022 }
2023 /* Register variable[10]: Result */
2024 /* Register variable[10]: Result */
2025 variable[10] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[10]) /*Collection::join*/;
2026 /* Ensure var variable[10]: super-string element*/
2027 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2028 /* Register variable[10]: Once String constant */
2029 if (once_value_94 != NIT_NULL) variable[10] = once_value_94;
2030 else {
2031 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
2032 once_value_94 = variable[10];
2033 }
2034 /* Register variable[10]: Result */
2035 /* Ensure var variable[10]: super-string element*/
2036 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2037 /* Register variable[10]: Result */
2038 variable[10] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
2039 /* Ensure var variable[10]: super-string element*/
2040 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
2041 /* Register variable[10]: Once String constant */
2042 if (once_value_95 != NIT_NULL) variable[10] = once_value_95;
2043 else {
2044 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
2045 once_value_95 = variable[10];
2046 }
2047 /* Register variable[10]: Result */
2048 /* Ensure var variable[10]: super-string element*/
2049 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2050 /* Register variable[10]: Result */
2051 variable[10] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
2052 /* Ensure var variable[10]: super-string element*/
2053 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
2054 /* Register variable[10]: Once String constant */
2055 if (once_value_96 != NIT_NULL) variable[10] = once_value_96;
2056 else {
2057 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
2058 once_value_96 = variable[10];
2059 }
2060 /* Register variable[10]: Result */
2061 /* Ensure var variable[10]: super-string element*/
2062 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2063 /* Register variable[9]: Result */
2064 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
2065 variable[8] = variable[9];
2066 /* Register variable[9]: Result */
2067 variable[9] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
2068 /* Register variable[9]: Result */
2069 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::==*/)))));
2070 if (UNTAG_Bool(variable[9])) { /*if*/
2071 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2072 /* Register variable[10]: Once String constant */
2073 if (once_value_97 != NIT_NULL) variable[10] = once_value_97;
2074 else {
2075 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("UNTAG_Bool("), TAG_Int(11)) /*new String*/;
2076 once_value_97 = variable[10];
2077 }
2078 /* Register variable[10]: Result */
2079 /* Ensure var variable[10]: super-string element*/
2080 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2081 variable[10] = variable[8] /*vcall*/ /* Ensure var: super-string element*/;
2082 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2083 /* Register variable[10]: Once String constant */
2084 if (once_value_98 != NIT_NULL) variable[10] = once_value_98;
2085 else {
2086 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
2087 once_value_98 = variable[10];
2088 }
2089 /* Register variable[10]: Result */
2090 /* Ensure var variable[10]: super-string element*/
2091 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
2092 /* Register variable[9]: Result */
2093 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
2094 variable[8] = variable[9] /*vcall=*/;
2095 /* Register variable[9]: Local variable */
2096 /* Register variable[10]: Once expression result */
2097 if (once_bool_99) variable[10] = once_value_99;
2098 else {
2099 /* Register variable[10]: Once String constant */
2100 if (once_value_100 != NIT_NULL) variable[10] = once_value_100;
2101 else {
2102 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Object"), TAG_Int(6)) /*new String*/;
2103 once_value_100 = variable[10];
2104 }
2105 /* Register variable[10]: Result */
2106 /* Register variable[10]: Result */
2107 variable[10] = CALL_symbol___String___to_symbol(variable[10])(variable[10]) /*String::to_symbol*/;
2108 once_value_99 = variable[10];
2109 once_bool_99 = true;
2110 }
2111 /* Register variable[10]: Result */
2112 variable[9] = variable[10];
2113 /* Register variable[10]: Result */
2114 variable[10] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::local_class*/;
2115 /* Register variable[10]: Result */
2116 variable[10] = CALL_abstractmetamodel___MMLocalClass___name(variable[10])(variable[10]) /*MMLocalClass::name*/;
2117 /* Register variable[10]: Result */
2118 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::==*/)))));
2119 if (UNTAG_Bool(variable[10])) { /*if*/
2120 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2121 /* Register variable[11]: Once String constant */
2122 if (once_value_101 != NIT_NULL) variable[11] = once_value_101;
2123 else {
2124 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)) /*new String*/;
2125 once_value_101 = variable[11];
2126 }
2127 /* Register variable[11]: Result */
2128 /* Ensure var variable[11]: super-string element*/
2129 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2130 variable[11] = variable[7] /*m*/ /* Ensure var: super-string element*/;
2131 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2132 /* Register variable[11]: Once String constant */
2133 if (once_value_102 != NIT_NULL) variable[11] = once_value_102;
2134 else {
2135 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
2136 once_value_102 = variable[11];
2137 }
2138 /* Register variable[11]: Result */
2139 /* Ensure var variable[11]: super-string element*/
2140 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2141 /* Register variable[11]: Result */
2142 variable[11] = CALL_compiling_base___MMLocalProperty___cname( variable[4] /*i*/)( variable[4] /*i*/) /*MMLocalProperty::cname*/;
2143 /* Ensure var variable[11]: super-string element*/
2144 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2145 /* Register variable[11]: Once String constant */
2146 if (once_value_103 != NIT_NULL) variable[11] = once_value_103;
2147 else {
2148 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")?(IS_EQUAL_NN("), TAG_Int(15)) /*new String*/;
2149 once_value_103 = variable[11];
2150 }
2151 /* Register variable[11]: Result */
2152 /* Ensure var variable[11]: super-string element*/
2153 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2154 /* Register variable[11]: Local variable */
2155 variable[11] = variable[2] /*cargs*/;
2156 /* Register variable[12]: Local variable */
2157 variable[12] = TAG_Int(0);
2158 /* Register variable[13]: Method return value and escape marker */
2159 /* Register variable[14]: Result */
2160 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2161 /* Ensure var variable[14]: Left 'and' operand*/
2162 if (UNTAG_Bool(variable[14])) { /* and */
2163 /* Register variable[14]: Result */
2164 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
2165 /* Register variable[14]: Result */
2166 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
2167 }
2168 /* Register variable[14]: Result */
2169 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, 234); nit_exit(1);}
2170 /* Register variable[14]: Result */
2171 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
2172 /* Register variable[14]: Result */
2173 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
2174 variable[13] = variable[14];
2175 goto return_label104;
2176 return_label104: while(false);
2177 /* Register variable[11]: Result */
2178 variable[11] = variable[13];
2179 /* Ensure var variable[11]: super-string element*/
2180 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2181 /* Register variable[11]: Once String constant */
2182 if (once_value_105 != NIT_NULL) variable[11] = once_value_105;
2183 else {
2184 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
2185 once_value_105 = variable[11];
2186 }
2187 /* Register variable[11]: Result */
2188 /* Ensure var variable[11]: super-string element*/
2189 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2190 /* Register variable[11]: Local variable */
2191 variable[11] = variable[2] /*cargs*/;
2192 /* Register variable[12]: Local variable */
2193 variable[12] = TAG_Int(1);
2194 /* Register variable[13]: Method return value and escape marker */
2195 /* Register variable[14]: Result */
2196 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2197 /* Ensure var variable[14]: Left 'and' operand*/
2198 if (UNTAG_Bool(variable[14])) { /* and */
2199 /* Register variable[14]: Result */
2200 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
2201 /* Register variable[14]: Result */
2202 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
2203 }
2204 /* Register variable[14]: Result */
2205 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, 234); nit_exit(1);}
2206 /* Register variable[14]: Result */
2207 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
2208 /* Register variable[14]: Result */
2209 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
2210 variable[13] = variable[14];
2211 goto return_label106;
2212 return_label106: while(false);
2213 /* Register variable[11]: Result */
2214 variable[11] = variable[13];
2215 /* Ensure var variable[11]: super-string element*/
2216 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2217 /* Register variable[11]: Once String constant */
2218 if (once_value_107 != NIT_NULL) variable[11] = once_value_107;
2219 else {
2220 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")):("), TAG_Int(4)) /*new String*/;
2221 once_value_107 = variable[11];
2222 }
2223 /* Register variable[11]: Result */
2224 /* Ensure var variable[11]: super-string element*/
2225 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2226 variable[11] = variable[8] /*vcall*/ /* Ensure var: super-string element*/;
2227 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2228 /* Register variable[11]: Once String constant */
2229 if (once_value_108 != NIT_NULL) variable[11] = once_value_108;
2230 else {
2231 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
2232 once_value_108 = variable[11];
2233 }
2234 /* Register variable[11]: Result */
2235 /* Ensure var variable[11]: super-string element*/
2236 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2237 /* Register variable[10]: Result */
2238 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
2239 variable[8] = variable[10] /*vcall=*/;
2240 }
2241 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2242 /* Register variable[11]: Once String constant */
2243 if (once_value_109 != NIT_NULL) variable[11] = once_value_109;
2244 else {
2245 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
2246 once_value_109 = variable[11];
2247 }
2248 /* Register variable[11]: Result */
2249 /* Ensure var variable[11]: super-string element*/
2250 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2251 /* Register variable[11]: Result */
2252 variable[11] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollectionRead::first*/;
2253 /* Ensure var variable[11]: super-string element*/
2254 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2255 /* Register variable[11]: Once String constant */
2256 if (once_value_110 != NIT_NULL) variable[11] = once_value_110;
2257 else {
2258 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" == "), TAG_Int(4)) /*new String*/;
2259 once_value_110 = variable[11];
2260 }
2261 /* Register variable[11]: Result */
2262 /* Ensure var variable[11]: super-string element*/
2263 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2264 /* Register variable[11]: Local variable */
2265 variable[11] = variable[2] /*cargs*/;
2266 /* Register variable[12]: Local variable */
2267 variable[12] = TAG_Int(1);
2268 /* Register variable[13]: Method return value and escape marker */
2269 /* Register variable[14]: Result */
2270 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2271 /* Ensure var variable[14]: Left 'and' operand*/
2272 if (UNTAG_Bool(variable[14])) { /* and */
2273 /* Register variable[14]: Result */
2274 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
2275 /* Register variable[14]: Result */
2276 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
2277 }
2278 /* Register variable[14]: Result */
2279 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, 234); nit_exit(1);}
2280 /* Register variable[14]: Result */
2281 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
2282 /* Register variable[14]: Result */
2283 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
2284 variable[13] = variable[14];
2285 goto return_label111;
2286 return_label111: while(false);
2287 /* Register variable[11]: Result */
2288 variable[11] = variable[13];
2289 /* Ensure var variable[11]: super-string element*/
2290 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2291 /* Register variable[11]: Once String constant */
2292 if (once_value_112 != NIT_NULL) variable[11] = once_value_112;
2293 else {
2294 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(") || (("), TAG_Int(7)) /*new String*/;
2295 once_value_112 = variable[11];
2296 }
2297 /* Register variable[11]: Result */
2298 /* Ensure var variable[11]: super-string element*/
2299 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2300 /* Register variable[11]: Result */
2301 variable[11] = CALL_abstract_collection___Collection___first( variable[2] /*cargs*/)( variable[2] /*cargs*/) /*IndexedCollectionRead::first*/;
2302 /* Ensure var variable[11]: super-string element*/
2303 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2304 /* Register variable[11]: Once String constant */
2305 if (once_value_113 != NIT_NULL) variable[11] = once_value_113;
2306 else {
2307 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) && "), TAG_Int(17)) /*new String*/;
2308 once_value_113 = variable[11];
2309 }
2310 /* Register variable[11]: Result */
2311 /* Ensure var variable[11]: super-string element*/
2312 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2313 variable[11] = variable[8] /*vcall*/ /* Ensure var: super-string element*/;
2314 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2315 /* Register variable[11]: Once String constant */
2316 if (once_value_114 != NIT_NULL) variable[11] = once_value_114;
2317 else {
2318 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
2319 once_value_114 = variable[11];
2320 }
2321 /* Register variable[11]: Result */
2322 /* Ensure var variable[11]: super-string element*/
2323 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
2324 /* Register variable[10]: Result */
2325 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
2326 variable[8] = variable[10] /*vcall=*/;
2327 }
2328 /* Register variable[9]: Result */
2329 variable[9] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
2330 /* Register variable[9]: Result */
2331 variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
2332 /* Register variable[9]: Result */
2333 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::==*/)))))));
2334 if (UNTAG_Bool(variable[9])) { /*if*/
2335 variable[3] = variable[8] /*vcall*/;
2336 goto return_label75;
2337 } else { /*if*/
2338 /* Register variable[9]: Once String constant */
2339 if (once_value_115 != NIT_NULL) variable[9] = once_value_115;
2340 else {
2341 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
2342 once_value_115 = variable[9];
2343 }
2344 /* Register variable[9]: Result */
2345 /* Register variable[9]: Result */
2346 variable[9] = CALL_string___String_____plus( variable[8] /*vcall*/)( variable[8] /*vcall*/, variable[9]) /*String::+*/;
2347 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
2348 variable[3] = NIT_NULL /*null*/;
2349 goto return_label75;
2350 }
2351 return_label75: while(false);
2352 tracehead = trace.prev;
2353 return variable[3];
2354 }
2355 val_t compiling_methods___MMMethod___compile_call_and_closures(val_t self, val_t param0, val_t param1, val_t param2) {
2356 struct trace_t trace = {NULL, NULL, 375, LOCATE_compiling_methods___MMMethod___compile_call_and_closures};
2357 static val_t once_value_117 = NIT_NULL; /* Once value for string variable[9]*/
2358 static val_t once_value_121 = NIT_NULL; /* Once value for string variable[13]*/
2359 static val_t once_value_123 = NIT_NULL; /* Once value for string variable[15]*/
2360 static val_t once_value_125 = NIT_NULL; /* Once value for string variable[15]*/
2361 static val_t once_value_126 = NIT_NULL; /* Once value for string variable[15]*/
2362 static val_t once_value_128 = NIT_NULL; /* Once value for string variable[15]*/
2363 static val_t once_value_129 = NIT_NULL; /* Once value for string variable[15]*/
2364 static val_t once_value_130 = NIT_NULL; /* Once value for string variable[15]*/
2365 static val_t once_value_132 = NIT_NULL; /* Once value for string variable[15]*/
2366 static val_t once_value_134 = NIT_NULL; /* Once value for string variable[15]*/
2367 static val_t once_value_135 = NIT_NULL; /* Once value for string variable[15]*/
2368 static val_t once_value_136 = NIT_NULL; /* Once value for string variable[15]*/
2369 static val_t once_value_137 = NIT_NULL; /* Once value for string variable[15]*/
2370 static val_t once_value_138 = NIT_NULL; /* Once value for string variable[15]*/
2371 static val_t once_value_140 = NIT_NULL; /* Once value for string variable[15]*/
2372 static val_t once_value_141 = NIT_NULL; /* Once value for string variable[14]*/
2373 static val_t once_value_142 = NIT_NULL; /* Once value for string variable[14]*/
2374 val_t variable[19];
2375 struct WBT_ **closurevariable = NULL;
2376 trace.prev = tracehead; tracehead = &trace;
2377 trace.file = LOCATE_compiling_methods;
2378 /* Register variable[0]: Local variable */
2379 variable[0] = self;
2380 /* Register variable[1]: Local variable */
2381 variable[1] = param0;
2382 /* Register variable[2]: Local variable */
2383 variable[2] = param1;
2384 /* Register variable[3]: Local variable */
2385 variable[3] = param2;
2386 /* Register variable[4]: Method return value and escape marker */
2387 /* Register variable[5]: Local variable */
2388 variable[5] = NIT_NULL /*null*/;
2389 /* Register variable[6]: Local variable */
2390 variable[6] = TAG_Int(0);
2391 /* Register variable[7]: Result */
2392 variable[7] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[3] /*clos_defs*/ == NIT_NULL /*null*/) || (( variable[3] /*clos_defs*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[3] /*clos_defs*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[3] /*clos_defs*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[3] /*clos_defs*/)( variable[3] /*clos_defs*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2393 if (UNTAG_Bool(variable[7])) { /*if*/
2394 /* Register variable[7]: Result */
2395 variable[7] = CALL_abstract_collection___Collection___length( variable[3] /*clos_defs*/)( variable[3] /*clos_defs*/) /*AbstractArrayRead::length*/;
2396 variable[6] = variable[7] /*arity=*/;
2397 }
2398 /* Register variable[7]: Local variable */
2399 /* Register variable[8]: Result */
2400 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2401 /* Register variable[8]: Result */
2402 variable[8] = CALL_compiling_methods___NitMethodContext___break_value(variable[8])(variable[8]) /*NitMethodContext::break_value*/;
2403 variable[7] = variable[8];
2404 /* Register variable[8]: Result */
2405 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2406 /* Register variable[9]: Once String constant */
2407 if (once_value_117 != NIT_NULL) variable[9] = once_value_117;
2408 else {
2409 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Closure return value and escape marker"), TAG_Int(38)) /*new String*/;
2410 once_value_117 = variable[9];
2411 }
2412 /* Register variable[9]: Result */
2413 /* Register variable[8]: Result */
2414 variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
2415 variable[5] = variable[8] /*ve=*/;
2416 /* Register variable[8]: Result */
2417 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2418 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[8])(variable[8], variable[5] /*ve*/) /*NitMethodContext::break_value=*/;
2419 /* Register variable[8]: Local variable */
2420 /* Register variable[9]: Result */
2421 variable[9] = NEW_Array_array___Array___init() /*new Array[String]*/;
2422 variable[8] = variable[9];
2423 /* Register variable[9]: Local variable */
2424 /* Register variable[10]: Result */
2425 variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
2426 variable[9] = variable[10];
2427 CALL_abstract_collection___SimpleCollection___add_all( variable[8] /*realcargs*/)( variable[8] /*realcargs*/, variable[2] /*cargs*/) /*SimpleCollection::add_all*/;
2428 /* Register variable[10]: Result */
2429 variable[10] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6] /*arity*/) /*new Range[Int]*/;
2430 /* Register variable[10]: For iterator */
2431 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
2432 while (true) { /*for*/
2433 /* Register variable[11]: For 'is_ok' result */
2434 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
2435 if (!UNTAG_Bool(variable[11])) break; /*for*/
2436 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
2437 /* Register variable[12]: Local variable */
2438 variable[12] = variable[11];
2439 /* Register variable[13]: Local variable */
2440 /* Register variable[14]: Local variable */
2441 variable[14] = variable[3] /*clos_defs*/;
2442 /* Register variable[15]: Local variable */
2443 variable[15] = variable[12] /*i*/;
2444 /* Register variable[16]: Method return value and escape marker */
2445 /* Register variable[17]: Result */
2446 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2447 /* Ensure var variable[17]: Left 'and' operand*/
2448 if (UNTAG_Bool(variable[17])) { /* and */
2449 /* Register variable[17]: Result */
2450 variable[17] = ATTR_array___AbstractArrayRead____length(variable[14]) /*AbstractArrayRead::_length*/;
2451 /* Register variable[17]: Result */
2452 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[17]));
2453 }
2454 /* Register variable[17]: Result */
2455 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, 234); nit_exit(1);}
2456 /* Register variable[17]: Result */
2457 variable[17] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
2458 /* Register variable[17]: Result */
2459 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
2460 variable[16] = variable[17];
2461 goto return_label119;
2462 return_label119: while(false);
2463 /* Register variable[14]: Result */
2464 variable[14] = variable[16];
2465 /* Register variable[15]: Result */
2466 variable[15] = CALL_compiling_methods___MMMethod___closure_cname(variable[0])(variable[0], variable[12] /*i*/) /*MMMethod::closure_cname*/;
2467 /* Register variable[14]: Result */
2468 variable[14] = CALL_compiling_methods___PClosureDef___compile_closure(variable[14])(variable[14], variable[1] /*v*/, variable[15]) /*PClosureDef::compile_closure*/;
2469 variable[13] = variable[14];
2470 CALL_abstract_collection___SimpleCollection___add( variable[9] /*closcns*/)( variable[9] /*closcns*/, variable[13] /*cn*/) /*AbstractArray::add*/;
2471 CALL_abstract_collection___SimpleCollection___add( variable[8] /*realcargs*/)( variable[8] /*realcargs*/, variable[13] /*cn*/) /*AbstractArray::add*/;
2472 continue_118: while(0);
2473 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
2474 }
2475 break_118: while(0);
2476 /* Register variable[10]: Result */
2477 variable[10] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
2478 /* Register variable[10]: Result */
2479 variable[10] = CALL_static_type___MMSignature___closures(variable[10])(variable[10]) /*MMSignature::closures*/;
2480 /* Register variable[10]: Result */
2481 variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*AbstractArrayRead::length*/;
2482 /* Register variable[10]: Result */
2483 variable[10] = NEW_Range_range___Range___without_last( variable[6] /*arity*/, variable[10]) /*new Range[Int]*/;
2484 /* Register variable[10]: For iterator */
2485 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
2486 while (true) { /*for*/
2487 /* Register variable[11]: For 'is_ok' result */
2488 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
2489 if (!UNTAG_Bool(variable[11])) break; /*for*/
2490 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
2491 /* Register variable[12]: Local variable */
2492 variable[12] = variable[11];
2493 /* Register variable[13]: Once String constant */
2494 if (once_value_121 != NIT_NULL) variable[13] = once_value_121;
2495 else {
2496 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("NULL"), TAG_Int(4)) /*new String*/;
2497 once_value_121 = variable[13];
2498 }
2499 /* Register variable[13]: Result */
2500 CALL_abstract_collection___SimpleCollection___add( variable[8] /*realcargs*/)( variable[8] /*realcargs*/, variable[13]) /*AbstractArray::add*/;
2501 continue_120: while(0);
2502 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
2503 }
2504 break_120: while(0);
2505 /* Register variable[10]: Result */
2506 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2507 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[10])(variable[10], variable[7] /*old_bv*/) /*NitMethodContext::break_value=*/;
2508 /* Register variable[10]: Local variable */
2509 /* Register variable[11]: Result */
2510 variable[11] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/, variable[8] /*realcargs*/) /*MMMethod::intern_compile_call*/;
2511 variable[10] = variable[11];
2512 /* Register variable[11]: Result */
2513 variable[11] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*e*/ == NIT_NULL /*null*/) || (( variable[10] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*e*/)( variable[10] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2514 if (UNTAG_Bool(variable[11])) { /*if*/
2515 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*ve*/, variable[10] /*e*/) /*CompilerVisitor::add_assignment*/;
2516 variable[10] = variable[5] /*ve*/ /*e=*/;
2517 }
2518 /* Register variable[11]: Result */
2519 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6] /*arity*/) /*new Range[Int]*/;
2520 /* Register variable[11]: For iterator */
2521 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
2522 while (true) { /*for*/
2523 /* Register variable[12]: For 'is_ok' result */
2524 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
2525 if (!UNTAG_Bool(variable[12])) break; /*for*/
2526 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/ /* Ensure var: For item*/;
2527 /* Register variable[13]: Local variable */
2528 variable[13] = variable[12];
2529 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2530 /* Register variable[15]: Once String constant */
2531 if (once_value_123 != NIT_NULL) variable[15] = once_value_123;
2532 else {
2533 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
2534 once_value_123 = variable[15];
2535 }
2536 /* Register variable[15]: Result */
2537 /* Ensure var variable[15]: super-string element*/
2538 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2539 /* Register variable[15]: Local variable */
2540 variable[15] = variable[9] /*closcns*/;
2541 /* Register variable[16]: Local variable */
2542 variable[16] = variable[13] /*i*/;
2543 /* Register variable[17]: Method return value and escape marker */
2544 /* Register variable[18]: Result */
2545 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2546 /* Ensure var variable[18]: Left 'and' operand*/
2547 if (UNTAG_Bool(variable[18])) { /* and */
2548 /* Register variable[18]: Result */
2549 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
2550 /* Register variable[18]: Result */
2551 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
2552 }
2553 /* Register variable[18]: Result */
2554 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, 234); nit_exit(1);}
2555 /* Register variable[18]: Result */
2556 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2557 /* Register variable[18]: Result */
2558 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
2559 variable[17] = variable[18];
2560 goto return_label124;
2561 return_label124: while(false);
2562 /* Register variable[15]: Result */
2563 variable[15] = variable[17];
2564 /* Ensure var variable[15]: super-string element*/
2565 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2566 /* Register variable[15]: Once String constant */
2567 if (once_value_125 != NIT_NULL) variable[15] = once_value_125;
2568 else {
2569 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != NULL) {"), TAG_Int(22)) /*new String*/;
2570 once_value_125 = variable[15];
2571 }
2572 /* Register variable[15]: Result */
2573 /* Ensure var variable[15]: super-string element*/
2574 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2575 /* Register variable[14]: Result */
2576 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2577 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2578 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
2579 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2580 /* Register variable[15]: Once String constant */
2581 if (once_value_126 != NIT_NULL) variable[15] = once_value_126;
2582 else {
2583 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
2584 once_value_126 = variable[15];
2585 }
2586 /* Register variable[15]: Result */
2587 /* Ensure var variable[15]: super-string element*/
2588 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2589 /* Register variable[15]: Local variable */
2590 variable[15] = variable[9] /*closcns*/;
2591 /* Register variable[16]: Local variable */
2592 variable[16] = variable[13] /*i*/;
2593 /* Register variable[17]: Method return value and escape marker */
2594 /* Register variable[18]: Result */
2595 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2596 /* Ensure var variable[18]: Left 'and' operand*/
2597 if (UNTAG_Bool(variable[18])) { /* and */
2598 /* Register variable[18]: Result */
2599 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
2600 /* Register variable[18]: Result */
2601 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
2602 }
2603 /* Register variable[18]: Result */
2604 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, 234); nit_exit(1);}
2605 /* Register variable[18]: Result */
2606 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2607 /* Register variable[18]: Result */
2608 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
2609 variable[17] = variable[18];
2610 goto return_label127;
2611 return_label127: while(false);
2612 /* Register variable[15]: Result */
2613 variable[15] = variable[17];
2614 /* Ensure var variable[15]: super-string element*/
2615 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2616 /* Register variable[15]: Once String constant */
2617 if (once_value_128 != NIT_NULL) variable[15] = once_value_128;
2618 else {
2619 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke != &("), TAG_Int(17)) /*new String*/;
2620 once_value_128 = variable[15];
2621 }
2622 /* Register variable[15]: Result */
2623 /* Ensure var variable[15]: super-string element*/
2624 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2625 variable[15] = variable[5] /*ve*/ /* Ensure var: super-string element*/;
2626 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2627 /* Register variable[15]: Once String constant */
2628 if (once_value_129 != NIT_NULL) variable[15] = once_value_129;
2629 else {
2630 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(")) {"), TAG_Int(4)) /*new String*/;
2631 once_value_129 = variable[15];
2632 }
2633 /* Register variable[15]: Result */
2634 /* Ensure var variable[15]: super-string element*/
2635 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2636 /* Register variable[14]: Result */
2637 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2638 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2639 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
2640 /* Register variable[14]: Result */
2641 variable[14] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
2642 /* Register variable[14]: Result */
2643 variable[14] = CALL_compiling_methods___CFunctionContext___closure(variable[14])(variable[14]) /*CFunctionContext::closure*/;
2644 /* Register variable[15]: Result */
2645 variable[15] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2646 /* Register variable[14]: Result */
2647 variable[14] = TAG_Bool((variable[14] == variable[15]) || ((variable[14] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[14])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[14],variable[15])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[14])(variable[14], variable[15]) /*Object::==*/)))));
2648 if (UNTAG_Bool(variable[14])) { /*if*/
2649 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2650 /* Register variable[15]: Once String constant */
2651 if (once_value_130 != NIT_NULL) variable[15] = once_value_130;
2652 else {
2653 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = "), TAG_Int(21)) /*new String*/;
2654 once_value_130 = variable[15];
2655 }
2656 /* Register variable[15]: Result */
2657 /* Ensure var variable[15]: super-string element*/
2658 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2659 /* Register variable[15]: Local variable */
2660 variable[15] = variable[9] /*closcns*/;
2661 /* Register variable[16]: Local variable */
2662 variable[16] = variable[13] /*i*/;
2663 /* Register variable[17]: Method return value and escape marker */
2664 /* Register variable[18]: Result */
2665 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2666 /* Ensure var variable[18]: Left 'and' operand*/
2667 if (UNTAG_Bool(variable[18])) { /* and */
2668 /* Register variable[18]: Result */
2669 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
2670 /* Register variable[18]: Result */
2671 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
2672 }
2673 /* Register variable[18]: Result */
2674 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, 234); nit_exit(1);}
2675 /* Register variable[18]: Result */
2676 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2677 /* Register variable[18]: Result */
2678 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
2679 variable[17] = variable[18];
2680 goto return_label131;
2681 return_label131: while(false);
2682 /* Register variable[15]: Result */
2683 variable[15] = variable[17];
2684 /* Ensure var variable[15]: super-string element*/
2685 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2686 /* Register variable[15]: Once String constant */
2687 if (once_value_132 != NIT_NULL) variable[15] = once_value_132;
2688 else {
2689 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)) /*new String*/;
2690 once_value_132 = variable[15];
2691 }
2692 /* Register variable[15]: Result */
2693 /* Ensure var variable[15]: super-string element*/
2694 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2695 /* Register variable[15]: Local variable */
2696 variable[15] = variable[9] /*closcns*/;
2697 /* Register variable[16]: Local variable */
2698 variable[16] = variable[13] /*i*/;
2699 /* Register variable[17]: Method return value and escape marker */
2700 /* Register variable[18]: Result */
2701 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2702 /* Ensure var variable[18]: Left 'and' operand*/
2703 if (UNTAG_Bool(variable[18])) { /* and */
2704 /* Register variable[18]: Result */
2705 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
2706 /* Register variable[18]: Result */
2707 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
2708 }
2709 /* Register variable[18]: Result */
2710 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, 234); nit_exit(1);}
2711 /* Register variable[18]: Result */
2712 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2713 /* Register variable[18]: Result */
2714 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
2715 variable[17] = variable[18];
2716 goto return_label133;
2717 return_label133: while(false);
2718 /* Register variable[15]: Result */
2719 variable[15] = variable[17];
2720 /* Ensure var variable[15]: super-string element*/
2721 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2722 /* Register variable[15]: Once String constant */
2723 if (once_value_134 != NIT_NULL) variable[15] = once_value_134;
2724 else {
2725 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)) /*new String*/;
2726 once_value_134 = variable[15];
2727 }
2728 /* Register variable[15]: Result */
2729 /* Ensure var variable[15]: super-string element*/
2730 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2731 /* Register variable[14]: Result */
2732 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2733 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2734 }
2735 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2736 /* Register variable[15]: Once String constant */
2737 if (once_value_135 != NIT_NULL) variable[15] = once_value_135;
2738 else {
2739 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
2740 once_value_135 = variable[15];
2741 }
2742 /* Register variable[15]: Result */
2743 /* Ensure var variable[15]: super-string element*/
2744 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2745 /* Register variable[15]: Result */
2746 variable[15] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
2747 /* Register variable[15]: Result */
2748 variable[15] = CALL_compiling_methods___NitMethodContext___return_label(variable[15])(variable[15]) /*NitMethodContext::return_label*/;
2749 /* Ensure var variable[15]: super-string element*/
2750 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2751 /* Register variable[15]: Once String constant */
2752 if (once_value_136 != NIT_NULL) variable[15] = once_value_136;
2753 else {
2754 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
2755 once_value_136 = variable[15];
2756 }
2757 /* Register variable[15]: Result */
2758 /* Ensure var variable[15]: super-string element*/
2759 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2760 /* Register variable[14]: Result */
2761 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2762 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2763 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
2764 /* Register variable[14]: Result */
2765 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[10] /*e*/ == NIT_NULL /*null*/) || (( variable[10] /*e*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[10] /*e*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[10] /*e*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[10] /*e*/)( variable[10] /*e*/, NIT_NULL /*null*/) /*Object::==*/)))))));
2766 if (UNTAG_Bool(variable[14])) { /*if*/
2767 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2768 /* Register variable[15]: Once String constant */
2769 if (once_value_137 != NIT_NULL) variable[15] = once_value_137;
2770 else {
2771 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("} else "), TAG_Int(7)) /*new String*/;
2772 once_value_137 = variable[15];
2773 }
2774 /* Register variable[15]: Result */
2775 /* Ensure var variable[15]: super-string element*/
2776 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2777 variable[15] = variable[5] /*ve*/ /* Ensure var: super-string element*/;
2778 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2779 /* Register variable[15]: Once String constant */
2780 if (once_value_138 != NIT_NULL) variable[15] = once_value_138;
2781 else {
2782 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
2783 once_value_138 = variable[15];
2784 }
2785 /* Register variable[15]: Result */
2786 /* Ensure var variable[15]: super-string element*/
2787 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2788 /* Register variable[15]: Local variable */
2789 variable[15] = variable[9] /*closcns*/;
2790 /* Register variable[16]: Local variable */
2791 variable[16] = variable[13] /*i*/;
2792 /* Register variable[17]: Method return value and escape marker */
2793 /* Register variable[18]: Result */
2794 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
2795 /* Ensure var variable[18]: Left 'and' operand*/
2796 if (UNTAG_Bool(variable[18])) { /* and */
2797 /* Register variable[18]: Result */
2798 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
2799 /* Register variable[18]: Result */
2800 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
2801 }
2802 /* Register variable[18]: Result */
2803 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, 234); nit_exit(1);}
2804 /* Register variable[18]: Result */
2805 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
2806 /* Register variable[18]: Result */
2807 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
2808 variable[17] = variable[18];
2809 goto return_label139;
2810 return_label139: while(false);
2811 /* Register variable[15]: Result */
2812 variable[15] = variable[17];
2813 /* Ensure var variable[15]: super-string element*/
2814 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2815 /* Register variable[15]: Once String constant */
2816 if (once_value_140 != NIT_NULL) variable[15] = once_value_140;
2817 else {
2818 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;"), TAG_Int(14)) /*new String*/;
2819 once_value_140 = variable[15];
2820 }
2821 /* Register variable[15]: Result */
2822 /* Ensure var variable[15]: super-string element*/
2823 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
2824 /* Register variable[14]: Result */
2825 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
2826 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2827 } else { /*if*/
2828 /* Register variable[14]: Once String constant */
2829 if (once_value_141 != NIT_NULL) variable[14] = once_value_141;
2830 else {
2831 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
2832 once_value_141 = variable[14];
2833 }
2834 /* Register variable[14]: Result */
2835 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2836 }
2837 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
2838 /* Register variable[14]: Once String constant */
2839 if (once_value_142 != NIT_NULL) variable[14] = once_value_142;
2840 else {
2841 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
2842 once_value_142 = variable[14];
2843 }
2844 /* Register variable[14]: Result */
2845 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
2846 continue_122: while(0);
2847 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
2848 }
2849 break_122: while(0);
2850 variable[4] = variable[10] /*e*/;
2851 goto return_label116;
2852 return_label116: while(false);
2853 tracehead = trace.prev;
2854 return variable[4];
2855 }
2856 val_t compiling_methods___MMMethod___compile_constructor_call(val_t self, val_t param0, val_t param1, val_t param2) {
2857 struct trace_t trace = {NULL, NULL, 435, LOCATE_compiling_methods___MMMethod___compile_constructor_call};
2858 static val_t once_value_144 = NIT_NULL; /* Once value for string variable[6]*/
2859 static val_t once_value_145 = NIT_NULL; /* Once value for string variable[6]*/
2860 static val_t once_value_146 = NIT_NULL; /* Once value for string variable[6]*/
2861 static val_t once_value_147 = NIT_NULL; /* Once value for string variable[6]*/
2862 static val_t once_value_148 = NIT_NULL; /* Once value for string variable[6]*/
2863 static val_t once_value_149 = NIT_NULL; /* Once value for string variable[6]*/
2864 val_t variable[7];
2865 struct WBT_ **closurevariable = NULL;
2866 trace.prev = tracehead; tracehead = &trace;
2867 trace.file = LOCATE_compiling_methods;
2868 /* Register variable[0]: Local variable */
2869 variable[0] = self;
2870 /* Register variable[1]: Local variable */
2871 variable[1] = param0;
2872 /* Register variable[2]: Local variable */
2873 variable[2] = param1;
2874 /* Register variable[3]: Local variable */
2875 variable[3] = param2;
2876 /* Register variable[4]: Method return value and escape marker */
2877 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2878 /* Register variable[6]: Once String constant */
2879 if (once_value_144 != NIT_NULL) variable[6] = once_value_144;
2880 else {
2881 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("NEW_"), TAG_Int(4)) /*new String*/;
2882 once_value_144 = variable[6];
2883 }
2884 /* Register variable[6]: Result */
2885 /* Ensure var variable[6]: super-string element*/
2886 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2887 /* Register variable[6]: Result */
2888 variable[6] = CALL_static_type___MMType___local_class( variable[2] /*recvtype*/)( variable[2] /*recvtype*/) /*MMType::local_class*/;
2889 /* Ensure var variable[6]: super-string element*/
2890 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
2891 /* Register variable[6]: Once String constant */
2892 if (once_value_145 != NIT_NULL) variable[6] = once_value_145;
2893 else {
2894 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
2895 once_value_145 = variable[6];
2896 }
2897 /* Register variable[6]: Result */
2898 /* Ensure var variable[6]: super-string element*/
2899 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2900 /* Register variable[6]: Result */
2901 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
2902 /* Register variable[6]: Result */
2903 variable[6] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[6])(variable[6]) /*MMGlobalProperty::intro*/;
2904 /* Register variable[6]: Result */
2905 variable[6] = CALL_compiling_base___MMLocalProperty___cname(variable[6])(variable[6]) /*MMLocalProperty::cname*/;
2906 /* Ensure var variable[6]: super-string element*/
2907 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2908 /* Register variable[6]: Once String constant */
2909 if (once_value_146 != NIT_NULL) variable[6] = once_value_146;
2910 else {
2911 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
2912 once_value_146 = variable[6];
2913 }
2914 /* Register variable[6]: Result */
2915 /* Ensure var variable[6]: super-string element*/
2916 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2917 /* Register variable[6]: Once String constant */
2918 if (once_value_147 != NIT_NULL) variable[6] = once_value_147;
2919 else {
2920 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
2921 once_value_147 = variable[6];
2922 }
2923 /* Register variable[6]: Result */
2924 /* Register variable[6]: Result */
2925 variable[6] = CALL_string___Collection___join( variable[3] /*cargs*/)( variable[3] /*cargs*/, variable[6]) /*Collection::join*/;
2926 /* Ensure var variable[6]: super-string element*/
2927 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2928 /* Register variable[6]: Once String constant */
2929 if (once_value_148 != NIT_NULL) variable[6] = once_value_148;
2930 else {
2931 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(") /*new "), TAG_Int(8)) /*new String*/;
2932 once_value_148 = variable[6];
2933 }
2934 /* Register variable[6]: Result */
2935 /* Ensure var variable[6]: super-string element*/
2936 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2937 variable[6] = variable[2] /*recvtype*/ /* Ensure var: super-string element*/;
2938 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
2939 /* Register variable[6]: Once String constant */
2940 if (once_value_149 != NIT_NULL) variable[6] = once_value_149;
2941 else {
2942 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
2943 once_value_149 = variable[6];
2944 }
2945 /* Register variable[6]: Result */
2946 /* Ensure var variable[6]: super-string element*/
2947 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2948 /* Register variable[5]: Result */
2949 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
2950 variable[4] = variable[5];
2951 goto return_label143;
2952 return_label143: while(false);
2953 tracehead = trace.prev;
2954 return variable[4];
2955 }
2956 val_t compiling_methods___MMMethod___compile_super_call(val_t self, val_t param0, val_t param1) {
2957 struct trace_t trace = {NULL, NULL, 441, LOCATE_compiling_methods___MMMethod___compile_super_call};
2958 static val_t once_value_151 = NIT_NULL; /* Once value for string variable[6]*/
2959 static val_t once_value_152 = NIT_NULL; /* Once value for string variable[6]*/
2960 static val_t once_value_154 = NIT_NULL; /* Once value for string variable[6]*/
2961 static val_t once_value_155 = NIT_NULL; /* Once value for string variable[7]*/
2962 static val_t once_value_156 = NIT_NULL; /* Once value for string variable[7]*/
2963 static val_t once_value_157 = NIT_NULL; /* Once value for string variable[7]*/
2964 static val_t once_value_158 = NIT_NULL; /* Once value for string variable[7]*/
2965 static val_t once_value_159 = NIT_NULL; /* Once value for string variable[7]*/
2966 static val_t once_value_160 = NIT_NULL; /* Once value for string variable[7]*/
2967 val_t variable[10];
2968 struct WBT_ **closurevariable = NULL;
2969 trace.prev = tracehead; tracehead = &trace;
2970 trace.file = LOCATE_compiling_methods;
2971 /* Register variable[0]: Local variable */
2972 variable[0] = self;
2973 /* Register variable[1]: Local variable */
2974 variable[1] = param0;
2975 /* Register variable[2]: Local variable */
2976 variable[2] = param1;
2977 /* Register variable[3]: Method return value and escape marker */
2978 /* Register variable[4]: Local variable */
2979 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
2980 /* Register variable[6]: Once String constant */
2981 if (once_value_151 != NIT_NULL) variable[6] = once_value_151;
2982 else {
2983 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
2984 once_value_151 = variable[6];
2985 }
2986 /* Register variable[6]: Result */
2987 /* Ensure var variable[6]: super-string element*/
2988 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2989 /* Register variable[6]: Result */
2990 variable[6] = CALL_compiling_base___MMLocalProperty___super_meth_call(variable[0])(variable[0]) /*MMLocalProperty::super_meth_call*/;
2991 /* Ensure var variable[6]: super-string element*/
2992 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
2993 /* Register variable[6]: Once String constant */
2994 if (once_value_152 != NIT_NULL) variable[6] = once_value_152;
2995 else {
2996 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
2997 once_value_152 = variable[6];
2998 }
2999 /* Register variable[6]: Result */
3000 /* Ensure var variable[6]: super-string element*/
3001 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3002 /* Register variable[6]: Local variable */
3003 variable[6] = variable[2] /*cargs*/;
3004 /* Register variable[7]: Local variable */
3005 variable[7] = TAG_Int(0);
3006 /* Register variable[8]: Method return value and escape marker */
3007 /* Register variable[9]: Result */
3008 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
3009 /* Ensure var variable[9]: Left 'and' operand*/
3010 if (UNTAG_Bool(variable[9])) { /* and */
3011 /* Register variable[9]: Result */
3012 variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
3013 /* Register variable[9]: Result */
3014 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
3015 }
3016 /* Register variable[9]: Result */
3017 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
3018 /* Register variable[9]: Result */
3019 variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
3020 /* Register variable[9]: Result */
3021 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
3022 variable[8] = variable[9];
3023 goto return_label153;
3024 return_label153: while(false);
3025 /* Register variable[6]: Result */
3026 variable[6] = variable[8];
3027 /* Ensure var variable[6]: super-string element*/
3028 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3029 /* Register variable[6]: Once String constant */
3030 if (once_value_154 != NIT_NULL) variable[6] = once_value_154;
3031 else {
3032 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
3033 once_value_154 = variable[6];
3034 }
3035 /* Register variable[6]: Result */
3036 /* Ensure var variable[6]: super-string element*/
3037 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3038 /* Register variable[5]: Result */
3039 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
3040 variable[4] = variable[5];
3041 /* Register variable[5]: Local variable */
3042 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3043 /* Register variable[7]: Once String constant */
3044 if (once_value_155 != NIT_NULL) variable[7] = once_value_155;
3045 else {
3046 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3047 once_value_155 = variable[7];
3048 }
3049 /* Register variable[7]: Result */
3050 /* Ensure var variable[7]: super-string element*/
3051 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3052 variable[7] = variable[4] /*m*/ /* Ensure var: super-string element*/;
3053 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3054 /* Register variable[7]: Once String constant */
3055 if (once_value_156 != NIT_NULL) variable[7] = once_value_156;
3056 else {
3057 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
3058 once_value_156 = variable[7];
3059 }
3060 /* Register variable[7]: Result */
3061 /* Ensure var variable[7]: super-string element*/
3062 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3063 /* Register variable[7]: Once String constant */
3064 if (once_value_157 != NIT_NULL) variable[7] = once_value_157;
3065 else {
3066 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
3067 once_value_157 = variable[7];
3068 }
3069 /* Register variable[7]: Result */
3070 /* Register variable[7]: Result */
3071 variable[7] = CALL_string___Collection___join( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*Collection::join*/;
3072 /* Ensure var variable[7]: super-string element*/
3073 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3074 /* Register variable[7]: Once String constant */
3075 if (once_value_158 != NIT_NULL) variable[7] = once_value_158;
3076 else {
3077 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*super "), TAG_Int(10)) /*new String*/;
3078 once_value_158 = variable[7];
3079 }
3080 /* Register variable[7]: Result */
3081 /* Ensure var variable[7]: super-string element*/
3082 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3083 /* Register variable[7]: Result */
3084 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
3085 /* Ensure var variable[7]: super-string element*/
3086 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3087 /* Register variable[7]: Once String constant */
3088 if (once_value_159 != NIT_NULL) variable[7] = once_value_159;
3089 else {
3090 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3091 once_value_159 = variable[7];
3092 }
3093 /* Register variable[7]: Result */
3094 /* Ensure var variable[7]: super-string element*/
3095 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3096 /* Register variable[7]: Result */
3097 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3098 /* Ensure var variable[7]: super-string element*/
3099 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3100 /* Register variable[7]: Once String constant */
3101 if (once_value_160 != NIT_NULL) variable[7] = once_value_160;
3102 else {
3103 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
3104 once_value_160 = variable[7];
3105 }
3106 /* Register variable[7]: Result */
3107 /* Ensure var variable[7]: super-string element*/
3108 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3109 /* Register variable[6]: Result */
3110 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
3111 variable[5] = variable[6];
3112 variable[3] = variable[5] /*vcall*/;
3113 goto return_label150;
3114 return_label150: while(false);
3115 tracehead = trace.prev;
3116 return variable[3];
3117 }
3118 val_t compiling_methods___MMMethod___closure_cname(val_t self, val_t param0) {
3119 struct trace_t trace = {NULL, NULL, 449, LOCATE_compiling_methods___MMMethod___closure_cname};
3120 static val_t once_value_162 = NIT_NULL; /* Once value for string variable[4]*/
3121 static val_t once_value_163 = NIT_NULL; /* Once value for string variable[4]*/
3122 static val_t once_value_164 = NIT_NULL; /* Once value for string variable[4]*/
3123 val_t variable[5];
3124 struct WBT_ **closurevariable = NULL;
3125 trace.prev = tracehead; tracehead = &trace;
3126 trace.file = LOCATE_compiling_methods;
3127 /* Register variable[0]: Local variable */
3128 variable[0] = self;
3129 /* Register variable[1]: Local variable */
3130 variable[1] = param0;
3131 /* Register variable[2]: Method return value and escape marker */
3132 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3133 /* Register variable[4]: Once String constant */
3134 if (once_value_162 != NIT_NULL) variable[4] = once_value_162;
3135 else {
3136 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("FWBT_"), TAG_Int(5)) /*new String*/;
3137 once_value_162 = variable[4];
3138 }
3139 /* Register variable[4]: Result */
3140 /* Ensure var variable[4]: super-string element*/
3141 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
3142 /* Register variable[4]: Result */
3143 variable[4] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
3144 /* Ensure var variable[4]: super-string element*/
3145 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
3146 /* Register variable[4]: Once String constant */
3147 if (once_value_163 != NIT_NULL) variable[4] = once_value_163;
3148 else {
3149 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
3150 once_value_163 = variable[4];
3151 }
3152 /* Register variable[4]: Result */
3153 /* Ensure var variable[4]: super-string element*/
3154 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
3155 variable[4] = variable[1] /*i*/ /* Ensure var: super-string element*/;
3156 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
3157 /* Register variable[4]: Once String constant */
3158 if (once_value_164 != NIT_NULL) variable[4] = once_value_164;
3159 else {
3160 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3161 once_value_164 = variable[4];
3162 }
3163 /* Register variable[4]: Result */
3164 /* Ensure var variable[4]: super-string element*/
3165 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
3166 /* Register variable[3]: Result */
3167 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
3168 variable[2] = variable[3];
3169 goto return_label161;
3170 return_label161: while(false);
3171 tracehead = trace.prev;
3172 return variable[2];
3173 }
3174 val_t compiling_methods___MMAttribute___compile_isset(val_t self, val_t param0, val_t param1, val_t param2) {
3175 struct trace_t trace = {NULL, NULL, 457, LOCATE_compiling_methods___MMAttribute___compile_isset};
3176 static val_t once_value_166 = NIT_NULL; /* Once value for string variable[6]*/
3177 static val_t once_value_167 = NIT_NULL; /* Once value for string variable[6]*/
3178 static val_t once_value_168 = NIT_NULL; /* Once value for string variable[6]*/
3179 static val_t once_value_169 = NIT_NULL; /* Once value for string variable[6]*/
3180 static val_t once_value_170 = NIT_NULL; /* Once value for string variable[6]*/
3181 val_t variable[7];
3182 struct WBT_ **closurevariable = NULL;
3183 trace.prev = tracehead; tracehead = &trace;
3184 trace.file = LOCATE_compiling_methods;
3185 /* Register variable[0]: Local variable */
3186 variable[0] = self;
3187 /* Register variable[1]: Local variable */
3188 variable[1] = param0;
3189 /* Register variable[2]: Local variable */
3190 variable[2] = param1;
3191 /* Register variable[3]: Local variable */
3192 variable[3] = param2;
3193 /* Register variable[4]: Method return value and escape marker */
3194 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3195 /* Register variable[6]: Once String constant */
3196 if (once_value_166 != NIT_NULL) variable[6] = once_value_166;
3197 else {
3198 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool("), TAG_Int(9)) /*new String*/;
3199 once_value_166 = variable[6];
3200 }
3201 /* Register variable[6]: Result */
3202 /* Ensure var variable[6]: super-string element*/
3203 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3204 /* Register variable[6]: Result */
3205 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
3206 /* Register variable[6]: Result */
3207 variable[6] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[6])(variable[6]) /*MMGlobalProperty::attr_access*/;
3208 /* Ensure var variable[6]: super-string element*/
3209 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3210 /* Register variable[6]: Once String constant */
3211 if (once_value_167 != NIT_NULL) variable[6] = once_value_167;
3212 else {
3213 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
3214 once_value_167 = variable[6];
3215 }
3216 /* Register variable[6]: Result */
3217 /* Ensure var variable[6]: super-string element*/
3218 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3219 variable[6] = variable[3] /*recv*/ /* Ensure var: super-string element*/;
3220 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3221 /* Register variable[6]: Once String constant */
3222 if (once_value_168 != NIT_NULL) variable[6] = once_value_168;
3223 else {
3224 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")!=NIT_NULL) /* isset "), TAG_Int(22)) /*new String*/;
3225 once_value_168 = variable[6];
3226 }
3227 /* Register variable[6]: Result */
3228 /* Ensure var variable[6]: super-string element*/
3229 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3230 /* Register variable[6]: Result */
3231 variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
3232 /* Ensure var variable[6]: super-string element*/
3233 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
3234 /* Register variable[6]: Once String constant */
3235 if (once_value_169 != NIT_NULL) variable[6] = once_value_169;
3236 else {
3237 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3238 once_value_169 = variable[6];
3239 }
3240 /* Register variable[6]: Result */
3241 /* Ensure var variable[6]: super-string element*/
3242 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3243 /* Register variable[6]: Result */
3244 variable[6] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3245 /* Ensure var variable[6]: super-string element*/
3246 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
3247 /* Register variable[6]: Once String constant */
3248 if (once_value_170 != NIT_NULL) variable[6] = once_value_170;
3249 else {
3250 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
3251 once_value_170 = variable[6];
3252 }
3253 /* Register variable[6]: Result */
3254 /* Ensure var variable[6]: super-string element*/
3255 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3256 /* Register variable[5]: Result */
3257 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
3258 variable[4] = variable[5];
3259 goto return_label165;
3260 return_label165: while(false);
3261 tracehead = trace.prev;
3262 return variable[4];
3263 }
3264 val_t compiling_methods___MMAttribute___compile_read_access(val_t self, val_t param0, val_t param1, val_t param2) {
3265 struct trace_t trace = {NULL, NULL, 463, LOCATE_compiling_methods___MMAttribute___compile_read_access};
3266 static val_t once_value_172 = NIT_NULL; /* Once value for string variable[7]*/
3267 static val_t once_value_173 = NIT_NULL; /* Once value for string variable[7]*/
3268 static val_t once_value_174 = NIT_NULL; /* Once value for string variable[7]*/
3269 static val_t once_value_175 = NIT_NULL; /* Once value for string variable[7]*/
3270 static val_t once_value_176 = NIT_NULL; /* Once value for string variable[7]*/
3271 static val_t once_value_177 = NIT_NULL; /* Once value for string variable[7]*/
3272 static val_t once_value_178 = NIT_NULL; /* Once value for string variable[7]*/
3273 static val_t once_value_179 = NIT_NULL; /* Once value for string variable[7]*/
3274 static val_t once_value_180 = NIT_NULL; /* Once value for string variable[7]*/
3275 static val_t once_value_181 = NIT_NULL; /* Once value for string variable[7]*/
3276 static val_t once_value_182 = NIT_NULL; /* Once value for string variable[7]*/
3277 static val_t once_value_183 = NIT_NULL; /* Once value for string variable[7]*/
3278 val_t variable[8];
3279 struct WBT_ **closurevariable = NULL;
3280 trace.prev = tracehead; tracehead = &trace;
3281 trace.file = LOCATE_compiling_methods;
3282 /* Register variable[0]: Local variable */
3283 variable[0] = self;
3284 /* Register variable[1]: Local variable */
3285 variable[1] = param0;
3286 /* Register variable[2]: Local variable */
3287 variable[2] = param1;
3288 /* Register variable[3]: Local variable */
3289 variable[3] = param2;
3290 /* Register variable[4]: Method return value and escape marker */
3291 /* Register variable[5]: Local variable */
3292 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3293 /* Register variable[7]: Once String constant */
3294 if (once_value_172 != NIT_NULL) variable[7] = once_value_172;
3295 else {
3296 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3297 once_value_172 = variable[7];
3298 }
3299 /* Register variable[7]: Result */
3300 /* Ensure var variable[7]: super-string element*/
3301 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3302 /* Register variable[7]: Result */
3303 variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
3304 /* Register variable[7]: Result */
3305 variable[7] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[7])(variable[7]) /*MMGlobalProperty::attr_access*/;
3306 /* Ensure var variable[7]: super-string element*/
3307 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3308 /* Register variable[7]: Once String constant */
3309 if (once_value_173 != NIT_NULL) variable[7] = once_value_173;
3310 else {
3311 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
3312 once_value_173 = variable[7];
3313 }
3314 /* Register variable[7]: Result */
3315 /* Ensure var variable[7]: super-string element*/
3316 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3317 variable[7] = variable[3] /*recv*/ /* Ensure var: super-string element*/;
3318 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3319 /* Register variable[7]: Once String constant */
3320 if (once_value_174 != NIT_NULL) variable[7] = once_value_174;
3321 else {
3322 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
3323 once_value_174 = variable[7];
3324 }
3325 /* Register variable[7]: Result */
3326 /* Ensure var variable[7]: super-string element*/
3327 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3328 /* Register variable[7]: Result */
3329 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
3330 /* Ensure var variable[7]: super-string element*/
3331 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3332 /* Register variable[7]: Once String constant */
3333 if (once_value_175 != NIT_NULL) variable[7] = once_value_175;
3334 else {
3335 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3336 once_value_175 = variable[7];
3337 }
3338 /* Register variable[7]: Result */
3339 /* Ensure var variable[7]: super-string element*/
3340 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3341 /* Register variable[7]: Result */
3342 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3343 /* Ensure var variable[7]: super-string element*/
3344 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3345 /* Register variable[7]: Once String constant */
3346 if (once_value_176 != NIT_NULL) variable[7] = once_value_176;
3347 else {
3348 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
3349 once_value_176 = variable[7];
3350 }
3351 /* Register variable[7]: Result */
3352 /* Ensure var variable[7]: super-string element*/
3353 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3354 /* Register variable[6]: Result */
3355 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
3356 variable[5] = variable[6];
3357 /* Register variable[6]: Result */
3358 variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
3359 /* Register variable[6]: Result */
3360 variable[6] = CALL_static_type___MMSignature___return_type(variable[6])(variable[6]) /*MMSignature::return_type*/;
3361 /* Register variable[6]: Result */
3362 variable[6] = CALL_static_type___MMType___is_nullable(variable[6])(variable[6]) /*MMType::is_nullable*/;
3363 variable[6] = TAG_Bool(!UNTAG_Bool(variable[6])) /* Ensure var: Left 'and' operand*/;
3364 if (UNTAG_Bool(variable[6])) { /* and */
3365 /* Register variable[6]: Result */
3366 variable[6] = CALL_compiling_base___CompilerVisitor___tc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::tc*/;
3367 /* Register variable[6]: Result */
3368 variable[6] = CALL_mmloader___ToolContext___opt_warn(variable[6])(variable[6]) /*ToolContext::opt_warn*/;
3369 /* Register variable[6]: Result */
3370 variable[6] = CALL_opts___Option___value(variable[6])(variable[6]) /*Option::value*/;
3371 /* Register variable[6]: Result */
3372 variable[6] = TAG_Bool(UNTAG_Int(variable[6])>UNTAG_Int( TAG_Int(0)));
3373 }
3374 /* Register variable[6]: Result */
3375 if (UNTAG_Bool(variable[6])) { /*if*/
3376 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3377 /* Register variable[7]: Once String constant */
3378 if (once_value_177 != NIT_NULL) variable[7] = once_value_177;
3379 else {
3380 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3381 once_value_177 = variable[7];
3382 }
3383 /* Register variable[7]: Result */
3384 /* Ensure var variable[7]: super-string element*/
3385 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3386 /* Register variable[7]: Result */
3387 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
3388 /* Ensure var variable[7]: super-string element*/
3389 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3390 /* Register variable[7]: Once String constant */
3391 if (once_value_178 != NIT_NULL) variable[7] = once_value_178;
3392 else {
3393 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3394 once_value_178 = variable[7];
3395 }
3396 /* Register variable[7]: Result */
3397 /* Ensure var variable[7]: super-string element*/
3398 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3399 /* Register variable[7]: Result */
3400 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3401 /* Ensure var variable[7]: super-string element*/
3402 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3403 /* Register variable[7]: Once String constant */
3404 if (once_value_179 != NIT_NULL) variable[7] = once_value_179;
3405 else {
3406 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3407 once_value_179 = variable[7];
3408 }
3409 /* Register variable[7]: Result */
3410 /* Ensure var variable[7]: super-string element*/
3411 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3412 /* Register variable[6]: Result */
3413 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
3414 /* Register variable[6]: Result */
3415 variable[6] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*res*/, variable[6]) /*CompilerVisitor::ensure_var*/;
3416 variable[5] = variable[6] /*res=*/;
3417 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3418 /* Register variable[7]: Once String constant */
3419 if (once_value_180 != NIT_NULL) variable[7] = once_value_180;
3420 else {
3421 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
3422 once_value_180 = variable[7];
3423 }
3424 /* Register variable[7]: Result */
3425 /* Ensure var variable[7]: super-string element*/
3426 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3427 variable[7] = variable[5] /*res*/ /* Ensure var: super-string element*/;
3428 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3429 /* Register variable[7]: Once String constant */
3430 if (once_value_181 != NIT_NULL) variable[7] = once_value_181;
3431 else {
3432 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" == NIT_NULL) { fprintf(stderr, \"Uninitialized attribute %s\", \""), TAG_Int(63)) /*new String*/;
3433 once_value_181 = variable[7];
3434 }
3435 /* Register variable[7]: Result */
3436 /* Ensure var variable[7]: super-string element*/
3437 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3438 /* Register variable[7]: Result */
3439 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3440 /* Ensure var variable[7]: super-string element*/
3441 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3442 /* Register variable[7]: Once String constant */
3443 if (once_value_182 != NIT_NULL) variable[7] = once_value_182;
3444 else {
3445 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)) /*new String*/;
3446 once_value_182 = variable[7];
3447 }
3448 /* Register variable[7]: Result */
3449 /* Ensure var variable[7]: super-string element*/
3450 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3451 /* Register variable[7]: Result */
3452 variable[7] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[2] /*n*/) /*CompilerVisitor::printf_locate_error*/;
3453 /* Ensure var variable[7]: super-string element*/
3454 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3455 /* Register variable[7]: Once String constant */
3456 if (once_value_183 != NIT_NULL) variable[7] = once_value_183;
3457 else {
3458 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" } /* implicit isset */;"), TAG_Int(24)) /*new String*/;
3459 once_value_183 = variable[7];
3460 }
3461 /* Register variable[7]: Result */
3462 /* Ensure var variable[7]: super-string element*/
3463 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3464 /* Register variable[6]: Result */
3465 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
3466 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
3467 }
3468 variable[4] = variable[5] /*res*/;
3469 goto return_label171;
3470 return_label171: while(false);
3471 tracehead = trace.prev;
3472 return variable[4];
3473 }
3474 void compiling_methods___MMAttribute___compile_write_access(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
3475 struct trace_t trace = {NULL, NULL, 474, LOCATE_compiling_methods___MMAttribute___compile_write_access};
3476 static val_t once_value_185 = NIT_NULL; /* Once value for string variable[7]*/
3477 static val_t once_value_186 = NIT_NULL; /* Once value for string variable[7]*/
3478 static val_t once_value_187 = NIT_NULL; /* Once value for string variable[7]*/
3479 static val_t once_value_188 = NIT_NULL; /* Once value for string variable[7]*/
3480 static val_t once_value_189 = NIT_NULL; /* Once value for string variable[7]*/
3481 static val_t once_value_190 = NIT_NULL; /* Once value for string variable[7]*/
3482 val_t variable[8];
3483 struct WBT_ **closurevariable = NULL;
3484 trace.prev = tracehead; tracehead = &trace;
3485 trace.file = LOCATE_compiling_methods;
3486 /* Register variable[0]: Local variable */
3487 variable[0] = self;
3488 /* Register variable[1]: Local variable */
3489 variable[1] = param0;
3490 /* Register variable[2]: Local variable */
3491 variable[2] = param1;
3492 /* Register variable[3]: Local variable */
3493 variable[3] = param2;
3494 /* Register variable[4]: Local variable */
3495 variable[4] = param3;
3496 /* Register variable[5]: Method return value and escape marker */
3497 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3498 /* Register variable[7]: Once String constant */
3499 if (once_value_185 != NIT_NULL) variable[7] = once_value_185;
3500 else {
3501 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3502 once_value_185 = variable[7];
3503 }
3504 /* Register variable[7]: Result */
3505 /* Ensure var variable[7]: super-string element*/
3506 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3507 /* Register variable[7]: Result */
3508 variable[7] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
3509 /* Register variable[7]: Result */
3510 variable[7] = CALL_compiling_base___MMGlobalProperty___attr_access(variable[7])(variable[7]) /*MMGlobalProperty::attr_access*/;
3511 /* Ensure var variable[7]: super-string element*/
3512 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3513 /* Register variable[7]: Once String constant */
3514 if (once_value_186 != NIT_NULL) variable[7] = once_value_186;
3515 else {
3516 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
3517 once_value_186 = variable[7];
3518 }
3519 /* Register variable[7]: Result */
3520 /* Ensure var variable[7]: super-string element*/
3521 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3522 variable[7] = variable[3] /*recv*/ /* Ensure var: super-string element*/;
3523 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3524 /* Register variable[7]: Once String constant */
3525 if (once_value_187 != NIT_NULL) variable[7] = once_value_187;
3526 else {
3527 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(") /*"), TAG_Int(4)) /*new String*/;
3528 once_value_187 = variable[7];
3529 }
3530 /* Register variable[7]: Result */
3531 /* Ensure var variable[7]: super-string element*/
3532 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3533 /* Register variable[7]: Result */
3534 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class(variable[0])(variable[0]) /*MMLocalProperty::local_class*/;
3535 /* Ensure var variable[7]: super-string element*/
3536 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3537 /* Register variable[7]: Once String constant */
3538 if (once_value_188 != NIT_NULL) variable[7] = once_value_188;
3539 else {
3540 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("::"), TAG_Int(2)) /*new String*/;
3541 once_value_188 = variable[7];
3542 }
3543 /* Register variable[7]: Result */
3544 /* Ensure var variable[7]: super-string element*/
3545 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3546 /* Register variable[7]: Result */
3547 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name(variable[0])(variable[0]) /*MMLocalProperty::name*/;
3548 /* Ensure var variable[7]: super-string element*/
3549 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
3550 /* Register variable[7]: Once String constant */
3551 if (once_value_189 != NIT_NULL) variable[7] = once_value_189;
3552 else {
3553 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("*/ = "), TAG_Int(5)) /*new String*/;
3554 once_value_189 = variable[7];
3555 }
3556 /* Register variable[7]: Result */
3557 /* Ensure var variable[7]: super-string element*/
3558 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3559 variable[7] = variable[4] /*value*/ /* Ensure var: super-string element*/;
3560 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3561 /* Register variable[7]: Once String constant */
3562 if (once_value_190 != NIT_NULL) variable[7] = once_value_190;
3563 else {
3564 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
3565 once_value_190 = variable[7];
3566 }
3567 /* Register variable[7]: Result */
3568 /* Ensure var variable[7]: super-string element*/
3569 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
3570 /* Register variable[6]: Result */
3571 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
3572 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
3573 return_label184: while(false);
3574 tracehead = trace.prev;
3575 return;
3576 }
3577 void compiling_methods___MMLocalProperty___compile_property_to_c(val_t self, val_t param0) {
3578 struct trace_t trace = {NULL, NULL, 482, LOCATE_compiling_methods___MMLocalProperty___compile_property_to_c};
3579 val_t variable[3];
3580 struct WBT_ **closurevariable = NULL;
3581 trace.prev = tracehead; tracehead = &trace;
3582 trace.file = LOCATE_compiling_methods;
3583 /* Register variable[0]: Local variable */
3584 variable[0] = self;
3585 /* Register variable[1]: Local variable */
3586 variable[1] = param0;
3587 /* Register variable[2]: Method return value and escape marker */
3588 return_label191: while(false);
3589 tracehead = trace.prev;
3590 return;
3591 }
3592 void compiling_methods___MMSrcMethod___compile_property_to_c(val_t self, val_t param0) {
3593 struct trace_t trace = {NULL, NULL, 532, LOCATE_compiling_methods___MMSrcMethod___compile_property_to_c};
3594 static val_t once_value_193 = NIT_NULL; /* Once value for string variable[4]*/
3595 static val_t once_value_195 = NIT_NULL; /* Once value for string variable[8]*/
3596 static val_t once_value_196 = NIT_NULL; /* Once value for string variable[8]*/
3597 static val_t once_value_198 = NIT_NULL; /* Once value for string variable[8]*/
3598 static val_t once_value_199 = NIT_NULL; /* Once value for string variable[8]*/
3599 static val_t once_value_200 = NIT_NULL; /* Once value for string variable[6]*/
3600 static val_t once_value_201 = NIT_NULL; /* Once value for string variable[6]*/
3601 static val_t once_value_202 = NIT_NULL; /* Once value for string variable[6]*/
3602 static val_t once_value_203 = NIT_NULL; /* Once value for string variable[6]*/
3603 static val_t once_value_204 = NIT_NULL; /* Once value for string variable[6]*/
3604 static val_t once_value_205 = NIT_NULL; /* Once value for string variable[9]*/
3605 static val_t once_value_206 = NIT_NULL; /* Once value for string variable[9]*/
3606 static val_t once_value_207 = NIT_NULL; /* Once value for string variable[9]*/
3607 static val_t once_value_208 = NIT_NULL; /* Once value for string variable[8]*/
3608 static val_t once_value_209 = NIT_NULL; /* Once value for string variable[9]*/
3609 static val_t once_value_210 = NIT_NULL; /* Once value for string variable[9]*/
3610 static val_t once_value_211 = NIT_NULL; /* Once value for string variable[9]*/
3611 static val_t once_value_212 = NIT_NULL; /* Once value for string variable[9]*/
3612 static val_t once_value_213 = NIT_NULL; /* Once value for string variable[10]*/
3613 static val_t once_value_214 = NIT_NULL; /* Once value for string variable[10]*/
3614 static val_t once_value_215 = NIT_NULL; /* Once value for string variable[9]*/
3615 val_t variable[13];
3616 struct WBT_ **closurevariable = NULL;
3617 trace.prev = tracehead; tracehead = &trace;
3618 trace.file = LOCATE_compiling_methods;
3619 /* Register variable[0]: Local variable */
3620 variable[0] = self;
3621 /* Register variable[1]: Local variable */
3622 variable[1] = param0;
3623 /* Register variable[2]: Method return value and escape marker */
3624 /* Register variable[3]: Result */
3625 variable[3] = NEW_CFunctionContext_compiling_methods___CFunctionContext___init( variable[1] /*v*/) /*new CFunctionContext*/;
3626 CALL_compiling_methods___CompilerVisitor___cfc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::cfc=*/;
3627 /* Register variable[3]: Local variable */
3628 /* Register variable[4]: Result */
3629 variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
3630 variable[3] = variable[4];
3631 /* Register variable[4]: Once String constant */
3632 if (once_value_193 != NIT_NULL) variable[4] = once_value_193;
3633 else {
3634 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" self"), TAG_Int(5)) /*new String*/;
3635 once_value_193 = variable[4];
3636 }
3637 /* Register variable[4]: Result */
3638 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[4]) /*AbstractArray::add*/;
3639 /* Register variable[4]: Result */
3640 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
3641 /* Register variable[4]: Result */
3642 variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
3643 /* Register variable[4]: Result */
3644 variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
3645 /* Register variable[4]: For iterator */
3646 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
3647 while (true) { /*for*/
3648 /* Register variable[5]: For 'is_ok' result */
3649 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
3650 if (!UNTAG_Bool(variable[5])) break; /*for*/
3651 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
3652 /* Register variable[6]: Local variable */
3653 variable[6] = variable[5];
3654 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3655 /* Register variable[8]: Once String constant */
3656 if (once_value_195 != NIT_NULL) variable[8] = once_value_195;
3657 else {
3658 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)) /*new String*/;
3659 once_value_195 = variable[8];
3660 }
3661 /* Register variable[8]: Result */
3662 /* Ensure var variable[8]: super-string element*/
3663 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
3664 variable[8] = variable[6] /*i*/ /* Ensure var: super-string element*/;
3665 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
3666 /* Register variable[8]: Once String constant */
3667 if (once_value_196 != NIT_NULL) variable[8] = once_value_196;
3668 else {
3669 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3670 once_value_196 = variable[8];
3671 }
3672 /* Register variable[8]: Result */
3673 /* Ensure var variable[8]: super-string element*/
3674 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
3675 /* Register variable[7]: Result */
3676 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
3677 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
3678 continue_194: while(0);
3679 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
3680 }
3681 break_194: while(0);
3682 /* Register variable[4]: Result */
3683 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
3684 /* Register variable[4]: Result */
3685 variable[4] = CALL_static_type___MMSignature___closures(variable[4])(variable[4]) /*MMSignature::closures*/;
3686 /* Register variable[4]: Result */
3687 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
3688 /* Register variable[4]: Result */
3689 variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
3690 /* Register variable[4]: For iterator */
3691 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
3692 while (true) { /*for*/
3693 /* Register variable[5]: For 'is_ok' result */
3694 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
3695 if (!UNTAG_Bool(variable[5])) break; /*for*/
3696 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
3697 /* Register variable[6]: Local variable */
3698 variable[6] = variable[5];
3699 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3700 /* Register variable[8]: Once String constant */
3701 if (once_value_198 != NIT_NULL) variable[8] = once_value_198;
3702 else {
3703 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" wd"), TAG_Int(3)) /*new String*/;
3704 once_value_198 = variable[8];
3705 }
3706 /* Register variable[8]: Result */
3707 /* Ensure var variable[8]: super-string element*/
3708 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
3709 variable[8] = variable[6] /*i*/ /* Ensure var: super-string element*/;
3710 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
3711 /* Register variable[8]: Once String constant */
3712 if (once_value_199 != NIT_NULL) variable[8] = once_value_199;
3713 else {
3714 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3715 once_value_199 = variable[8];
3716 }
3717 /* Register variable[8]: Result */
3718 /* Ensure var variable[8]: super-string element*/
3719 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
3720 /* Register variable[7]: Result */
3721 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
3722 CALL_abstract_collection___SimpleCollection___add( variable[3] /*args*/)( variable[3] /*args*/, variable[7]) /*AbstractArray::add*/;
3723 continue_197: while(0);
3724 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
3725 }
3726 break_197: while(0);
3727 /* Register variable[4]: Local variable */
3728 /* Register variable[5]: Result */
3729 variable[5] = CALL_compiling_methods___MMSrcMethod___decl_csignature(variable[0])(variable[0], variable[1] /*v*/, variable[3] /*args*/) /*MMSrcMethod::decl_csignature*/;
3730 variable[4] = variable[5];
3731 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3732 /* Register variable[6]: Once String constant */
3733 if (once_value_200 != NIT_NULL) variable[6] = once_value_200;
3734 else {
3735 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("#define LOCATE_"), TAG_Int(15)) /*new String*/;
3736 once_value_200 = variable[6];
3737 }
3738 /* Register variable[6]: Result */
3739 /* Ensure var variable[6]: super-string element*/
3740 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3741 /* Register variable[6]: Result */
3742 variable[6] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
3743 /* Ensure var variable[6]: super-string element*/
3744 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3745 /* Register variable[6]: Once String constant */
3746 if (once_value_201 != NIT_NULL) variable[6] = once_value_201;
3747 else {
3748 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" \""), TAG_Int(2)) /*new String*/;
3749 once_value_201 = variable[6];
3750 }
3751 /* Register variable[6]: Result */
3752 /* Ensure var variable[6]: super-string element*/
3753 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3754 /* Register variable[6]: Result */
3755 variable[6] = CALL_abstractmetamodel___MMLocalProperty___full_name(variable[0])(variable[0]) /*MMLocalProperty::full_name*/;
3756 /* Ensure var variable[6]: super-string element*/
3757 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3758 /* Register variable[6]: Once String constant */
3759 if (once_value_202 != NIT_NULL) variable[6] = once_value_202;
3760 else {
3761 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("\""), TAG_Int(1)) /*new String*/;
3762 once_value_202 = variable[6];
3763 }
3764 /* Register variable[6]: Result */
3765 /* Ensure var variable[6]: super-string element*/
3766 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3767 /* Register variable[5]: Result */
3768 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
3769 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
3770 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3771 /* Register variable[6]: Once String constant */
3772 if (once_value_203 != NIT_NULL) variable[6] = once_value_203;
3773 else {
3774 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
3775 once_value_203 = variable[6];
3776 }
3777 /* Register variable[6]: Result */
3778 /* Ensure var variable[6]: super-string element*/
3779 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3780 variable[6] = variable[4] /*cs*/ /* Ensure var: super-string element*/;
3781 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3782 /* Register variable[6]: Once String constant */
3783 if (once_value_204 != NIT_NULL) variable[6] = once_value_204;
3784 else {
3785 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
3786 once_value_204 = variable[6];
3787 }
3788 /* Register variable[6]: Result */
3789 /* Ensure var variable[6]: super-string element*/
3790 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
3791 /* Register variable[5]: Result */
3792 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
3793 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
3794 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
3795 /* Register variable[5]: Local variable */
3796 /* Register variable[6]: Result */
3797 variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
3798 variable[5] = variable[6];
3799 /* Register variable[6]: Result */
3800 variable[6] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
3801 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::ctx=*/;
3802 /* Register variable[6]: Result */
3803 variable[6] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
3804 CALL_abstract_collection___RemovableCollection___clear(variable[6])(variable[6]) /*AbstractArray::clear*/;
3805 /* Register variable[6]: Local variable */
3806 variable[6] = TAG_Int(0);
3807 /* Register variable[7]: Local variable */
3808 variable[7] = variable[0];
3809 /* Register variable[8]: Result */
3810 variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
3811 /* Register variable[8]: Result */
3812 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::==*/)))))));
3813 if (UNTAG_Bool(variable[8])) { /*if*/
3814 /* Register variable[8]: Result */
3815 variable[8] = CALL_syntax_base___MMLocalProperty___node( variable[7] /*s*/)( variable[7] /*s*/) /*MMLocalProperty::node*/;
3816 /* Register variable[8]: Result */
3817 variable[8] = CALL_parser_prod___PNode___line_number(variable[8])(variable[8]) /*PNode::line_number*/;
3818 variable[6] = variable[8] /*ln=*/;
3819 }
3820 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3821 /* Register variable[9]: Once String constant */
3822 if (once_value_205 != NIT_NULL) variable[9] = once_value_205;
3823 else {
3824 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)) /*new String*/;
3825 once_value_205 = variable[9];
3826 }
3827 /* Register variable[9]: Result */
3828 /* Ensure var variable[9]: super-string element*/
3829 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3830 variable[9] = variable[6] /*ln*/ /* Ensure var: super-string element*/;
3831 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3832 /* Register variable[9]: Once String constant */
3833 if (once_value_206 != NIT_NULL) variable[9] = once_value_206;
3834 else {
3835 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)) /*new String*/;
3836 once_value_206 = variable[9];
3837 }
3838 /* Register variable[9]: Result */
3839 /* Ensure var variable[9]: super-string element*/
3840 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3841 /* Register variable[9]: Result */
3842 variable[9] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
3843 /* Ensure var variable[9]: super-string element*/
3844 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3845 /* Register variable[9]: Once String constant */
3846 if (once_value_207 != NIT_NULL) variable[9] = once_value_207;
3847 else {
3848 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
3849 once_value_207 = variable[9];
3850 }
3851 /* Register variable[9]: Result */
3852 /* Ensure var variable[9]: super-string element*/
3853 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3854 /* Register variable[8]: Result */
3855 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3856 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_decl*/;
3857 /* Register variable[8]: Once String constant */
3858 if (once_value_208 != NIT_NULL) variable[8] = once_value_208;
3859 else {
3860 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)) /*new String*/;
3861 once_value_208 = variable[8];
3862 }
3863 /* Register variable[8]: Result */
3864 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
3865 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3866 /* Register variable[9]: Once String constant */
3867 if (once_value_209 != NIT_NULL) variable[9] = once_value_209;
3868 else {
3869 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)) /*new String*/;
3870 once_value_209 = variable[9];
3871 }
3872 /* Register variable[9]: Result */
3873 /* Ensure var variable[9]: super-string element*/
3874 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3875 /* Register variable[9]: Result */
3876 variable[9] = CALL_abstractmetamodel___MMLocalProperty___module(variable[0])(variable[0]) /*MMLocalProperty::module*/;
3877 /* Register variable[9]: Result */
3878 variable[9] = CALL_abstractmetamodel___MMModule___name(variable[9])(variable[9]) /*MMModule::name*/;
3879 /* Ensure var variable[9]: super-string element*/
3880 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
3881 /* Register variable[9]: Once String constant */
3882 if (once_value_210 != NIT_NULL) variable[9] = once_value_210;
3883 else {
3884 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
3885 once_value_210 = variable[9];
3886 }
3887 /* Register variable[9]: Result */
3888 /* Ensure var variable[9]: super-string element*/
3889 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
3890 /* Register variable[8]: Result */
3891 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
3892 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
3893 /* Register variable[8]: Local variable */
3894 /* Register variable[9]: Result */
3895 variable[9] = CALL_compiling_methods___MMSrcMethod___do_compile_inside(variable[0])(variable[0], variable[1] /*v*/, variable[3] /*args*/) /*MMSrcMethod::do_compile_inside*/;
3896 variable[8] = variable[9];
3897 /* Register variable[9]: Once String constant */
3898 if (once_value_211 != NIT_NULL) variable[9] = once_value_211;
3899 else {
3900 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)) /*new String*/;
3901 once_value_211 = variable[9];
3902 }
3903 /* Register variable[9]: Result */
3904 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3905 /* Register variable[9]: Result */
3906 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::==*/)));
3907 if (UNTAG_Bool(variable[9])) { /*if*/
3908 /* Register variable[9]: Once String constant */
3909 if (once_value_212 != NIT_NULL) variable[9] = once_value_212;
3910 else {
3911 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)) /*new String*/;
3912 once_value_212 = variable[9];
3913 }
3914 /* Register variable[9]: Result */
3915 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3916 } else { /*if*/
3917 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
3918 /* Register variable[10]: Once String constant */
3919 if (once_value_213 != NIT_NULL) variable[10] = once_value_213;
3920 else {
3921 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)) /*new String*/;
3922 once_value_213 = variable[10];
3923 }
3924 /* Register variable[10]: Result */
3925 /* Ensure var variable[10]: super-string element*/
3926 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
3927 variable[10] = variable[8] /*s*/ /* Ensure var: super-string element*/;
3928 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
3929 /* Register variable[10]: Once String constant */
3930 if (once_value_214 != NIT_NULL) variable[10] = once_value_214;
3931 else {
3932 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
3933 once_value_214 = variable[10];
3934 }
3935 /* Register variable[10]: Result */
3936 /* Ensure var variable[10]: super-string element*/
3937 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
3938 /* Register variable[9]: Result */
3939 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
3940 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3941 }
3942 /* Register variable[9]: Result */
3943 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
3944 CALL_compiling_methods___CFunctionContext___generate_var_decls(variable[9])(variable[9]) /*CFunctionContext::generate_var_decls*/;
3945 /* Register variable[9]: Result */
3946 variable[9] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
3947 CALL_compiling_base___CContext___append( variable[5] /*ctx_old*/)( variable[5] /*ctx_old*/, variable[9]) /*CContext::append*/;
3948 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
3949 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
3950 /* Register variable[9]: Once String constant */
3951 if (once_value_215 != NIT_NULL) variable[9] = once_value_215;
3952 else {
3953 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
3954 once_value_215 = variable[9];
3955 }
3956 /* Register variable[9]: Result */
3957 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
3958 /* Register variable[9]: Result */
3959 variable[9] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
3960 /* Register variable[9]: For iterator */
3961 variable[9] = CALL_abstract_collection___Collection___iterator(variable[9])(variable[9]) /*AbstractArrayRead::iterator*/;
3962 while (true) { /*for*/
3963 /* Register variable[10]: For 'is_ok' result */
3964 variable[10] = CALL_abstract_collection___Iterator___is_ok(variable[9])(variable[9]) /*ArrayIterator::is_ok*/;
3965 if (!UNTAG_Bool(variable[10])) break; /*for*/
3966 variable[10] = CALL_abstract_collection___Iterator___item(variable[9])(variable[9]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
3967 /* Register variable[11]: Local variable */
3968 variable[11] = variable[10];
3969 /* Register variable[12]: Result */
3970 variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
3971 CALL_compiling_base___CContext___merge(variable[12])(variable[12], variable[11] /*ctx*/) /*CContext::merge*/;
3972 continue_216: while(0);
3973 CALL_abstract_collection___Iterator___next(variable[9])(variable[9]) /*ArrayIterator::next*/;
3974 }
3975 break_216: while(0);
3976 return_label192: while(false);
3977 tracehead = trace.prev;
3978 return;
3979 }
3980 val_t compiling_methods___MMSrcMethod___decl_csignature(val_t self, val_t param0, val_t param1) {
3981 struct trace_t trace = {NULL, NULL, 488, LOCATE_compiling_methods___MMSrcMethod___decl_csignature};
3982 static val_t once_value_218 = NIT_NULL; /* Once value for string variable[6]*/
3983 static val_t once_value_220 = NIT_NULL; /* Once value for string variable[6]*/
3984 static val_t once_value_222 = NIT_NULL; /* Once value for string variable[10]*/
3985 static val_t once_value_224 = NIT_NULL; /* Once value for string variable[10]*/
3986 static val_t once_value_227 = NIT_NULL; /* Once value for string variable[12]*/
3987 static val_t once_value_229 = NIT_NULL; /* Once value for string variable[16]*/
3988 static val_t once_value_230 = NIT_NULL; /* Once value for string variable[13]*/
3989 static val_t once_value_231 = NIT_NULL; /* Once value for string variable[13]*/
3990 static val_t once_value_232 = NIT_NULL; /* Once value for string variable[14]*/
3991 static val_t once_value_234 = NIT_NULL; /* Once value for string variable[14]*/
3992 static val_t once_value_235 = NIT_NULL; /* Once value for string variable[14]*/
3993 static val_t once_value_236 = NIT_NULL; /* Once value for string variable[14]*/
3994 static val_t once_value_237 = NIT_NULL; /* Once value for string variable[14]*/
3995 static val_t once_value_238 = NIT_NULL; /* Once value for string variable[14]*/
3996 static val_t once_value_239 = NIT_NULL; /* Once value for string variable[14]*/
3997 static val_t once_value_240 = NIT_NULL; /* Once value for string variable[6]*/
3998 static val_t once_value_241 = NIT_NULL; /* Once value for string variable[7]*/
3999 static val_t once_value_242 = NIT_NULL; /* Once value for string variable[7]*/
4000 static val_t once_value_243 = NIT_NULL; /* Once value for string variable[8]*/
4001 static val_t once_value_244 = NIT_NULL; /* Once value for string variable[10]*/
4002 static val_t once_value_245 = NIT_NULL; /* Once value for string variable[10]*/
4003 static val_t once_value_246 = NIT_NULL; /* Once value for string variable[10]*/
4004 static val_t once_value_247 = NIT_NULL; /* Once value for string variable[10]*/
4005 static val_t once_value_248 = NIT_NULL; /* Once value for string variable[10]*/
4006 static val_t once_value_249 = NIT_NULL; /* Once value for string variable[10]*/
4007 static val_t once_value_250 = NIT_NULL; /* Once value for string variable[10]*/
4008 static val_t once_value_251 = NIT_NULL; /* Once value for string variable[10]*/
4009 static val_t once_value_252 = NIT_NULL; /* Once value for string variable[9]*/
4010 val_t variable[19];
4011 struct WBT_ **closurevariable = NULL;
4012 trace.prev = tracehead; tracehead = &trace;
4013 trace.file = LOCATE_compiling_methods;
4014 /* Register variable[0]: Local variable */
4015 variable[0] = self;
4016 /* Register variable[1]: Local variable */
4017 variable[1] = param0;
4018 /* Register variable[2]: Local variable */
4019 variable[2] = param1;
4020 /* Register variable[3]: Method return value and escape marker */
4021 /* Register variable[4]: Local variable */
4022 /* Register variable[5]: Result */
4023 variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
4024 variable[4] = variable[5];
4025 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4026 /* Register variable[6]: Once String constant */
4027 if (once_value_218 != NIT_NULL) variable[6] = once_value_218;
4028 else {
4029 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
4030 once_value_218 = variable[6];
4031 }
4032 /* Register variable[6]: Result */
4033 /* Ensure var variable[6]: super-string element*/
4034 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
4035 /* Register variable[6]: Local variable */
4036 variable[6] = variable[2] /*args*/;
4037 /* Register variable[7]: Local variable */
4038 variable[7] = TAG_Int(0);
4039 /* Register variable[8]: Method return value and escape marker */
4040 /* Register variable[9]: Result */
4041 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4042 /* Ensure var variable[9]: Left 'and' operand*/
4043 if (UNTAG_Bool(variable[9])) { /* and */
4044 /* Register variable[9]: Result */
4045 variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
4046 /* Register variable[9]: Result */
4047 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
4048 }
4049 /* Register variable[9]: Result */
4050 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
4051 /* Register variable[9]: Result */
4052 variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
4053 /* Register variable[9]: Result */
4054 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
4055 variable[8] = variable[9];
4056 goto return_label219;
4057 return_label219: while(false);
4058 /* Register variable[6]: Result */
4059 variable[6] = variable[8];
4060 /* Ensure var variable[6]: super-string element*/
4061 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
4062 /* Register variable[6]: Once String constant */
4063 if (once_value_220 != NIT_NULL) variable[6] = once_value_220;
4064 else {
4065 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4066 once_value_220 = variable[6];
4067 }
4068 /* Register variable[6]: Result */
4069 /* Ensure var variable[6]: super-string element*/
4070 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
4071 /* Register variable[5]: Result */
4072 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
4073 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[5]) /*AbstractArray::add*/;
4074 /* Register variable[5]: Result */
4075 variable[5] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
4076 /* Register variable[5]: Result */
4077 variable[5] = CALL_static_type___MMSignature___arity(variable[5])(variable[5]) /*MMSignature::arity*/;
4078 /* Register variable[5]: Result */
4079 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]) /*new Range[Int]*/;
4080 /* Register variable[5]: For iterator */
4081 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
4082 while (true) { /*for*/
4083 /* Register variable[6]: For 'is_ok' result */
4084 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
4085 if (!UNTAG_Bool(variable[6])) break; /*for*/
4086 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
4087 /* Register variable[7]: Local variable */
4088 variable[7] = variable[6];
4089 /* Register variable[8]: Local variable */
4090 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4091 /* Register variable[10]: Once String constant */
4092 if (once_value_222 != NIT_NULL) variable[10] = once_value_222;
4093 else {
4094 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
4095 once_value_222 = variable[10];
4096 }
4097 /* Register variable[10]: Result */
4098 /* Ensure var variable[10]: super-string element*/
4099 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4100 /* Register variable[10]: Result */
4101 variable[10] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
4102 /* Register variable[11]: Local variable */
4103 variable[11] = variable[2] /*args*/;
4104 /* Register variable[12]: Local variable */
4105 variable[12] = variable[10];
4106 /* Register variable[13]: Method return value and escape marker */
4107 /* Register variable[14]: Result */
4108 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4109 /* Ensure var variable[14]: Left 'and' operand*/
4110 if (UNTAG_Bool(variable[14])) { /* and */
4111 /* Register variable[14]: Result */
4112 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
4113 /* Register variable[14]: Result */
4114 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
4115 }
4116 /* Register variable[14]: Result */
4117 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, 234); nit_exit(1);}
4118 /* Register variable[14]: Result */
4119 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
4120 /* Register variable[14]: Result */
4121 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
4122 variable[13] = variable[14];
4123 goto return_label223;
4124 return_label223: while(false);
4125 /* Register variable[10]: Result */
4126 variable[10] = variable[13];
4127 /* Ensure var variable[10]: super-string element*/
4128 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4129 /* Register variable[10]: Once String constant */
4130 if (once_value_224 != NIT_NULL) variable[10] = once_value_224;
4131 else {
4132 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4133 once_value_224 = variable[10];
4134 }
4135 /* Register variable[10]: Result */
4136 /* Ensure var variable[10]: super-string element*/
4137 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4138 /* Register variable[9]: Result */
4139 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
4140 variable[8] = variable[9];
4141 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[8] /*p*/) /*AbstractArray::add*/;
4142 continue_221: while(0);
4143 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
4144 }
4145 break_221: while(0);
4146 /* Register variable[5]: Local variable */
4147 /* Register variable[6]: Result */
4148 variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
4149 /* Register variable[6]: Result */
4150 variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
4151 /* Register variable[6]: Result */
4152 variable[6] = TAG_Int(UNTAG_Int(variable[6])+UNTAG_Int( TAG_Int(1)));
4153 variable[5] = variable[6];
4154 /* Register variable[6]: Result */
4155 variable[6] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
4156 /* Register variable[6]: Result */
4157 variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
4158 /* Register variable[6]: Result */
4159 variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/;
4160 /* Register variable[6]: Result */
4161 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]) /*new Range[Int]*/;
4162 /* Register variable[6]: For iterator */
4163 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
4164 while (true) { /*for*/
4165 /* Register variable[7]: For 'is_ok' result */
4166 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
4167 if (!UNTAG_Bool(variable[7])) break; /*for*/
4168 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
4169 /* Register variable[8]: Local variable */
4170 variable[8] = variable[7];
4171 /* Register variable[9]: Local variable */
4172 /* Register variable[10]: Result */
4173 variable[10] = CALL_compiling_methods___MMMethod___closure_cname(variable[0])(variable[0], variable[8] /*i*/) /*MMMethod::closure_cname*/;
4174 variable[9] = variable[10];
4175 /* Register variable[10]: Local variable */
4176 /* Register variable[11]: Result */
4177 variable[11] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
4178 /* Register variable[11]: Result */
4179 variable[11] = CALL_static_type___MMSignature___closures(variable[11])(variable[11]) /*MMSignature::closures*/;
4180 /* Register variable[12]: Local variable */
4181 variable[12] = variable[11];
4182 /* Register variable[13]: Local variable */
4183 variable[13] = variable[8] /*i*/;
4184 /* Register variable[14]: Method return value and escape marker */
4185 /* Register variable[15]: Result */
4186 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4187 /* Ensure var variable[15]: Left 'and' operand*/
4188 if (UNTAG_Bool(variable[15])) { /* and */
4189 /* Register variable[15]: Result */
4190 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
4191 /* Register variable[15]: Result */
4192 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
4193 }
4194 /* Register variable[15]: Result */
4195 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, 234); nit_exit(1);}
4196 /* Register variable[15]: Result */
4197 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
4198 /* Register variable[15]: Result */
4199 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
4200 variable[14] = variable[15];
4201 goto return_label226;
4202 return_label226: while(false);
4203 /* Register variable[11]: Result */
4204 variable[11] = variable[14];
4205 /* Register variable[11]: Result */
4206 variable[11] = CALL_static_type___MMClosure___signature(variable[11])(variable[11]) /*MMClosure::signature*/;
4207 variable[10] = variable[11];
4208 /* Register variable[11]: Local variable */
4209 /* Register variable[12]: Result */
4210 variable[12] = NEW_Array_array___Array___init() /*new Array[String]*/;
4211 variable[11] = variable[12];
4212 /* Register variable[12]: Once String constant */
4213 if (once_value_227 != NIT_NULL) variable[12] = once_value_227;
4214 else {
4215 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *"), TAG_Int(13)) /*new String*/;
4216 once_value_227 = variable[12];
4217 }
4218 /* Register variable[12]: Result */
4219 CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[12]) /*AbstractArray::add*/;
4220 /* Register variable[12]: Result */
4221 variable[12] = CALL_static_type___MMSignature___arity( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::arity*/;
4222 /* Register variable[12]: Result */
4223 variable[12] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[12]) /*new Range[Int]*/;
4224 /* Register variable[12]: For iterator */
4225 variable[12] = CALL_abstract_collection___Collection___iterator(variable[12])(variable[12]) /*Range::iterator*/;
4226 while (true) { /*for*/
4227 /* Register variable[13]: For 'is_ok' result */
4228 variable[13] = CALL_abstract_collection___Iterator___is_ok(variable[12])(variable[12]) /*Iterator::is_ok*/;
4229 if (!UNTAG_Bool(variable[13])) break; /*for*/
4230 variable[13] = CALL_abstract_collection___Iterator___item(variable[12])(variable[12]) /*Iterator::item*/ /* Ensure var: For item*/;
4231 /* Register variable[14]: Local variable */
4232 variable[14] = variable[13];
4233 /* Register variable[15]: Local variable */
4234 /* Register variable[16]: Once String constant */
4235 if (once_value_229 != NIT_NULL) variable[16] = once_value_229;
4236 else {
4237 variable[16] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
4238 once_value_229 = variable[16];
4239 }
4240 /* Register variable[16]: Result */
4241 variable[15] = variable[16];
4242 CALL_abstract_collection___SimpleCollection___add( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[15] /*p*/) /*AbstractArray::add*/;
4243 continue_228: while(0);
4244 CALL_abstract_collection___Iterator___next(variable[12])(variable[12]) /*Iterator::next*/;
4245 }
4246 break_228: while(0);
4247 /* Register variable[12]: Local variable */
4248 /* Register variable[13]: Once String constant */
4249 if (once_value_230 != NIT_NULL) variable[13] = once_value_230;
4250 else {
4251 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
4252 once_value_230 = variable[13];
4253 }
4254 /* Register variable[13]: Result */
4255 variable[12] = variable[13];
4256 /* Register variable[13]: Result */
4257 variable[13] = CALL_static_type___MMSignature___return_type( variable[10] /*cs*/)( variable[10] /*cs*/) /*MMSignature::return_type*/;
4258 /* Register variable[13]: Result */
4259 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::==*/)))))));
4260 if (UNTAG_Bool(variable[13])) { /*if*/
4261 /* Register variable[13]: Once String constant */
4262 if (once_value_231 != NIT_NULL) variable[13] = once_value_231;
4263 else {
4264 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
4265 once_value_231 = variable[13];
4266 }
4267 /* Register variable[13]: Result */
4268 variable[12] = variable[13] /*r=*/;
4269 }
4270 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4271 /* Register variable[14]: Once String constant */
4272 if (once_value_232 != NIT_NULL) variable[14] = once_value_232;
4273 else {
4274 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *"), TAG_Int(13)) /*new String*/;
4275 once_value_232 = variable[14];
4276 }
4277 /* Register variable[14]: Result */
4278 /* Ensure var variable[14]: super-string element*/
4279 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4280 /* Register variable[14]: Result */
4281 variable[14] = TAG_Int(UNTAG_Int( variable[5] /*first_closure_index*/)+UNTAG_Int( variable[8] /*i*/));
4282 /* Register variable[15]: Local variable */
4283 variable[15] = variable[2] /*args*/;
4284 /* Register variable[16]: Local variable */
4285 variable[16] = variable[14];
4286 /* Register variable[17]: Method return value and escape marker */
4287 /* Register variable[18]: Result */
4288 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4289 /* Ensure var variable[18]: Left 'and' operand*/
4290 if (UNTAG_Bool(variable[18])) { /* and */
4291 /* Register variable[18]: Result */
4292 variable[18] = ATTR_array___AbstractArrayRead____length(variable[15]) /*AbstractArrayRead::_length*/;
4293 /* Register variable[18]: Result */
4294 variable[18] = TAG_Bool(UNTAG_Int( variable[16] /*index*/)<UNTAG_Int(variable[18]));
4295 }
4296 /* Register variable[18]: Result */
4297 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, 234); nit_exit(1);}
4298 /* Register variable[18]: Result */
4299 variable[18] = ATTR_array___Array____items(variable[15]) /*Array::_items*/;
4300 /* Register variable[18]: Result */
4301 variable[18] = UNBOX_NativeArray(variable[18])[UNTAG_Int( variable[16] /*index*/)];
4302 variable[17] = variable[18];
4303 goto return_label233;
4304 return_label233: while(false);
4305 /* Register variable[14]: Result */
4306 variable[14] = variable[17];
4307 /* Ensure var variable[14]: super-string element*/
4308 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4309 /* Register variable[14]: Once String constant */
4310 if (once_value_234 != NIT_NULL) variable[14] = once_value_234;
4311 else {
4312 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4313 once_value_234 = variable[14];
4314 }
4315 /* Register variable[14]: Result */
4316 /* Ensure var variable[14]: super-string element*/
4317 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4318 /* Register variable[13]: Result */
4319 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
4320 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[13]) /*AbstractArray::add*/;
4321 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4322 /* Register variable[14]: Once String constant */
4323 if (once_value_235 != NIT_NULL) variable[14] = once_value_235;
4324 else {
4325 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
4326 once_value_235 = variable[14];
4327 }
4328 /* Register variable[14]: Result */
4329 /* Ensure var variable[14]: super-string element*/
4330 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4331 variable[14] = variable[12] /*r*/ /* Ensure var: super-string element*/;
4332 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4333 /* Register variable[14]: Once String constant */
4334 if (once_value_236 != NIT_NULL) variable[14] = once_value_236;
4335 else {
4336 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" (*"), TAG_Int(3)) /*new String*/;
4337 once_value_236 = variable[14];
4338 }
4339 /* Register variable[14]: Result */
4340 /* Ensure var variable[14]: super-string element*/
4341 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4342 variable[14] = variable[9] /*closcn*/ /* Ensure var: super-string element*/;
4343 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4344 /* Register variable[14]: Once String constant */
4345 if (once_value_237 != NIT_NULL) variable[14] = once_value_237;
4346 else {
4347 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)) /*new String*/;
4348 once_value_237 = variable[14];
4349 }
4350 /* Register variable[14]: Result */
4351 /* Ensure var variable[14]: super-string element*/
4352 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4353 /* Register variable[14]: Once String constant */
4354 if (once_value_238 != NIT_NULL) variable[14] = once_value_238;
4355 else {
4356 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
4357 once_value_238 = variable[14];
4358 }
4359 /* Register variable[14]: Result */
4360 /* Register variable[14]: Result */
4361 variable[14] = CALL_string___Collection___join( variable[11] /*subparams*/)( variable[11] /*subparams*/, variable[14]) /*Collection::join*/;
4362 /* Ensure var variable[14]: super-string element*/
4363 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4364 /* Register variable[14]: Once String constant */
4365 if (once_value_239 != NIT_NULL) variable[14] = once_value_239;
4366 else {
4367 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
4368 once_value_239 = variable[14];
4369 }
4370 /* Register variable[14]: Result */
4371 /* Ensure var variable[14]: super-string element*/
4372 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
4373 /* Register variable[13]: Result */
4374 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
4375 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_decl*/;
4376 continue_225: while(0);
4377 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
4378 }
4379 break_225: while(0);
4380 /* Register variable[6]: Result */
4381 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[0])(variable[0]) /*MMLocalProperty::global*/;
4382 /* Register variable[6]: Result */
4383 variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
4384 if (UNTAG_Bool(variable[6])) { /*if*/
4385 /* Register variable[6]: Once String constant */
4386 if (once_value_240 != NIT_NULL) variable[6] = once_value_240;
4387 else {
4388 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("int* init_table"), TAG_Int(15)) /*new String*/;
4389 once_value_240 = variable[6];
4390 }
4391 /* Register variable[6]: Result */
4392 CALL_abstract_collection___SimpleCollection___add( variable[4] /*params*/)( variable[4] /*params*/, variable[6]) /*AbstractArray::add*/;
4393 }
4394 /* Register variable[6]: Local variable */
4395 /*variable[6] is variable ret*/
4396 /* Register variable[7]: Result */
4397 variable[7] = CALL_static_type___MMLocalProperty___signature(variable[0])(variable[0]) /*MMLocalProperty::signature*/;
4398 /* Register variable[7]: Result */
4399 variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
4400 /* Register variable[7]: Result */
4401 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::==*/)))))));
4402 if (UNTAG_Bool(variable[7])) { /*if*/
4403 /* Register variable[7]: Once String constant */
4404 if (once_value_241 != NIT_NULL) variable[7] = once_value_241;
4405 else {
4406 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
4407 once_value_241 = variable[7];
4408 }
4409 /* Register variable[7]: Result */
4410 variable[6] = variable[7] /*ret=*/;
4411 } else { /*if*/
4412 /* Register variable[7]: Once String constant */
4413 if (once_value_242 != NIT_NULL) variable[7] = once_value_242;
4414 else {
4415 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
4416 once_value_242 = variable[7];
4417 }
4418 /* Register variable[7]: Result */
4419 variable[6] = variable[7] /*ret=*/;
4420 }
4421 /* Register variable[7]: Local variable */
4422 /* Register variable[8]: Once String constant */
4423 if (once_value_243 != NIT_NULL) variable[8] = once_value_243;
4424 else {
4425 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
4426 once_value_243 = variable[8];
4427 }
4428 /* Register variable[8]: Result */
4429 /* Register variable[8]: Result */
4430 variable[8] = CALL_string___Collection___join( variable[4] /*params*/)( variable[4] /*params*/, variable[8]) /*Collection::join*/;
4431 variable[7] = variable[8];
4432 /* Register variable[8]: Local variable */
4433 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4434 /* Register variable[10]: Once String constant */
4435 if (once_value_244 != NIT_NULL) variable[10] = once_value_244;
4436 else {
4437 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4438 once_value_244 = variable[10];
4439 }
4440 /* Register variable[10]: Result */
4441 /* Ensure var variable[10]: super-string element*/
4442 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4443 variable[10] = variable[6] /*ret*/ /* Ensure var: super-string element*/;
4444 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4445 /* Register variable[10]: Once String constant */
4446 if (once_value_245 != NIT_NULL) variable[10] = once_value_245;
4447 else {
4448 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
4449 once_value_245 = variable[10];
4450 }
4451 /* Register variable[10]: Result */
4452 /* Ensure var variable[10]: super-string element*/
4453 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4454 /* Register variable[10]: Result */
4455 variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
4456 /* Ensure var variable[10]: super-string element*/
4457 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4458 /* Register variable[10]: Once String constant */
4459 if (once_value_246 != NIT_NULL) variable[10] = once_value_246;
4460 else {
4461 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4462 once_value_246 = variable[10];
4463 }
4464 /* Register variable[10]: Result */
4465 /* Ensure var variable[10]: super-string element*/
4466 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4467 variable[10] = variable[7] /*p*/ /* Ensure var: super-string element*/;
4468 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4469 /* Register variable[10]: Once String constant */
4470 if (once_value_247 != NIT_NULL) variable[10] = once_value_247;
4471 else {
4472 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
4473 once_value_247 = variable[10];
4474 }
4475 /* Register variable[10]: Result */
4476 /* Ensure var variable[10]: super-string element*/
4477 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4478 /* Register variable[9]: Result */
4479 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
4480 variable[8] = variable[9];
4481 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4482 /* Register variable[10]: Once String constant */
4483 if (once_value_248 != NIT_NULL) variable[10] = once_value_248;
4484 else {
4485 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
4486 once_value_248 = variable[10];
4487 }
4488 /* Register variable[10]: Result */
4489 /* Ensure var variable[10]: super-string element*/
4490 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4491 variable[10] = variable[6] /*ret*/ /* Ensure var: super-string element*/;
4492 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4493 /* Register variable[10]: Once String constant */
4494 if (once_value_249 != NIT_NULL) variable[10] = once_value_249;
4495 else {
4496 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)) /*new String*/;
4497 once_value_249 = variable[10];
4498 }
4499 /* Register variable[10]: Result */
4500 /* Ensure var variable[10]: super-string element*/
4501 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4502 /* Register variable[10]: Result */
4503 variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[0])(variable[0]) /*MMLocalProperty::cname*/;
4504 /* Ensure var variable[10]: super-string element*/
4505 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4506 /* Register variable[10]: Once String constant */
4507 if (once_value_250 != NIT_NULL) variable[10] = once_value_250;
4508 else {
4509 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)) /*new String*/;
4510 once_value_250 = variable[10];
4511 }
4512 /* Register variable[10]: Result */
4513 /* Ensure var variable[10]: super-string element*/
4514 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4515 variable[10] = variable[7] /*p*/ /* Ensure var: super-string element*/;
4516 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4517 /* Register variable[10]: Once String constant */
4518 if (once_value_251 != NIT_NULL) variable[10] = once_value_251;
4519 else {
4520 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
4521 once_value_251 = variable[10];
4522 }
4523 /* Register variable[10]: Result */
4524 /* Ensure var variable[10]: super-string element*/
4525 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
4526 /* Register variable[9]: Result */
4527 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
4528 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
4529 /* Register variable[9]: Once String constant */
4530 if (once_value_252 != NIT_NULL) variable[9] = once_value_252;
4531 else {
4532 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
4533 once_value_252 = variable[9];
4534 }
4535 /* Register variable[9]: Result */
4536 /* Register variable[9]: Result */
4537 variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
4538 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
4539 variable[3] = variable[8] /*s*/;
4540 goto return_label217;
4541 return_label217: while(false);
4542 tracehead = trace.prev;
4543 return variable[3];
4544 }
4545 val_t compiling_methods___MMSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
4546 struct trace_t trace = {NULL, NULL, 578, LOCATE_compiling_methods___MMSrcMethod___do_compile_inside};
4547 val_t *variable = NULL;
4548 struct WBT_ **closurevariable = NULL;
4549 trace.prev = tracehead; tracehead = &trace;
4550 trace.file = LOCATE_compiling_methods;
4551 fprintf(stderr, "Deferred method called");
4552 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 578);
4553 nit_exit(1);
4554 tracehead = trace.prev;
4555 return NIT_NULL;
4556 }
4557 val_t compiling_methods___MMReadImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
4558 struct trace_t trace = {NULL, NULL, 583, LOCATE_compiling_methods___MMReadImplementationMethod___do_compile_inside};
4559 val_t variable[10];
4560 struct WBT_ **closurevariable = NULL;
4561 trace.prev = tracehead; tracehead = &trace;
4562 trace.file = LOCATE_compiling_methods;
4563 /* Register variable[0]: Local variable */
4564 variable[0] = self;
4565 /* Register variable[1]: Local variable */
4566 variable[1] = param0;
4567 /* Register variable[2]: Local variable */
4568 variable[2] = param1;
4569 /* Register variable[3]: Method return value and escape marker */
4570 /* Register variable[4]: Result */
4571 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
4572 /* Register variable[4]: Result */
4573 variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
4574 /* Register variable[5]: Result */
4575 variable[5] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
4576 /* Register variable[6]: Local variable */
4577 variable[6] = variable[2] /*params*/;
4578 /* Register variable[7]: Local variable */
4579 variable[7] = TAG_Int(0);
4580 /* Register variable[8]: Method return value and escape marker */
4581 /* Register variable[9]: Result */
4582 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4583 /* Ensure var variable[9]: Left 'and' operand*/
4584 if (UNTAG_Bool(variable[9])) { /* and */
4585 /* Register variable[9]: Result */
4586 variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
4587 /* Register variable[9]: Result */
4588 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
4589 }
4590 /* Register variable[9]: Result */
4591 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
4592 /* Register variable[9]: Result */
4593 variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
4594 /* Register variable[9]: Result */
4595 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
4596 variable[8] = variable[9];
4597 goto return_label254;
4598 return_label254: while(false);
4599 /* Register variable[6]: Result */
4600 variable[6] = variable[8];
4601 /* Register variable[4]: Result */
4602 variable[4] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6]) /*MMAttribute::compile_read_access*/;
4603 variable[3] = variable[4];
4604 goto return_label253;
4605 return_label253: while(false);
4606 tracehead = trace.prev;
4607 return variable[3];
4608 }
4609 val_t compiling_methods___MMWriteImplementationMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
4610 struct trace_t trace = {NULL, NULL, 590, LOCATE_compiling_methods___MMWriteImplementationMethod___do_compile_inside};
4611 val_t variable[11];
4612 struct WBT_ **closurevariable = NULL;
4613 trace.prev = tracehead; tracehead = &trace;
4614 trace.file = LOCATE_compiling_methods;
4615 /* Register variable[0]: Local variable */
4616 variable[0] = self;
4617 /* Register variable[1]: Local variable */
4618 variable[1] = param0;
4619 /* Register variable[2]: Local variable */
4620 variable[2] = param1;
4621 /* Register variable[3]: Method return value and escape marker */
4622 /* Register variable[4]: Result */
4623 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
4624 /* Register variable[4]: Result */
4625 variable[4] = CALL_syntax_base___AAttrPropdef___prop(variable[4])(variable[4]) /*AAttrPropdef::prop*/;
4626 /* Register variable[5]: Result */
4627 variable[5] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMAttrImplementationMethod::node*/;
4628 /* Register variable[6]: Local variable */
4629 variable[6] = variable[2] /*params*/;
4630 /* Register variable[7]: Local variable */
4631 variable[7] = TAG_Int(0);
4632 /* Register variable[8]: Method return value and escape marker */
4633 /* Register variable[9]: Result */
4634 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4635 /* Ensure var variable[9]: Left 'and' operand*/
4636 if (UNTAG_Bool(variable[9])) { /* and */
4637 /* Register variable[9]: Result */
4638 variable[9] = ATTR_array___AbstractArrayRead____length(variable[6]) /*AbstractArrayRead::_length*/;
4639 /* Register variable[9]: Result */
4640 variable[9] = TAG_Bool(UNTAG_Int( variable[7] /*index*/)<UNTAG_Int(variable[9]));
4641 }
4642 /* Register variable[9]: Result */
4643 if (!UNTAG_Bool(variable[9])) { fprintf(stderr, "Assert%s failed", " 'index' "); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_array___Array_____bra, LOCATE_compiling_methods, 234); nit_exit(1);}
4644 /* Register variable[9]: Result */
4645 variable[9] = ATTR_array___Array____items(variable[6]) /*Array::_items*/;
4646 /* Register variable[9]: Result */
4647 variable[9] = UNBOX_NativeArray(variable[9])[UNTAG_Int( variable[7] /*index*/)];
4648 variable[8] = variable[9];
4649 goto return_label256;
4650 return_label256: while(false);
4651 /* Register variable[6]: Result */
4652 variable[6] = variable[8];
4653 /* Register variable[7]: Local variable */
4654 variable[7] = variable[2] /*params*/;
4655 /* Register variable[8]: Local variable */
4656 variable[8] = TAG_Int(1);
4657 /* Register variable[9]: Method return value and escape marker */
4658 /* Register variable[10]: Result */
4659 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4660 /* Ensure var variable[10]: Left 'and' operand*/
4661 if (UNTAG_Bool(variable[10])) { /* and */
4662 /* Register variable[10]: Result */
4663 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
4664 /* Register variable[10]: Result */
4665 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
4666 }
4667 /* Register variable[10]: Result */
4668 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, 234); nit_exit(1);}
4669 /* Register variable[10]: Result */
4670 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
4671 /* Register variable[10]: Result */
4672 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
4673 variable[9] = variable[10];
4674 goto return_label257;
4675 return_label257: while(false);
4676 /* Register variable[7]: Result */
4677 variable[7] = variable[9];
4678 CALL_compiling_methods___MMAttribute___compile_write_access(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6], variable[7]) /*MMAttribute::compile_write_access*/;
4679 variable[3] = NIT_NULL /*null*/;
4680 goto return_label255;
4681 return_label255: while(false);
4682 tracehead = trace.prev;
4683 return variable[3];
4684 }
4685 val_t compiling_methods___MMMethSrcMethod___do_compile_inside(val_t self, val_t param0, val_t param1) {
4686 struct trace_t trace = {NULL, NULL, 598, LOCATE_compiling_methods___MMMethSrcMethod___do_compile_inside};
4687 val_t variable[5];
4688 struct WBT_ **closurevariable = NULL;
4689 trace.prev = tracehead; tracehead = &trace;
4690 trace.file = LOCATE_compiling_methods;
4691 /* Register variable[0]: Local variable */
4692 variable[0] = self;
4693 /* Register variable[1]: Local variable */
4694 variable[1] = param0;
4695 /* Register variable[2]: Local variable */
4696 variable[2] = param1;
4697 /* Register variable[3]: Method return value and escape marker */
4698 /* Register variable[4]: Result */
4699 variable[4] = CALL_syntax_base___MMLocalProperty___node(variable[0])(variable[0]) /*MMMethSrcMethod::node*/;
4700 /* Register variable[4]: Result */
4701 variable[4] = CALL_compiling_methods___AMethPropdef___do_compile_inside(variable[4])(variable[4], variable[1] /*v*/, variable[0], variable[2] /*params*/) /*AMethPropdef::do_compile_inside*/;
4702 variable[3] = variable[4];
4703 goto return_label258;
4704 return_label258: while(false);
4705 tracehead = trace.prev;
4706 return variable[3];
4707 }
4708 val_t compiling_methods___MMImplicitInit___do_compile_inside(val_t self, val_t param0, val_t param1) {
4709 struct trace_t trace = {NULL, NULL, 605, LOCATE_compiling_methods___MMImplicitInit___do_compile_inside};
4710 val_t variable[18];
4711 struct WBT_ **closurevariable = NULL;
4712 trace.prev = tracehead; tracehead = &trace;
4713 trace.file = LOCATE_compiling_methods;
4714 /* Register variable[0]: Local variable */
4715 variable[0] = self;
4716 /* Register variable[1]: Local variable */
4717 variable[1] = param0;
4718 /* Register variable[2]: Local variable */
4719 variable[2] = param1;
4720 /* Register variable[3]: Method return value and escape marker */
4721 /* Register variable[4]: Local variable */
4722 /* Register variable[5]: Result */
4723 variable[5] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArrayRead::length*/;
4724 /* Register variable[6]: Result */
4725 variable[6] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[0])(variable[0]) /*MMImplicitInit::unassigned_attributes*/;
4726 /* Register variable[6]: Result */
4727 variable[6] = CALL_abstract_collection___Collection___length(variable[6])(variable[6]) /*AbstractArrayRead::length*/;
4728 /* Register variable[5]: Result */
4729 variable[5] = TAG_Int(UNTAG_Int(variable[5])-UNTAG_Int(variable[6]));
4730 variable[4] = variable[5];
4731 /* Register variable[5]: Local variable */
4732 /* Register variable[6]: Result */
4733 variable[6] = CALL_abstract_collection___Collection___first( variable[2] /*params*/)( variable[2] /*params*/) /*IndexedCollectionRead::first*/;
4734 variable[5] = variable[6];
4735 /* Register variable[6]: Result */
4736 variable[6] = CALL_syntax_base___MMImplicitInit___super_inits(variable[0])(variable[0]) /*MMImplicitInit::super_inits*/;
4737 /* Register variable[6]: For iterator */
4738 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*AbstractArrayRead::iterator*/;
4739 while (true) { /*for*/
4740 /* Register variable[7]: For 'is_ok' result */
4741 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*ArrayIterator::is_ok*/;
4742 if (!UNTAG_Bool(variable[7])) break; /*for*/
4743 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
4744 /* Register variable[8]: Local variable */
4745 variable[8] = variable[7];
4746 /* Register variable[9]: Result */
4747 variable[9] = TAG_Bool(( variable[8] /*sp*/==NIT_NULL) || VAL_ISA( variable[8] /*sp*/, COLOR_MMMethod, ID_MMMethod)) /*cast MMMethod*/;
4748 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, 610); nit_exit(1);}
4749 /* Register variable[9]: Local variable */
4750 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
4751 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[5] /*recv*/) /*AbstractArray::add*/;
4752 /* Register variable[10]: Result */
4753 variable[9] = variable[10];
4754 /* Register variable[10]: Result */
4755 variable[10] = CALL_mmbuilder___MMImplicitInit___super_init(variable[0])(variable[0]) /*MMImplicitInit::super_init*/;
4756 /* Register variable[10]: Result */
4757 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::==*/)))));
4758 if (UNTAG_Bool(variable[10])) { /*if*/
4759 /* Register variable[10]: Local variable */
4760 /* Register variable[11]: Result */
4761 variable[11] = NEW_Array_array___Array___with_capacity( variable[4] /*f*/) /*new Array[String]*/;
4762 variable[10] = variable[11];
4763 CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/, variable[5] /*recv*/) /*AbstractArray::add*/;
4764 /* Register variable[11]: Result */
4765 variable[11] = NEW_Range_range___Range___without_last( TAG_Int(1), variable[4] /*f*/) /*new Range[Int]*/;
4766 /* Register variable[11]: For iterator */
4767 variable[11] = CALL_abstract_collection___Collection___iterator(variable[11])(variable[11]) /*Range::iterator*/;
4768 while (true) { /*for*/
4769 /* Register variable[12]: For 'is_ok' result */
4770 variable[12] = CALL_abstract_collection___Iterator___is_ok(variable[11])(variable[11]) /*Iterator::is_ok*/;
4771 if (!UNTAG_Bool(variable[12])) break; /*for*/
4772 variable[12] = CALL_abstract_collection___Iterator___item(variable[11])(variable[11]) /*Iterator::item*/ /* Ensure var: For item*/;
4773 /* Register variable[13]: Local variable */
4774 variable[13] = variable[12];
4775 /* Register variable[14]: Local variable */
4776 variable[14] = variable[2] /*params*/;
4777 /* Register variable[15]: Local variable */
4778 variable[15] = variable[13] /*i*/;
4779 /* Register variable[16]: Method return value and escape marker */
4780 /* Register variable[17]: Result */
4781 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4782 /* Ensure var variable[17]: Left 'and' operand*/
4783 if (UNTAG_Bool(variable[17])) { /* and */
4784 /* Register variable[17]: Result */
4785 variable[17] = ATTR_array___AbstractArrayRead____length(variable[14]) /*AbstractArrayRead::_length*/;
4786 /* Register variable[17]: Result */
4787 variable[17] = TAG_Bool(UNTAG_Int( variable[15] /*index*/)<UNTAG_Int(variable[17]));
4788 }
4789 /* Register variable[17]: Result */
4790 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, 234); nit_exit(1);}
4791 /* Register variable[17]: Result */
4792 variable[17] = ATTR_array___Array____items(variable[14]) /*Array::_items*/;
4793 /* Register variable[17]: Result */
4794 variable[17] = UNBOX_NativeArray(variable[17])[UNTAG_Int( variable[15] /*index*/)];
4795 variable[16] = variable[17];
4796 goto return_label262;
4797 return_label262: while(false);
4798 /* Register variable[14]: Result */
4799 variable[14] = variable[16];
4800 CALL_abstract_collection___SimpleCollection___add( variable[10] /*args*/)( variable[10] /*args*/, variable[14]) /*AbstractArray::add*/;
4801 continue_261: while(0);
4802 CALL_abstract_collection___Iterator___next(variable[11])(variable[11]) /*Iterator::next*/;
4803 }
4804 break_261: while(0);
4805 CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*sp*/)( variable[8] /*sp*/, variable[1] /*v*/, variable[10] /*args*/) /*MMMethod::compile_stmt_call*/;
4806 } else { /*if*/
4807 CALL_compiling_methods___MMMethod___compile_stmt_call( variable[8] /*sp*/)( variable[8] /*sp*/, variable[1] /*v*/, variable[9] /*args_recv*/) /*MMMethod::compile_stmt_call*/;
4808 }
4809 continue_260: while(0);
4810 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*ArrayIterator::next*/;
4811 }
4812 break_260: while(0);
4813 /* Register variable[6]: Result */
4814 variable[6] = CALL_abstract_collection___Collection___length( variable[2] /*params*/)( variable[2] /*params*/) /*AbstractArrayRead::length*/;
4815 /* Register variable[6]: Result */
4816 variable[6] = NEW_Range_range___Range___without_last( variable[4] /*f*/, variable[6]) /*new Range[Int]*/;
4817 /* Register variable[6]: For iterator */
4818 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
4819 while (true) { /*for*/
4820 /* Register variable[7]: For 'is_ok' result */
4821 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
4822 if (!UNTAG_Bool(variable[7])) break; /*for*/
4823 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
4824 /* Register variable[8]: Local variable */
4825 variable[8] = variable[7];
4826 /* Register variable[9]: Local variable */
4827 /* Register variable[10]: Result */
4828 variable[10] = CALL_syntax_base___MMImplicitInit___unassigned_attributes(variable[0])(variable[0]) /*MMImplicitInit::unassigned_attributes*/;
4829 /* Register variable[11]: Result */
4830 variable[11] = TAG_Int(UNTAG_Int( variable[8] /*i*/)-UNTAG_Int( variable[4] /*f*/));
4831 /* Register variable[12]: Local variable */
4832 variable[12] = variable[10];
4833 /* Register variable[13]: Local variable */
4834 variable[13] = variable[11];
4835 /* Register variable[14]: Method return value and escape marker */
4836 /* Register variable[15]: Result */
4837 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4838 /* Ensure var variable[15]: Left 'and' operand*/
4839 if (UNTAG_Bool(variable[15])) { /* and */
4840 /* Register variable[15]: Result */
4841 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
4842 /* Register variable[15]: Result */
4843 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
4844 }
4845 /* Register variable[15]: Result */
4846 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, 234); nit_exit(1);}
4847 /* Register variable[15]: Result */
4848 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
4849 /* Register variable[15]: Result */
4850 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
4851 variable[14] = variable[15];
4852 goto return_label264;
4853 return_label264: while(false);
4854 /* Register variable[10]: Result */
4855 variable[10] = variable[14];
4856 variable[9] = variable[10];
4857 /* Register variable[10]: Local variable */
4858 variable[10] = variable[2] /*params*/;
4859 /* Register variable[11]: Local variable */
4860 variable[11] = variable[8] /*i*/;
4861 /* Register variable[12]: Method return value and escape marker */
4862 /* Register variable[13]: Result */
4863 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
4864 /* Ensure var variable[13]: Left 'and' operand*/
4865 if (UNTAG_Bool(variable[13])) { /* and */
4866 /* Register variable[13]: Result */
4867 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
4868 /* Register variable[13]: Result */
4869 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
4870 }
4871 /* Register variable[13]: Result */
4872 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, 234); nit_exit(1);}
4873 /* Register variable[13]: Result */
4874 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
4875 /* Register variable[13]: Result */
4876 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
4877 variable[12] = variable[13];
4878 goto return_label265;
4879 return_label265: while(false);
4880 /* Register variable[10]: Result */
4881 variable[10] = variable[12];
4882 CALL_compiling_methods___MMAttribute___compile_write_access( variable[9] /*attribute*/)( variable[9] /*attribute*/, variable[1] /*v*/, NIT_NULL /*null*/, variable[5] /*recv*/, variable[10]) /*MMAttribute::compile_write_access*/;
4883 continue_263: while(0);
4884 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
4885 }
4886 break_263: while(0);
4887 variable[3] = NIT_NULL /*null*/;
4888 goto return_label259;
4889 return_label259: while(false);
4890 tracehead = trace.prev;
4891 return variable[3];
4892 }
4893 val_t compiling_methods___MMType___compile_cast(val_t self, val_t param0, val_t param1, val_t param2) {
4894 struct trace_t trace = {NULL, NULL, 632, LOCATE_compiling_methods___MMType___compile_cast};
4895 static val_t once_value_267 = NIT_NULL; /* Once value for string variable[7]*/
4896 static val_t once_value_268 = NIT_NULL; /* Once value for string variable[8]*/
4897 static val_t once_value_269 = NIT_NULL; /* Once value for string variable[8]*/
4898 static val_t once_value_270 = NIT_NULL; /* Once value for string variable[8]*/
4899 static val_t once_value_271 = NIT_NULL; /* Once value for string variable[8]*/
4900 static val_t once_value_272 = NIT_NULL; /* Once value for string variable[8]*/
4901 static val_t once_value_273 = NIT_NULL; /* Once value for string variable[8]*/
4902 static val_t once_value_274 = NIT_NULL; /* Once value for string variable[8]*/
4903 static val_t once_value_275 = NIT_NULL; /* Once value for string variable[8]*/
4904 static val_t once_value_276 = NIT_NULL; /* Once value for string variable[8]*/
4905 static val_t once_value_277 = NIT_NULL; /* Once value for string variable[8]*/
4906 static val_t once_value_278 = NIT_NULL; /* Once value for string variable[8]*/
4907 static val_t once_value_279 = NIT_NULL; /* Once value for string variable[8]*/
4908 val_t variable[9];
4909 struct WBT_ **closurevariable = NULL;
4910 trace.prev = tracehead; tracehead = &trace;
4911 trace.file = LOCATE_compiling_methods;
4912 /* Register variable[0]: Local variable */
4913 variable[0] = self;
4914 /* Register variable[1]: Local variable */
4915 variable[1] = param0;
4916 /* Register variable[2]: Local variable */
4917 variable[2] = param1;
4918 /* Register variable[3]: Local variable */
4919 variable[3] = param2;
4920 /* Register variable[4]: Method return value and escape marker */
4921 /* Register variable[5]: Local variable */
4922 /* Register variable[6]: Result */
4923 variable[6] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
4924 /* Register variable[6]: Result */
4925 variable[6] = CALL_abstractmetamodel___MMLocalClass___global(variable[6])(variable[6]) /*MMLocalClass::global*/;
4926 variable[5] = variable[6];
4927 /* Register variable[6]: Local variable */
4928 /* Register variable[7]: Once String constant */
4929 if (once_value_267 != NIT_NULL) variable[7] = once_value_267;
4930 else {
4931 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
4932 once_value_267 = variable[7];
4933 }
4934 /* Register variable[7]: Result */
4935 variable[6] = variable[7];
4936 /* Register variable[7]: Result */
4937 variable[7] = CALL_static_type___MMType___is_nullable( variable[3] /*fromtype*/)( variable[3] /*fromtype*/) /*MMType::is_nullable*/;
4938 if (UNTAG_Bool(variable[7])) { /*if*/
4939 /* Register variable[7]: Result */
4940 variable[7] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
4941 if (UNTAG_Bool(variable[7])) { /*if*/
4942 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4943 /* Register variable[8]: Once String constant */
4944 if (once_value_268 != NIT_NULL) variable[8] = once_value_268;
4945 else {
4946 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4947 once_value_268 = variable[8];
4948 }
4949 /* Register variable[8]: Result */
4950 /* Ensure var variable[8]: super-string element*/
4951 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4952 variable[8] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
4953 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4954 /* Register variable[8]: Once String constant */
4955 if (once_value_269 != NIT_NULL) variable[8] = once_value_269;
4956 else {
4957 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
4958 once_value_269 = variable[8];
4959 }
4960 /* Register variable[8]: Result */
4961 /* Ensure var variable[8]: super-string element*/
4962 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4963 /* Register variable[7]: Result */
4964 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
4965 variable[6] = variable[7] /*s=*/;
4966 } else { /*if*/
4967 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4968 /* Register variable[8]: Once String constant */
4969 if (once_value_270 != NIT_NULL) variable[8] = once_value_270;
4970 else {
4971 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4972 once_value_270 = variable[8];
4973 }
4974 /* Register variable[8]: Result */
4975 /* Ensure var variable[8]: super-string element*/
4976 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4977 variable[8] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
4978 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4979 /* Register variable[8]: Once String constant */
4980 if (once_value_271 != NIT_NULL) variable[8] = once_value_271;
4981 else {
4982 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
4983 once_value_271 = variable[8];
4984 }
4985 /* Register variable[8]: Result */
4986 /* Ensure var variable[8]: super-string element*/
4987 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
4988 /* Register variable[7]: Result */
4989 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
4990 variable[6] = variable[7] /*s=*/;
4991 }
4992 } else { /*if*/
4993 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
4994 /* Register variable[8]: Once String constant */
4995 if (once_value_272 != NIT_NULL) variable[8] = once_value_272;
4996 else {
4997 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
4998 once_value_272 = variable[8];
4999 }
5000 /* Register variable[8]: Result */
5001 /* Ensure var variable[8]: super-string element*/
5002 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5003 variable[8] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5004 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5005 /* Register variable[8]: Once String constant */
5006 if (once_value_273 != NIT_NULL) variable[8] = once_value_273;
5007 else {
5008 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
5009 once_value_273 = variable[8];
5010 }
5011 /* Register variable[8]: Result */
5012 /* Ensure var variable[8]: super-string element*/
5013 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5014 /* Register variable[7]: Result */
5015 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
5016 variable[6] = variable[7] /*s=*/;
5017 }
5018 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5019 /* Register variable[8]: Once String constant */
5020 if (once_value_274 != NIT_NULL) variable[8] = once_value_274;
5021 else {
5022 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool("), TAG_Int(9)) /*new String*/;
5023 once_value_274 = variable[8];
5024 }
5025 /* Register variable[8]: Result */
5026 /* Ensure var variable[8]: super-string element*/
5027 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5028 variable[8] = variable[6] /*s*/ /* Ensure var: super-string element*/;
5029 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5030 /* Register variable[8]: Once String constant */
5031 if (once_value_275 != NIT_NULL) variable[8] = once_value_275;
5032 else {
5033 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("VAL_ISA("), TAG_Int(8)) /*new String*/;
5034 once_value_275 = variable[8];
5035 }
5036 /* Register variable[8]: Result */
5037 /* Ensure var variable[8]: super-string element*/
5038 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5039 variable[8] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5040 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5041 /* Register variable[8]: Once String constant */
5042 if (once_value_276 != NIT_NULL) variable[8] = once_value_276;
5043 else {
5044 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
5045 once_value_276 = variable[8];
5046 }
5047 /* Register variable[8]: Result */
5048 /* Ensure var variable[8]: super-string element*/
5049 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5050 /* Register variable[8]: Result */
5051 variable[8] = CALL_compiling_base___MMGlobalClass___color_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::color_id*/;
5052 /* Ensure var variable[8]: super-string element*/
5053 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5054 /* Register variable[8]: Once String constant */
5055 if (once_value_277 != NIT_NULL) variable[8] = once_value_277;
5056 else {
5057 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
5058 once_value_277 = variable[8];
5059 }
5060 /* Register variable[8]: Result */
5061 /* Ensure var variable[8]: super-string element*/
5062 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5063 /* Register variable[8]: Result */
5064 variable[8] = CALL_compiling_base___MMGlobalClass___id_id( variable[5] /*g*/)( variable[5] /*g*/) /*MMGlobalClass::id_id*/;
5065 /* Ensure var variable[8]: super-string element*/
5066 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5067 /* Register variable[8]: Once String constant */
5068 if (once_value_278 != NIT_NULL) variable[8] = once_value_278;
5069 else {
5070 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) /*cast "), TAG_Int(10)) /*new String*/;
5071 once_value_278 = variable[8];
5072 }
5073 /* Register variable[8]: Result */
5074 /* Ensure var variable[8]: super-string element*/
5075 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5076 /* Ensure var variable[0]: super-string element*/
5077 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
5078 /* Register variable[8]: Once String constant */
5079 if (once_value_279 != NIT_NULL) variable[8] = once_value_279;
5080 else {
5081 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
5082 once_value_279 = variable[8];
5083 }
5084 /* Register variable[8]: Result */
5085 /* Ensure var variable[8]: super-string element*/
5086 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
5087 /* Register variable[7]: Result */
5088 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
5089 variable[4] = variable[7];
5090 goto return_label266;
5091 return_label266: while(false);
5092 tracehead = trace.prev;
5093 return variable[4];
5094 }
5095 void compiling_methods___MMType___compile_type_check(val_t self, val_t param0, val_t param1, val_t param2, val_t param3) {
5096 struct trace_t trace = {NULL, NULL, 652, LOCATE_compiling_methods___MMType___compile_type_check};
5097 static val_t once_value_281 = NIT_NULL; /* Once value for string variable[8]*/
5098 static val_t once_value_282 = NIT_NULL; /* Once value for string variable[9]*/
5099 static val_t once_value_283 = NIT_NULL; /* Once value for string variable[9]*/
5100 static val_t once_value_284 = NIT_NULL; /* Once value for string variable[9]*/
5101 static val_t once_value_285 = NIT_NULL; /* Once value for string variable[9]*/
5102 static val_t once_value_286 = NIT_NULL; /* Once value for string variable[9]*/
5103 static val_t once_value_287 = NIT_NULL; /* Once value for string variable[9]*/
5104 static val_t once_value_288 = NIT_NULL; /* Once value for string variable[9]*/
5105 static val_t once_value_289 = NIT_NULL; /* Once value for string variable[9]*/
5106 static val_t once_value_290 = NIT_NULL; /* Once value for string variable[9]*/
5107 static val_t once_value_291 = NIT_NULL; /* Once value for string variable[9]*/
5108 static val_t once_value_292 = NIT_NULL; /* Once value for string variable[9]*/
5109 static val_t once_value_293 = NIT_NULL; /* Once value for string variable[9]*/
5110 static val_t once_value_294 = NIT_NULL; /* Once value for string variable[9]*/
5111 val_t variable[10];
5112 struct WBT_ **closurevariable = NULL;
5113 trace.prev = tracehead; tracehead = &trace;
5114 trace.file = LOCATE_compiling_methods;
5115 /* Register variable[0]: Local variable */
5116 variable[0] = self;
5117 /* Register variable[1]: Local variable */
5118 variable[1] = param0;
5119 /* Register variable[2]: Local variable */
5120 variable[2] = param1;
5121 /* Register variable[3]: Local variable */
5122 variable[3] = param2;
5123 /* Register variable[4]: Local variable */
5124 variable[4] = param3;
5125 /* Register variable[5]: Method return value and escape marker */
5126 /* Register variable[6]: Local variable */
5127 /* Register variable[7]: Result */
5128 variable[7] = CALL_static_type___MMType___local_class(variable[0])(variable[0]) /*MMType::local_class*/;
5129 /* Register variable[7]: Result */
5130 variable[7] = CALL_abstractmetamodel___MMLocalClass___global(variable[7])(variable[7]) /*MMLocalClass::global*/;
5131 variable[6] = variable[7];
5132 /* Register variable[7]: Local variable */
5133 /* Register variable[8]: Once String constant */
5134 if (once_value_281 != NIT_NULL) variable[8] = once_value_281;
5135 else {
5136 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5137 once_value_281 = variable[8];
5138 }
5139 /* Register variable[8]: Result */
5140 variable[7] = variable[8];
5141 /* Register variable[8]: Result */
5142 variable[8] = CALL_static_type___MMType___is_nullable( variable[4] /*fromtype*/)( variable[4] /*fromtype*/) /*MMType::is_nullable*/;
5143 if (UNTAG_Bool(variable[8])) { /*if*/
5144 /* Register variable[8]: Result */
5145 variable[8] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
5146 if (UNTAG_Bool(variable[8])) { /*if*/
5147 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5148 /* Register variable[9]: Once String constant */
5149 if (once_value_282 != NIT_NULL) variable[9] = once_value_282;
5150 else {
5151 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
5152 once_value_282 = variable[9];
5153 }
5154 /* Register variable[9]: Result */
5155 /* Ensure var variable[9]: super-string element*/
5156 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5157 variable[9] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5158 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5159 /* Register variable[9]: Once String constant */
5160 if (once_value_283 != NIT_NULL) variable[9] = once_value_283;
5161 else {
5162 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
5163 once_value_283 = variable[9];
5164 }
5165 /* Register variable[9]: Result */
5166 /* Ensure var variable[9]: super-string element*/
5167 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5168 /* Register variable[8]: Result */
5169 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5170 variable[7] = variable[8] /*s=*/;
5171 } else { /*if*/
5172 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5173 /* Register variable[9]: Once String constant */
5174 if (once_value_284 != NIT_NULL) variable[9] = once_value_284;
5175 else {
5176 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
5177 once_value_284 = variable[9];
5178 }
5179 /* Register variable[9]: Result */
5180 /* Ensure var variable[9]: super-string element*/
5181 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5182 variable[9] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5183 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5184 /* Register variable[9]: Once String constant */
5185 if (once_value_285 != NIT_NULL) variable[9] = once_value_285;
5186 else {
5187 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL) || "), TAG_Int(15)) /*new String*/;
5188 once_value_285 = variable[9];
5189 }
5190 /* Register variable[9]: Result */
5191 /* Ensure var variable[9]: super-string element*/
5192 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5193 /* Register variable[8]: Result */
5194 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5195 variable[7] = variable[8] /*s=*/;
5196 }
5197 } else { /*if*/
5198 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5199 /* Register variable[9]: Once String constant */
5200 if (once_value_286 != NIT_NULL) variable[9] = once_value_286;
5201 else {
5202 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
5203 once_value_286 = variable[9];
5204 }
5205 /* Register variable[9]: Result */
5206 /* Ensure var variable[9]: super-string element*/
5207 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5208 variable[9] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5209 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5210 /* Register variable[9]: Once String constant */
5211 if (once_value_287 != NIT_NULL) variable[9] = once_value_287;
5212 else {
5213 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!=NIT_NULL) && "), TAG_Int(15)) /*new String*/;
5214 once_value_287 = variable[9];
5215 }
5216 /* Register variable[9]: Result */
5217 /* Ensure var variable[9]: super-string element*/
5218 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5219 /* Register variable[8]: Result */
5220 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5221 variable[7] = variable[8] /*s=*/;
5222 }
5223 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(13)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5224 /* Register variable[9]: Once String constant */
5225 if (once_value_288 != NIT_NULL) variable[9] = once_value_288;
5226 else {
5227 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
5228 once_value_288 = variable[9];
5229 }
5230 /* Register variable[9]: Result */
5231 /* Ensure var variable[9]: super-string element*/
5232 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5233 variable[9] = variable[7] /*s*/ /* Ensure var: super-string element*/;
5234 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5235 /* Register variable[9]: Once String constant */
5236 if (once_value_289 != NIT_NULL) variable[9] = once_value_289;
5237 else {
5238 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("!VAL_ISA("), TAG_Int(9)) /*new String*/;
5239 once_value_289 = variable[9];
5240 }
5241 /* Register variable[9]: Result */
5242 /* Ensure var variable[9]: super-string element*/
5243 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5244 variable[9] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5245 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5246 /* Register variable[9]: Once String constant */
5247 if (once_value_290 != NIT_NULL) variable[9] = once_value_290;
5248 else {
5249 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
5250 once_value_290 = variable[9];
5251 }
5252 /* Register variable[9]: Result */
5253 /* Ensure var variable[9]: super-string element*/
5254 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5255 /* Register variable[9]: Result */
5256 variable[9] = CALL_compiling_base___MMGlobalClass___color_id( variable[6] /*g*/)( variable[6] /*g*/) /*MMGlobalClass::color_id*/;
5257 /* Ensure var variable[9]: super-string element*/
5258 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5259 /* Register variable[9]: Once String constant */
5260 if (once_value_291 != NIT_NULL) variable[9] = once_value_291;
5261 else {
5262 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
5263 once_value_291 = variable[9];
5264 }
5265 /* Register variable[9]: Result */
5266 /* Ensure var variable[9]: super-string element*/
5267 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5268 /* Register variable[9]: Result */
5269 variable[9] = CALL_compiling_base___MMGlobalClass___id_id( variable[6] /*g*/)( variable[6] /*g*/) /*MMGlobalClass::id_id*/;
5270 /* Ensure var variable[9]: super-string element*/
5271 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5272 /* Register variable[9]: Once String constant */
5273 if (once_value_292 != NIT_NULL) variable[9] = once_value_292;
5274 else {
5275 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(38)) /*new String*/;
5276 once_value_292 = variable[9];
5277 }
5278 /* Register variable[9]: Result */
5279 /* Ensure var variable[9]: super-string element*/
5280 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5281 /* Register variable[9]: Result */
5282 variable[9] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*n*/) /*CompilerVisitor::printf_locate_error*/;
5283 /* Ensure var variable[9]: super-string element*/
5284 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5285 /* Register variable[9]: Once String constant */
5286 if (once_value_293 != NIT_NULL) variable[9] = once_value_293;
5287 else {
5288 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)) /*new String*/;
5289 once_value_293 = variable[9];
5290 }
5291 /* Register variable[9]: Result */
5292 /* Ensure var variable[9]: super-string element*/
5293 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5294 /* Ensure var variable[0]: super-string element*/
5295 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
5296 /* Register variable[9]: Once String constant */
5297 if (once_value_294 != NIT_NULL) variable[9] = once_value_294;
5298 else {
5299 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)) /*new String*/;
5300 once_value_294 = variable[9];
5301 }
5302 /* Register variable[9]: Result */
5303 /* Ensure var variable[9]: super-string element*/
5304 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5305 /* Register variable[8]: Result */
5306 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5307 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
5308 return_label280: while(false);
5309 tracehead = trace.prev;
5310 return;
5311 }
5312 void compiling_methods___MMType___compile_notnull_check(val_t self, val_t param0, val_t param1, val_t param2) {
5313 struct trace_t trace = {NULL, NULL, 671, LOCATE_compiling_methods___MMType___compile_notnull_check};
5314 static val_t once_value_296 = NIT_NULL; /* Once value for string variable[6]*/
5315 static val_t once_value_297 = NIT_NULL; /* Once value for string variable[6]*/
5316 static val_t once_value_298 = NIT_NULL; /* Once value for string variable[6]*/
5317 static val_t once_value_299 = NIT_NULL; /* Once value for string variable[6]*/
5318 val_t variable[7];
5319 struct WBT_ **closurevariable = NULL;
5320 trace.prev = tracehead; tracehead = &trace;
5321 trace.file = LOCATE_compiling_methods;
5322 /* Register variable[0]: Local variable */
5323 variable[0] = self;
5324 /* Register variable[1]: Local variable */
5325 variable[1] = param0;
5326 /* Register variable[2]: Local variable */
5327 variable[2] = param1;
5328 /* Register variable[3]: Local variable */
5329 variable[3] = param2;
5330 /* Register variable[4]: Method return value and escape marker */
5331 /* Register variable[5]: Result */
5332 variable[5] = CALL_static_type___MMType___is_nullable(variable[0])(variable[0]) /*MMType::is_nullable*/;
5333 if (UNTAG_Bool(variable[5])) { /*if*/
5334 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5335 /* Register variable[6]: Once String constant */
5336 if (once_value_296 != NIT_NULL) variable[6] = once_value_296;
5337 else {
5338 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (("), TAG_Int(5)) /*new String*/;
5339 once_value_296 = variable[6];
5340 }
5341 /* Register variable[6]: Result */
5342 /* Ensure var variable[6]: super-string element*/
5343 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5344 variable[6] = variable[2] /*recv*/ /* Ensure var: super-string element*/;
5345 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5346 /* Register variable[6]: Once String constant */
5347 if (once_value_297 != NIT_NULL) variable[6] = once_value_297;
5348 else {
5349 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("==NIT_NULL)) { fprintf(stderr, \"Cast failled\"); "), TAG_Int(48)) /*new String*/;
5350 once_value_297 = variable[6];
5351 }
5352 /* Register variable[6]: Result */
5353 /* Ensure var variable[6]: super-string element*/
5354 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5355 /* Register variable[6]: Result */
5356 variable[6] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*n*/) /*CompilerVisitor::printf_locate_error*/;
5357 /* Ensure var variable[6]: super-string element*/
5358 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5359 /* Register variable[6]: Once String constant */
5360 if (once_value_298 != NIT_NULL) variable[6] = once_value_298;
5361 else {
5362 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1); } /*cast "), TAG_Int(23)) /*new String*/;
5363 once_value_298 = variable[6];
5364 }
5365 /* Register variable[6]: Result */
5366 /* Ensure var variable[6]: super-string element*/
5367 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5368 /* Ensure var variable[0]: super-string element*/
5369 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[0])(variable[0]) /*Object::to_s*/) /*AbstractArray::add*/;
5370 /* Register variable[6]: Once String constant */
5371 if (once_value_299 != NIT_NULL) variable[6] = once_value_299;
5372 else {
5373 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/;"), TAG_Int(3)) /*new String*/;
5374 once_value_299 = variable[6];
5375 }
5376 /* Register variable[6]: Result */
5377 /* Ensure var variable[6]: super-string element*/
5378 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
5379 /* Register variable[5]: Result */
5380 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
5381 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
5382 }
5383 return_label295: while(false);
5384 tracehead = trace.prev;
5385 return;
5386 }
5387 val_t compiling_methods___AMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
5388 struct trace_t trace = {NULL, NULL, 683, LOCATE_compiling_methods___AMethPropdef___do_compile_inside};
5389 val_t *variable = NULL;
5390 struct WBT_ **closurevariable = NULL;
5391 trace.prev = tracehead; tracehead = &trace;
5392 trace.file = LOCATE_compiling_methods;
5393 fprintf(stderr, "Deferred method called");
5394 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 683);
5395 nit_exit(1);
5396 tracehead = trace.prev;
5397 return NIT_NULL;
5398 }
5399 void compiling_methods___PSignature___compile_parameters(val_t self, val_t param0, val_t param1, val_t param2) {
5400 struct trace_t trace = {NULL, NULL, 688, LOCATE_compiling_methods___PSignature___compile_parameters};
5401 val_t *variable = NULL;
5402 struct WBT_ **closurevariable = NULL;
5403 trace.prev = tracehead; tracehead = &trace;
5404 trace.file = LOCATE_compiling_methods;
5405 fprintf(stderr, "Deferred method called");
5406 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 688);
5407 nit_exit(1);
5408 tracehead = trace.prev;
5409 return;
5410 }
5411 void compiling_methods___ASignature___compile_parameters(val_t self, val_t param0, val_t param1, val_t param2) {
5412 struct trace_t trace = {NULL, NULL, 692, LOCATE_compiling_methods___ASignature___compile_parameters};
5413 static val_t once_value_302 = NIT_NULL; /* Once value for string variable[11]*/
5414 static val_t once_value_303 = NIT_NULL; /* Once value for string variable[11]*/
5415 static val_t once_value_304 = NIT_NULL; /* Once value for string variable[11]*/
5416 static val_t once_value_308 = NIT_NULL; /* Once value for string variable[11]*/
5417 static val_t once_value_310 = NIT_NULL; /* Once value for string variable[11]*/
5418 val_t variable[16];
5419 struct WBT_ **closurevariable = NULL;
5420 trace.prev = tracehead; tracehead = &trace;
5421 trace.file = LOCATE_compiling_methods;
5422 /* Register variable[0]: Local variable */
5423 variable[0] = self;
5424 /* Register variable[1]: Local variable */
5425 variable[1] = param0;
5426 /* Register variable[2]: Local variable */
5427 variable[2] = param1;
5428 /* Register variable[3]: Local variable */
5429 variable[3] = param2;
5430 /* Register variable[4]: Method return value and escape marker */
5431 /* Register variable[5]: Result */
5432 variable[5] = CALL_parser_nodes___ASignature___n_params(variable[0])(variable[0]) /*ASignature::n_params*/;
5433 /* Register variable[5]: For iterator */
5434 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
5435 while (true) { /*for*/
5436 /* Register variable[6]: For 'is_ok' result */
5437 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
5438 if (!UNTAG_Bool(variable[6])) break; /*for*/
5439 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/ /* Ensure var: For item*/;
5440 /* Register variable[7]: Local variable */
5441 variable[7] = variable[6];
5442 /* Register variable[8]: Local variable */
5443 /* Register variable[9]: Result */
5444 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
5445 /* Register variable[10]: Result */
5446 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
5447 /* Register variable[9]: Result */
5448 variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
5449 variable[8] = variable[9];
5450 /* Register variable[9]: Result */
5451 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5452 /* Register variable[9]: Result */
5453 variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
5454 /* Register variable[10]: Result */
5455 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
5456 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
5457 /* Register variable[9]: Local variable */
5458 /* Register variable[10]: Result */
5459 variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
5460 /* Register variable[10]: Result */
5461 variable[10] = CALL_static_type___MMSignature_____bra( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/, variable[10]) /*MMSignature::[]*/;
5462 variable[9] = variable[10];
5463 /* Register variable[10]: Result */
5464 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
5465 /* Register variable[10]: Result */
5466 variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
5467 /* Register variable[10]: Result */
5468 variable[10] = CALL_static_type___MMType_____l( variable[9] /*orig_type*/)( variable[9] /*orig_type*/, variable[10]) /*MMType::<*/;
5469 if (UNTAG_Bool( TAG_Bool(!UNTAG_Bool(variable[10])))) { /*if*/
5470 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5471 /* Register variable[11]: Once String constant */
5472 if (once_value_302 != NIT_NULL) variable[11] = once_value_302;
5473 else {
5474 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("/* check if p<"), TAG_Int(14)) /*new String*/;
5475 once_value_302 = variable[11];
5476 }
5477 /* Register variable[11]: Result */
5478 /* Ensure var variable[11]: super-string element*/
5479 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5480 /* Register variable[11]: Result */
5481 variable[11] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
5482 /* Register variable[11]: Result */
5483 variable[11] = CALL_syntax_base___Variable___stype(variable[11])(variable[11]) /*Variable::stype*/;
5484 /* Ensure var variable[11]: super-string element*/
5485 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
5486 /* Register variable[11]: Once String constant */
5487 if (once_value_303 != NIT_NULL) variable[11] = once_value_303;
5488 else {
5489 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" with p:"), TAG_Int(8)) /*new String*/;
5490 once_value_303 = variable[11];
5491 }
5492 /* Register variable[11]: Result */
5493 /* Ensure var variable[11]: super-string element*/
5494 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5495 variable[11] = variable[9] /*orig_type*/ /* Ensure var: super-string element*/;
5496 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
5497 /* Register variable[11]: Once String constant */
5498 if (once_value_304 != NIT_NULL) variable[11] = once_value_304;
5499 else {
5500 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
5501 once_value_304 = variable[11];
5502 }
5503 /* Register variable[11]: Result */
5504 /* Ensure var variable[11]: super-string element*/
5505 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5506 /* Register variable[10]: Result */
5507 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
5508 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[10]) /*CompilerVisitor::add_instr*/;
5509 /* Register variable[10]: Result */
5510 variable[10] = CALL_syntax_base___PParam___variable( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::variable*/;
5511 /* Register variable[10]: Result */
5512 variable[10] = CALL_syntax_base___Variable___stype(variable[10])(variable[10]) /*Variable::stype*/;
5513 /* Register variable[11]: Result */
5514 variable[11] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
5515 /* Register variable[12]: Local variable */
5516 variable[12] = variable[3] /*params*/;
5517 /* Register variable[13]: Local variable */
5518 variable[13] = variable[11];
5519 /* Register variable[14]: Method return value and escape marker */
5520 /* Register variable[15]: Result */
5521 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5522 /* Ensure var variable[15]: Left 'and' operand*/
5523 if (UNTAG_Bool(variable[15])) { /* and */
5524 /* Register variable[15]: Result */
5525 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
5526 /* Register variable[15]: Result */
5527 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
5528 }
5529 /* Register variable[15]: Result */
5530 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, 234); nit_exit(1);}
5531 /* Register variable[15]: Result */
5532 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
5533 /* Register variable[15]: Result */
5534 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
5535 variable[14] = variable[15];
5536 goto return_label305;
5537 return_label305: while(false);
5538 /* Register variable[11]: Result */
5539 variable[11] = variable[14];
5540 CALL_compiling_methods___MMType___compile_type_check(variable[10])(variable[10], variable[1] /*v*/, variable[11], variable[7] /*ap*/, variable[9] /*orig_type*/) /*MMType::compile_type_check*/;
5541 }
5542 /* Register variable[10]: Result */
5543 variable[10] = CALL_syntax_base___PParam___position( variable[7] /*ap*/)( variable[7] /*ap*/) /*PParam::position*/;
5544 /* Register variable[11]: Local variable */
5545 variable[11] = variable[3] /*params*/;
5546 /* Register variable[12]: Local variable */
5547 variable[12] = variable[10];
5548 /* Register variable[13]: Method return value and escape marker */
5549 /* Register variable[14]: Result */
5550 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5551 /* Ensure var variable[14]: Left 'and' operand*/
5552 if (UNTAG_Bool(variable[14])) { /* and */
5553 /* Register variable[14]: Result */
5554 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
5555 /* Register variable[14]: Result */
5556 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
5557 }
5558 /* Register variable[14]: Result */
5559 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, 234); nit_exit(1);}
5560 /* Register variable[14]: Result */
5561 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
5562 /* Register variable[14]: Result */
5563 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
5564 variable[13] = variable[14];
5565 goto return_label306;
5566 return_label306: while(false);
5567 /* Register variable[10]: Result */
5568 variable[10] = variable[13];
5569 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[8] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
5570 continue_301: while(0);
5571 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
5572 }
5573 break_301: while(0);
5574 /* Register variable[5]: Result */
5575 variable[5] = CALL_parser_nodes___ASignature___n_closure_decls(variable[0])(variable[0]) /*ASignature::n_closure_decls*/;
5576 /* Register variable[5]: Result */
5577 variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
5578 /* Register variable[5]: Result */
5579 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[5]) /*new Range[Int]*/;
5580 /* Register variable[5]: For iterator */
5581 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
5582 while (true) { /*for*/
5583 /* Register variable[6]: For 'is_ok' result */
5584 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
5585 if (!UNTAG_Bool(variable[6])) break; /*for*/
5586 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
5587 /* Register variable[7]: Local variable */
5588 variable[7] = variable[6];
5589 /* Register variable[8]: Local variable */
5590 /* Register variable[9]: Result */
5591 variable[9] = CALL_parser_nodes___ASignature___n_closure_decls(variable[0])(variable[0]) /*ASignature::n_closure_decls*/;
5592 /* Register variable[9]: Result */
5593 variable[9] = CALL_abstract_collection___MapRead_____bra(variable[9])(variable[9], variable[7] /*i*/) /*List::[]*/;
5594 variable[8] = variable[9];
5595 /* Register variable[9]: Local variable */
5596 /* Register variable[10]: Result */
5597 variable[10] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
5598 /* Register variable[11]: Result */
5599 variable[11] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
5600 /* Register variable[10]: Result */
5601 variable[10] = CALL_compiling_methods___CFunctionContext___register_closurevariable(variable[10])(variable[10], variable[11]) /*CFunctionContext::register_closurevariable*/;
5602 variable[9] = variable[10];
5603 /* Register variable[10]: Result */
5604 variable[10] = CALL_syntax_base___PClosureDecl___variable( variable[8] /*wd*/)( variable[8] /*wd*/) /*PClosureDecl::variable*/;
5605 /* Register variable[11]: Result */
5606 variable[11] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5607 /* Register variable[11]: Result */
5608 variable[11] = CALL_compiling_methods___NitMethodContext___method(variable[11])(variable[11]) /*NitMethodContext::method*/;
5609 /* Register variable[11]: Result */
5610 variable[11] = CALL_compiling_methods___MMMethod___closure_cname(variable[11])(variable[11], variable[7] /*i*/) /*MMMethod::closure_cname*/;
5611 CALL_compiling_methods___ClosureVariable___ctypename__eq(variable[10])(variable[10], variable[11]) /*ClosureVariable::ctypename=*/;
5612 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5613 /* Register variable[11]: Once String constant */
5614 if (once_value_308 != NIT_NULL) variable[11] = once_value_308;
5615 else {
5616 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5617 once_value_308 = variable[11];
5618 }
5619 /* Register variable[11]: Result */
5620 /* Ensure var variable[11]: super-string element*/
5621 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5622 /* Register variable[11]: Result */
5623 variable[11] = CALL_static_type___MMSignature___arity( variable[2] /*orig_sig*/)( variable[2] /*orig_sig*/) /*MMSignature::arity*/;
5624 /* Register variable[11]: Result */
5625 variable[11] = TAG_Int(UNTAG_Int(variable[11])+UNTAG_Int( variable[7] /*i*/));
5626 /* Register variable[12]: Local variable */
5627 variable[12] = variable[3] /*params*/;
5628 /* Register variable[13]: Local variable */
5629 variable[13] = variable[11];
5630 /* Register variable[14]: Method return value and escape marker */
5631 /* Register variable[15]: Result */
5632 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5633 /* Ensure var variable[15]: Left 'and' operand*/
5634 if (UNTAG_Bool(variable[15])) { /* and */
5635 /* Register variable[15]: Result */
5636 variable[15] = ATTR_array___AbstractArrayRead____length(variable[12]) /*AbstractArrayRead::_length*/;
5637 /* Register variable[15]: Result */
5638 variable[15] = TAG_Bool(UNTAG_Int( variable[13] /*index*/)<UNTAG_Int(variable[15]));
5639 }
5640 /* Register variable[15]: Result */
5641 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, 234); nit_exit(1);}
5642 /* Register variable[15]: Result */
5643 variable[15] = ATTR_array___Array____items(variable[12]) /*Array::_items*/;
5644 /* Register variable[15]: Result */
5645 variable[15] = UNBOX_NativeArray(variable[15])[UNTAG_Int( variable[13] /*index*/)];
5646 variable[14] = variable[15];
5647 goto return_label309;
5648 return_label309: while(false);
5649 /* Register variable[11]: Result */
5650 variable[11] = variable[14];
5651 /* Ensure var variable[11]: super-string element*/
5652 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5653 /* Register variable[11]: Once String constant */
5654 if (once_value_310 != NIT_NULL) variable[11] = once_value_310;
5655 else {
5656 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5657 once_value_310 = variable[11];
5658 }
5659 /* Register variable[11]: Result */
5660 /* Ensure var variable[11]: super-string element*/
5661 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
5662 /* Register variable[10]: Result */
5663 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
5664 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[9] /*cname*/, variable[10]) /*CompilerVisitor::add_assignment*/;
5665 continue_307: while(0);
5666 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
5667 }
5668 break_307: while(0);
5669 return_label300: while(false);
5670 tracehead = trace.prev;
5671 return;
5672 }
5673 val_t compiling_methods___AConcreteMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
5674 struct trace_t trace = {NULL, NULL, 716, LOCATE_compiling_methods___AConcreteMethPropdef___do_compile_inside};
5675 static val_t once_value_313 = NIT_NULL; /* Once value for string variable[9]*/
5676 static val_t once_value_314 = NIT_NULL; /* Once value for string variable[9]*/
5677 static val_t once_value_315 = NIT_NULL; /* Once value for string variable[9]*/
5678 static val_t once_value_316 = NIT_NULL; /* Once value for string variable[9]*/
5679 static val_t once_value_317 = NIT_NULL; /* Once value for string variable[9]*/
5680 static val_t once_value_318 = NIT_NULL; /* Once value for string variable[10]*/
5681 static val_t once_value_319 = NIT_NULL; /* Once value for string variable[10]*/
5682 static val_t once_value_320 = NIT_NULL; /* Once value for string variable[10]*/
5683 static val_t once_value_321 = NIT_NULL; /* Once value for string variable[9]*/
5684 static val_t once_value_322 = NIT_NULL; /* Once value for string variable[9]*/
5685 static val_t once_value_323 = NIT_NULL; /* Once value for string variable[9]*/
5686 static val_t once_value_324 = NIT_NULL; /* Once value for string variable[9]*/
5687 val_t variable[11];
5688 struct WBT_ **closurevariable = NULL;
5689 trace.prev = tracehead; tracehead = &trace;
5690 trace.file = LOCATE_compiling_methods;
5691 /* Register variable[0]: Local variable */
5692 variable[0] = self;
5693 /* Register variable[1]: Local variable */
5694 variable[1] = param0;
5695 /* Register variable[2]: Local variable */
5696 variable[2] = param1;
5697 /* Register variable[3]: Local variable */
5698 variable[3] = param2;
5699 /* Register variable[4]: Method return value and escape marker */
5700 /* Register variable[5]: Local variable */
5701 /* Register variable[6]: Result */
5702 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5703 variable[5] = variable[6];
5704 /* Register variable[6]: Result */
5705 variable[6] = NEW_NitMethodContext_compiling_methods___NitMethodContext___init( variable[2] /*method*/) /*new NitMethodContext*/;
5706 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::nmc=*/;
5707 /* Register variable[6]: Local variable */
5708 /* Register variable[7]: Result */
5709 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
5710 /* Register variable[8]: Result */
5711 variable[8] = CALL_syntax_base___AMethPropdef___self_var(variable[0])(variable[0]) /*AMethPropdef::self_var*/;
5712 /* Register variable[7]: Result */
5713 variable[7] = CALL_compiling_methods___CFunctionContext___register_variable(variable[7])(variable[7], variable[8]) /*CFunctionContext::register_variable*/;
5714 variable[6] = variable[7];
5715 /* Register variable[7]: Local variable */
5716 variable[7] = variable[3] /*params*/;
5717 /* Register variable[8]: Local variable */
5718 variable[8] = TAG_Int(0);
5719 /* Register variable[9]: Method return value and escape marker */
5720 /* Register variable[10]: Result */
5721 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
5722 /* Ensure var variable[10]: Left 'and' operand*/
5723 if (UNTAG_Bool(variable[10])) { /* and */
5724 /* Register variable[10]: Result */
5725 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
5726 /* Register variable[10]: Result */
5727 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
5728 }
5729 /* Register variable[10]: Result */
5730 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, 234); nit_exit(1);}
5731 /* Register variable[10]: Result */
5732 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
5733 /* Register variable[10]: Result */
5734 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
5735 variable[9] = variable[10];
5736 goto return_label312;
5737 return_label312: while(false);
5738 /* Register variable[7]: Result */
5739 variable[7] = variable[9];
5740 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*selfcname*/, variable[7]) /*CompilerVisitor::add_assignment*/;
5741 CALL_abstract_collection___IndexedCollection___shift( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArray::shift*/;
5742 /* Register variable[7]: Result */
5743 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5744 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[ParamVariable]*/ /* Ensure var: Literal array*/;
5745 /* Register variable[9]: Result */
5746 variable[9] = CALL_syntax_base___AMethPropdef___self_var(variable[0])(variable[0]) /*AMethPropdef::self_var*/;
5747 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5748 /* Register variable[8]: Result */
5749 CALL_compiling_methods___NitMethodContext___method_params__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::method_params=*/;
5750 /* Register variable[7]: Result */
5751 variable[7] = CALL_parser_nodes___AMethPropdef___n_signature(variable[0])(variable[0]) /*AMethPropdef::n_signature*/;
5752 /* Register variable[7]: Result */
5753 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::==*/)))))));
5754 if (UNTAG_Bool(variable[7])) { /*if*/
5755 /* Register variable[7]: Local variable */
5756 /* Register variable[8]: Result */
5757 variable[8] = CALL_abstractmetamodel___MMLocalProperty___global( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::global*/;
5758 /* Register variable[8]: Result */
5759 variable[8] = CALL_abstractmetamodel___MMGlobalProperty___intro(variable[8])(variable[8]) /*MMGlobalProperty::intro*/;
5760 variable[7] = variable[8];
5761 /* Register variable[8]: Local variable */
5762 /* Register variable[9]: Result */
5763 variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
5764 /* Register variable[9]: Result */
5765 variable[9] = CALL_static_type___MMSignature___recv(variable[9])(variable[9]) /*MMSignature::recv*/;
5766 /* Register variable[9]: Result */
5767 variable[9] = CALL_static_type___MMLocalProperty___signature_for( variable[7] /*orig_meth*/)( variable[7] /*orig_meth*/, variable[9]) /*MMLocalProperty::signature_for*/;
5768 variable[8] = variable[9];
5769 /* Register variable[9]: Result */
5770 variable[9] = CALL_parser_nodes___AMethPropdef___n_signature(variable[0])(variable[0]) /*AMethPropdef::n_signature*/;
5771 CALL_compiling_methods___PSignature___compile_parameters(variable[9])(variable[9], variable[1] /*v*/, variable[8] /*orig_sig*/, variable[3] /*params*/) /*PSignature::compile_parameters*/;
5772 }
5773 /* Register variable[7]: Local variable */
5774 variable[7] = NIT_NULL /*null*/;
5775 /* Register variable[8]: Result */
5776 variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
5777 if (UNTAG_Bool(variable[8])) { /*if*/
5778 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5779 /* Register variable[9]: Once String constant */
5780 if (once_value_313 != NIT_NULL) variable[9] = once_value_313;
5781 else {
5782 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("VAL2OBJ("), TAG_Int(8)) /*new String*/;
5783 once_value_313 = variable[9];
5784 }
5785 /* Register variable[9]: Result */
5786 /* Ensure var variable[9]: super-string element*/
5787 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5788 variable[9] = variable[6] /*selfcname*/ /* Ensure var: super-string element*/;
5789 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5790 /* Register variable[9]: Once String constant */
5791 if (once_value_314 != NIT_NULL) variable[9] = once_value_314;
5792 else {
5793 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")->vft["), TAG_Int(7)) /*new String*/;
5794 once_value_314 = variable[9];
5795 }
5796 /* Register variable[9]: Result */
5797 /* Ensure var variable[9]: super-string element*/
5798 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5799 /* Register variable[9]: Result */
5800 variable[9] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
5801 /* Register variable[9]: Result */
5802 variable[9] = CALL_abstractmetamodel___MMLocalClass___global(variable[9])(variable[9]) /*MMLocalClass::global*/;
5803 /* Register variable[9]: Result */
5804 variable[9] = CALL_compiling_base___MMGlobalClass___init_table_pos_id(variable[9])(variable[9]) /*MMGlobalClass::init_table_pos_id*/;
5805 /* Ensure var variable[9]: super-string element*/
5806 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5807 /* Register variable[9]: Once String constant */
5808 if (once_value_315 != NIT_NULL) variable[9] = once_value_315;
5809 else {
5810 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("].i"), TAG_Int(3)) /*new String*/;
5811 once_value_315 = variable[9];
5812 }
5813 /* Register variable[9]: Result */
5814 /* Ensure var variable[9]: super-string element*/
5815 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5816 /* Register variable[8]: Result */
5817 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5818 variable[7] = variable[8] /*itpos=*/;
5819 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5820 /* Register variable[9]: Once String constant */
5821 if (once_value_316 != NIT_NULL) variable[9] = once_value_316;
5822 else {
5823 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if (init_table["), TAG_Int(15)) /*new String*/;
5824 once_value_316 = variable[9];
5825 }
5826 /* Register variable[9]: Result */
5827 /* Ensure var variable[9]: super-string element*/
5828 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5829 variable[9] = variable[7] /*itpos*/ /* Ensure var: super-string element*/;
5830 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5831 /* Register variable[9]: Once String constant */
5832 if (once_value_317 != NIT_NULL) variable[9] = once_value_317;
5833 else {
5834 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("]) return;"), TAG_Int(10)) /*new String*/;
5835 once_value_317 = variable[9];
5836 }
5837 /* Register variable[9]: Result */
5838 /* Ensure var variable[9]: super-string element*/
5839 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5840 /* Register variable[8]: Result */
5841 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5842 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
5843 }
5844 /* Register variable[8]: Result */
5845 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5846 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5847 /* Register variable[10]: Once String constant */
5848 if (once_value_318 != NIT_NULL) variable[10] = once_value_318;
5849 else {
5850 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("return_label"), TAG_Int(12)) /*new String*/;
5851 once_value_318 = variable[10];
5852 }
5853 /* Register variable[10]: Result */
5854 /* Ensure var variable[10]: super-string element*/
5855 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
5856 /* Register variable[10]: Result */
5857 variable[10] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
5858 /* Ensure var variable[10]: super-string element*/
5859 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
5860 /* Register variable[10]: Once String constant */
5861 if (once_value_319 != NIT_NULL) variable[10] = once_value_319;
5862 else {
5863 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5864 once_value_319 = variable[10];
5865 }
5866 /* Register variable[10]: Result */
5867 /* Ensure var variable[10]: super-string element*/
5868 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
5869 /* Register variable[9]: Result */
5870 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
5871 CALL_compiling_methods___NitMethodContext___return_label__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_label=*/;
5872 /* Register variable[8]: Result */
5873 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5874 /* Register variable[9]: Result */
5875 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
5876 /* Register variable[10]: Once String constant */
5877 if (once_value_320 != NIT_NULL) variable[10] = once_value_320;
5878 else {
5879 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("Method return value and escape marker"), TAG_Int(37)) /*new String*/;
5880 once_value_320 = variable[10];
5881 }
5882 /* Register variable[10]: Result */
5883 /* Register variable[9]: Result */
5884 variable[9] = CALL_compiling_methods___CFunctionContext___get_var(variable[9])(variable[9], variable[10]) /*CFunctionContext::get_var*/;
5885 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
5886 /* Register variable[8]: Result */
5887 variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
5888 if (UNTAG_Bool(variable[8])) { /*if*/
5889 CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/, NIT_NULL /*null*/) /*CompilerVisitor::invoke_super_init_calls_after*/;
5890 }
5891 /* Register variable[8]: Result */
5892 variable[8] = CALL_parser_nodes___AConcreteMethPropdef___n_block(variable[0])(variable[0]) /*AConcreteMethPropdef::n_block*/;
5893 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::compile_stmt*/;
5894 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5895 /* Register variable[9]: Once String constant */
5896 if (once_value_321 != NIT_NULL) variable[9] = once_value_321;
5897 else {
5898 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
5899 once_value_321 = variable[9];
5900 }
5901 /* Register variable[9]: Result */
5902 /* Ensure var variable[9]: super-string element*/
5903 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5904 /* Register variable[9]: Result */
5905 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5906 /* Register variable[9]: Result */
5907 variable[9] = CALL_compiling_methods___NitMethodContext___return_label(variable[9])(variable[9]) /*NitMethodContext::return_label*/;
5908 /* Ensure var variable[9]: super-string element*/
5909 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5910 /* Register variable[9]: Once String constant */
5911 if (once_value_322 != NIT_NULL) variable[9] = once_value_322;
5912 else {
5913 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
5914 once_value_322 = variable[9];
5915 }
5916 /* Register variable[9]: Result */
5917 /* Ensure var variable[9]: super-string element*/
5918 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5919 /* Register variable[8]: Result */
5920 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5921 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
5922 /* Register variable[8]: Result */
5923 variable[8] = TAG_Bool((variable[0]==NIT_NULL) || VAL_ISA(variable[0], COLOR_AConcreteInitPropdef, ID_AConcreteInitPropdef)) /*cast AConcreteInitPropdef*/;
5924 if (UNTAG_Bool(variable[8])) { /*if*/
5925 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
5926 /* Register variable[9]: Once String constant */
5927 if (once_value_323 != NIT_NULL) variable[9] = once_value_323;
5928 else {
5929 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("init_table["), TAG_Int(11)) /*new String*/;
5930 once_value_323 = variable[9];
5931 }
5932 /* Register variable[9]: Result */
5933 /* Ensure var variable[9]: super-string element*/
5934 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5935 variable[9] = variable[7] /*itpos*/ /* Ensure var: super-string element*/;
5936 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5937 /* Register variable[9]: Once String constant */
5938 if (once_value_324 != NIT_NULL) variable[9] = once_value_324;
5939 else {
5940 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("] = 1;"), TAG_Int(6)) /*new String*/;
5941 once_value_324 = variable[9];
5942 }
5943 /* Register variable[9]: Result */
5944 /* Ensure var variable[9]: super-string element*/
5945 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
5946 /* Register variable[8]: Result */
5947 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
5948 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
5949 }
5950 /* Register variable[8]: Local variable */
5951 variable[8] = NIT_NULL /*null*/;
5952 /* Register variable[9]: Result */
5953 variable[9] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
5954 /* Register variable[9]: Result */
5955 variable[9] = CALL_static_type___MMSignature___return_type(variable[9])(variable[9]) /*MMSignature::return_type*/;
5956 /* Register variable[9]: Result */
5957 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::==*/)))))));
5958 if (UNTAG_Bool(variable[9])) { /*if*/
5959 /* Register variable[9]: Result */
5960 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
5961 /* Register variable[9]: Result */
5962 variable[9] = CALL_compiling_methods___NitMethodContext___return_value(variable[9])(variable[9]) /*NitMethodContext::return_value*/;
5963 variable[8] = variable[9] /*ret=*/;
5964 }
5965 CALL_compiling_methods___CompilerVisitor___nmc__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*old_nmc*/) /*CompilerVisitor::nmc=*/;
5966 variable[4] = variable[8] /*ret*/;
5967 goto return_label311;
5968 return_label311: while(false);
5969 tracehead = trace.prev;
5970 return variable[4];
5971 }
5972 val_t compiling_methods___ADeferredMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
5973 struct trace_t trace = {NULL, NULL, 761, LOCATE_compiling_methods___ADeferredMethPropdef___do_compile_inside};
5974 static val_t once_value_326 = NIT_NULL; /* Once value for string variable[5]*/
5975 static val_t once_value_327 = NIT_NULL; /* Once value for string variable[5]*/
5976 static val_t once_value_328 = NIT_NULL; /* Once value for string variable[5]*/
5977 val_t variable[6];
5978 struct WBT_ **closurevariable = NULL;
5979 trace.prev = tracehead; tracehead = &trace;
5980 trace.file = LOCATE_compiling_methods;
5981 /* Register variable[0]: Local variable */
5982 variable[0] = self;
5983 /* Register variable[1]: Local variable */
5984 variable[1] = param0;
5985 /* Register variable[2]: Local variable */
5986 variable[2] = param1;
5987 /* Register variable[3]: Local variable */
5988 variable[3] = param2;
5989 /* Register variable[4]: Method return value and escape marker */
5990 /* Register variable[5]: Once String constant */
5991 if (once_value_326 != NIT_NULL) variable[5] = once_value_326;
5992 else {
5993 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Deferred method called\");"), TAG_Int(42)) /*new String*/;
5994 once_value_326 = variable[5];
5995 }
5996 /* Register variable[5]: Result */
5997 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
5998 /* Register variable[5]: Result */
5999 variable[5] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
6000 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
6001 /* Register variable[5]: Once String constant */
6002 if (once_value_327 != NIT_NULL) variable[5] = once_value_327;
6003 else {
6004 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("nit_exit(1);"), TAG_Int(12)) /*new String*/;
6005 once_value_327 = variable[5];
6006 }
6007 /* Register variable[5]: Result */
6008 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
6009 /* Register variable[5]: Result */
6010 variable[5] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
6011 /* Register variable[5]: Result */
6012 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
6013 /* Register variable[5]: Result */
6014 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::==*/)))))));
6015 if (UNTAG_Bool(variable[5])) { /*if*/
6016 /* Register variable[5]: Once String constant */
6017 if (once_value_328 != NIT_NULL) variable[5] = once_value_328;
6018 else {
6019 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL"), TAG_Int(8)) /*new String*/;
6020 once_value_328 = variable[5];
6021 }
6022 /* Register variable[5]: Result */
6023 variable[4] = variable[5];
6024 goto return_label325;
6025 } else { /*if*/
6026 variable[4] = NIT_NULL /*null*/;
6027 goto return_label325;
6028 }
6029 return_label325: while(false);
6030 tracehead = trace.prev;
6031 return variable[4];
6032 }
6033 val_t compiling_methods___AExternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
6034 struct trace_t trace = {NULL, NULL, 775, LOCATE_compiling_methods___AExternMethPropdef___do_compile_inside};
6035 static val_t once_value_330 = NIT_NULL; /* Once value for string variable[7]*/
6036 static val_t once_value_331 = NIT_NULL; /* Once value for string variable[7]*/
6037 static val_t once_value_332 = NIT_NULL; /* Once value for string variable[7]*/
6038 static val_t once_value_333 = NIT_NULL; /* Once value for string variable[7]*/
6039 static val_t once_value_334 = NIT_NULL; /* Once value for string variable[7]*/
6040 static val_t once_value_335 = NIT_NULL; /* Once value for string variable[7]*/
6041 static val_t once_value_336 = NIT_NULL; /* Once value for string variable[8]*/
6042 static val_t once_value_337 = NIT_NULL; /* Once value for string variable[8]*/
6043 static val_t once_value_338 = NIT_NULL; /* Once value for string variable[8]*/
6044 static val_t once_value_342 = NIT_NULL; /* Once value for string variable[10]*/
6045 static val_t once_value_343 = NIT_NULL; /* Once value for string variable[10]*/
6046 static val_t once_value_344 = NIT_NULL; /* Once value for string variable[10]*/
6047 static val_t once_value_345 = NIT_NULL; /* Once value for string variable[10]*/
6048 static val_t once_value_346 = NIT_NULL; /* Once value for string variable[10]*/
6049 static val_t once_value_347 = NIT_NULL; /* Once value for string variable[10]*/
6050 val_t variable[17];
6051 struct WBT_ **closurevariable = NULL;
6052 trace.prev = tracehead; tracehead = &trace;
6053 trace.file = LOCATE_compiling_methods;
6054 /* Register variable[0]: Local variable */
6055 variable[0] = self;
6056 /* Register variable[1]: Local variable */
6057 variable[1] = param0;
6058 /* Register variable[2]: Local variable */
6059 variable[2] = param1;
6060 /* Register variable[3]: Local variable */
6061 variable[3] = param2;
6062 /* Register variable[4]: Method return value and escape marker */
6063 /* Register variable[5]: Local variable */
6064 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6065 /* Register variable[7]: Once String constant */
6066 if (once_value_330 != NIT_NULL) variable[7] = once_value_330;
6067 else {
6068 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6069 once_value_330 = variable[7];
6070 }
6071 /* Register variable[7]: Result */
6072 /* Ensure var variable[7]: super-string element*/
6073 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6074 /* Register variable[7]: Result */
6075 variable[7] = CALL_abstractmetamodel___MMLocalProperty___module( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::module*/;
6076 /* Register variable[7]: Result */
6077 variable[7] = CALL_abstractmetamodel___MMModule___name(variable[7])(variable[7]) /*MMModule::name*/;
6078 /* Ensure var variable[7]: super-string element*/
6079 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6080 /* Register variable[7]: Once String constant */
6081 if (once_value_331 != NIT_NULL) variable[7] = once_value_331;
6082 else {
6083 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
6084 once_value_331 = variable[7];
6085 }
6086 /* Register variable[7]: Result */
6087 /* Ensure var variable[7]: super-string element*/
6088 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6089 /* Register variable[7]: Result */
6090 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
6091 /* Register variable[7]: Result */
6092 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
6093 /* Ensure var variable[7]: super-string element*/
6094 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6095 /* Register variable[7]: Once String constant */
6096 if (once_value_332 != NIT_NULL) variable[7] = once_value_332;
6097 else {
6098 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
6099 once_value_332 = variable[7];
6100 }
6101 /* Register variable[7]: Result */
6102 /* Ensure var variable[7]: super-string element*/
6103 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6104 /* Register variable[7]: Result */
6105 variable[7] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
6106 /* Register variable[7]: Result */
6107 variable[7] = CALL_abstractmetamodel___MMLocalClass___name(variable[7])(variable[7]) /*MMLocalClass::name*/;
6108 /* Ensure var variable[7]: super-string element*/
6109 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6110 /* Register variable[7]: Once String constant */
6111 if (once_value_333 != NIT_NULL) variable[7] = once_value_333;
6112 else {
6113 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
6114 once_value_333 = variable[7];
6115 }
6116 /* Register variable[7]: Result */
6117 /* Ensure var variable[7]: super-string element*/
6118 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6119 /* Register variable[7]: Result */
6120 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
6121 /* Ensure var variable[7]: super-string element*/
6122 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6123 /* Register variable[7]: Once String constant */
6124 if (once_value_334 != NIT_NULL) variable[7] = once_value_334;
6125 else {
6126 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
6127 once_value_334 = variable[7];
6128 }
6129 /* Register variable[7]: Result */
6130 /* Ensure var variable[7]: super-string element*/
6131 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6132 /* Register variable[7]: Result */
6133 variable[7] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
6134 /* Register variable[7]: Result */
6135 variable[7] = CALL_static_type___MMSignature___arity(variable[7])(variable[7]) /*MMSignature::arity*/;
6136 /* Ensure var variable[7]: super-string element*/
6137 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
6138 /* Register variable[7]: Once String constant */
6139 if (once_value_335 != NIT_NULL) variable[7] = once_value_335;
6140 else {
6141 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6142 once_value_335 = variable[7];
6143 }
6144 /* Register variable[7]: Result */
6145 /* Ensure var variable[7]: super-string element*/
6146 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
6147 /* Register variable[6]: Result */
6148 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
6149 variable[5] = variable[6];
6150 /* Register variable[6]: Result */
6151 variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[0])(variable[0]) /*AExternMethPropdef::n_extern*/;
6152 /* Register variable[6]: Result */
6153 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::==*/)))))));
6154 if (UNTAG_Bool(variable[6])) { /*if*/
6155 /* Register variable[6]: Result */
6156 variable[6] = CALL_parser_nodes___AExternMethPropdef___n_extern(variable[0])(variable[0]) /*AExternMethPropdef::n_extern*/;
6157 /* Register variable[6]: Result */
6158 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
6159 variable[5] = variable[6] /*ename=*/;
6160 /* Register variable[6]: Result */
6161 variable[6] = CALL_abstract_collection___Collection___length( variable[5] /*ename*/)( variable[5] /*ename*/) /*AbstractArrayRead::length*/;
6162 /* Register variable[6]: Result */
6163 variable[6] = TAG_Int(UNTAG_Int(variable[6])-UNTAG_Int( TAG_Int(2)));
6164 /* Register variable[6]: Result */
6165 variable[6] = CALL_string___AbstractString___substring( variable[5] /*ename*/)( variable[5] /*ename*/, TAG_Int(1), variable[6]) /*AbstractString::substring*/;
6166 variable[5] = variable[6] /*ename=*/;
6167 }
6168 /* Register variable[6]: Local variable */
6169 /* Register variable[7]: Result */
6170 variable[7] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
6171 variable[6] = variable[7];
6172 /* Register variable[7]: Result */
6173 variable[7] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArrayRead::length*/;
6174 /* Register variable[8]: Result */
6175 variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
6176 /* Register variable[8]: Result */
6177 variable[8] = TAG_Int(UNTAG_Int(variable[8])+UNTAG_Int( TAG_Int(1)));
6178 /* Register variable[7]: Result */
6179 variable[7] = TAG_Bool((variable[7])!=(variable[8]));
6180 if (UNTAG_Bool(variable[7])) { /*if*/
6181 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6182 /* Register variable[8]: Once String constant */
6183 if (once_value_336 != NIT_NULL) variable[8] = once_value_336;
6184 else {
6185 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("par:"), TAG_Int(4)) /*new String*/;
6186 once_value_336 = variable[8];
6187 }
6188 /* Register variable[8]: Result */
6189 /* Ensure var variable[8]: super-string element*/
6190 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
6191 /* Register variable[8]: Result */
6192 variable[8] = CALL_abstract_collection___Collection___length( variable[3] /*params*/)( variable[3] /*params*/) /*AbstractArrayRead::length*/;
6193 /* Ensure var variable[8]: super-string element*/
6194 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
6195 /* Register variable[8]: Once String constant */
6196 if (once_value_337 != NIT_NULL) variable[8] = once_value_337;
6197 else {
6198 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" sig:"), TAG_Int(5)) /*new String*/;
6199 once_value_337 = variable[8];
6200 }
6201 /* Register variable[8]: Result */
6202 /* Ensure var variable[8]: super-string element*/
6203 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
6204 /* Register variable[8]: Result */
6205 variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
6206 /* Ensure var variable[8]: super-string element*/
6207 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
6208 /* Register variable[8]: Once String constant */
6209 if (once_value_338 != NIT_NULL) variable[8] = once_value_338;
6210 else {
6211 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6212 once_value_338 = variable[8];
6213 }
6214 /* Register variable[8]: Result */
6215 /* Ensure var variable[8]: super-string element*/
6216 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
6217 /* Register variable[7]: Result */
6218 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
6219 CALL_parser_prod___PNode___printl(variable[0])(variable[0], variable[7]) /*PNode::printl*/;
6220 }
6221 /* Register variable[7]: Local variable */
6222 /* Register variable[8]: Result */
6223 variable[8] = NEW_Array_array___Array___init() /*new Array[String]*/;
6224 variable[7] = variable[8];
6225 /* Register variable[8]: Result */
6226 variable[8] = CALL_static_type___MMSignature___recv( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::recv*/;
6227 /* Register variable[9]: Local variable */
6228 variable[9] = variable[3] /*params*/;
6229 /* Register variable[10]: Local variable */
6230 variable[10] = TAG_Int(0);
6231 /* Register variable[11]: Method return value and escape marker */
6232 /* Register variable[12]: Result */
6233 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6234 /* Ensure var variable[12]: Left 'and' operand*/
6235 if (UNTAG_Bool(variable[12])) { /* and */
6236 /* Register variable[12]: Result */
6237 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
6238 /* Register variable[12]: Result */
6239 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
6240 }
6241 /* Register variable[12]: Result */
6242 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, 234); nit_exit(1);}
6243 /* Register variable[12]: Result */
6244 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
6245 /* Register variable[12]: Result */
6246 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
6247 variable[11] = variable[12];
6248 goto return_label339;
6249 return_label339: while(false);
6250 /* Register variable[9]: Result */
6251 variable[9] = variable[11];
6252 /* Register variable[8]: Result */
6253 variable[8] = CALL_compiling_base___MMType___unboxtype(variable[8])(variable[8], variable[9]) /*MMType::unboxtype*/;
6254 CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[8]) /*AbstractArray::add*/;
6255 /* Register variable[8]: Result */
6256 variable[8] = CALL_static_type___MMSignature___arity( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::arity*/;
6257 /* Register variable[8]: Result */
6258 variable[8] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[8]) /*new Range[Int]*/;
6259 /* Register variable[8]: For iterator */
6260 variable[8] = CALL_abstract_collection___Collection___iterator(variable[8])(variable[8]) /*Range::iterator*/;
6261 while (true) { /*for*/
6262 /* Register variable[9]: For 'is_ok' result */
6263 variable[9] = CALL_abstract_collection___Iterator___is_ok(variable[8])(variable[8]) /*Iterator::is_ok*/;
6264 if (!UNTAG_Bool(variable[9])) break; /*for*/
6265 variable[9] = CALL_abstract_collection___Iterator___item(variable[8])(variable[8]) /*Iterator::item*/ /* Ensure var: For item*/;
6266 /* Register variable[10]: Local variable */
6267 variable[10] = variable[9];
6268 /* Register variable[11]: Result */
6269 variable[11] = CALL_static_type___MMSignature_____bra( variable[6] /*sig*/)( variable[6] /*sig*/, variable[10] /*i*/) /*MMSignature::[]*/;
6270 /* Register variable[12]: Result */
6271 variable[12] = TAG_Int(UNTAG_Int( variable[10] /*i*/)+UNTAG_Int( TAG_Int(1)));
6272 /* Register variable[13]: Local variable */
6273 variable[13] = variable[3] /*params*/;
6274 /* Register variable[14]: Local variable */
6275 variable[14] = variable[12];
6276 /* Register variable[15]: Method return value and escape marker */
6277 /* Register variable[16]: Result */
6278 variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6279 /* Ensure var variable[16]: Left 'and' operand*/
6280 if (UNTAG_Bool(variable[16])) { /* and */
6281 /* Register variable[16]: Result */
6282 variable[16] = ATTR_array___AbstractArrayRead____length(variable[13]) /*AbstractArrayRead::_length*/;
6283 /* Register variable[16]: Result */
6284 variable[16] = TAG_Bool(UNTAG_Int( variable[14] /*index*/)<UNTAG_Int(variable[16]));
6285 }
6286 /* Register variable[16]: Result */
6287 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, 234); nit_exit(1);}
6288 /* Register variable[16]: Result */
6289 variable[16] = ATTR_array___Array____items(variable[13]) /*Array::_items*/;
6290 /* Register variable[16]: Result */
6291 variable[16] = UNBOX_NativeArray(variable[16])[UNTAG_Int( variable[14] /*index*/)];
6292 variable[15] = variable[16];
6293 goto return_label341;
6294 return_label341: while(false);
6295 /* Register variable[12]: Result */
6296 variable[12] = variable[15];
6297 /* Register variable[11]: Result */
6298 variable[11] = CALL_compiling_base___MMType___unboxtype(variable[11])(variable[11], variable[12]) /*MMType::unboxtype*/;
6299 CALL_abstract_collection___SimpleCollection___add( variable[7] /*args*/)( variable[7] /*args*/, variable[11]) /*AbstractArray::add*/;
6300 continue_340: while(0);
6301 CALL_abstract_collection___Iterator___next(variable[8])(variable[8]) /*Iterator::next*/;
6302 }
6303 break_340: while(0);
6304 /* Register variable[8]: Local variable */
6305 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6306 /* Register variable[10]: Once String constant */
6307 if (once_value_342 != NIT_NULL) variable[10] = once_value_342;
6308 else {
6309 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6310 once_value_342 = variable[10];
6311 }
6312 /* Register variable[10]: Result */
6313 /* Ensure var variable[10]: super-string element*/
6314 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6315 variable[10] = variable[5] /*ename*/ /* Ensure var: super-string element*/;
6316 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6317 /* Register variable[10]: Once String constant */
6318 if (once_value_343 != NIT_NULL) variable[10] = once_value_343;
6319 else {
6320 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
6321 once_value_343 = variable[10];
6322 }
6323 /* Register variable[10]: Result */
6324 /* Ensure var variable[10]: super-string element*/
6325 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6326 /* Register variable[10]: Once String constant */
6327 if (once_value_344 != NIT_NULL) variable[10] = once_value_344;
6328 else {
6329 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
6330 once_value_344 = variable[10];
6331 }
6332 /* Register variable[10]: Result */
6333 /* Register variable[10]: Result */
6334 variable[10] = CALL_string___Collection___join( variable[7] /*args*/)( variable[7] /*args*/, variable[10]) /*Collection::join*/;
6335 /* Ensure var variable[10]: super-string element*/
6336 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6337 /* Register variable[10]: Once String constant */
6338 if (once_value_345 != NIT_NULL) variable[10] = once_value_345;
6339 else {
6340 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
6341 once_value_345 = variable[10];
6342 }
6343 /* Register variable[10]: Result */
6344 /* Ensure var variable[10]: super-string element*/
6345 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6346 /* Register variable[9]: Result */
6347 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
6348 variable[8] = variable[9];
6349 /* Register variable[9]: Result */
6350 variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
6351 /* Register variable[9]: Result */
6352 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::==*/)))))));
6353 if (UNTAG_Bool(variable[9])) { /*if*/
6354 /* Register variable[9]: Result */
6355 variable[9] = CALL_static_type___MMSignature___return_type( variable[6] /*sig*/)( variable[6] /*sig*/) /*MMSignature::return_type*/;
6356 /* Register variable[9]: Result */
6357 variable[9] = CALL_compiling_base___MMType___boxtype(variable[9])(variable[9], variable[8] /*s*/) /*MMType::boxtype*/;
6358 variable[4] = variable[9];
6359 goto return_label329;
6360 } else { /*if*/
6361 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6362 /* Register variable[10]: Once String constant */
6363 if (once_value_346 != NIT_NULL) variable[10] = once_value_346;
6364 else {
6365 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6366 once_value_346 = variable[10];
6367 }
6368 /* Register variable[10]: Result */
6369 /* Ensure var variable[10]: super-string element*/
6370 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6371 variable[10] = variable[8] /*s*/ /* Ensure var: super-string element*/;
6372 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6373 /* Register variable[10]: Once String constant */
6374 if (once_value_347 != NIT_NULL) variable[10] = once_value_347;
6375 else {
6376 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
6377 once_value_347 = variable[10];
6378 }
6379 /* Register variable[10]: Result */
6380 /* Ensure var variable[10]: super-string element*/
6381 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
6382 /* Register variable[9]: Result */
6383 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
6384 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
6385 variable[4] = NIT_NULL /*null*/;
6386 goto return_label329;
6387 }
6388 return_label329: while(false);
6389 tracehead = trace.prev;
6390 return variable[4];
6391 }
6392 val_t compiling_methods___AInternMethPropdef___do_compile_inside(val_t self, val_t param0, val_t param1, val_t param2) {
6393 struct trace_t trace = {NULL, NULL, 802, LOCATE_compiling_methods___AInternMethPropdef___do_compile_inside};
6394 static val_t once_value_349; static int once_bool_349; /* Once value for variable[8]*/
6395 static val_t once_value_350 = NIT_NULL; /* Once value for string variable[8]*/
6396 static val_t once_value_351; static int once_bool_351; /* Once value for variable[8]*/
6397 static val_t once_value_352 = NIT_NULL; /* Once value for string variable[8]*/
6398 static val_t once_value_353 = NIT_NULL; /* Once value for string variable[9]*/
6399 static val_t once_value_355 = NIT_NULL; /* Once value for string variable[9]*/
6400 static val_t once_value_356; static int once_bool_356; /* Once value for variable[8]*/
6401 static val_t once_value_357 = NIT_NULL; /* Once value for string variable[8]*/
6402 static val_t once_value_358 = NIT_NULL; /* Once value for string variable[9]*/
6403 static val_t once_value_360 = NIT_NULL; /* Once value for string variable[9]*/
6404 static val_t once_value_361; static int once_bool_361; /* Once value for variable[8]*/
6405 static val_t once_value_362 = NIT_NULL; /* Once value for string variable[8]*/
6406 static val_t once_value_363 = NIT_NULL; /* Once value for string variable[9]*/
6407 static val_t once_value_365 = NIT_NULL; /* Once value for string variable[9]*/
6408 static val_t once_value_366; static int once_bool_366; /* Once value for variable[8]*/
6409 static val_t once_value_367 = NIT_NULL; /* Once value for string variable[8]*/
6410 static val_t once_value_368 = NIT_NULL; /* Once value for string variable[9]*/
6411 static val_t once_value_370 = NIT_NULL; /* Once value for string variable[9]*/
6412 static val_t once_value_371; static int once_bool_371; /* Once value for variable[8]*/
6413 static val_t once_value_372 = NIT_NULL; /* Once value for string variable[8]*/
6414 static val_t once_value_373 = NIT_NULL; /* Once value for string variable[9]*/
6415 static val_t once_value_375 = NIT_NULL; /* Once value for string variable[9]*/
6416 static val_t once_value_376; static int once_bool_376; /* Once value for variable[8]*/
6417 static val_t once_value_377 = NIT_NULL; /* Once value for string variable[8]*/
6418 static val_t once_value_378 = NIT_NULL; /* Once value for string variable[9]*/
6419 static val_t once_value_380 = NIT_NULL; /* Once value for string variable[9]*/
6420 static val_t once_value_381; static int once_bool_381; /* Once value for variable[8]*/
6421 static val_t once_value_382 = NIT_NULL; /* Once value for string variable[8]*/
6422 static val_t once_value_383 = NIT_NULL; /* Once value for string variable[9]*/
6423 static val_t once_value_385 = NIT_NULL; /* Once value for string variable[9]*/
6424 static val_t once_value_386; static int once_bool_386; /* Once value for variable[8]*/
6425 static val_t once_value_387 = NIT_NULL; /* Once value for string variable[8]*/
6426 static val_t once_value_388 = NIT_NULL; /* Once value for string variable[9]*/
6427 static val_t once_value_390 = NIT_NULL; /* Once value for string variable[9]*/
6428 static val_t once_value_392 = NIT_NULL; /* Once value for string variable[9]*/
6429 static val_t once_value_393; static int once_bool_393; /* Once value for variable[8]*/
6430 static val_t once_value_394 = NIT_NULL; /* Once value for string variable[8]*/
6431 static val_t once_value_395 = NIT_NULL; /* Once value for string variable[9]*/
6432 static val_t once_value_397 = NIT_NULL; /* Once value for string variable[9]*/
6433 static val_t once_value_399 = NIT_NULL; /* Once value for string variable[9]*/
6434 static val_t once_value_400; static int once_bool_400; /* Once value for variable[8]*/
6435 static val_t once_value_401 = NIT_NULL; /* Once value for string variable[8]*/
6436 static val_t once_value_402 = NIT_NULL; /* Once value for string variable[9]*/
6437 static val_t once_value_404 = NIT_NULL; /* Once value for string variable[9]*/
6438 static val_t once_value_406 = NIT_NULL; /* Once value for string variable[9]*/
6439 static val_t once_value_407; static int once_bool_407; /* Once value for variable[8]*/
6440 static val_t once_value_408 = NIT_NULL; /* Once value for string variable[8]*/
6441 static val_t once_value_409 = NIT_NULL; /* Once value for string variable[9]*/
6442 static val_t once_value_411 = NIT_NULL; /* Once value for string variable[9]*/
6443 static val_t once_value_413 = NIT_NULL; /* Once value for string variable[9]*/
6444 static val_t once_value_414; static int once_bool_414; /* Once value for variable[8]*/
6445 static val_t once_value_415 = NIT_NULL; /* Once value for string variable[8]*/
6446 static val_t once_value_416 = NIT_NULL; /* Once value for string variable[9]*/
6447 static val_t once_value_418 = NIT_NULL; /* Once value for string variable[9]*/
6448 static val_t once_value_420 = NIT_NULL; /* Once value for string variable[9]*/
6449 static val_t once_value_421; static int once_bool_421; /* Once value for variable[8]*/
6450 static val_t once_value_422 = NIT_NULL; /* Once value for string variable[8]*/
6451 static val_t once_value_423 = NIT_NULL; /* Once value for string variable[9]*/
6452 static val_t once_value_425 = NIT_NULL; /* Once value for string variable[9]*/
6453 static val_t once_value_427 = NIT_NULL; /* Once value for string variable[9]*/
6454 static val_t once_value_428; static int once_bool_428; /* Once value for variable[8]*/
6455 static val_t once_value_429 = NIT_NULL; /* Once value for string variable[8]*/
6456 static val_t once_value_430 = NIT_NULL; /* Once value for string variable[9]*/
6457 static val_t once_value_432 = NIT_NULL; /* Once value for string variable[9]*/
6458 static val_t once_value_434 = NIT_NULL; /* Once value for string variable[9]*/
6459 static val_t once_value_435; static int once_bool_435; /* Once value for variable[8]*/
6460 static val_t once_value_436 = NIT_NULL; /* Once value for string variable[8]*/
6461 static val_t once_value_437 = NIT_NULL; /* Once value for string variable[9]*/
6462 static val_t once_value_439 = NIT_NULL; /* Once value for string variable[9]*/
6463 static val_t once_value_441 = NIT_NULL; /* Once value for string variable[9]*/
6464 static val_t once_value_442; static int once_bool_442; /* Once value for variable[8]*/
6465 static val_t once_value_443 = NIT_NULL; /* Once value for string variable[8]*/
6466 static val_t once_value_444 = NIT_NULL; /* Once value for string variable[9]*/
6467 static val_t once_value_446 = NIT_NULL; /* Once value for string variable[9]*/
6468 static val_t once_value_448 = NIT_NULL; /* Once value for string variable[9]*/
6469 static val_t once_value_449; static int once_bool_449; /* Once value for variable[8]*/
6470 static val_t once_value_450 = NIT_NULL; /* Once value for string variable[8]*/
6471 static val_t once_value_451 = NIT_NULL; /* Once value for string variable[9]*/
6472 static val_t once_value_453 = NIT_NULL; /* Once value for string variable[9]*/
6473 static val_t once_value_455 = NIT_NULL; /* Once value for string variable[9]*/
6474 static val_t once_value_456; static int once_bool_456; /* Once value for variable[8]*/
6475 static val_t once_value_457 = NIT_NULL; /* Once value for string variable[8]*/
6476 static val_t once_value_458 = NIT_NULL; /* Once value for string variable[9]*/
6477 static val_t once_value_460 = NIT_NULL; /* Once value for string variable[9]*/
6478 static val_t once_value_462 = NIT_NULL; /* Once value for string variable[9]*/
6479 static val_t once_value_463; static int once_bool_463; /* Once value for variable[8]*/
6480 static val_t once_value_464 = NIT_NULL; /* Once value for string variable[8]*/
6481 static val_t once_value_465 = NIT_NULL; /* Once value for string variable[9]*/
6482 static val_t once_value_467 = NIT_NULL; /* Once value for string variable[9]*/
6483 static val_t once_value_469 = NIT_NULL; /* Once value for string variable[9]*/
6484 static val_t once_value_470; static int once_bool_470; /* Once value for variable[8]*/
6485 static val_t once_value_471 = NIT_NULL; /* Once value for string variable[8]*/
6486 static val_t once_value_472 = NIT_NULL; /* Once value for string variable[9]*/
6487 static val_t once_value_474 = NIT_NULL; /* Once value for string variable[9]*/
6488 static val_t once_value_476 = NIT_NULL; /* Once value for string variable[9]*/
6489 static val_t once_value_477; static int once_bool_477; /* Once value for variable[8]*/
6490 static val_t once_value_478 = NIT_NULL; /* Once value for string variable[8]*/
6491 static val_t once_value_479; static int once_bool_479; /* Once value for variable[8]*/
6492 static val_t once_value_480 = NIT_NULL; /* Once value for string variable[8]*/
6493 static val_t once_value_481 = NIT_NULL; /* Once value for string variable[9]*/
6494 static val_t once_value_483 = NIT_NULL; /* Once value for string variable[9]*/
6495 static val_t once_value_484; static int once_bool_484; /* Once value for variable[8]*/
6496 static val_t once_value_485 = NIT_NULL; /* Once value for string variable[8]*/
6497 static val_t once_value_486 = NIT_NULL; /* Once value for string variable[9]*/
6498 static val_t once_value_488 = NIT_NULL; /* Once value for string variable[9]*/
6499 static val_t once_value_489; static int once_bool_489; /* Once value for variable[8]*/
6500 static val_t once_value_490 = NIT_NULL; /* Once value for string variable[8]*/
6501 static val_t once_value_491 = NIT_NULL; /* Once value for string variable[9]*/
6502 static val_t once_value_493 = NIT_NULL; /* Once value for string variable[9]*/
6503 static val_t once_value_494; static int once_bool_494; /* Once value for variable[8]*/
6504 static val_t once_value_495 = NIT_NULL; /* Once value for string variable[8]*/
6505 static val_t once_value_496 = NIT_NULL; /* Once value for string variable[9]*/
6506 static val_t once_value_498 = NIT_NULL; /* Once value for string variable[9]*/
6507 static val_t once_value_499; static int once_bool_499; /* Once value for variable[8]*/
6508 static val_t once_value_500 = NIT_NULL; /* Once value for string variable[8]*/
6509 static val_t once_value_501 = NIT_NULL; /* Once value for string variable[9]*/
6510 static val_t once_value_503 = NIT_NULL; /* Once value for string variable[9]*/
6511 static val_t once_value_505 = NIT_NULL; /* Once value for string variable[9]*/
6512 static val_t once_value_506; static int once_bool_506; /* Once value for variable[8]*/
6513 static val_t once_value_507 = NIT_NULL; /* Once value for string variable[8]*/
6514 static val_t once_value_508 = NIT_NULL; /* Once value for string variable[9]*/
6515 static val_t once_value_510 = NIT_NULL; /* Once value for string variable[9]*/
6516 static val_t once_value_512 = NIT_NULL; /* Once value for string variable[9]*/
6517 static val_t once_value_513; static int once_bool_513; /* Once value for variable[8]*/
6518 static val_t once_value_514 = NIT_NULL; /* Once value for string variable[8]*/
6519 static val_t once_value_515 = NIT_NULL; /* Once value for string variable[9]*/
6520 static val_t once_value_517 = NIT_NULL; /* Once value for string variable[9]*/
6521 static val_t once_value_519 = NIT_NULL; /* Once value for string variable[9]*/
6522 static val_t once_value_520; static int once_bool_520; /* Once value for variable[8]*/
6523 static val_t once_value_521 = NIT_NULL; /* Once value for string variable[8]*/
6524 static val_t once_value_522 = NIT_NULL; /* Once value for string variable[9]*/
6525 static val_t once_value_524 = NIT_NULL; /* Once value for string variable[9]*/
6526 static val_t once_value_526 = NIT_NULL; /* Once value for string variable[9]*/
6527 static val_t once_value_527; static int once_bool_527; /* Once value for variable[8]*/
6528 static val_t once_value_528 = NIT_NULL; /* Once value for string variable[8]*/
6529 static val_t once_value_529 = NIT_NULL; /* Once value for string variable[9]*/
6530 static val_t once_value_531 = NIT_NULL; /* Once value for string variable[9]*/
6531 static val_t once_value_533 = NIT_NULL; /* Once value for string variable[9]*/
6532 static val_t once_value_534; static int once_bool_534; /* Once value for variable[8]*/
6533 static val_t once_value_535 = NIT_NULL; /* Once value for string variable[8]*/
6534 static val_t once_value_536 = NIT_NULL; /* Once value for string variable[9]*/
6535 static val_t once_value_538 = NIT_NULL; /* Once value for string variable[9]*/
6536 static val_t once_value_540 = NIT_NULL; /* Once value for string variable[9]*/
6537 static val_t once_value_541; static int once_bool_541; /* Once value for variable[8]*/
6538 static val_t once_value_542 = NIT_NULL; /* Once value for string variable[8]*/
6539 static val_t once_value_543 = NIT_NULL; /* Once value for string variable[9]*/
6540 static val_t once_value_545 = NIT_NULL; /* Once value for string variable[9]*/
6541 static val_t once_value_547 = NIT_NULL; /* Once value for string variable[9]*/
6542 static val_t once_value_548; static int once_bool_548; /* Once value for variable[8]*/
6543 static val_t once_value_549 = NIT_NULL; /* Once value for string variable[8]*/
6544 static val_t once_value_550 = NIT_NULL; /* Once value for string variable[9]*/
6545 static val_t once_value_552 = NIT_NULL; /* Once value for string variable[9]*/
6546 static val_t once_value_554 = NIT_NULL; /* Once value for string variable[9]*/
6547 static val_t once_value_555; static int once_bool_555; /* Once value for variable[8]*/
6548 static val_t once_value_556 = NIT_NULL; /* Once value for string variable[8]*/
6549 static val_t once_value_557; static int once_bool_557; /* Once value for variable[8]*/
6550 static val_t once_value_558 = NIT_NULL; /* Once value for string variable[8]*/
6551 static val_t once_value_559 = NIT_NULL; /* Once value for string variable[9]*/
6552 static val_t once_value_561 = NIT_NULL; /* Once value for string variable[9]*/
6553 static val_t once_value_562; static int once_bool_562; /* Once value for variable[8]*/
6554 static val_t once_value_563 = NIT_NULL; /* Once value for string variable[8]*/
6555 static val_t once_value_564 = NIT_NULL; /* Once value for string variable[9]*/
6556 static val_t once_value_566 = NIT_NULL; /* Once value for string variable[9]*/
6557 static val_t once_value_567; static int once_bool_567; /* Once value for variable[8]*/
6558 static val_t once_value_568 = NIT_NULL; /* Once value for string variable[8]*/
6559 static val_t once_value_569 = NIT_NULL; /* Once value for string variable[9]*/
6560 static val_t once_value_571 = NIT_NULL; /* Once value for string variable[9]*/
6561 static val_t once_value_572; static int once_bool_572; /* Once value for variable[8]*/
6562 static val_t once_value_573 = NIT_NULL; /* Once value for string variable[8]*/
6563 static val_t once_value_574 = NIT_NULL; /* Once value for string variable[9]*/
6564 static val_t once_value_576 = NIT_NULL; /* Once value for string variable[9]*/
6565 static val_t once_value_577; static int once_bool_577; /* Once value for variable[8]*/
6566 static val_t once_value_578 = NIT_NULL; /* Once value for string variable[8]*/
6567 static val_t once_value_579 = NIT_NULL; /* Once value for string variable[9]*/
6568 static val_t once_value_581 = NIT_NULL; /* Once value for string variable[9]*/
6569 static val_t once_value_582; static int once_bool_582; /* Once value for variable[8]*/
6570 static val_t once_value_583 = NIT_NULL; /* Once value for string variable[8]*/
6571 static val_t once_value_584 = NIT_NULL; /* Once value for string variable[9]*/
6572 static val_t once_value_586 = NIT_NULL; /* Once value for string variable[9]*/
6573 static val_t once_value_587; static int once_bool_587; /* Once value for variable[8]*/
6574 static val_t once_value_588 = NIT_NULL; /* Once value for string variable[8]*/
6575 static val_t once_value_589 = NIT_NULL; /* Once value for string variable[9]*/
6576 static val_t once_value_591 = NIT_NULL; /* Once value for string variable[9]*/
6577 static val_t once_value_592; static int once_bool_592; /* Once value for variable[8]*/
6578 static val_t once_value_593 = NIT_NULL; /* Once value for string variable[8]*/
6579 static val_t once_value_594 = NIT_NULL; /* Once value for string variable[9]*/
6580 static val_t once_value_596 = NIT_NULL; /* Once value for string variable[9]*/
6581 static val_t once_value_598 = NIT_NULL; /* Once value for string variable[9]*/
6582 static val_t once_value_599; static int once_bool_599; /* Once value for variable[8]*/
6583 static val_t once_value_600 = NIT_NULL; /* Once value for string variable[8]*/
6584 static val_t once_value_601 = NIT_NULL; /* Once value for string variable[9]*/
6585 static val_t once_value_603 = NIT_NULL; /* Once value for string variable[9]*/
6586 static val_t once_value_605 = NIT_NULL; /* Once value for string variable[9]*/
6587 static val_t once_value_606; static int once_bool_606; /* Once value for variable[8]*/
6588 static val_t once_value_607 = NIT_NULL; /* Once value for string variable[8]*/
6589 static val_t once_value_608 = NIT_NULL; /* Once value for string variable[9]*/
6590 static val_t once_value_610 = NIT_NULL; /* Once value for string variable[9]*/
6591 static val_t once_value_612 = NIT_NULL; /* Once value for string variable[9]*/
6592 static val_t once_value_613; static int once_bool_613; /* Once value for variable[8]*/
6593 static val_t once_value_614 = NIT_NULL; /* Once value for string variable[8]*/
6594 static val_t once_value_615 = NIT_NULL; /* Once value for string variable[9]*/
6595 static val_t once_value_617 = NIT_NULL; /* Once value for string variable[9]*/
6596 static val_t once_value_619 = NIT_NULL; /* Once value for string variable[9]*/
6597 static val_t once_value_620; static int once_bool_620; /* Once value for variable[8]*/
6598 static val_t once_value_621 = NIT_NULL; /* Once value for string variable[8]*/
6599 static val_t once_value_622 = NIT_NULL; /* Once value for string variable[9]*/
6600 static val_t once_value_624 = NIT_NULL; /* Once value for string variable[9]*/
6601 static val_t once_value_626 = NIT_NULL; /* Once value for string variable[9]*/
6602 static val_t once_value_627; static int once_bool_627; /* Once value for variable[8]*/
6603 static val_t once_value_628 = NIT_NULL; /* Once value for string variable[8]*/
6604 static val_t once_value_629 = NIT_NULL; /* Once value for string variable[9]*/
6605 static val_t once_value_631 = NIT_NULL; /* Once value for string variable[9]*/
6606 static val_t once_value_633 = NIT_NULL; /* Once value for string variable[9]*/
6607 static val_t once_value_634; static int once_bool_634; /* Once value for variable[8]*/
6608 static val_t once_value_635 = NIT_NULL; /* Once value for string variable[8]*/
6609 static val_t once_value_636 = NIT_NULL; /* Once value for string variable[9]*/
6610 static val_t once_value_638 = NIT_NULL; /* Once value for string variable[9]*/
6611 static val_t once_value_640 = NIT_NULL; /* Once value for string variable[9]*/
6612 static val_t once_value_641; static int once_bool_641; /* Once value for variable[8]*/
6613 static val_t once_value_642 = NIT_NULL; /* Once value for string variable[8]*/
6614 static val_t once_value_643 = NIT_NULL; /* Once value for string variable[9]*/
6615 static val_t once_value_645 = NIT_NULL; /* Once value for string variable[9]*/
6616 static val_t once_value_647 = NIT_NULL; /* Once value for string variable[9]*/
6617 static val_t once_value_648; static int once_bool_648; /* Once value for variable[8]*/
6618 static val_t once_value_649 = NIT_NULL; /* Once value for string variable[8]*/
6619 static val_t once_value_650 = NIT_NULL; /* Once value for string variable[9]*/
6620 static val_t once_value_652 = NIT_NULL; /* Once value for string variable[9]*/
6621 static val_t once_value_654 = NIT_NULL; /* Once value for string variable[9]*/
6622 static val_t once_value_655; static int once_bool_655; /* Once value for variable[8]*/
6623 static val_t once_value_656 = NIT_NULL; /* Once value for string variable[8]*/
6624 static val_t once_value_657 = NIT_NULL; /* Once value for string variable[9]*/
6625 static val_t once_value_659 = NIT_NULL; /* Once value for string variable[9]*/
6626 static val_t once_value_661 = NIT_NULL; /* Once value for string variable[9]*/
6627 static val_t once_value_662; static int once_bool_662; /* Once value for variable[8]*/
6628 static val_t once_value_663 = NIT_NULL; /* Once value for string variable[8]*/
6629 static val_t once_value_664 = NIT_NULL; /* Once value for string variable[9]*/
6630 static val_t once_value_666 = NIT_NULL; /* Once value for string variable[9]*/
6631 static val_t once_value_668 = NIT_NULL; /* Once value for string variable[9]*/
6632 static val_t once_value_669; static int once_bool_669; /* Once value for variable[8]*/
6633 static val_t once_value_670 = NIT_NULL; /* Once value for string variable[8]*/
6634 static val_t once_value_671; static int once_bool_671; /* Once value for variable[8]*/
6635 static val_t once_value_672 = NIT_NULL; /* Once value for string variable[8]*/
6636 static val_t once_value_673 = NIT_NULL; /* Once value for string variable[9]*/
6637 static val_t once_value_675 = NIT_NULL; /* Once value for string variable[9]*/
6638 static val_t once_value_676; static int once_bool_676; /* Once value for variable[8]*/
6639 static val_t once_value_677 = NIT_NULL; /* Once value for string variable[8]*/
6640 static val_t once_value_678 = NIT_NULL; /* Once value for string variable[9]*/
6641 static val_t once_value_680 = NIT_NULL; /* Once value for string variable[9]*/
6642 static val_t once_value_681; static int once_bool_681; /* Once value for variable[8]*/
6643 static val_t once_value_682 = NIT_NULL; /* Once value for string variable[8]*/
6644 static val_t once_value_683 = NIT_NULL; /* Once value for string variable[9]*/
6645 static val_t once_value_685 = NIT_NULL; /* Once value for string variable[9]*/
6646 static val_t once_value_686; static int once_bool_686; /* Once value for variable[8]*/
6647 static val_t once_value_687 = NIT_NULL; /* Once value for string variable[8]*/
6648 static val_t once_value_688 = NIT_NULL; /* Once value for string variable[9]*/
6649 static val_t once_value_690 = NIT_NULL; /* Once value for string variable[9]*/
6650 static val_t once_value_691; static int once_bool_691; /* Once value for variable[8]*/
6651 static val_t once_value_692 = NIT_NULL; /* Once value for string variable[8]*/
6652 static val_t once_value_693 = NIT_NULL; /* Once value for string variable[9]*/
6653 static val_t once_value_695 = NIT_NULL; /* Once value for string variable[9]*/
6654 static val_t once_value_696; static int once_bool_696; /* Once value for variable[8]*/
6655 static val_t once_value_697 = NIT_NULL; /* Once value for string variable[8]*/
6656 static val_t once_value_698 = NIT_NULL; /* Once value for string variable[9]*/
6657 static val_t once_value_700 = NIT_NULL; /* Once value for string variable[9]*/
6658 static val_t once_value_702 = NIT_NULL; /* Once value for string variable[9]*/
6659 static val_t once_value_703; static int once_bool_703; /* Once value for variable[8]*/
6660 static val_t once_value_704 = NIT_NULL; /* Once value for string variable[8]*/
6661 static val_t once_value_705 = NIT_NULL; /* Once value for string variable[9]*/
6662 static val_t once_value_707 = NIT_NULL; /* Once value for string variable[9]*/
6663 static val_t once_value_709 = NIT_NULL; /* Once value for string variable[9]*/
6664 static val_t once_value_710; static int once_bool_710; /* Once value for variable[8]*/
6665 static val_t once_value_711 = NIT_NULL; /* Once value for string variable[8]*/
6666 static val_t once_value_712; static int once_bool_712; /* Once value for variable[8]*/
6667 static val_t once_value_713 = NIT_NULL; /* Once value for string variable[8]*/
6668 static val_t once_value_714 = NIT_NULL; /* Once value for string variable[9]*/
6669 static val_t once_value_716 = NIT_NULL; /* Once value for string variable[9]*/
6670 static val_t once_value_717; static int once_bool_717; /* Once value for variable[8]*/
6671 static val_t once_value_718 = NIT_NULL; /* Once value for string variable[8]*/
6672 static val_t once_value_719 = NIT_NULL; /* Once value for string variable[9]*/
6673 static val_t once_value_721 = NIT_NULL; /* Once value for string variable[9]*/
6674 static val_t once_value_723 = NIT_NULL; /* Once value for string variable[9]*/
6675 static val_t once_value_724; static int once_bool_724; /* Once value for variable[8]*/
6676 static val_t once_value_725 = NIT_NULL; /* Once value for string variable[8]*/
6677 static val_t once_value_726 = NIT_NULL; /* Once value for string variable[9]*/
6678 static val_t once_value_728 = NIT_NULL; /* Once value for string variable[9]*/
6679 static val_t once_value_730 = NIT_NULL; /* Once value for string variable[9]*/
6680 static val_t once_value_732 = NIT_NULL; /* Once value for string variable[9]*/
6681 static val_t once_value_733; static int once_bool_733; /* Once value for variable[8]*/
6682 static val_t once_value_734 = NIT_NULL; /* Once value for string variable[8]*/
6683 static val_t once_value_735 = NIT_NULL; /* Once value for string variable[9]*/
6684 static val_t once_value_737 = NIT_NULL; /* Once value for string variable[9]*/
6685 static val_t once_value_739 = NIT_NULL; /* Once value for string variable[9]*/
6686 static val_t once_value_741 = NIT_NULL; /* Once value for string variable[9]*/
6687 static val_t once_value_742; static int once_bool_742; /* Once value for variable[8]*/
6688 static val_t once_value_743 = NIT_NULL; /* Once value for string variable[8]*/
6689 static val_t once_value_744; static int once_bool_744; /* Once value for variable[8]*/
6690 static val_t once_value_745 = NIT_NULL; /* Once value for string variable[8]*/
6691 static val_t once_value_746 = NIT_NULL; /* Once value for string variable[9]*/
6692 static val_t once_value_748 = NIT_NULL; /* Once value for string variable[9]*/
6693 static val_t once_value_749; static int once_bool_749; /* Once value for variable[8]*/
6694 static val_t once_value_750 = NIT_NULL; /* Once value for string variable[8]*/
6695 static val_t once_value_751 = NIT_NULL; /* Once value for string variable[9]*/
6696 static val_t once_value_753 = NIT_NULL; /* Once value for string variable[9]*/
6697 static val_t once_value_754; static int once_bool_754; /* Once value for variable[8]*/
6698 static val_t once_value_755 = NIT_NULL; /* Once value for string variable[8]*/
6699 static val_t once_value_756 = NIT_NULL; /* Once value for string variable[9]*/
6700 static val_t once_value_758 = NIT_NULL; /* Once value for string variable[9]*/
6701 static val_t once_value_760 = NIT_NULL; /* Once value for string variable[9]*/
6702 static val_t once_value_761; static int once_bool_761; /* Once value for variable[8]*/
6703 static val_t once_value_762 = NIT_NULL; /* Once value for string variable[8]*/
6704 static val_t once_value_763 = NIT_NULL; /* Once value for string variable[9]*/
6705 static val_t once_value_765 = NIT_NULL; /* Once value for string variable[9]*/
6706 static val_t once_value_767 = NIT_NULL; /* Once value for string variable[9]*/
6707 static val_t once_value_769 = NIT_NULL; /* Once value for string variable[9]*/
6708 static val_t once_value_770; static int once_bool_770; /* Once value for variable[8]*/
6709 static val_t once_value_771 = NIT_NULL; /* Once value for string variable[8]*/
6710 static val_t once_value_772 = NIT_NULL; /* Once value for string variable[9]*/
6711 static val_t once_value_774 = NIT_NULL; /* Once value for string variable[9]*/
6712 static val_t once_value_776 = NIT_NULL; /* Once value for string variable[9]*/
6713 static val_t once_value_778 = NIT_NULL; /* Once value for string variable[9]*/
6714 static val_t once_value_780 = NIT_NULL; /* Once value for string variable[9]*/
6715 static val_t once_value_782 = NIT_NULL; /* Once value for string variable[9]*/
6716 static val_t once_value_783; static int once_bool_783; /* Once value for variable[8]*/
6717 static val_t once_value_784 = NIT_NULL; /* Once value for string variable[8]*/
6718 static val_t once_value_785 = NIT_NULL; /* Once value for string variable[9]*/
6719 static val_t once_value_787 = NIT_NULL; /* Once value for string variable[9]*/
6720 static val_t once_value_788; static int once_bool_788; /* Once value for variable[8]*/
6721 static val_t once_value_789 = NIT_NULL; /* Once value for string variable[8]*/
6722 static val_t once_value_790 = NIT_NULL; /* Once value for string variable[8]*/
6723 static val_t once_value_791; static int once_bool_791; /* Once value for variable[8]*/
6724 static val_t once_value_792 = NIT_NULL; /* Once value for string variable[8]*/
6725 static val_t once_value_793 = NIT_NULL; /* Once value for string variable[9]*/
6726 static val_t once_value_795 = NIT_NULL; /* Once value for string variable[9]*/
6727 static val_t once_value_797 = NIT_NULL; /* Once value for string variable[9]*/
6728 static val_t once_value_798; static int once_bool_798; /* Once value for variable[8]*/
6729 static val_t once_value_799 = NIT_NULL; /* Once value for string variable[8]*/
6730 static val_t once_value_800 = NIT_NULL; /* Once value for string variable[9]*/
6731 static val_t once_value_802 = NIT_NULL; /* Once value for string variable[9]*/
6732 static val_t once_value_803; static int once_bool_803; /* Once value for variable[8]*/
6733 static val_t once_value_804 = NIT_NULL; /* Once value for string variable[8]*/
6734 static val_t once_value_805 = NIT_NULL; /* Once value for string variable[9]*/
6735 static val_t once_value_807 = NIT_NULL; /* Once value for string variable[9]*/
6736 static val_t once_value_808; static int once_bool_808; /* Once value for variable[8]*/
6737 static val_t once_value_809 = NIT_NULL; /* Once value for string variable[8]*/
6738 static val_t once_value_810 = NIT_NULL; /* Once value for string variable[9]*/
6739 static val_t once_value_812 = NIT_NULL; /* Once value for string variable[9]*/
6740 static val_t once_value_813 = NIT_NULL; /* Once value for string variable[9]*/
6741 static val_t once_value_814 = NIT_NULL; /* Once value for string variable[9]*/
6742 static val_t once_value_815 = NIT_NULL; /* Once value for string variable[8]*/
6743 val_t variable[13];
6744 struct WBT_ **closurevariable = NULL;
6745 trace.prev = tracehead; tracehead = &trace;
6746 trace.file = LOCATE_compiling_methods;
6747 /* Register variable[0]: Local variable */
6748 variable[0] = self;
6749 /* Register variable[1]: Local variable */
6750 variable[1] = param0;
6751 /* Register variable[2]: Local variable */
6752 variable[2] = param1;
6753 /* Register variable[3]: Local variable */
6754 variable[3] = param2;
6755 /* Register variable[4]: Method return value and escape marker */
6756 /* Register variable[5]: Local variable */
6757 /* Register variable[6]: Result */
6758 variable[6] = CALL_abstractmetamodel___MMLocalProperty___local_class( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::local_class*/;
6759 /* Register variable[6]: Result */
6760 variable[6] = CALL_abstractmetamodel___MMLocalClass___name(variable[6])(variable[6]) /*MMLocalClass::name*/;
6761 variable[5] = variable[6];
6762 /* Register variable[6]: Local variable */
6763 /* Register variable[7]: Result */
6764 variable[7] = CALL_abstractmetamodel___MMLocalProperty___name( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::name*/;
6765 variable[6] = variable[7];
6766 /* Register variable[7]: Local variable */
6767 variable[7] = NIT_NULL /*null*/;
6768 /* Register variable[8]: Once expression result */
6769 if (once_bool_349) variable[8] = once_value_349;
6770 else {
6771 /* Register variable[8]: Once String constant */
6772 if (once_value_350 != NIT_NULL) variable[8] = once_value_350;
6773 else {
6774 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Int"), TAG_Int(3)) /*new String*/;
6775 once_value_350 = variable[8];
6776 }
6777 /* Register variable[8]: Result */
6778 /* Register variable[8]: Result */
6779 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6780 once_value_349 = variable[8];
6781 once_bool_349 = true;
6782 }
6783 /* Register variable[8]: Result */
6784 /* Register variable[8]: Result */
6785 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::==*/)))));
6786 if (UNTAG_Bool(variable[8])) { /*if*/
6787 /* Register variable[8]: Once expression result */
6788 if (once_bool_351) variable[8] = once_value_351;
6789 else {
6790 /* Register variable[8]: Once String constant */
6791 if (once_value_352 != NIT_NULL) variable[8] = once_value_352;
6792 else {
6793 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
6794 once_value_352 = variable[8];
6795 }
6796 /* Register variable[8]: Result */
6797 /* Register variable[8]: Result */
6798 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6799 once_value_351 = variable[8];
6800 once_bool_351 = true;
6801 }
6802 /* Register variable[8]: Result */
6803 /* Register variable[8]: Result */
6804 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::==*/)))));
6805 if (UNTAG_Bool(variable[8])) { /*if*/
6806 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6807 /* Register variable[9]: Once String constant */
6808 if (once_value_353 != NIT_NULL) variable[9] = once_value_353;
6809 else {
6810 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6811 once_value_353 = variable[9];
6812 }
6813 /* Register variable[9]: Result */
6814 /* Ensure var variable[9]: super-string element*/
6815 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6816 /* Register variable[9]: Local variable */
6817 variable[9] = variable[3] /*p*/;
6818 /* Register variable[10]: Local variable */
6819 variable[10] = TAG_Int(0);
6820 /* Register variable[11]: Method return value and escape marker */
6821 /* Register variable[12]: Result */
6822 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6823 /* Ensure var variable[12]: Left 'and' operand*/
6824 if (UNTAG_Bool(variable[12])) { /* and */
6825 /* Register variable[12]: Result */
6826 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
6827 /* Register variable[12]: Result */
6828 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
6829 }
6830 /* Register variable[12]: Result */
6831 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, 234); nit_exit(1);}
6832 /* Register variable[12]: Result */
6833 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
6834 /* Register variable[12]: Result */
6835 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
6836 variable[11] = variable[12];
6837 goto return_label354;
6838 return_label354: while(false);
6839 /* Register variable[9]: Result */
6840 variable[9] = variable[11];
6841 /* Ensure var variable[9]: super-string element*/
6842 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6843 /* Register variable[9]: Once String constant */
6844 if (once_value_355 != NIT_NULL) variable[9] = once_value_355;
6845 else {
6846 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
6847 once_value_355 = variable[9];
6848 }
6849 /* Register variable[9]: Result */
6850 /* Ensure var variable[9]: super-string element*/
6851 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6852 /* Register variable[8]: Result */
6853 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6854 variable[7] = variable[8] /*s=*/;
6855 } else { /*if*/
6856 /* Register variable[8]: Once expression result */
6857 if (once_bool_356) variable[8] = once_value_356;
6858 else {
6859 /* Register variable[8]: Once String constant */
6860 if (once_value_357 != NIT_NULL) variable[8] = once_value_357;
6861 else {
6862 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
6863 once_value_357 = variable[8];
6864 }
6865 /* Register variable[8]: Result */
6866 /* Register variable[8]: Result */
6867 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6868 once_value_356 = variable[8];
6869 once_bool_356 = true;
6870 }
6871 /* Register variable[8]: Result */
6872 /* Register variable[8]: Result */
6873 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::==*/)))));
6874 if (UNTAG_Bool(variable[8])) { /*if*/
6875 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6876 /* Register variable[9]: Once String constant */
6877 if (once_value_358 != NIT_NULL) variable[9] = once_value_358;
6878 else {
6879 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(-UNTAG_Int("), TAG_Int(19)) /*new String*/;
6880 once_value_358 = variable[9];
6881 }
6882 /* Register variable[9]: Result */
6883 /* Ensure var variable[9]: super-string element*/
6884 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6885 /* Register variable[9]: Local variable */
6886 variable[9] = variable[3] /*p*/;
6887 /* Register variable[10]: Local variable */
6888 variable[10] = TAG_Int(0);
6889 /* Register variable[11]: Method return value and escape marker */
6890 /* Register variable[12]: Result */
6891 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6892 /* Ensure var variable[12]: Left 'and' operand*/
6893 if (UNTAG_Bool(variable[12])) { /* and */
6894 /* Register variable[12]: Result */
6895 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
6896 /* Register variable[12]: Result */
6897 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
6898 }
6899 /* Register variable[12]: Result */
6900 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, 234); nit_exit(1);}
6901 /* Register variable[12]: Result */
6902 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
6903 /* Register variable[12]: Result */
6904 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
6905 variable[11] = variable[12];
6906 goto return_label359;
6907 return_label359: while(false);
6908 /* Register variable[9]: Result */
6909 variable[9] = variable[11];
6910 /* Ensure var variable[9]: super-string element*/
6911 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6912 /* Register variable[9]: Once String constant */
6913 if (once_value_360 != NIT_NULL) variable[9] = once_value_360;
6914 else {
6915 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
6916 once_value_360 = variable[9];
6917 }
6918 /* Register variable[9]: Result */
6919 /* Ensure var variable[9]: super-string element*/
6920 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6921 /* Register variable[8]: Result */
6922 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6923 variable[7] = variable[8] /*s=*/;
6924 } else { /*if*/
6925 /* Register variable[8]: Once expression result */
6926 if (once_bool_361) variable[8] = once_value_361;
6927 else {
6928 /* Register variable[8]: Once String constant */
6929 if (once_value_362 != NIT_NULL) variable[8] = once_value_362;
6930 else {
6931 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
6932 once_value_362 = variable[8];
6933 }
6934 /* Register variable[8]: Result */
6935 /* Register variable[8]: Result */
6936 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
6937 once_value_361 = variable[8];
6938 once_bool_361 = true;
6939 }
6940 /* Register variable[8]: Result */
6941 /* Register variable[8]: Result */
6942 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::==*/)))));
6943 if (UNTAG_Bool(variable[8])) { /*if*/
6944 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
6945 /* Register variable[9]: Once String constant */
6946 if (once_value_363 != NIT_NULL) variable[9] = once_value_363;
6947 else {
6948 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%ld\\n\", UNTAG_Int("), TAG_Int(26)) /*new String*/;
6949 once_value_363 = variable[9];
6950 }
6951 /* Register variable[9]: Result */
6952 /* Ensure var variable[9]: super-string element*/
6953 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6954 /* Register variable[9]: Local variable */
6955 variable[9] = variable[3] /*p*/;
6956 /* Register variable[10]: Local variable */
6957 variable[10] = TAG_Int(0);
6958 /* Register variable[11]: Method return value and escape marker */
6959 /* Register variable[12]: Result */
6960 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
6961 /* Ensure var variable[12]: Left 'and' operand*/
6962 if (UNTAG_Bool(variable[12])) { /* and */
6963 /* Register variable[12]: Result */
6964 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
6965 /* Register variable[12]: Result */
6966 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
6967 }
6968 /* Register variable[12]: Result */
6969 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, 234); nit_exit(1);}
6970 /* Register variable[12]: Result */
6971 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
6972 /* Register variable[12]: Result */
6973 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
6974 variable[11] = variable[12];
6975 goto return_label364;
6976 return_label364: while(false);
6977 /* Register variable[9]: Result */
6978 variable[9] = variable[11];
6979 /* Ensure var variable[9]: super-string element*/
6980 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6981 /* Register variable[9]: Once String constant */
6982 if (once_value_365 != NIT_NULL) variable[9] = once_value_365;
6983 else {
6984 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
6985 once_value_365 = variable[9];
6986 }
6987 /* Register variable[9]: Result */
6988 /* Ensure var variable[9]: super-string element*/
6989 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
6990 /* Register variable[8]: Result */
6991 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
6992 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
6993 } else { /*if*/
6994 /* Register variable[8]: Once expression result */
6995 if (once_bool_366) variable[8] = once_value_366;
6996 else {
6997 /* Register variable[8]: Once String constant */
6998 if (once_value_367 != NIT_NULL) variable[8] = once_value_367;
6999 else {
7000 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
7001 once_value_367 = variable[8];
7002 }
7003 /* Register variable[8]: Result */
7004 /* Register variable[8]: Result */
7005 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7006 once_value_366 = variable[8];
7007 once_bool_366 = true;
7008 }
7009 /* Register variable[8]: Result */
7010 /* Register variable[8]: Result */
7011 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::==*/)))));
7012 if (UNTAG_Bool(variable[8])) { /*if*/
7013 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7014 /* Register variable[9]: Once String constant */
7015 if (once_value_368 != NIT_NULL) variable[9] = once_value_368;
7016 else {
7017 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Int("), TAG_Int(19)) /*new String*/;
7018 once_value_368 = variable[9];
7019 }
7020 /* Register variable[9]: Result */
7021 /* Ensure var variable[9]: super-string element*/
7022 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7023 /* Register variable[9]: Local variable */
7024 variable[9] = variable[3] /*p*/;
7025 /* Register variable[10]: Local variable */
7026 variable[10] = TAG_Int(0);
7027 /* Register variable[11]: Method return value and escape marker */
7028 /* Register variable[12]: Result */
7029 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7030 /* Ensure var variable[12]: Left 'and' operand*/
7031 if (UNTAG_Bool(variable[12])) { /* and */
7032 /* Register variable[12]: Result */
7033 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7034 /* Register variable[12]: Result */
7035 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7036 }
7037 /* Register variable[12]: Result */
7038 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, 234); nit_exit(1);}
7039 /* Register variable[12]: Result */
7040 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7041 /* Register variable[12]: Result */
7042 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7043 variable[11] = variable[12];
7044 goto return_label369;
7045 return_label369: while(false);
7046 /* Register variable[9]: Result */
7047 variable[9] = variable[11];
7048 /* Ensure var variable[9]: super-string element*/
7049 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7050 /* Register variable[9]: Once String constant */
7051 if (once_value_370 != NIT_NULL) variable[9] = once_value_370;
7052 else {
7053 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7054 once_value_370 = variable[9];
7055 }
7056 /* Register variable[9]: Result */
7057 /* Ensure var variable[9]: super-string element*/
7058 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7059 /* Register variable[8]: Result */
7060 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7061 variable[7] = variable[8] /*s=*/;
7062 } else { /*if*/
7063 /* Register variable[8]: Once expression result */
7064 if (once_bool_371) variable[8] = once_value_371;
7065 else {
7066 /* Register variable[8]: Once String constant */
7067 if (once_value_372 != NIT_NULL) variable[8] = once_value_372;
7068 else {
7069 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)) /*new String*/;
7070 once_value_372 = variable[8];
7071 }
7072 /* Register variable[8]: Result */
7073 /* Register variable[8]: Result */
7074 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7075 once_value_371 = variable[8];
7076 once_bool_371 = true;
7077 }
7078 /* Register variable[8]: Result */
7079 /* Register variable[8]: Result */
7080 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::==*/)))));
7081 if (UNTAG_Bool(variable[8])) { /*if*/
7082 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7083 /* Register variable[9]: Once String constant */
7084 if (once_value_373 != NIT_NULL) variable[9] = once_value_373;
7085 else {
7086 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7087 once_value_373 = variable[9];
7088 }
7089 /* Register variable[9]: Result */
7090 /* Ensure var variable[9]: super-string element*/
7091 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7092 /* Register variable[9]: Local variable */
7093 variable[9] = variable[3] /*p*/;
7094 /* Register variable[10]: Local variable */
7095 variable[10] = TAG_Int(0);
7096 /* Register variable[11]: Method return value and escape marker */
7097 /* Register variable[12]: Result */
7098 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7099 /* Ensure var variable[12]: Left 'and' operand*/
7100 if (UNTAG_Bool(variable[12])) { /* and */
7101 /* Register variable[12]: Result */
7102 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7103 /* Register variable[12]: Result */
7104 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7105 }
7106 /* Register variable[12]: Result */
7107 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, 234); nit_exit(1);}
7108 /* Register variable[12]: Result */
7109 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7110 /* Register variable[12]: Result */
7111 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7112 variable[11] = variable[12];
7113 goto return_label374;
7114 return_label374: while(false);
7115 /* Register variable[9]: Result */
7116 variable[9] = variable[11];
7117 /* Ensure var variable[9]: super-string element*/
7118 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7119 /* Register variable[9]: Once String constant */
7120 if (once_value_375 != NIT_NULL) variable[9] = once_value_375;
7121 else {
7122 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)) /*new String*/;
7123 once_value_375 = variable[9];
7124 }
7125 /* Register variable[9]: Result */
7126 /* Ensure var variable[9]: super-string element*/
7127 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7128 /* Register variable[8]: Result */
7129 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7130 variable[7] = variable[8] /*s=*/;
7131 } else { /*if*/
7132 /* Register variable[8]: Once expression result */
7133 if (once_bool_376) variable[8] = once_value_376;
7134 else {
7135 /* Register variable[8]: Once String constant */
7136 if (once_value_377 != NIT_NULL) variable[8] = once_value_377;
7137 else {
7138 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)) /*new String*/;
7139 once_value_377 = variable[8];
7140 }
7141 /* Register variable[8]: Result */
7142 /* Register variable[8]: Result */
7143 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7144 once_value_376 = variable[8];
7145 once_bool_376 = true;
7146 }
7147 /* Register variable[8]: Result */
7148 /* Register variable[8]: Result */
7149 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::==*/)))));
7150 if (UNTAG_Bool(variable[8])) { /*if*/
7151 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7152 /* Register variable[9]: Once String constant */
7153 if (once_value_378 != NIT_NULL) variable[9] = once_value_378;
7154 else {
7155 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7156 once_value_378 = variable[9];
7157 }
7158 /* Register variable[9]: Result */
7159 /* Ensure var variable[9]: super-string element*/
7160 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7161 /* Register variable[9]: Local variable */
7162 variable[9] = variable[3] /*p*/;
7163 /* Register variable[10]: Local variable */
7164 variable[10] = TAG_Int(0);
7165 /* Register variable[11]: Method return value and escape marker */
7166 /* Register variable[12]: Result */
7167 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7168 /* Ensure var variable[12]: Left 'and' operand*/
7169 if (UNTAG_Bool(variable[12])) { /* and */
7170 /* Register variable[12]: Result */
7171 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7172 /* Register variable[12]: Result */
7173 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7174 }
7175 /* Register variable[12]: Result */
7176 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, 234); nit_exit(1);}
7177 /* Register variable[12]: Result */
7178 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7179 /* Register variable[12]: Result */
7180 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7181 variable[11] = variable[12];
7182 goto return_label379;
7183 return_label379: while(false);
7184 /* Register variable[9]: Result */
7185 variable[9] = variable[11];
7186 /* Ensure var variable[9]: super-string element*/
7187 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7188 /* Register variable[9]: Once String constant */
7189 if (once_value_380 != NIT_NULL) variable[9] = once_value_380;
7190 else {
7191 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)) /*new String*/;
7192 once_value_380 = variable[9];
7193 }
7194 /* Register variable[9]: Result */
7195 /* Ensure var variable[9]: super-string element*/
7196 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7197 /* Register variable[8]: Result */
7198 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7199 variable[7] = variable[8] /*s=*/;
7200 } else { /*if*/
7201 /* Register variable[8]: Once expression result */
7202 if (once_bool_381) variable[8] = once_value_381;
7203 else {
7204 /* Register variable[8]: Once String constant */
7205 if (once_value_382 != NIT_NULL) variable[8] = once_value_382;
7206 else {
7207 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_f"), TAG_Int(4)) /*new String*/;
7208 once_value_382 = variable[8];
7209 }
7210 /* Register variable[8]: Result */
7211 /* Register variable[8]: Result */
7212 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7213 once_value_381 = variable[8];
7214 once_bool_381 = true;
7215 }
7216 /* Register variable[8]: Result */
7217 /* Register variable[8]: Result */
7218 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::==*/)))));
7219 if (UNTAG_Bool(variable[8])) { /*if*/
7220 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7221 /* Register variable[9]: Once String constant */
7222 if (once_value_383 != NIT_NULL) variable[9] = once_value_383;
7223 else {
7224 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float((float)UNTAG_Int("), TAG_Int(27)) /*new String*/;
7225 once_value_383 = variable[9];
7226 }
7227 /* Register variable[9]: Result */
7228 /* Ensure var variable[9]: super-string element*/
7229 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7230 /* Register variable[9]: Local variable */
7231 variable[9] = variable[3] /*p*/;
7232 /* Register variable[10]: Local variable */
7233 variable[10] = TAG_Int(0);
7234 /* Register variable[11]: Method return value and escape marker */
7235 /* Register variable[12]: Result */
7236 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7237 /* Ensure var variable[12]: Left 'and' operand*/
7238 if (UNTAG_Bool(variable[12])) { /* and */
7239 /* Register variable[12]: Result */
7240 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7241 /* Register variable[12]: Result */
7242 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7243 }
7244 /* Register variable[12]: Result */
7245 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, 234); nit_exit(1);}
7246 /* Register variable[12]: Result */
7247 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7248 /* Register variable[12]: Result */
7249 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7250 variable[11] = variable[12];
7251 goto return_label384;
7252 return_label384: while(false);
7253 /* Register variable[9]: Result */
7254 variable[9] = variable[11];
7255 /* Ensure var variable[9]: super-string element*/
7256 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7257 /* Register variable[9]: Once String constant */
7258 if (once_value_385 != NIT_NULL) variable[9] = once_value_385;
7259 else {
7260 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7261 once_value_385 = variable[9];
7262 }
7263 /* Register variable[9]: Result */
7264 /* Ensure var variable[9]: super-string element*/
7265 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7266 /* Register variable[8]: Result */
7267 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7268 variable[7] = variable[8] /*s=*/;
7269 } else { /*if*/
7270 /* Register variable[8]: Once expression result */
7271 if (once_bool_386) variable[8] = once_value_386;
7272 else {
7273 /* Register variable[8]: Once String constant */
7274 if (once_value_387 != NIT_NULL) variable[8] = once_value_387;
7275 else {
7276 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
7277 once_value_387 = variable[8];
7278 }
7279 /* Register variable[8]: Result */
7280 /* Register variable[8]: Result */
7281 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7282 once_value_386 = variable[8];
7283 once_bool_386 = true;
7284 }
7285 /* Register variable[8]: Result */
7286 /* Register variable[8]: Result */
7287 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::==*/)))));
7288 if (UNTAG_Bool(variable[8])) { /*if*/
7289 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7290 /* Register variable[9]: Once String constant */
7291 if (once_value_388 != NIT_NULL) variable[9] = once_value_388;
7292 else {
7293 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7294 once_value_388 = variable[9];
7295 }
7296 /* Register variable[9]: Result */
7297 /* Ensure var variable[9]: super-string element*/
7298 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7299 /* Register variable[9]: Local variable */
7300 variable[9] = variable[3] /*p*/;
7301 /* Register variable[10]: Local variable */
7302 variable[10] = TAG_Int(0);
7303 /* Register variable[11]: Method return value and escape marker */
7304 /* Register variable[12]: Result */
7305 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7306 /* Ensure var variable[12]: Left 'and' operand*/
7307 if (UNTAG_Bool(variable[12])) { /* and */
7308 /* Register variable[12]: Result */
7309 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7310 /* Register variable[12]: Result */
7311 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7312 }
7313 /* Register variable[12]: Result */
7314 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, 234); nit_exit(1);}
7315 /* Register variable[12]: Result */
7316 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7317 /* Register variable[12]: Result */
7318 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7319 variable[11] = variable[12];
7320 goto return_label389;
7321 return_label389: while(false);
7322 /* Register variable[9]: Result */
7323 variable[9] = variable[11];
7324 /* Ensure var variable[9]: super-string element*/
7325 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7326 /* Register variable[9]: Once String constant */
7327 if (once_value_390 != NIT_NULL) variable[9] = once_value_390;
7328 else {
7329 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
7330 once_value_390 = variable[9];
7331 }
7332 /* Register variable[9]: Result */
7333 /* Ensure var variable[9]: super-string element*/
7334 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7335 /* Register variable[9]: Local variable */
7336 variable[9] = variable[3] /*p*/;
7337 /* Register variable[10]: Local variable */
7338 variable[10] = TAG_Int(1);
7339 /* Register variable[11]: Method return value and escape marker */
7340 /* Register variable[12]: Result */
7341 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7342 /* Ensure var variable[12]: Left 'and' operand*/
7343 if (UNTAG_Bool(variable[12])) { /* and */
7344 /* Register variable[12]: Result */
7345 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7346 /* Register variable[12]: Result */
7347 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7348 }
7349 /* Register variable[12]: Result */
7350 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, 234); nit_exit(1);}
7351 /* Register variable[12]: Result */
7352 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7353 /* Register variable[12]: Result */
7354 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7355 variable[11] = variable[12];
7356 goto return_label391;
7357 return_label391: while(false);
7358 /* Register variable[9]: Result */
7359 variable[9] = variable[11];
7360 /* Ensure var variable[9]: super-string element*/
7361 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7362 /* Register variable[9]: Once String constant */
7363 if (once_value_392 != NIT_NULL) variable[9] = once_value_392;
7364 else {
7365 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7366 once_value_392 = variable[9];
7367 }
7368 /* Register variable[9]: Result */
7369 /* Ensure var variable[9]: super-string element*/
7370 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7371 /* Register variable[8]: Result */
7372 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7373 variable[7] = variable[8] /*s=*/;
7374 } else { /*if*/
7375 /* Register variable[8]: Once expression result */
7376 if (once_bool_393) variable[8] = once_value_393;
7377 else {
7378 /* Register variable[8]: Once String constant */
7379 if (once_value_394 != NIT_NULL) variable[8] = once_value_394;
7380 else {
7381 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
7382 once_value_394 = variable[8];
7383 }
7384 /* Register variable[8]: Result */
7385 /* Register variable[8]: Result */
7386 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7387 once_value_393 = variable[8];
7388 once_bool_393 = true;
7389 }
7390 /* Register variable[8]: Result */
7391 /* Register variable[8]: Result */
7392 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::==*/)))));
7393 if (UNTAG_Bool(variable[8])) { /*if*/
7394 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7395 /* Register variable[9]: Once String constant */
7396 if (once_value_395 != NIT_NULL) variable[9] = once_value_395;
7397 else {
7398 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7399 once_value_395 = variable[9];
7400 }
7401 /* Register variable[9]: Result */
7402 /* Ensure var variable[9]: super-string element*/
7403 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7404 /* Register variable[9]: Local variable */
7405 variable[9] = variable[3] /*p*/;
7406 /* Register variable[10]: Local variable */
7407 variable[10] = TAG_Int(0);
7408 /* Register variable[11]: Method return value and escape marker */
7409 /* Register variable[12]: Result */
7410 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7411 /* Ensure var variable[12]: Left 'and' operand*/
7412 if (UNTAG_Bool(variable[12])) { /* and */
7413 /* Register variable[12]: Result */
7414 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7415 /* Register variable[12]: Result */
7416 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7417 }
7418 /* Register variable[12]: Result */
7419 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, 234); nit_exit(1);}
7420 /* Register variable[12]: Result */
7421 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7422 /* Register variable[12]: Result */
7423 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7424 variable[11] = variable[12];
7425 goto return_label396;
7426 return_label396: while(false);
7427 /* Register variable[9]: Result */
7428 variable[9] = variable[11];
7429 /* Ensure var variable[9]: super-string element*/
7430 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7431 /* Register variable[9]: Once String constant */
7432 if (once_value_397 != NIT_NULL) variable[9] = once_value_397;
7433 else {
7434 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Int("), TAG_Int(12)) /*new String*/;
7435 once_value_397 = variable[9];
7436 }
7437 /* Register variable[9]: Result */
7438 /* Ensure var variable[9]: super-string element*/
7439 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7440 /* Register variable[9]: Local variable */
7441 variable[9] = variable[3] /*p*/;
7442 /* Register variable[10]: Local variable */
7443 variable[10] = TAG_Int(1);
7444 /* Register variable[11]: Method return value and escape marker */
7445 /* Register variable[12]: Result */
7446 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7447 /* Ensure var variable[12]: Left 'and' operand*/
7448 if (UNTAG_Bool(variable[12])) { /* and */
7449 /* Register variable[12]: Result */
7450 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7451 /* Register variable[12]: Result */
7452 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7453 }
7454 /* Register variable[12]: Result */
7455 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, 234); nit_exit(1);}
7456 /* Register variable[12]: Result */
7457 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7458 /* Register variable[12]: Result */
7459 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7460 variable[11] = variable[12];
7461 goto return_label398;
7462 return_label398: while(false);
7463 /* Register variable[9]: Result */
7464 variable[9] = variable[11];
7465 /* Ensure var variable[9]: super-string element*/
7466 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7467 /* Register variable[9]: Once String constant */
7468 if (once_value_399 != NIT_NULL) variable[9] = once_value_399;
7469 else {
7470 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7471 once_value_399 = variable[9];
7472 }
7473 /* Register variable[9]: Result */
7474 /* Ensure var variable[9]: super-string element*/
7475 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7476 /* Register variable[8]: Result */
7477 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7478 variable[7] = variable[8] /*s=*/;
7479 } else { /*if*/
7480 /* Register variable[8]: Once expression result */
7481 if (once_bool_400) variable[8] = once_value_400;
7482 else {
7483 /* Register variable[8]: Once String constant */
7484 if (once_value_401 != NIT_NULL) variable[8] = once_value_401;
7485 else {
7486 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
7487 once_value_401 = variable[8];
7488 }
7489 /* Register variable[8]: Result */
7490 /* Register variable[8]: Result */
7491 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7492 once_value_400 = variable[8];
7493 once_bool_400 = true;
7494 }
7495 /* Register variable[8]: Result */
7496 /* Register variable[8]: Result */
7497 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::==*/)))));
7498 if (UNTAG_Bool(variable[8])) { /*if*/
7499 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7500 /* Register variable[9]: Once String constant */
7501 if (once_value_402 != NIT_NULL) variable[9] = once_value_402;
7502 else {
7503 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7504 once_value_402 = variable[9];
7505 }
7506 /* Register variable[9]: Result */
7507 /* Ensure var variable[9]: super-string element*/
7508 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7509 /* Register variable[9]: Local variable */
7510 variable[9] = variable[3] /*p*/;
7511 /* Register variable[10]: Local variable */
7512 variable[10] = TAG_Int(0);
7513 /* Register variable[11]: Method return value and escape marker */
7514 /* Register variable[12]: Result */
7515 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7516 /* Ensure var variable[12]: Left 'and' operand*/
7517 if (UNTAG_Bool(variable[12])) { /* and */
7518 /* Register variable[12]: Result */
7519 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7520 /* Register variable[12]: Result */
7521 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7522 }
7523 /* Register variable[12]: Result */
7524 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, 234); nit_exit(1);}
7525 /* Register variable[12]: Result */
7526 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7527 /* Register variable[12]: Result */
7528 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7529 variable[11] = variable[12];
7530 goto return_label403;
7531 return_label403: while(false);
7532 /* Register variable[9]: Result */
7533 variable[9] = variable[11];
7534 /* Ensure var variable[9]: super-string element*/
7535 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7536 /* Register variable[9]: Once String constant */
7537 if (once_value_404 != NIT_NULL) variable[9] = once_value_404;
7538 else {
7539 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Int("), TAG_Int(12)) /*new String*/;
7540 once_value_404 = variable[9];
7541 }
7542 /* Register variable[9]: Result */
7543 /* Ensure var variable[9]: super-string element*/
7544 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7545 /* Register variable[9]: Local variable */
7546 variable[9] = variable[3] /*p*/;
7547 /* Register variable[10]: Local variable */
7548 variable[10] = TAG_Int(1);
7549 /* Register variable[11]: Method return value and escape marker */
7550 /* Register variable[12]: Result */
7551 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7552 /* Ensure var variable[12]: Left 'and' operand*/
7553 if (UNTAG_Bool(variable[12])) { /* and */
7554 /* Register variable[12]: Result */
7555 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7556 /* Register variable[12]: Result */
7557 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7558 }
7559 /* Register variable[12]: Result */
7560 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, 234); nit_exit(1);}
7561 /* Register variable[12]: Result */
7562 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7563 /* Register variable[12]: Result */
7564 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7565 variable[11] = variable[12];
7566 goto return_label405;
7567 return_label405: while(false);
7568 /* Register variable[9]: Result */
7569 variable[9] = variable[11];
7570 /* Ensure var variable[9]: super-string element*/
7571 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7572 /* Register variable[9]: Once String constant */
7573 if (once_value_406 != NIT_NULL) variable[9] = once_value_406;
7574 else {
7575 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7576 once_value_406 = variable[9];
7577 }
7578 /* Register variable[9]: Result */
7579 /* Ensure var variable[9]: super-string element*/
7580 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7581 /* Register variable[8]: Result */
7582 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7583 variable[7] = variable[8] /*s=*/;
7584 } else { /*if*/
7585 /* Register variable[8]: Once expression result */
7586 if (once_bool_407) variable[8] = once_value_407;
7587 else {
7588 /* Register variable[8]: Once String constant */
7589 if (once_value_408 != NIT_NULL) variable[8] = once_value_408;
7590 else {
7591 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
7592 once_value_408 = variable[8];
7593 }
7594 /* Register variable[8]: Result */
7595 /* Register variable[8]: Result */
7596 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7597 once_value_407 = variable[8];
7598 once_bool_407 = true;
7599 }
7600 /* Register variable[8]: Result */
7601 /* Register variable[8]: Result */
7602 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::==*/)))));
7603 if (UNTAG_Bool(variable[8])) { /*if*/
7604 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7605 /* Register variable[9]: Once String constant */
7606 if (once_value_409 != NIT_NULL) variable[9] = once_value_409;
7607 else {
7608 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7609 once_value_409 = variable[9];
7610 }
7611 /* Register variable[9]: Result */
7612 /* Ensure var variable[9]: super-string element*/
7613 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7614 /* Register variable[9]: Local variable */
7615 variable[9] = variable[3] /*p*/;
7616 /* Register variable[10]: Local variable */
7617 variable[10] = TAG_Int(0);
7618 /* Register variable[11]: Method return value and escape marker */
7619 /* Register variable[12]: Result */
7620 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7621 /* Ensure var variable[12]: Left 'and' operand*/
7622 if (UNTAG_Bool(variable[12])) { /* and */
7623 /* Register variable[12]: Result */
7624 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7625 /* Register variable[12]: Result */
7626 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7627 }
7628 /* Register variable[12]: Result */
7629 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, 234); nit_exit(1);}
7630 /* Register variable[12]: Result */
7631 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7632 /* Register variable[12]: Result */
7633 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7634 variable[11] = variable[12];
7635 goto return_label410;
7636 return_label410: while(false);
7637 /* Register variable[9]: Result */
7638 variable[9] = variable[11];
7639 /* Ensure var variable[9]: super-string element*/
7640 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7641 /* Register variable[9]: Once String constant */
7642 if (once_value_411 != NIT_NULL) variable[9] = once_value_411;
7643 else {
7644 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Int("), TAG_Int(12)) /*new String*/;
7645 once_value_411 = variable[9];
7646 }
7647 /* Register variable[9]: Result */
7648 /* Ensure var variable[9]: super-string element*/
7649 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7650 /* Register variable[9]: Local variable */
7651 variable[9] = variable[3] /*p*/;
7652 /* Register variable[10]: Local variable */
7653 variable[10] = TAG_Int(1);
7654 /* Register variable[11]: Method return value and escape marker */
7655 /* Register variable[12]: Result */
7656 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7657 /* Ensure var variable[12]: Left 'and' operand*/
7658 if (UNTAG_Bool(variable[12])) { /* and */
7659 /* Register variable[12]: Result */
7660 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7661 /* Register variable[12]: Result */
7662 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7663 }
7664 /* Register variable[12]: Result */
7665 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, 234); nit_exit(1);}
7666 /* Register variable[12]: Result */
7667 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7668 /* Register variable[12]: Result */
7669 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7670 variable[11] = variable[12];
7671 goto return_label412;
7672 return_label412: while(false);
7673 /* Register variable[9]: Result */
7674 variable[9] = variable[11];
7675 /* Ensure var variable[9]: super-string element*/
7676 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7677 /* Register variable[9]: Once String constant */
7678 if (once_value_413 != NIT_NULL) variable[9] = once_value_413;
7679 else {
7680 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7681 once_value_413 = variable[9];
7682 }
7683 /* Register variable[9]: Result */
7684 /* Ensure var variable[9]: super-string element*/
7685 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7686 /* Register variable[8]: Result */
7687 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7688 variable[7] = variable[8] /*s=*/;
7689 } else { /*if*/
7690 /* Register variable[8]: Once expression result */
7691 if (once_bool_414) variable[8] = once_value_414;
7692 else {
7693 /* Register variable[8]: Once String constant */
7694 if (once_value_415 != NIT_NULL) variable[8] = once_value_415;
7695 else {
7696 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)) /*new String*/;
7697 once_value_415 = variable[8];
7698 }
7699 /* Register variable[8]: Result */
7700 /* Register variable[8]: Result */
7701 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7702 once_value_414 = variable[8];
7703 once_bool_414 = true;
7704 }
7705 /* Register variable[8]: Result */
7706 /* Register variable[8]: Result */
7707 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::==*/)))));
7708 if (UNTAG_Bool(variable[8])) { /*if*/
7709 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7710 /* Register variable[9]: Once String constant */
7711 if (once_value_416 != NIT_NULL) variable[9] = once_value_416;
7712 else {
7713 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
7714 once_value_416 = variable[9];
7715 }
7716 /* Register variable[9]: Result */
7717 /* Ensure var variable[9]: super-string element*/
7718 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7719 /* Register variable[9]: Local variable */
7720 variable[9] = variable[3] /*p*/;
7721 /* Register variable[10]: Local variable */
7722 variable[10] = TAG_Int(0);
7723 /* Register variable[11]: Method return value and escape marker */
7724 /* Register variable[12]: Result */
7725 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7726 /* Ensure var variable[12]: Left 'and' operand*/
7727 if (UNTAG_Bool(variable[12])) { /* and */
7728 /* Register variable[12]: Result */
7729 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7730 /* Register variable[12]: Result */
7731 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7732 }
7733 /* Register variable[12]: Result */
7734 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, 234); nit_exit(1);}
7735 /* Register variable[12]: Result */
7736 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7737 /* Register variable[12]: Result */
7738 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7739 variable[11] = variable[12];
7740 goto return_label417;
7741 return_label417: while(false);
7742 /* Register variable[9]: Result */
7743 variable[9] = variable[11];
7744 /* Ensure var variable[9]: super-string element*/
7745 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7746 /* Register variable[9]: Once String constant */
7747 if (once_value_418 != NIT_NULL) variable[9] = once_value_418;
7748 else {
7749 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Int("), TAG_Int(12)) /*new String*/;
7750 once_value_418 = variable[9];
7751 }
7752 /* Register variable[9]: Result */
7753 /* Ensure var variable[9]: super-string element*/
7754 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7755 /* Register variable[9]: Local variable */
7756 variable[9] = variable[3] /*p*/;
7757 /* Register variable[10]: Local variable */
7758 variable[10] = TAG_Int(1);
7759 /* Register variable[11]: Method return value and escape marker */
7760 /* Register variable[12]: Result */
7761 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7762 /* Ensure var variable[12]: Left 'and' operand*/
7763 if (UNTAG_Bool(variable[12])) { /* and */
7764 /* Register variable[12]: Result */
7765 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7766 /* Register variable[12]: Result */
7767 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7768 }
7769 /* Register variable[12]: Result */
7770 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, 234); nit_exit(1);}
7771 /* Register variable[12]: Result */
7772 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7773 /* Register variable[12]: Result */
7774 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7775 variable[11] = variable[12];
7776 goto return_label419;
7777 return_label419: while(false);
7778 /* Register variable[9]: Result */
7779 variable[9] = variable[11];
7780 /* Ensure var variable[9]: super-string element*/
7781 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7782 /* Register variable[9]: Once String constant */
7783 if (once_value_420 != NIT_NULL) variable[9] = once_value_420;
7784 else {
7785 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7786 once_value_420 = variable[9];
7787 }
7788 /* Register variable[9]: Result */
7789 /* Ensure var variable[9]: super-string element*/
7790 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7791 /* Register variable[8]: Result */
7792 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7793 variable[7] = variable[8] /*s=*/;
7794 } else { /*if*/
7795 /* Register variable[8]: Once expression result */
7796 if (once_bool_421) variable[8] = once_value_421;
7797 else {
7798 /* Register variable[8]: Once String constant */
7799 if (once_value_422 != NIT_NULL) variable[8] = once_value_422;
7800 else {
7801 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
7802 once_value_422 = variable[8];
7803 }
7804 /* Register variable[8]: Result */
7805 /* Register variable[8]: Result */
7806 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7807 once_value_421 = variable[8];
7808 once_bool_421 = true;
7809 }
7810 /* Register variable[8]: Result */
7811 /* Register variable[8]: Result */
7812 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::==*/)))));
7813 if (UNTAG_Bool(variable[8])) { /*if*/
7814 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7815 /* Register variable[9]: Once String constant */
7816 if (once_value_423 != NIT_NULL) variable[9] = once_value_423;
7817 else {
7818 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
7819 once_value_423 = variable[9];
7820 }
7821 /* Register variable[9]: Result */
7822 /* Ensure var variable[9]: super-string element*/
7823 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7824 /* Register variable[9]: Local variable */
7825 variable[9] = variable[3] /*p*/;
7826 /* Register variable[10]: Local variable */
7827 variable[10] = TAG_Int(0);
7828 /* Register variable[11]: Method return value and escape marker */
7829 /* Register variable[12]: Result */
7830 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7831 /* Ensure var variable[12]: Left 'and' operand*/
7832 if (UNTAG_Bool(variable[12])) { /* and */
7833 /* Register variable[12]: Result */
7834 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7835 /* Register variable[12]: Result */
7836 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7837 }
7838 /* Register variable[12]: Result */
7839 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, 234); nit_exit(1);}
7840 /* Register variable[12]: Result */
7841 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7842 /* Register variable[12]: Result */
7843 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7844 variable[11] = variable[12];
7845 goto return_label424;
7846 return_label424: while(false);
7847 /* Register variable[9]: Result */
7848 variable[9] = variable[11];
7849 /* Ensure var variable[9]: super-string element*/
7850 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7851 /* Register variable[9]: Once String constant */
7852 if (once_value_425 != NIT_NULL) variable[9] = once_value_425;
7853 else {
7854 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Int("), TAG_Int(12)) /*new String*/;
7855 once_value_425 = variable[9];
7856 }
7857 /* Register variable[9]: Result */
7858 /* Ensure var variable[9]: super-string element*/
7859 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7860 /* Register variable[9]: Local variable */
7861 variable[9] = variable[3] /*p*/;
7862 /* Register variable[10]: Local variable */
7863 variable[10] = TAG_Int(1);
7864 /* Register variable[11]: Method return value and escape marker */
7865 /* Register variable[12]: Result */
7866 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7867 /* Ensure var variable[12]: Left 'and' operand*/
7868 if (UNTAG_Bool(variable[12])) { /* and */
7869 /* Register variable[12]: Result */
7870 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7871 /* Register variable[12]: Result */
7872 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7873 }
7874 /* Register variable[12]: Result */
7875 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, 234); nit_exit(1);}
7876 /* Register variable[12]: Result */
7877 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7878 /* Register variable[12]: Result */
7879 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7880 variable[11] = variable[12];
7881 goto return_label426;
7882 return_label426: while(false);
7883 /* Register variable[9]: Result */
7884 variable[9] = variable[11];
7885 /* Ensure var variable[9]: super-string element*/
7886 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7887 /* Register variable[9]: Once String constant */
7888 if (once_value_427 != NIT_NULL) variable[9] = once_value_427;
7889 else {
7890 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7891 once_value_427 = variable[9];
7892 }
7893 /* Register variable[9]: Result */
7894 /* Ensure var variable[9]: super-string element*/
7895 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7896 /* Register variable[8]: Result */
7897 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
7898 variable[7] = variable[8] /*s=*/;
7899 } else { /*if*/
7900 /* Register variable[8]: Once expression result */
7901 if (once_bool_428) variable[8] = once_value_428;
7902 else {
7903 /* Register variable[8]: Once String constant */
7904 if (once_value_429 != NIT_NULL) variable[8] = once_value_429;
7905 else {
7906 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
7907 once_value_429 = variable[8];
7908 }
7909 /* Register variable[8]: Result */
7910 /* Register variable[8]: Result */
7911 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
7912 once_value_428 = variable[8];
7913 once_bool_428 = true;
7914 }
7915 /* Register variable[8]: Result */
7916 /* Register variable[8]: Result */
7917 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::==*/)))));
7918 if (UNTAG_Bool(variable[8])) { /*if*/
7919 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
7920 /* Register variable[9]: Once String constant */
7921 if (once_value_430 != NIT_NULL) variable[9] = once_value_430;
7922 else {
7923 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
7924 once_value_430 = variable[9];
7925 }
7926 /* Register variable[9]: Result */
7927 /* Ensure var variable[9]: super-string element*/
7928 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7929 /* Register variable[9]: Local variable */
7930 variable[9] = variable[3] /*p*/;
7931 /* Register variable[10]: Local variable */
7932 variable[10] = TAG_Int(0);
7933 /* Register variable[11]: Method return value and escape marker */
7934 /* Register variable[12]: Result */
7935 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7936 /* Ensure var variable[12]: Left 'and' operand*/
7937 if (UNTAG_Bool(variable[12])) { /* and */
7938 /* Register variable[12]: Result */
7939 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7940 /* Register variable[12]: Result */
7941 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7942 }
7943 /* Register variable[12]: Result */
7944 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, 234); nit_exit(1);}
7945 /* Register variable[12]: Result */
7946 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7947 /* Register variable[12]: Result */
7948 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7949 variable[11] = variable[12];
7950 goto return_label431;
7951 return_label431: while(false);
7952 /* Register variable[9]: Result */
7953 variable[9] = variable[11];
7954 /* Ensure var variable[9]: super-string element*/
7955 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7956 /* Register variable[9]: Once String constant */
7957 if (once_value_432 != NIT_NULL) variable[9] = once_value_432;
7958 else {
7959 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Int("), TAG_Int(12)) /*new String*/;
7960 once_value_432 = variable[9];
7961 }
7962 /* Register variable[9]: Result */
7963 /* Ensure var variable[9]: super-string element*/
7964 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7965 /* Register variable[9]: Local variable */
7966 variable[9] = variable[3] /*p*/;
7967 /* Register variable[10]: Local variable */
7968 variable[10] = TAG_Int(1);
7969 /* Register variable[11]: Method return value and escape marker */
7970 /* Register variable[12]: Result */
7971 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
7972 /* Ensure var variable[12]: Left 'and' operand*/
7973 if (UNTAG_Bool(variable[12])) { /* and */
7974 /* Register variable[12]: Result */
7975 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
7976 /* Register variable[12]: Result */
7977 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
7978 }
7979 /* Register variable[12]: Result */
7980 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, 234); nit_exit(1);}
7981 /* Register variable[12]: Result */
7982 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
7983 /* Register variable[12]: Result */
7984 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
7985 variable[11] = variable[12];
7986 goto return_label433;
7987 return_label433: while(false);
7988 /* Register variable[9]: Result */
7989 variable[9] = variable[11];
7990 /* Ensure var variable[9]: super-string element*/
7991 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
7992 /* Register variable[9]: Once String constant */
7993 if (once_value_434 != NIT_NULL) variable[9] = once_value_434;
7994 else {
7995 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
7996 once_value_434 = variable[9];
7997 }
7998 /* Register variable[9]: Result */
7999 /* Ensure var variable[9]: super-string element*/
8000 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8001 /* Register variable[8]: Result */
8002 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8003 variable[7] = variable[8] /*s=*/;
8004 } else { /*if*/
8005 /* Register variable[8]: Once expression result */
8006 if (once_bool_435) variable[8] = once_value_435;
8007 else {
8008 /* Register variable[8]: Once String constant */
8009 if (once_value_436 != NIT_NULL) variable[8] = once_value_436;
8010 else {
8011 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
8012 once_value_436 = variable[8];
8013 }
8014 /* Register variable[8]: Result */
8015 /* Register variable[8]: Result */
8016 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8017 once_value_435 = variable[8];
8018 once_bool_435 = true;
8019 }
8020 /* Register variable[8]: Result */
8021 /* Register variable[8]: Result */
8022 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::==*/)))));
8023 if (UNTAG_Bool(variable[8])) { /*if*/
8024 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8025 /* Register variable[9]: Once String constant */
8026 if (once_value_437 != NIT_NULL) variable[9] = once_value_437;
8027 else {
8028 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
8029 once_value_437 = variable[9];
8030 }
8031 /* Register variable[9]: Result */
8032 /* Ensure var variable[9]: super-string element*/
8033 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8034 /* Register variable[9]: Local variable */
8035 variable[9] = variable[3] /*p*/;
8036 /* Register variable[10]: Local variable */
8037 variable[10] = TAG_Int(0);
8038 /* Register variable[11]: Method return value and escape marker */
8039 /* Register variable[12]: Result */
8040 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8041 /* Ensure var variable[12]: Left 'and' operand*/
8042 if (UNTAG_Bool(variable[12])) { /* and */
8043 /* Register variable[12]: Result */
8044 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8045 /* Register variable[12]: Result */
8046 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8047 }
8048 /* Register variable[12]: Result */
8049 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, 234); nit_exit(1);}
8050 /* Register variable[12]: Result */
8051 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8052 /* Register variable[12]: Result */
8053 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8054 variable[11] = variable[12];
8055 goto return_label438;
8056 return_label438: while(false);
8057 /* Register variable[9]: Result */
8058 variable[9] = variable[11];
8059 /* Ensure var variable[9]: super-string element*/
8060 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8061 /* Register variable[9]: Once String constant */
8062 if (once_value_439 != NIT_NULL) variable[9] = once_value_439;
8063 else {
8064 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Int("), TAG_Int(13)) /*new String*/;
8065 once_value_439 = variable[9];
8066 }
8067 /* Register variable[9]: Result */
8068 /* Ensure var variable[9]: super-string element*/
8069 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8070 /* Register variable[9]: Local variable */
8071 variable[9] = variable[3] /*p*/;
8072 /* Register variable[10]: Local variable */
8073 variable[10] = TAG_Int(1);
8074 /* Register variable[11]: Method return value and escape marker */
8075 /* Register variable[12]: Result */
8076 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8077 /* Ensure var variable[12]: Left 'and' operand*/
8078 if (UNTAG_Bool(variable[12])) { /* and */
8079 /* Register variable[12]: Result */
8080 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8081 /* Register variable[12]: Result */
8082 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8083 }
8084 /* Register variable[12]: Result */
8085 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, 234); nit_exit(1);}
8086 /* Register variable[12]: Result */
8087 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8088 /* Register variable[12]: Result */
8089 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8090 variable[11] = variable[12];
8091 goto return_label440;
8092 return_label440: while(false);
8093 /* Register variable[9]: Result */
8094 variable[9] = variable[11];
8095 /* Ensure var variable[9]: super-string element*/
8096 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8097 /* Register variable[9]: Once String constant */
8098 if (once_value_441 != NIT_NULL) variable[9] = once_value_441;
8099 else {
8100 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8101 once_value_441 = variable[9];
8102 }
8103 /* Register variable[9]: Result */
8104 /* Ensure var variable[9]: super-string element*/
8105 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8106 /* Register variable[8]: Result */
8107 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8108 variable[7] = variable[8] /*s=*/;
8109 } else { /*if*/
8110 /* Register variable[8]: Once expression result */
8111 if (once_bool_442) variable[8] = once_value_442;
8112 else {
8113 /* Register variable[8]: Once String constant */
8114 if (once_value_443 != NIT_NULL) variable[8] = once_value_443;
8115 else {
8116 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
8117 once_value_443 = variable[8];
8118 }
8119 /* Register variable[8]: Result */
8120 /* Register variable[8]: Result */
8121 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8122 once_value_442 = variable[8];
8123 once_bool_442 = true;
8124 }
8125 /* Register variable[8]: Result */
8126 /* Register variable[8]: Result */
8127 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::==*/)))));
8128 if (UNTAG_Bool(variable[8])) { /*if*/
8129 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8130 /* Register variable[9]: Once String constant */
8131 if (once_value_444 != NIT_NULL) variable[9] = once_value_444;
8132 else {
8133 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Int("), TAG_Int(19)) /*new String*/;
8134 once_value_444 = variable[9];
8135 }
8136 /* Register variable[9]: Result */
8137 /* Ensure var variable[9]: super-string element*/
8138 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8139 /* Register variable[9]: Local variable */
8140 variable[9] = variable[3] /*p*/;
8141 /* Register variable[10]: Local variable */
8142 variable[10] = TAG_Int(0);
8143 /* Register variable[11]: Method return value and escape marker */
8144 /* Register variable[12]: Result */
8145 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8146 /* Ensure var variable[12]: Left 'and' operand*/
8147 if (UNTAG_Bool(variable[12])) { /* and */
8148 /* Register variable[12]: Result */
8149 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8150 /* Register variable[12]: Result */
8151 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8152 }
8153 /* Register variable[12]: Result */
8154 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, 234); nit_exit(1);}
8155 /* Register variable[12]: Result */
8156 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8157 /* Register variable[12]: Result */
8158 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8159 variable[11] = variable[12];
8160 goto return_label445;
8161 return_label445: while(false);
8162 /* Register variable[9]: Result */
8163 variable[9] = variable[11];
8164 /* Ensure var variable[9]: super-string element*/
8165 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8166 /* Register variable[9]: Once String constant */
8167 if (once_value_446 != NIT_NULL) variable[9] = once_value_446;
8168 else {
8169 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Int("), TAG_Int(13)) /*new String*/;
8170 once_value_446 = variable[9];
8171 }
8172 /* Register variable[9]: Result */
8173 /* Ensure var variable[9]: super-string element*/
8174 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8175 /* Register variable[9]: Local variable */
8176 variable[9] = variable[3] /*p*/;
8177 /* Register variable[10]: Local variable */
8178 variable[10] = TAG_Int(1);
8179 /* Register variable[11]: Method return value and escape marker */
8180 /* Register variable[12]: Result */
8181 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8182 /* Ensure var variable[12]: Left 'and' operand*/
8183 if (UNTAG_Bool(variable[12])) { /* and */
8184 /* Register variable[12]: Result */
8185 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8186 /* Register variable[12]: Result */
8187 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8188 }
8189 /* Register variable[12]: Result */
8190 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, 234); nit_exit(1);}
8191 /* Register variable[12]: Result */
8192 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8193 /* Register variable[12]: Result */
8194 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8195 variable[11] = variable[12];
8196 goto return_label447;
8197 return_label447: while(false);
8198 /* Register variable[9]: Result */
8199 variable[9] = variable[11];
8200 /* Ensure var variable[9]: super-string element*/
8201 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8202 /* Register variable[9]: Once String constant */
8203 if (once_value_448 != NIT_NULL) variable[9] = once_value_448;
8204 else {
8205 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8206 once_value_448 = variable[9];
8207 }
8208 /* Register variable[9]: Result */
8209 /* Ensure var variable[9]: super-string element*/
8210 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8211 /* Register variable[8]: Result */
8212 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8213 variable[7] = variable[8] /*s=*/;
8214 } else { /*if*/
8215 /* Register variable[8]: Once expression result */
8216 if (once_bool_449) variable[8] = once_value_449;
8217 else {
8218 /* Register variable[8]: Once String constant */
8219 if (once_value_450 != NIT_NULL) variable[8] = once_value_450;
8220 else {
8221 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("lshift"), TAG_Int(6)) /*new String*/;
8222 once_value_450 = variable[8];
8223 }
8224 /* Register variable[8]: Result */
8225 /* Register variable[8]: Result */
8226 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8227 once_value_449 = variable[8];
8228 once_bool_449 = true;
8229 }
8230 /* Register variable[8]: Result */
8231 /* Register variable[8]: Result */
8232 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::==*/)))));
8233 if (UNTAG_Bool(variable[8])) { /*if*/
8234 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8235 /* Register variable[9]: Once String constant */
8236 if (once_value_451 != NIT_NULL) variable[9] = once_value_451;
8237 else {
8238 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
8239 once_value_451 = variable[9];
8240 }
8241 /* Register variable[9]: Result */
8242 /* Ensure var variable[9]: super-string element*/
8243 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8244 /* Register variable[9]: Local variable */
8245 variable[9] = variable[3] /*p*/;
8246 /* Register variable[10]: Local variable */
8247 variable[10] = TAG_Int(0);
8248 /* Register variable[11]: Method return value and escape marker */
8249 /* Register variable[12]: Result */
8250 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8251 /* Ensure var variable[12]: Left 'and' operand*/
8252 if (UNTAG_Bool(variable[12])) { /* and */
8253 /* Register variable[12]: Result */
8254 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8255 /* Register variable[12]: Result */
8256 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8257 }
8258 /* Register variable[12]: Result */
8259 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, 234); nit_exit(1);}
8260 /* Register variable[12]: Result */
8261 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8262 /* Register variable[12]: Result */
8263 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8264 variable[11] = variable[12];
8265 goto return_label452;
8266 return_label452: while(false);
8267 /* Register variable[9]: Result */
8268 variable[9] = variable[11];
8269 /* Ensure var variable[9]: super-string element*/
8270 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8271 /* Register variable[9]: Once String constant */
8272 if (once_value_453 != NIT_NULL) variable[9] = once_value_453;
8273 else {
8274 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<<UNTAG_Int("), TAG_Int(13)) /*new String*/;
8275 once_value_453 = variable[9];
8276 }
8277 /* Register variable[9]: Result */
8278 /* Ensure var variable[9]: super-string element*/
8279 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8280 /* Register variable[9]: Local variable */
8281 variable[9] = variable[3] /*p*/;
8282 /* Register variable[10]: Local variable */
8283 variable[10] = TAG_Int(1);
8284 /* Register variable[11]: Method return value and escape marker */
8285 /* Register variable[12]: Result */
8286 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8287 /* Ensure var variable[12]: Left 'and' operand*/
8288 if (UNTAG_Bool(variable[12])) { /* and */
8289 /* Register variable[12]: Result */
8290 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8291 /* Register variable[12]: Result */
8292 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8293 }
8294 /* Register variable[12]: Result */
8295 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, 234); nit_exit(1);}
8296 /* Register variable[12]: Result */
8297 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8298 /* Register variable[12]: Result */
8299 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8300 variable[11] = variable[12];
8301 goto return_label454;
8302 return_label454: while(false);
8303 /* Register variable[9]: Result */
8304 variable[9] = variable[11];
8305 /* Ensure var variable[9]: super-string element*/
8306 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8307 /* Register variable[9]: Once String constant */
8308 if (once_value_455 != NIT_NULL) variable[9] = once_value_455;
8309 else {
8310 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8311 once_value_455 = variable[9];
8312 }
8313 /* Register variable[9]: Result */
8314 /* Ensure var variable[9]: super-string element*/
8315 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8316 /* Register variable[8]: Result */
8317 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8318 variable[7] = variable[8] /*s=*/;
8319 } else { /*if*/
8320 /* Register variable[8]: Once expression result */
8321 if (once_bool_456) variable[8] = once_value_456;
8322 else {
8323 /* Register variable[8]: Once String constant */
8324 if (once_value_457 != NIT_NULL) variable[8] = once_value_457;
8325 else {
8326 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("rshift"), TAG_Int(6)) /*new String*/;
8327 once_value_457 = variable[8];
8328 }
8329 /* Register variable[8]: Result */
8330 /* Register variable[8]: Result */
8331 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8332 once_value_456 = variable[8];
8333 once_bool_456 = true;
8334 }
8335 /* Register variable[8]: Result */
8336 /* Register variable[8]: Result */
8337 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::==*/)))));
8338 if (UNTAG_Bool(variable[8])) { /*if*/
8339 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8340 /* Register variable[9]: Once String constant */
8341 if (once_value_458 != NIT_NULL) variable[9] = once_value_458;
8342 else {
8343 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Int("), TAG_Int(18)) /*new String*/;
8344 once_value_458 = variable[9];
8345 }
8346 /* Register variable[9]: Result */
8347 /* Ensure var variable[9]: super-string element*/
8348 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8349 /* Register variable[9]: Local variable */
8350 variable[9] = variable[3] /*p*/;
8351 /* Register variable[10]: Local variable */
8352 variable[10] = TAG_Int(0);
8353 /* Register variable[11]: Method return value and escape marker */
8354 /* Register variable[12]: Result */
8355 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8356 /* Ensure var variable[12]: Left 'and' operand*/
8357 if (UNTAG_Bool(variable[12])) { /* and */
8358 /* Register variable[12]: Result */
8359 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8360 /* Register variable[12]: Result */
8361 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8362 }
8363 /* Register variable[12]: Result */
8364 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, 234); nit_exit(1);}
8365 /* Register variable[12]: Result */
8366 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8367 /* Register variable[12]: Result */
8368 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8369 variable[11] = variable[12];
8370 goto return_label459;
8371 return_label459: while(false);
8372 /* Register variable[9]: Result */
8373 variable[9] = variable[11];
8374 /* Ensure var variable[9]: super-string element*/
8375 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8376 /* Register variable[9]: Once String constant */
8377 if (once_value_460 != NIT_NULL) variable[9] = once_value_460;
8378 else {
8379 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>>UNTAG_Int("), TAG_Int(13)) /*new String*/;
8380 once_value_460 = variable[9];
8381 }
8382 /* Register variable[9]: Result */
8383 /* Ensure var variable[9]: super-string element*/
8384 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8385 /* Register variable[9]: Local variable */
8386 variable[9] = variable[3] /*p*/;
8387 /* Register variable[10]: Local variable */
8388 variable[10] = TAG_Int(1);
8389 /* Register variable[11]: Method return value and escape marker */
8390 /* Register variable[12]: Result */
8391 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8392 /* Ensure var variable[12]: Left 'and' operand*/
8393 if (UNTAG_Bool(variable[12])) { /* and */
8394 /* Register variable[12]: Result */
8395 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8396 /* Register variable[12]: Result */
8397 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8398 }
8399 /* Register variable[12]: Result */
8400 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, 234); nit_exit(1);}
8401 /* Register variable[12]: Result */
8402 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8403 /* Register variable[12]: Result */
8404 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8405 variable[11] = variable[12];
8406 goto return_label461;
8407 return_label461: while(false);
8408 /* Register variable[9]: Result */
8409 variable[9] = variable[11];
8410 /* Ensure var variable[9]: super-string element*/
8411 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8412 /* Register variable[9]: Once String constant */
8413 if (once_value_462 != NIT_NULL) variable[9] = once_value_462;
8414 else {
8415 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8416 once_value_462 = variable[9];
8417 }
8418 /* Register variable[9]: Result */
8419 /* Ensure var variable[9]: super-string element*/
8420 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8421 /* Register variable[8]: Result */
8422 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8423 variable[7] = variable[8] /*s=*/;
8424 } else { /*if*/
8425 /* Register variable[8]: Once expression result */
8426 if (once_bool_463) variable[8] = once_value_463;
8427 else {
8428 /* Register variable[8]: Once String constant */
8429 if (once_value_464 != NIT_NULL) variable[8] = once_value_464;
8430 else {
8431 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
8432 once_value_464 = variable[8];
8433 }
8434 /* Register variable[8]: Result */
8435 /* Register variable[8]: Result */
8436 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8437 once_value_463 = variable[8];
8438 once_bool_463 = true;
8439 }
8440 /* Register variable[8]: Result */
8441 /* Register variable[8]: Result */
8442 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::==*/)))));
8443 if (UNTAG_Bool(variable[8])) { /*if*/
8444 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8445 /* Register variable[9]: Once String constant */
8446 if (once_value_465 != NIT_NULL) variable[9] = once_value_465;
8447 else {
8448 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
8449 once_value_465 = variable[9];
8450 }
8451 /* Register variable[9]: Result */
8452 /* Ensure var variable[9]: super-string element*/
8453 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8454 /* Register variable[9]: Local variable */
8455 variable[9] = variable[3] /*p*/;
8456 /* Register variable[10]: Local variable */
8457 variable[10] = TAG_Int(0);
8458 /* Register variable[11]: Method return value and escape marker */
8459 /* Register variable[12]: Result */
8460 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8461 /* Ensure var variable[12]: Left 'and' operand*/
8462 if (UNTAG_Bool(variable[12])) { /* and */
8463 /* Register variable[12]: Result */
8464 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8465 /* Register variable[12]: Result */
8466 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8467 }
8468 /* Register variable[12]: Result */
8469 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, 234); nit_exit(1);}
8470 /* Register variable[12]: Result */
8471 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8472 /* Register variable[12]: Result */
8473 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8474 variable[11] = variable[12];
8475 goto return_label466;
8476 return_label466: while(false);
8477 /* Register variable[9]: Result */
8478 variable[9] = variable[11];
8479 /* Ensure var variable[9]: super-string element*/
8480 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8481 /* Register variable[9]: Once String constant */
8482 if (once_value_467 != NIT_NULL) variable[9] = once_value_467;
8483 else {
8484 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
8485 once_value_467 = variable[9];
8486 }
8487 /* Register variable[9]: Result */
8488 /* Ensure var variable[9]: super-string element*/
8489 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8490 /* Register variable[9]: Local variable */
8491 variable[9] = variable[3] /*p*/;
8492 /* Register variable[10]: Local variable */
8493 variable[10] = TAG_Int(1);
8494 /* Register variable[11]: Method return value and escape marker */
8495 /* Register variable[12]: Result */
8496 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8497 /* Ensure var variable[12]: Left 'and' operand*/
8498 if (UNTAG_Bool(variable[12])) { /* and */
8499 /* Register variable[12]: Result */
8500 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8501 /* Register variable[12]: Result */
8502 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8503 }
8504 /* Register variable[12]: Result */
8505 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, 234); nit_exit(1);}
8506 /* Register variable[12]: Result */
8507 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8508 /* Register variable[12]: Result */
8509 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8510 variable[11] = variable[12];
8511 goto return_label468;
8512 return_label468: while(false);
8513 /* Register variable[9]: Result */
8514 variable[9] = variable[11];
8515 /* Ensure var variable[9]: super-string element*/
8516 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8517 /* Register variable[9]: Once String constant */
8518 if (once_value_469 != NIT_NULL) variable[9] = once_value_469;
8519 else {
8520 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8521 once_value_469 = variable[9];
8522 }
8523 /* Register variable[9]: Result */
8524 /* Ensure var variable[9]: super-string element*/
8525 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8526 /* Register variable[8]: Result */
8527 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8528 variable[7] = variable[8] /*s=*/;
8529 } else { /*if*/
8530 /* Register variable[8]: Once expression result */
8531 if (once_bool_470) variable[8] = once_value_470;
8532 else {
8533 /* Register variable[8]: Once String constant */
8534 if (once_value_471 != NIT_NULL) variable[8] = once_value_471;
8535 else {
8536 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
8537 once_value_471 = variable[8];
8538 }
8539 /* Register variable[8]: Result */
8540 /* Register variable[8]: Result */
8541 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8542 once_value_470 = variable[8];
8543 once_bool_470 = true;
8544 }
8545 /* Register variable[8]: Result */
8546 /* Register variable[8]: Result */
8547 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::==*/)))));
8548 if (UNTAG_Bool(variable[8])) { /*if*/
8549 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8550 /* Register variable[9]: Once String constant */
8551 if (once_value_472 != NIT_NULL) variable[9] = once_value_472;
8552 else {
8553 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
8554 once_value_472 = variable[9];
8555 }
8556 /* Register variable[9]: Result */
8557 /* Ensure var variable[9]: super-string element*/
8558 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8559 /* Register variable[9]: Local variable */
8560 variable[9] = variable[3] /*p*/;
8561 /* Register variable[10]: Local variable */
8562 variable[10] = TAG_Int(0);
8563 /* Register variable[11]: Method return value and escape marker */
8564 /* Register variable[12]: Result */
8565 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8566 /* Ensure var variable[12]: Left 'and' operand*/
8567 if (UNTAG_Bool(variable[12])) { /* and */
8568 /* Register variable[12]: Result */
8569 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8570 /* Register variable[12]: Result */
8571 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8572 }
8573 /* Register variable[12]: Result */
8574 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, 234); nit_exit(1);}
8575 /* Register variable[12]: Result */
8576 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8577 /* Register variable[12]: Result */
8578 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8579 variable[11] = variable[12];
8580 goto return_label473;
8581 return_label473: while(false);
8582 /* Register variable[9]: Result */
8583 variable[9] = variable[11];
8584 /* Ensure var variable[9]: super-string element*/
8585 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8586 /* Register variable[9]: Once String constant */
8587 if (once_value_474 != NIT_NULL) variable[9] = once_value_474;
8588 else {
8589 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
8590 once_value_474 = variable[9];
8591 }
8592 /* Register variable[9]: Result */
8593 /* Ensure var variable[9]: super-string element*/
8594 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8595 /* Register variable[9]: Local variable */
8596 variable[9] = variable[3] /*p*/;
8597 /* Register variable[10]: Local variable */
8598 variable[10] = TAG_Int(1);
8599 /* Register variable[11]: Method return value and escape marker */
8600 /* Register variable[12]: Result */
8601 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8602 /* Ensure var variable[12]: Left 'and' operand*/
8603 if (UNTAG_Bool(variable[12])) { /* and */
8604 /* Register variable[12]: Result */
8605 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8606 /* Register variable[12]: Result */
8607 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8608 }
8609 /* Register variable[12]: Result */
8610 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, 234); nit_exit(1);}
8611 /* Register variable[12]: Result */
8612 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8613 /* Register variable[12]: Result */
8614 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8615 variable[11] = variable[12];
8616 goto return_label475;
8617 return_label475: while(false);
8618 /* Register variable[9]: Result */
8619 variable[9] = variable[11];
8620 /* Ensure var variable[9]: super-string element*/
8621 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8622 /* Register variable[9]: Once String constant */
8623 if (once_value_476 != NIT_NULL) variable[9] = once_value_476;
8624 else {
8625 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8626 once_value_476 = variable[9];
8627 }
8628 /* Register variable[9]: Result */
8629 /* Ensure var variable[9]: super-string element*/
8630 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8631 /* Register variable[8]: Result */
8632 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8633 variable[7] = variable[8] /*s=*/;
8634 }
8635 }
8636 }
8637 }
8638 }
8639 }
8640 }
8641 }
8642 }
8643 }
8644 }
8645 }
8646 }
8647 }
8648 }
8649 }
8650 }
8651 }
8652 }
8653 }
8654 } else { /*if*/
8655 /* Register variable[8]: Once expression result */
8656 if (once_bool_477) variable[8] = once_value_477;
8657 else {
8658 /* Register variable[8]: Once String constant */
8659 if (once_value_478 != NIT_NULL) variable[8] = once_value_478;
8660 else {
8661 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Float"), TAG_Int(5)) /*new String*/;
8662 once_value_478 = variable[8];
8663 }
8664 /* Register variable[8]: Result */
8665 /* Register variable[8]: Result */
8666 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8667 once_value_477 = variable[8];
8668 once_bool_477 = true;
8669 }
8670 /* Register variable[8]: Result */
8671 /* Register variable[8]: Result */
8672 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::==*/)))));
8673 if (UNTAG_Bool(variable[8])) { /*if*/
8674 /* Register variable[8]: Once expression result */
8675 if (once_bool_479) variable[8] = once_value_479;
8676 else {
8677 /* Register variable[8]: Once String constant */
8678 if (once_value_480 != NIT_NULL) variable[8] = once_value_480;
8679 else {
8680 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
8681 once_value_480 = variable[8];
8682 }
8683 /* Register variable[8]: Result */
8684 /* Register variable[8]: Result */
8685 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8686 once_value_479 = variable[8];
8687 once_bool_479 = true;
8688 }
8689 /* Register variable[8]: Result */
8690 /* Register variable[8]: Result */
8691 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::==*/)))));
8692 if (UNTAG_Bool(variable[8])) { /*if*/
8693 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8694 /* Register variable[9]: Once String constant */
8695 if (once_value_481 != NIT_NULL) variable[9] = once_value_481;
8696 else {
8697 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)) /*new String*/;
8698 once_value_481 = variable[9];
8699 }
8700 /* Register variable[9]: Result */
8701 /* Ensure var variable[9]: super-string element*/
8702 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8703 /* Register variable[9]: Local variable */
8704 variable[9] = variable[3] /*p*/;
8705 /* Register variable[10]: Local variable */
8706 variable[10] = TAG_Int(0);
8707 /* Register variable[11]: Method return value and escape marker */
8708 /* Register variable[12]: Result */
8709 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8710 /* Ensure var variable[12]: Left 'and' operand*/
8711 if (UNTAG_Bool(variable[12])) { /* and */
8712 /* Register variable[12]: Result */
8713 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8714 /* Register variable[12]: Result */
8715 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8716 }
8717 /* Register variable[12]: Result */
8718 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, 234); nit_exit(1);}
8719 /* Register variable[12]: Result */
8720 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8721 /* Register variable[12]: Result */
8722 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8723 variable[11] = variable[12];
8724 goto return_label482;
8725 return_label482: while(false);
8726 /* Register variable[9]: Result */
8727 variable[9] = variable[11];
8728 /* Ensure var variable[9]: super-string element*/
8729 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8730 /* Register variable[9]: Once String constant */
8731 if (once_value_483 != NIT_NULL) variable[9] = once_value_483;
8732 else {
8733 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8734 once_value_483 = variable[9];
8735 }
8736 /* Register variable[9]: Result */
8737 /* Ensure var variable[9]: super-string element*/
8738 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8739 /* Register variable[8]: Result */
8740 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8741 variable[7] = variable[8] /*s=*/;
8742 } else { /*if*/
8743 /* Register variable[8]: Once expression result */
8744 if (once_bool_484) variable[8] = once_value_484;
8745 else {
8746 /* Register variable[8]: Once String constant */
8747 if (once_value_485 != NIT_NULL) variable[8] = once_value_485;
8748 else {
8749 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
8750 once_value_485 = variable[8];
8751 }
8752 /* Register variable[8]: Result */
8753 /* Register variable[8]: Result */
8754 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8755 once_value_484 = variable[8];
8756 once_bool_484 = true;
8757 }
8758 /* Register variable[8]: Result */
8759 /* Register variable[8]: Result */
8760 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::==*/)))));
8761 if (UNTAG_Bool(variable[8])) { /*if*/
8762 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8763 /* Register variable[9]: Once String constant */
8764 if (once_value_486 != NIT_NULL) variable[9] = once_value_486;
8765 else {
8766 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(-UNBOX_Float("), TAG_Int(23)) /*new String*/;
8767 once_value_486 = variable[9];
8768 }
8769 /* Register variable[9]: Result */
8770 /* Ensure var variable[9]: super-string element*/
8771 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8772 /* Register variable[9]: Local variable */
8773 variable[9] = variable[3] /*p*/;
8774 /* Register variable[10]: Local variable */
8775 variable[10] = TAG_Int(0);
8776 /* Register variable[11]: Method return value and escape marker */
8777 /* Register variable[12]: Result */
8778 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8779 /* Ensure var variable[12]: Left 'and' operand*/
8780 if (UNTAG_Bool(variable[12])) { /* and */
8781 /* Register variable[12]: Result */
8782 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8783 /* Register variable[12]: Result */
8784 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8785 }
8786 /* Register variable[12]: Result */
8787 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, 234); nit_exit(1);}
8788 /* Register variable[12]: Result */
8789 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8790 /* Register variable[12]: Result */
8791 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8792 variable[11] = variable[12];
8793 goto return_label487;
8794 return_label487: while(false);
8795 /* Register variable[9]: Result */
8796 variable[9] = variable[11];
8797 /* Ensure var variable[9]: super-string element*/
8798 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8799 /* Register variable[9]: Once String constant */
8800 if (once_value_488 != NIT_NULL) variable[9] = once_value_488;
8801 else {
8802 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8803 once_value_488 = variable[9];
8804 }
8805 /* Register variable[9]: Result */
8806 /* Ensure var variable[9]: super-string element*/
8807 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8808 /* Register variable[8]: Result */
8809 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8810 variable[7] = variable[8] /*s=*/;
8811 } else { /*if*/
8812 /* Register variable[8]: Once expression result */
8813 if (once_bool_489) variable[8] = once_value_489;
8814 else {
8815 /* Register variable[8]: Once String constant */
8816 if (once_value_490 != NIT_NULL) variable[8] = once_value_490;
8817 else {
8818 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
8819 once_value_490 = variable[8];
8820 }
8821 /* Register variable[8]: Result */
8822 /* Register variable[8]: Result */
8823 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8824 once_value_489 = variable[8];
8825 once_bool_489 = true;
8826 }
8827 /* Register variable[8]: Result */
8828 /* Register variable[8]: Result */
8829 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::==*/)))));
8830 if (UNTAG_Bool(variable[8])) { /*if*/
8831 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8832 /* Register variable[9]: Once String constant */
8833 if (once_value_491 != NIT_NULL) variable[9] = once_value_491;
8834 else {
8835 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%f\\n\", UNBOX_Float("), TAG_Int(27)) /*new String*/;
8836 once_value_491 = variable[9];
8837 }
8838 /* Register variable[9]: Result */
8839 /* Ensure var variable[9]: super-string element*/
8840 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8841 /* Register variable[9]: Local variable */
8842 variable[9] = variable[3] /*p*/;
8843 /* Register variable[10]: Local variable */
8844 variable[10] = TAG_Int(0);
8845 /* Register variable[11]: Method return value and escape marker */
8846 /* Register variable[12]: Result */
8847 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8848 /* Ensure var variable[12]: Left 'and' operand*/
8849 if (UNTAG_Bool(variable[12])) { /* and */
8850 /* Register variable[12]: Result */
8851 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8852 /* Register variable[12]: Result */
8853 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8854 }
8855 /* Register variable[12]: Result */
8856 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, 234); nit_exit(1);}
8857 /* Register variable[12]: Result */
8858 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8859 /* Register variable[12]: Result */
8860 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8861 variable[11] = variable[12];
8862 goto return_label492;
8863 return_label492: while(false);
8864 /* Register variable[9]: Result */
8865 variable[9] = variable[11];
8866 /* Ensure var variable[9]: super-string element*/
8867 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8868 /* Register variable[9]: Once String constant */
8869 if (once_value_493 != NIT_NULL) variable[9] = once_value_493;
8870 else {
8871 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
8872 once_value_493 = variable[9];
8873 }
8874 /* Register variable[9]: Result */
8875 /* Ensure var variable[9]: super-string element*/
8876 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8877 /* Register variable[8]: Result */
8878 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8879 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
8880 } else { /*if*/
8881 /* Register variable[8]: Once expression result */
8882 if (once_bool_494) variable[8] = once_value_494;
8883 else {
8884 /* Register variable[8]: Once String constant */
8885 if (once_value_495 != NIT_NULL) variable[8] = once_value_495;
8886 else {
8887 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
8888 once_value_495 = variable[8];
8889 }
8890 /* Register variable[8]: Result */
8891 /* Register variable[8]: Result */
8892 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8893 once_value_494 = variable[8];
8894 once_bool_494 = true;
8895 }
8896 /* Register variable[8]: Result */
8897 /* Register variable[8]: Result */
8898 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::==*/)))));
8899 if (UNTAG_Bool(variable[8])) { /*if*/
8900 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8901 /* Register variable[9]: Once String constant */
8902 if (once_value_496 != NIT_NULL) variable[9] = once_value_496;
8903 else {
8904 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)UNBOX_Float("), TAG_Int(28)) /*new String*/;
8905 once_value_496 = variable[9];
8906 }
8907 /* Register variable[9]: Result */
8908 /* Ensure var variable[9]: super-string element*/
8909 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8910 /* Register variable[9]: Local variable */
8911 variable[9] = variable[3] /*p*/;
8912 /* Register variable[10]: Local variable */
8913 variable[10] = TAG_Int(0);
8914 /* Register variable[11]: Method return value and escape marker */
8915 /* Register variable[12]: Result */
8916 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8917 /* Ensure var variable[12]: Left 'and' operand*/
8918 if (UNTAG_Bool(variable[12])) { /* and */
8919 /* Register variable[12]: Result */
8920 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8921 /* Register variable[12]: Result */
8922 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8923 }
8924 /* Register variable[12]: Result */
8925 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, 234); nit_exit(1);}
8926 /* Register variable[12]: Result */
8927 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8928 /* Register variable[12]: Result */
8929 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8930 variable[11] = variable[12];
8931 goto return_label497;
8932 return_label497: while(false);
8933 /* Register variable[9]: Result */
8934 variable[9] = variable[11];
8935 /* Ensure var variable[9]: super-string element*/
8936 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8937 /* Register variable[9]: Once String constant */
8938 if (once_value_498 != NIT_NULL) variable[9] = once_value_498;
8939 else {
8940 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
8941 once_value_498 = variable[9];
8942 }
8943 /* Register variable[9]: Result */
8944 /* Ensure var variable[9]: super-string element*/
8945 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8946 /* Register variable[8]: Result */
8947 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
8948 variable[7] = variable[8] /*s=*/;
8949 } else { /*if*/
8950 /* Register variable[8]: Once expression result */
8951 if (once_bool_499) variable[8] = once_value_499;
8952 else {
8953 /* Register variable[8]: Once String constant */
8954 if (once_value_500 != NIT_NULL) variable[8] = once_value_500;
8955 else {
8956 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
8957 once_value_500 = variable[8];
8958 }
8959 /* Register variable[8]: Result */
8960 /* Register variable[8]: Result */
8961 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
8962 once_value_499 = variable[8];
8963 once_bool_499 = true;
8964 }
8965 /* Register variable[8]: Result */
8966 /* Register variable[8]: Result */
8967 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::==*/)))));
8968 if (UNTAG_Bool(variable[8])) { /*if*/
8969 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
8970 /* Register variable[9]: Once String constant */
8971 if (once_value_501 != NIT_NULL) variable[9] = once_value_501;
8972 else {
8973 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
8974 once_value_501 = variable[9];
8975 }
8976 /* Register variable[9]: Result */
8977 /* Ensure var variable[9]: super-string element*/
8978 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
8979 /* Register variable[9]: Local variable */
8980 variable[9] = variable[3] /*p*/;
8981 /* Register variable[10]: Local variable */
8982 variable[10] = TAG_Int(0);
8983 /* Register variable[11]: Method return value and escape marker */
8984 /* Register variable[12]: Result */
8985 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
8986 /* Ensure var variable[12]: Left 'and' operand*/
8987 if (UNTAG_Bool(variable[12])) { /* and */
8988 /* Register variable[12]: Result */
8989 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
8990 /* Register variable[12]: Result */
8991 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
8992 }
8993 /* Register variable[12]: Result */
8994 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, 234); nit_exit(1);}
8995 /* Register variable[12]: Result */
8996 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
8997 /* Register variable[12]: Result */
8998 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
8999 variable[11] = variable[12];
9000 goto return_label502;
9001 return_label502: while(false);
9002 /* Register variable[9]: Result */
9003 variable[9] = variable[11];
9004 /* Ensure var variable[9]: super-string element*/
9005 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9006 /* Register variable[9]: Once String constant */
9007 if (once_value_503 != NIT_NULL) variable[9] = once_value_503;
9008 else {
9009 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNBOX_Float("), TAG_Int(14)) /*new String*/;
9010 once_value_503 = variable[9];
9011 }
9012 /* Register variable[9]: Result */
9013 /* Ensure var variable[9]: super-string element*/
9014 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9015 /* Register variable[9]: Local variable */
9016 variable[9] = variable[3] /*p*/;
9017 /* Register variable[10]: Local variable */
9018 variable[10] = TAG_Int(1);
9019 /* Register variable[11]: Method return value and escape marker */
9020 /* Register variable[12]: Result */
9021 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9022 /* Ensure var variable[12]: Left 'and' operand*/
9023 if (UNTAG_Bool(variable[12])) { /* and */
9024 /* Register variable[12]: Result */
9025 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9026 /* Register variable[12]: Result */
9027 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9028 }
9029 /* Register variable[12]: Result */
9030 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, 234); nit_exit(1);}
9031 /* Register variable[12]: Result */
9032 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9033 /* Register variable[12]: Result */
9034 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9035 variable[11] = variable[12];
9036 goto return_label504;
9037 return_label504: while(false);
9038 /* Register variable[9]: Result */
9039 variable[9] = variable[11];
9040 /* Ensure var variable[9]: super-string element*/
9041 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9042 /* Register variable[9]: Once String constant */
9043 if (once_value_505 != NIT_NULL) variable[9] = once_value_505;
9044 else {
9045 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9046 once_value_505 = variable[9];
9047 }
9048 /* Register variable[9]: Result */
9049 /* Ensure var variable[9]: super-string element*/
9050 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9051 /* Register variable[8]: Result */
9052 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9053 variable[7] = variable[8] /*s=*/;
9054 } else { /*if*/
9055 /* Register variable[8]: Once expression result */
9056 if (once_bool_506) variable[8] = once_value_506;
9057 else {
9058 /* Register variable[8]: Once String constant */
9059 if (once_value_507 != NIT_NULL) variable[8] = once_value_507;
9060 else {
9061 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
9062 once_value_507 = variable[8];
9063 }
9064 /* Register variable[8]: Result */
9065 /* Register variable[8]: Result */
9066 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9067 once_value_506 = variable[8];
9068 once_bool_506 = true;
9069 }
9070 /* Register variable[8]: Result */
9071 /* Register variable[8]: Result */
9072 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::==*/)))));
9073 if (UNTAG_Bool(variable[8])) { /*if*/
9074 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9075 /* Register variable[9]: Once String constant */
9076 if (once_value_508 != NIT_NULL) variable[9] = once_value_508;
9077 else {
9078 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
9079 once_value_508 = variable[9];
9080 }
9081 /* Register variable[9]: Result */
9082 /* Ensure var variable[9]: super-string element*/
9083 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9084 /* Register variable[9]: Local variable */
9085 variable[9] = variable[3] /*p*/;
9086 /* Register variable[10]: Local variable */
9087 variable[10] = TAG_Int(0);
9088 /* Register variable[11]: Method return value and escape marker */
9089 /* Register variable[12]: Result */
9090 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9091 /* Ensure var variable[12]: Left 'and' operand*/
9092 if (UNTAG_Bool(variable[12])) { /* and */
9093 /* Register variable[12]: Result */
9094 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9095 /* Register variable[12]: Result */
9096 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9097 }
9098 /* Register variable[12]: Result */
9099 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, 234); nit_exit(1);}
9100 /* Register variable[12]: Result */
9101 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9102 /* Register variable[12]: Result */
9103 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9104 variable[11] = variable[12];
9105 goto return_label509;
9106 return_label509: while(false);
9107 /* Register variable[9]: Result */
9108 variable[9] = variable[11];
9109 /* Ensure var variable[9]: super-string element*/
9110 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9111 /* Register variable[9]: Once String constant */
9112 if (once_value_510 != NIT_NULL) variable[9] = once_value_510;
9113 else {
9114 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNBOX_Float("), TAG_Int(14)) /*new String*/;
9115 once_value_510 = variable[9];
9116 }
9117 /* Register variable[9]: Result */
9118 /* Ensure var variable[9]: super-string element*/
9119 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9120 /* Register variable[9]: Local variable */
9121 variable[9] = variable[3] /*p*/;
9122 /* Register variable[10]: Local variable */
9123 variable[10] = TAG_Int(1);
9124 /* Register variable[11]: Method return value and escape marker */
9125 /* Register variable[12]: Result */
9126 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9127 /* Ensure var variable[12]: Left 'and' operand*/
9128 if (UNTAG_Bool(variable[12])) { /* and */
9129 /* Register variable[12]: Result */
9130 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9131 /* Register variable[12]: Result */
9132 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9133 }
9134 /* Register variable[12]: Result */
9135 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, 234); nit_exit(1);}
9136 /* Register variable[12]: Result */
9137 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9138 /* Register variable[12]: Result */
9139 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9140 variable[11] = variable[12];
9141 goto return_label511;
9142 return_label511: while(false);
9143 /* Register variable[9]: Result */
9144 variable[9] = variable[11];
9145 /* Ensure var variable[9]: super-string element*/
9146 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9147 /* Register variable[9]: Once String constant */
9148 if (once_value_512 != NIT_NULL) variable[9] = once_value_512;
9149 else {
9150 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9151 once_value_512 = variable[9];
9152 }
9153 /* Register variable[9]: Result */
9154 /* Ensure var variable[9]: super-string element*/
9155 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9156 /* Register variable[8]: Result */
9157 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9158 variable[7] = variable[8] /*s=*/;
9159 } else { /*if*/
9160 /* Register variable[8]: Once expression result */
9161 if (once_bool_513) variable[8] = once_value_513;
9162 else {
9163 /* Register variable[8]: Once String constant */
9164 if (once_value_514 != NIT_NULL) variable[8] = once_value_514;
9165 else {
9166 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
9167 once_value_514 = variable[8];
9168 }
9169 /* Register variable[8]: Result */
9170 /* Register variable[8]: Result */
9171 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9172 once_value_513 = variable[8];
9173 once_bool_513 = true;
9174 }
9175 /* Register variable[8]: Result */
9176 /* Register variable[8]: Result */
9177 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::==*/)))));
9178 if (UNTAG_Bool(variable[8])) { /*if*/
9179 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9180 /* Register variable[9]: Once String constant */
9181 if (once_value_515 != NIT_NULL) variable[9] = once_value_515;
9182 else {
9183 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
9184 once_value_515 = variable[9];
9185 }
9186 /* Register variable[9]: Result */
9187 /* Ensure var variable[9]: super-string element*/
9188 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9189 /* Register variable[9]: Local variable */
9190 variable[9] = variable[3] /*p*/;
9191 /* Register variable[10]: Local variable */
9192 variable[10] = TAG_Int(0);
9193 /* Register variable[11]: Method return value and escape marker */
9194 /* Register variable[12]: Result */
9195 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9196 /* Ensure var variable[12]: Left 'and' operand*/
9197 if (UNTAG_Bool(variable[12])) { /* and */
9198 /* Register variable[12]: Result */
9199 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9200 /* Register variable[12]: Result */
9201 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9202 }
9203 /* Register variable[12]: Result */
9204 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, 234); nit_exit(1);}
9205 /* Register variable[12]: Result */
9206 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9207 /* Register variable[12]: Result */
9208 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9209 variable[11] = variable[12];
9210 goto return_label516;
9211 return_label516: while(false);
9212 /* Register variable[9]: Result */
9213 variable[9] = variable[11];
9214 /* Ensure var variable[9]: super-string element*/
9215 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9216 /* Register variable[9]: Once String constant */
9217 if (once_value_517 != NIT_NULL) variable[9] = once_value_517;
9218 else {
9219 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNBOX_Float("), TAG_Int(14)) /*new String*/;
9220 once_value_517 = variable[9];
9221 }
9222 /* Register variable[9]: Result */
9223 /* Ensure var variable[9]: super-string element*/
9224 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9225 /* Register variable[9]: Local variable */
9226 variable[9] = variable[3] /*p*/;
9227 /* Register variable[10]: Local variable */
9228 variable[10] = TAG_Int(1);
9229 /* Register variable[11]: Method return value and escape marker */
9230 /* Register variable[12]: Result */
9231 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9232 /* Ensure var variable[12]: Left 'and' operand*/
9233 if (UNTAG_Bool(variable[12])) { /* and */
9234 /* Register variable[12]: Result */
9235 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9236 /* Register variable[12]: Result */
9237 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9238 }
9239 /* Register variable[12]: Result */
9240 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, 234); nit_exit(1);}
9241 /* Register variable[12]: Result */
9242 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9243 /* Register variable[12]: Result */
9244 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9245 variable[11] = variable[12];
9246 goto return_label518;
9247 return_label518: while(false);
9248 /* Register variable[9]: Result */
9249 variable[9] = variable[11];
9250 /* Ensure var variable[9]: super-string element*/
9251 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9252 /* Register variable[9]: Once String constant */
9253 if (once_value_519 != NIT_NULL) variable[9] = once_value_519;
9254 else {
9255 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9256 once_value_519 = variable[9];
9257 }
9258 /* Register variable[9]: Result */
9259 /* Ensure var variable[9]: super-string element*/
9260 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9261 /* Register variable[8]: Result */
9262 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9263 variable[7] = variable[8] /*s=*/;
9264 } else { /*if*/
9265 /* Register variable[8]: Once expression result */
9266 if (once_bool_520) variable[8] = once_value_520;
9267 else {
9268 /* Register variable[8]: Once String constant */
9269 if (once_value_521 != NIT_NULL) variable[8] = once_value_521;
9270 else {
9271 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
9272 once_value_521 = variable[8];
9273 }
9274 /* Register variable[8]: Result */
9275 /* Register variable[8]: Result */
9276 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9277 once_value_520 = variable[8];
9278 once_bool_520 = true;
9279 }
9280 /* Register variable[8]: Result */
9281 /* Register variable[8]: Result */
9282 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::==*/)))));
9283 if (UNTAG_Bool(variable[8])) { /*if*/
9284 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9285 /* Register variable[9]: Once String constant */
9286 if (once_value_522 != NIT_NULL) variable[9] = once_value_522;
9287 else {
9288 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float(UNBOX_Float("), TAG_Int(22)) /*new String*/;
9289 once_value_522 = variable[9];
9290 }
9291 /* Register variable[9]: Result */
9292 /* Ensure var variable[9]: super-string element*/
9293 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9294 /* Register variable[9]: Local variable */
9295 variable[9] = variable[3] /*p*/;
9296 /* Register variable[10]: Local variable */
9297 variable[10] = TAG_Int(0);
9298 /* Register variable[11]: Method return value and escape marker */
9299 /* Register variable[12]: Result */
9300 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9301 /* Ensure var variable[12]: Left 'and' operand*/
9302 if (UNTAG_Bool(variable[12])) { /* and */
9303 /* Register variable[12]: Result */
9304 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9305 /* Register variable[12]: Result */
9306 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9307 }
9308 /* Register variable[12]: Result */
9309 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, 234); nit_exit(1);}
9310 /* Register variable[12]: Result */
9311 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9312 /* Register variable[12]: Result */
9313 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9314 variable[11] = variable[12];
9315 goto return_label523;
9316 return_label523: while(false);
9317 /* Register variable[9]: Result */
9318 variable[9] = variable[11];
9319 /* Ensure var variable[9]: super-string element*/
9320 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9321 /* Register variable[9]: Once String constant */
9322 if (once_value_524 != NIT_NULL) variable[9] = once_value_524;
9323 else {
9324 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNBOX_Float("), TAG_Int(14)) /*new String*/;
9325 once_value_524 = variable[9];
9326 }
9327 /* Register variable[9]: Result */
9328 /* Ensure var variable[9]: super-string element*/
9329 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9330 /* Register variable[9]: Local variable */
9331 variable[9] = variable[3] /*p*/;
9332 /* Register variable[10]: Local variable */
9333 variable[10] = TAG_Int(1);
9334 /* Register variable[11]: Method return value and escape marker */
9335 /* Register variable[12]: Result */
9336 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9337 /* Ensure var variable[12]: Left 'and' operand*/
9338 if (UNTAG_Bool(variable[12])) { /* and */
9339 /* Register variable[12]: Result */
9340 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9341 /* Register variable[12]: Result */
9342 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9343 }
9344 /* Register variable[12]: Result */
9345 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, 234); nit_exit(1);}
9346 /* Register variable[12]: Result */
9347 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9348 /* Register variable[12]: Result */
9349 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9350 variable[11] = variable[12];
9351 goto return_label525;
9352 return_label525: while(false);
9353 /* Register variable[9]: Result */
9354 variable[9] = variable[11];
9355 /* Ensure var variable[9]: super-string element*/
9356 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9357 /* Register variable[9]: Once String constant */
9358 if (once_value_526 != NIT_NULL) variable[9] = once_value_526;
9359 else {
9360 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9361 once_value_526 = variable[9];
9362 }
9363 /* Register variable[9]: Result */
9364 /* Ensure var variable[9]: super-string element*/
9365 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9366 /* Register variable[8]: Result */
9367 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9368 variable[7] = variable[8] /*s=*/;
9369 } else { /*if*/
9370 /* Register variable[8]: Once expression result */
9371 if (once_bool_527) variable[8] = once_value_527;
9372 else {
9373 /* Register variable[8]: Once String constant */
9374 if (once_value_528 != NIT_NULL) variable[8] = once_value_528;
9375 else {
9376 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
9377 once_value_528 = variable[8];
9378 }
9379 /* Register variable[8]: Result */
9380 /* Register variable[8]: Result */
9381 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9382 once_value_527 = variable[8];
9383 once_bool_527 = true;
9384 }
9385 /* Register variable[8]: Result */
9386 /* Register variable[8]: Result */
9387 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::==*/)))));
9388 if (UNTAG_Bool(variable[8])) { /*if*/
9389 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9390 /* Register variable[9]: Once String constant */
9391 if (once_value_529 != NIT_NULL) variable[9] = once_value_529;
9392 else {
9393 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
9394 once_value_529 = variable[9];
9395 }
9396 /* Register variable[9]: Result */
9397 /* Ensure var variable[9]: super-string element*/
9398 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9399 /* Register variable[9]: Local variable */
9400 variable[9] = variable[3] /*p*/;
9401 /* Register variable[10]: Local variable */
9402 variable[10] = TAG_Int(0);
9403 /* Register variable[11]: Method return value and escape marker */
9404 /* Register variable[12]: Result */
9405 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9406 /* Ensure var variable[12]: Left 'and' operand*/
9407 if (UNTAG_Bool(variable[12])) { /* and */
9408 /* Register variable[12]: Result */
9409 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9410 /* Register variable[12]: Result */
9411 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9412 }
9413 /* Register variable[12]: Result */
9414 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, 234); nit_exit(1);}
9415 /* Register variable[12]: Result */
9416 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9417 /* Register variable[12]: Result */
9418 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9419 variable[11] = variable[12];
9420 goto return_label530;
9421 return_label530: while(false);
9422 /* Register variable[9]: Result */
9423 variable[9] = variable[11];
9424 /* Ensure var variable[9]: super-string element*/
9425 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9426 /* Register variable[9]: Once String constant */
9427 if (once_value_531 != NIT_NULL) variable[9] = once_value_531;
9428 else {
9429 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNBOX_Float("), TAG_Int(14)) /*new String*/;
9430 once_value_531 = variable[9];
9431 }
9432 /* Register variable[9]: Result */
9433 /* Ensure var variable[9]: super-string element*/
9434 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9435 /* Register variable[9]: Local variable */
9436 variable[9] = variable[3] /*p*/;
9437 /* Register variable[10]: Local variable */
9438 variable[10] = TAG_Int(1);
9439 /* Register variable[11]: Method return value and escape marker */
9440 /* Register variable[12]: Result */
9441 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9442 /* Ensure var variable[12]: Left 'and' operand*/
9443 if (UNTAG_Bool(variable[12])) { /* and */
9444 /* Register variable[12]: Result */
9445 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9446 /* Register variable[12]: Result */
9447 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9448 }
9449 /* Register variable[12]: Result */
9450 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, 234); nit_exit(1);}
9451 /* Register variable[12]: Result */
9452 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9453 /* Register variable[12]: Result */
9454 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9455 variable[11] = variable[12];
9456 goto return_label532;
9457 return_label532: while(false);
9458 /* Register variable[9]: Result */
9459 variable[9] = variable[11];
9460 /* Ensure var variable[9]: super-string element*/
9461 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9462 /* Register variable[9]: Once String constant */
9463 if (once_value_533 != NIT_NULL) variable[9] = once_value_533;
9464 else {
9465 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9466 once_value_533 = variable[9];
9467 }
9468 /* Register variable[9]: Result */
9469 /* Ensure var variable[9]: super-string element*/
9470 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9471 /* Register variable[8]: Result */
9472 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9473 variable[7] = variable[8] /*s=*/;
9474 } else { /*if*/
9475 /* Register variable[8]: Once expression result */
9476 if (once_bool_534) variable[8] = once_value_534;
9477 else {
9478 /* Register variable[8]: Once String constant */
9479 if (once_value_535 != NIT_NULL) variable[8] = once_value_535;
9480 else {
9481 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
9482 once_value_535 = variable[8];
9483 }
9484 /* Register variable[8]: Result */
9485 /* Register variable[8]: Result */
9486 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9487 once_value_534 = variable[8];
9488 once_bool_534 = true;
9489 }
9490 /* Register variable[8]: Result */
9491 /* Register variable[8]: Result */
9492 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::==*/)))));
9493 if (UNTAG_Bool(variable[8])) { /*if*/
9494 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9495 /* Register variable[9]: Once String constant */
9496 if (once_value_536 != NIT_NULL) variable[9] = once_value_536;
9497 else {
9498 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
9499 once_value_536 = variable[9];
9500 }
9501 /* Register variable[9]: Result */
9502 /* Ensure var variable[9]: super-string element*/
9503 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9504 /* Register variable[9]: Local variable */
9505 variable[9] = variable[3] /*p*/;
9506 /* Register variable[10]: Local variable */
9507 variable[10] = TAG_Int(0);
9508 /* Register variable[11]: Method return value and escape marker */
9509 /* Register variable[12]: Result */
9510 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9511 /* Ensure var variable[12]: Left 'and' operand*/
9512 if (UNTAG_Bool(variable[12])) { /* and */
9513 /* Register variable[12]: Result */
9514 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9515 /* Register variable[12]: Result */
9516 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9517 }
9518 /* Register variable[12]: Result */
9519 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, 234); nit_exit(1);}
9520 /* Register variable[12]: Result */
9521 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9522 /* Register variable[12]: Result */
9523 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9524 variable[11] = variable[12];
9525 goto return_label537;
9526 return_label537: while(false);
9527 /* Register variable[9]: Result */
9528 variable[9] = variable[11];
9529 /* Ensure var variable[9]: super-string element*/
9530 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9531 /* Register variable[9]: Once String constant */
9532 if (once_value_538 != NIT_NULL) variable[9] = once_value_538;
9533 else {
9534 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNBOX_Float("), TAG_Int(14)) /*new String*/;
9535 once_value_538 = variable[9];
9536 }
9537 /* Register variable[9]: Result */
9538 /* Ensure var variable[9]: super-string element*/
9539 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9540 /* Register variable[9]: Local variable */
9541 variable[9] = variable[3] /*p*/;
9542 /* Register variable[10]: Local variable */
9543 variable[10] = TAG_Int(1);
9544 /* Register variable[11]: Method return value and escape marker */
9545 /* Register variable[12]: Result */
9546 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9547 /* Ensure var variable[12]: Left 'and' operand*/
9548 if (UNTAG_Bool(variable[12])) { /* and */
9549 /* Register variable[12]: Result */
9550 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9551 /* Register variable[12]: Result */
9552 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9553 }
9554 /* Register variable[12]: Result */
9555 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, 234); nit_exit(1);}
9556 /* Register variable[12]: Result */
9557 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9558 /* Register variable[12]: Result */
9559 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9560 variable[11] = variable[12];
9561 goto return_label539;
9562 return_label539: while(false);
9563 /* Register variable[9]: Result */
9564 variable[9] = variable[11];
9565 /* Ensure var variable[9]: super-string element*/
9566 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9567 /* Register variable[9]: Once String constant */
9568 if (once_value_540 != NIT_NULL) variable[9] = once_value_540;
9569 else {
9570 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9571 once_value_540 = variable[9];
9572 }
9573 /* Register variable[9]: Result */
9574 /* Ensure var variable[9]: super-string element*/
9575 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9576 /* Register variable[8]: Result */
9577 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9578 variable[7] = variable[8] /*s=*/;
9579 } else { /*if*/
9580 /* Register variable[8]: Once expression result */
9581 if (once_bool_541) variable[8] = once_value_541;
9582 else {
9583 /* Register variable[8]: Once String constant */
9584 if (once_value_542 != NIT_NULL) variable[8] = once_value_542;
9585 else {
9586 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
9587 once_value_542 = variable[8];
9588 }
9589 /* Register variable[8]: Result */
9590 /* Register variable[8]: Result */
9591 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9592 once_value_541 = variable[8];
9593 once_bool_541 = true;
9594 }
9595 /* Register variable[8]: Result */
9596 /* Register variable[8]: Result */
9597 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::==*/)))));
9598 if (UNTAG_Bool(variable[8])) { /*if*/
9599 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9600 /* Register variable[9]: Once String constant */
9601 if (once_value_543 != NIT_NULL) variable[9] = once_value_543;
9602 else {
9603 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
9604 once_value_543 = variable[9];
9605 }
9606 /* Register variable[9]: Result */
9607 /* Ensure var variable[9]: super-string element*/
9608 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9609 /* Register variable[9]: Local variable */
9610 variable[9] = variable[3] /*p*/;
9611 /* Register variable[10]: Local variable */
9612 variable[10] = TAG_Int(0);
9613 /* Register variable[11]: Method return value and escape marker */
9614 /* Register variable[12]: Result */
9615 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9616 /* Ensure var variable[12]: Left 'and' operand*/
9617 if (UNTAG_Bool(variable[12])) { /* and */
9618 /* Register variable[12]: Result */
9619 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9620 /* Register variable[12]: Result */
9621 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9622 }
9623 /* Register variable[12]: Result */
9624 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, 234); nit_exit(1);}
9625 /* Register variable[12]: Result */
9626 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9627 /* Register variable[12]: Result */
9628 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9629 variable[11] = variable[12];
9630 goto return_label544;
9631 return_label544: while(false);
9632 /* Register variable[9]: Result */
9633 variable[9] = variable[11];
9634 /* Ensure var variable[9]: super-string element*/
9635 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9636 /* Register variable[9]: Once String constant */
9637 if (once_value_545 != NIT_NULL) variable[9] = once_value_545;
9638 else {
9639 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNBOX_Float("), TAG_Int(15)) /*new String*/;
9640 once_value_545 = variable[9];
9641 }
9642 /* Register variable[9]: Result */
9643 /* Ensure var variable[9]: super-string element*/
9644 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9645 /* Register variable[9]: Local variable */
9646 variable[9] = variable[3] /*p*/;
9647 /* Register variable[10]: Local variable */
9648 variable[10] = TAG_Int(1);
9649 /* Register variable[11]: Method return value and escape marker */
9650 /* Register variable[12]: Result */
9651 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9652 /* Ensure var variable[12]: Left 'and' operand*/
9653 if (UNTAG_Bool(variable[12])) { /* and */
9654 /* Register variable[12]: Result */
9655 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9656 /* Register variable[12]: Result */
9657 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9658 }
9659 /* Register variable[12]: Result */
9660 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, 234); nit_exit(1);}
9661 /* Register variable[12]: Result */
9662 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9663 /* Register variable[12]: Result */
9664 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9665 variable[11] = variable[12];
9666 goto return_label546;
9667 return_label546: while(false);
9668 /* Register variable[9]: Result */
9669 variable[9] = variable[11];
9670 /* Ensure var variable[9]: super-string element*/
9671 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9672 /* Register variable[9]: Once String constant */
9673 if (once_value_547 != NIT_NULL) variable[9] = once_value_547;
9674 else {
9675 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9676 once_value_547 = variable[9];
9677 }
9678 /* Register variable[9]: Result */
9679 /* Ensure var variable[9]: super-string element*/
9680 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9681 /* Register variable[8]: Result */
9682 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9683 variable[7] = variable[8] /*s=*/;
9684 } else { /*if*/
9685 /* Register variable[8]: Once expression result */
9686 if (once_bool_548) variable[8] = once_value_548;
9687 else {
9688 /* Register variable[8]: Once String constant */
9689 if (once_value_549 != NIT_NULL) variable[8] = once_value_549;
9690 else {
9691 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
9692 once_value_549 = variable[8];
9693 }
9694 /* Register variable[8]: Result */
9695 /* Register variable[8]: Result */
9696 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9697 once_value_548 = variable[8];
9698 once_bool_548 = true;
9699 }
9700 /* Register variable[8]: Result */
9701 /* Register variable[8]: Result */
9702 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::==*/)))));
9703 if (UNTAG_Bool(variable[8])) { /*if*/
9704 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9705 /* Register variable[9]: Once String constant */
9706 if (once_value_550 != NIT_NULL) variable[9] = once_value_550;
9707 else {
9708 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNBOX_Float("), TAG_Int(21)) /*new String*/;
9709 once_value_550 = variable[9];
9710 }
9711 /* Register variable[9]: Result */
9712 /* Ensure var variable[9]: super-string element*/
9713 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9714 /* Register variable[9]: Local variable */
9715 variable[9] = variable[3] /*p*/;
9716 /* Register variable[10]: Local variable */
9717 variable[10] = TAG_Int(0);
9718 /* Register variable[11]: Method return value and escape marker */
9719 /* Register variable[12]: Result */
9720 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9721 /* Ensure var variable[12]: Left 'and' operand*/
9722 if (UNTAG_Bool(variable[12])) { /* and */
9723 /* Register variable[12]: Result */
9724 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9725 /* Register variable[12]: Result */
9726 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9727 }
9728 /* Register variable[12]: Result */
9729 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, 234); nit_exit(1);}
9730 /* Register variable[12]: Result */
9731 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9732 /* Register variable[12]: Result */
9733 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9734 variable[11] = variable[12];
9735 goto return_label551;
9736 return_label551: while(false);
9737 /* Register variable[9]: Result */
9738 variable[9] = variable[11];
9739 /* Ensure var variable[9]: super-string element*/
9740 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9741 /* Register variable[9]: Once String constant */
9742 if (once_value_552 != NIT_NULL) variable[9] = once_value_552;
9743 else {
9744 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNBOX_Float("), TAG_Int(15)) /*new String*/;
9745 once_value_552 = variable[9];
9746 }
9747 /* Register variable[9]: Result */
9748 /* Ensure var variable[9]: super-string element*/
9749 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9750 /* Register variable[9]: Local variable */
9751 variable[9] = variable[3] /*p*/;
9752 /* Register variable[10]: Local variable */
9753 variable[10] = TAG_Int(1);
9754 /* Register variable[11]: Method return value and escape marker */
9755 /* Register variable[12]: Result */
9756 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9757 /* Ensure var variable[12]: Left 'and' operand*/
9758 if (UNTAG_Bool(variable[12])) { /* and */
9759 /* Register variable[12]: Result */
9760 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9761 /* Register variable[12]: Result */
9762 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9763 }
9764 /* Register variable[12]: Result */
9765 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, 234); nit_exit(1);}
9766 /* Register variable[12]: Result */
9767 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9768 /* Register variable[12]: Result */
9769 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9770 variable[11] = variable[12];
9771 goto return_label553;
9772 return_label553: while(false);
9773 /* Register variable[9]: Result */
9774 variable[9] = variable[11];
9775 /* Ensure var variable[9]: super-string element*/
9776 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9777 /* Register variable[9]: Once String constant */
9778 if (once_value_554 != NIT_NULL) variable[9] = once_value_554;
9779 else {
9780 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9781 once_value_554 = variable[9];
9782 }
9783 /* Register variable[9]: Result */
9784 /* Ensure var variable[9]: super-string element*/
9785 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9786 /* Register variable[8]: Result */
9787 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9788 variable[7] = variable[8] /*s=*/;
9789 }
9790 }
9791 }
9792 }
9793 }
9794 }
9795 }
9796 }
9797 }
9798 }
9799 }
9800 }
9801 } else { /*if*/
9802 /* Register variable[8]: Once expression result */
9803 if (once_bool_555) variable[8] = once_value_555;
9804 else {
9805 /* Register variable[8]: Once String constant */
9806 if (once_value_556 != NIT_NULL) variable[8] = once_value_556;
9807 else {
9808 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Char"), TAG_Int(4)) /*new String*/;
9809 once_value_556 = variable[8];
9810 }
9811 /* Register variable[8]: Result */
9812 /* Register variable[8]: Result */
9813 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9814 once_value_555 = variable[8];
9815 once_bool_555 = true;
9816 }
9817 /* Register variable[8]: Result */
9818 /* Register variable[8]: Result */
9819 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::==*/)))));
9820 if (UNTAG_Bool(variable[8])) { /*if*/
9821 /* Register variable[8]: Once expression result */
9822 if (once_bool_557) variable[8] = once_value_557;
9823 else {
9824 /* Register variable[8]: Once String constant */
9825 if (once_value_558 != NIT_NULL) variable[8] = once_value_558;
9826 else {
9827 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
9828 once_value_558 = variable[8];
9829 }
9830 /* Register variable[8]: Result */
9831 /* Register variable[8]: Result */
9832 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9833 once_value_557 = variable[8];
9834 once_bool_557 = true;
9835 }
9836 /* Register variable[8]: Result */
9837 /* Register variable[8]: Result */
9838 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::==*/)))));
9839 if (UNTAG_Bool(variable[8])) { /*if*/
9840 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9841 /* Register variable[9]: Once String constant */
9842 if (once_value_559 != NIT_NULL) variable[9] = once_value_559;
9843 else {
9844 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)) /*new String*/;
9845 once_value_559 = variable[9];
9846 }
9847 /* Register variable[9]: Result */
9848 /* Ensure var variable[9]: super-string element*/
9849 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9850 /* Register variable[9]: Local variable */
9851 variable[9] = variable[3] /*p*/;
9852 /* Register variable[10]: Local variable */
9853 variable[10] = TAG_Int(0);
9854 /* Register variable[11]: Method return value and escape marker */
9855 /* Register variable[12]: Result */
9856 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9857 /* Ensure var variable[12]: Left 'and' operand*/
9858 if (UNTAG_Bool(variable[12])) { /* and */
9859 /* Register variable[12]: Result */
9860 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9861 /* Register variable[12]: Result */
9862 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9863 }
9864 /* Register variable[12]: Result */
9865 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, 234); nit_exit(1);}
9866 /* Register variable[12]: Result */
9867 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9868 /* Register variable[12]: Result */
9869 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9870 variable[11] = variable[12];
9871 goto return_label560;
9872 return_label560: while(false);
9873 /* Register variable[9]: Result */
9874 variable[9] = variable[11];
9875 /* Ensure var variable[9]: super-string element*/
9876 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9877 /* Register variable[9]: Once String constant */
9878 if (once_value_561 != NIT_NULL) variable[9] = once_value_561;
9879 else {
9880 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9881 once_value_561 = variable[9];
9882 }
9883 /* Register variable[9]: Result */
9884 /* Ensure var variable[9]: super-string element*/
9885 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9886 /* Register variable[8]: Result */
9887 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9888 variable[7] = variable[8] /*s=*/;
9889 } else { /*if*/
9890 /* Register variable[8]: Once expression result */
9891 if (once_bool_562) variable[8] = once_value_562;
9892 else {
9893 /* Register variable[8]: Once String constant */
9894 if (once_value_563 != NIT_NULL) variable[8] = once_value_563;
9895 else {
9896 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
9897 once_value_563 = variable[8];
9898 }
9899 /* Register variable[8]: Result */
9900 /* Register variable[8]: Result */
9901 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9902 once_value_562 = variable[8];
9903 once_bool_562 = true;
9904 }
9905 /* Register variable[8]: Result */
9906 /* Register variable[8]: Result */
9907 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::==*/)))));
9908 if (UNTAG_Bool(variable[8])) { /*if*/
9909 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9910 /* Register variable[9]: Once String constant */
9911 if (once_value_564 != NIT_NULL) variable[9] = once_value_564;
9912 else {
9913 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(-UNTAG_Char("), TAG_Int(21)) /*new String*/;
9914 once_value_564 = variable[9];
9915 }
9916 /* Register variable[9]: Result */
9917 /* Ensure var variable[9]: super-string element*/
9918 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9919 /* Register variable[9]: Local variable */
9920 variable[9] = variable[3] /*p*/;
9921 /* Register variable[10]: Local variable */
9922 variable[10] = TAG_Int(0);
9923 /* Register variable[11]: Method return value and escape marker */
9924 /* Register variable[12]: Result */
9925 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9926 /* Ensure var variable[12]: Left 'and' operand*/
9927 if (UNTAG_Bool(variable[12])) { /* and */
9928 /* Register variable[12]: Result */
9929 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9930 /* Register variable[12]: Result */
9931 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
9932 }
9933 /* Register variable[12]: Result */
9934 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, 234); nit_exit(1);}
9935 /* Register variable[12]: Result */
9936 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
9937 /* Register variable[12]: Result */
9938 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
9939 variable[11] = variable[12];
9940 goto return_label565;
9941 return_label565: while(false);
9942 /* Register variable[9]: Result */
9943 variable[9] = variable[11];
9944 /* Ensure var variable[9]: super-string element*/
9945 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9946 /* Register variable[9]: Once String constant */
9947 if (once_value_566 != NIT_NULL) variable[9] = once_value_566;
9948 else {
9949 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
9950 once_value_566 = variable[9];
9951 }
9952 /* Register variable[9]: Result */
9953 /* Ensure var variable[9]: super-string element*/
9954 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9955 /* Register variable[8]: Result */
9956 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
9957 variable[7] = variable[8] /*s=*/;
9958 } else { /*if*/
9959 /* Register variable[8]: Once expression result */
9960 if (once_bool_567) variable[8] = once_value_567;
9961 else {
9962 /* Register variable[8]: Once String constant */
9963 if (once_value_568 != NIT_NULL) variable[8] = once_value_568;
9964 else {
9965 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
9966 once_value_568 = variable[8];
9967 }
9968 /* Register variable[8]: Result */
9969 /* Register variable[8]: Result */
9970 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
9971 once_value_567 = variable[8];
9972 once_bool_567 = true;
9973 }
9974 /* Register variable[8]: Result */
9975 /* Register variable[8]: Result */
9976 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::==*/)))));
9977 if (UNTAG_Bool(variable[8])) { /*if*/
9978 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
9979 /* Register variable[9]: Once String constant */
9980 if (once_value_569 != NIT_NULL) variable[9] = once_value_569;
9981 else {
9982 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("printf(\"%c\", (unsigned char)UNTAG_Char("), TAG_Int(39)) /*new String*/;
9983 once_value_569 = variable[9];
9984 }
9985 /* Register variable[9]: Result */
9986 /* Ensure var variable[9]: super-string element*/
9987 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
9988 /* Register variable[9]: Local variable */
9989 variable[9] = variable[3] /*p*/;
9990 /* Register variable[10]: Local variable */
9991 variable[10] = TAG_Int(0);
9992 /* Register variable[11]: Method return value and escape marker */
9993 /* Register variable[12]: Result */
9994 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
9995 /* Ensure var variable[12]: Left 'and' operand*/
9996 if (UNTAG_Bool(variable[12])) { /* and */
9997 /* Register variable[12]: Result */
9998 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
9999 /* Register variable[12]: Result */
10000 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10001 }
10002 /* Register variable[12]: Result */
10003 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, 234); nit_exit(1);}
10004 /* Register variable[12]: Result */
10005 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10006 /* Register variable[12]: Result */
10007 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10008 variable[11] = variable[12];
10009 goto return_label570;
10010 return_label570: while(false);
10011 /* Register variable[9]: Result */
10012 variable[9] = variable[11];
10013 /* Ensure var variable[9]: super-string element*/
10014 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10015 /* Register variable[9]: Once String constant */
10016 if (once_value_571 != NIT_NULL) variable[9] = once_value_571;
10017 else {
10018 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
10019 once_value_571 = variable[9];
10020 }
10021 /* Register variable[9]: Result */
10022 /* Ensure var variable[9]: super-string element*/
10023 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10024 /* Register variable[8]: Result */
10025 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10026 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
10027 } else { /*if*/
10028 /* Register variable[8]: Once expression result */
10029 if (once_bool_572) variable[8] = once_value_572;
10030 else {
10031 /* Register variable[8]: Once String constant */
10032 if (once_value_573 != NIT_NULL) variable[8] = once_value_573;
10033 else {
10034 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
10035 once_value_573 = variable[8];
10036 }
10037 /* Register variable[8]: Result */
10038 /* Register variable[8]: Result */
10039 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10040 once_value_572 = variable[8];
10041 once_bool_572 = true;
10042 }
10043 /* Register variable[8]: Result */
10044 /* Register variable[8]: Result */
10045 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::==*/)))));
10046 if (UNTAG_Bool(variable[8])) { /*if*/
10047 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10048 /* Register variable[9]: Once String constant */
10049 if (once_value_574 != NIT_NULL) variable[9] = once_value_574;
10050 else {
10051 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((unsigned char)UNTAG_Char("), TAG_Int(34)) /*new String*/;
10052 once_value_574 = variable[9];
10053 }
10054 /* Register variable[9]: Result */
10055 /* Ensure var variable[9]: super-string element*/
10056 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10057 /* Register variable[9]: Local variable */
10058 variable[9] = variable[3] /*p*/;
10059 /* Register variable[10]: Local variable */
10060 variable[10] = TAG_Int(0);
10061 /* Register variable[11]: Method return value and escape marker */
10062 /* Register variable[12]: Result */
10063 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10064 /* Ensure var variable[12]: Left 'and' operand*/
10065 if (UNTAG_Bool(variable[12])) { /* and */
10066 /* Register variable[12]: Result */
10067 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10068 /* Register variable[12]: Result */
10069 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10070 }
10071 /* Register variable[12]: Result */
10072 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, 234); nit_exit(1);}
10073 /* Register variable[12]: Result */
10074 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10075 /* Register variable[12]: Result */
10076 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10077 variable[11] = variable[12];
10078 goto return_label575;
10079 return_label575: while(false);
10080 /* Register variable[9]: Result */
10081 variable[9] = variable[11];
10082 /* Ensure var variable[9]: super-string element*/
10083 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10084 /* Register variable[9]: Once String constant */
10085 if (once_value_576 != NIT_NULL) variable[9] = once_value_576;
10086 else {
10087 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10088 once_value_576 = variable[9];
10089 }
10090 /* Register variable[9]: Result */
10091 /* Ensure var variable[9]: super-string element*/
10092 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10093 /* Register variable[8]: Result */
10094 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10095 variable[7] = variable[8] /*s=*/;
10096 } else { /*if*/
10097 /* Register variable[8]: Once expression result */
10098 if (once_bool_577) variable[8] = once_value_577;
10099 else {
10100 /* Register variable[8]: Once String constant */
10101 if (once_value_578 != NIT_NULL) variable[8] = once_value_578;
10102 else {
10103 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("succ"), TAG_Int(4)) /*new String*/;
10104 once_value_578 = variable[8];
10105 }
10106 /* Register variable[8]: Result */
10107 /* Register variable[8]: Result */
10108 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10109 once_value_577 = variable[8];
10110 once_bool_577 = true;
10111 }
10112 /* Register variable[8]: Result */
10113 /* Register variable[8]: Result */
10114 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::==*/)))));
10115 if (UNTAG_Bool(variable[8])) { /*if*/
10116 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10117 /* Register variable[9]: Once String constant */
10118 if (once_value_579 != NIT_NULL) variable[9] = once_value_579;
10119 else {
10120 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10121 once_value_579 = variable[9];
10122 }
10123 /* Register variable[9]: Result */
10124 /* Ensure var variable[9]: super-string element*/
10125 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10126 /* Register variable[9]: Local variable */
10127 variable[9] = variable[3] /*p*/;
10128 /* Register variable[10]: Local variable */
10129 variable[10] = TAG_Int(0);
10130 /* Register variable[11]: Method return value and escape marker */
10131 /* Register variable[12]: Result */
10132 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10133 /* Ensure var variable[12]: Left 'and' operand*/
10134 if (UNTAG_Bool(variable[12])) { /* and */
10135 /* Register variable[12]: Result */
10136 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10137 /* Register variable[12]: Result */
10138 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10139 }
10140 /* Register variable[12]: Result */
10141 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, 234); nit_exit(1);}
10142 /* Register variable[12]: Result */
10143 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10144 /* Register variable[12]: Result */
10145 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10146 variable[11] = variable[12];
10147 goto return_label580;
10148 return_label580: while(false);
10149 /* Register variable[9]: Result */
10150 variable[9] = variable[11];
10151 /* Ensure var variable[9]: super-string element*/
10152 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10153 /* Register variable[9]: Once String constant */
10154 if (once_value_581 != NIT_NULL) variable[9] = once_value_581;
10155 else {
10156 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+1)"), TAG_Int(4)) /*new String*/;
10157 once_value_581 = variable[9];
10158 }
10159 /* Register variable[9]: Result */
10160 /* Ensure var variable[9]: super-string element*/
10161 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10162 /* Register variable[8]: Result */
10163 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10164 variable[7] = variable[8] /*s=*/;
10165 } else { /*if*/
10166 /* Register variable[8]: Once expression result */
10167 if (once_bool_582) variable[8] = once_value_582;
10168 else {
10169 /* Register variable[8]: Once String constant */
10170 if (once_value_583 != NIT_NULL) variable[8] = once_value_583;
10171 else {
10172 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("prec"), TAG_Int(4)) /*new String*/;
10173 once_value_583 = variable[8];
10174 }
10175 /* Register variable[8]: Result */
10176 /* Register variable[8]: Result */
10177 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10178 once_value_582 = variable[8];
10179 once_bool_582 = true;
10180 }
10181 /* Register variable[8]: Result */
10182 /* Register variable[8]: Result */
10183 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::==*/)))));
10184 if (UNTAG_Bool(variable[8])) { /*if*/
10185 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10186 /* Register variable[9]: Once String constant */
10187 if (once_value_584 != NIT_NULL) variable[9] = once_value_584;
10188 else {
10189 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10190 once_value_584 = variable[9];
10191 }
10192 /* Register variable[9]: Result */
10193 /* Ensure var variable[9]: super-string element*/
10194 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10195 /* Register variable[9]: Local variable */
10196 variable[9] = variable[3] /*p*/;
10197 /* Register variable[10]: Local variable */
10198 variable[10] = TAG_Int(0);
10199 /* Register variable[11]: Method return value and escape marker */
10200 /* Register variable[12]: Result */
10201 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10202 /* Ensure var variable[12]: Left 'and' operand*/
10203 if (UNTAG_Bool(variable[12])) { /* and */
10204 /* Register variable[12]: Result */
10205 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10206 /* Register variable[12]: Result */
10207 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10208 }
10209 /* Register variable[12]: Result */
10210 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, 234); nit_exit(1);}
10211 /* Register variable[12]: Result */
10212 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10213 /* Register variable[12]: Result */
10214 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10215 variable[11] = variable[12];
10216 goto return_label585;
10217 return_label585: while(false);
10218 /* Register variable[9]: Result */
10219 variable[9] = variable[11];
10220 /* Ensure var variable[9]: super-string element*/
10221 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10222 /* Register variable[9]: Once String constant */
10223 if (once_value_586 != NIT_NULL) variable[9] = once_value_586;
10224 else {
10225 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-1)"), TAG_Int(4)) /*new String*/;
10226 once_value_586 = variable[9];
10227 }
10228 /* Register variable[9]: Result */
10229 /* Ensure var variable[9]: super-string element*/
10230 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10231 /* Register variable[8]: Result */
10232 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10233 variable[7] = variable[8] /*s=*/;
10234 } else { /*if*/
10235 /* Register variable[8]: Once expression result */
10236 if (once_bool_587) variable[8] = once_value_587;
10237 else {
10238 /* Register variable[8]: Once String constant */
10239 if (once_value_588 != NIT_NULL) variable[8] = once_value_588;
10240 else {
10241 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
10242 once_value_588 = variable[8];
10243 }
10244 /* Register variable[8]: Result */
10245 /* Register variable[8]: Result */
10246 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10247 once_value_587 = variable[8];
10248 once_bool_587 = true;
10249 }
10250 /* Register variable[8]: Result */
10251 /* Register variable[8]: Result */
10252 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::==*/)))));
10253 if (UNTAG_Bool(variable[8])) { /*if*/
10254 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10255 /* Register variable[9]: Once String constant */
10256 if (once_value_589 != NIT_NULL) variable[9] = once_value_589;
10257 else {
10258 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Char("), TAG_Int(19)) /*new String*/;
10259 once_value_589 = variable[9];
10260 }
10261 /* Register variable[9]: Result */
10262 /* Ensure var variable[9]: super-string element*/
10263 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10264 /* Register variable[9]: Local variable */
10265 variable[9] = variable[3] /*p*/;
10266 /* Register variable[10]: Local variable */
10267 variable[10] = TAG_Int(0);
10268 /* Register variable[11]: Method return value and escape marker */
10269 /* Register variable[12]: Result */
10270 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10271 /* Ensure var variable[12]: Left 'and' operand*/
10272 if (UNTAG_Bool(variable[12])) { /* and */
10273 /* Register variable[12]: Result */
10274 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10275 /* Register variable[12]: Result */
10276 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10277 }
10278 /* Register variable[12]: Result */
10279 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, 234); nit_exit(1);}
10280 /* Register variable[12]: Result */
10281 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10282 /* Register variable[12]: Result */
10283 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10284 variable[11] = variable[12];
10285 goto return_label590;
10286 return_label590: while(false);
10287 /* Register variable[9]: Result */
10288 variable[9] = variable[11];
10289 /* Ensure var variable[9]: super-string element*/
10290 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10291 /* Register variable[9]: Once String constant */
10292 if (once_value_591 != NIT_NULL) variable[9] = once_value_591;
10293 else {
10294 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-'0')"), TAG_Int(6)) /*new String*/;
10295 once_value_591 = variable[9];
10296 }
10297 /* Register variable[9]: Result */
10298 /* Ensure var variable[9]: super-string element*/
10299 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10300 /* Register variable[8]: Result */
10301 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10302 variable[7] = variable[8] /*s=*/;
10303 } else { /*if*/
10304 /* Register variable[8]: Once expression result */
10305 if (once_bool_592) variable[8] = once_value_592;
10306 else {
10307 /* Register variable[8]: Once String constant */
10308 if (once_value_593 != NIT_NULL) variable[8] = once_value_593;
10309 else {
10310 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("+"), TAG_Int(1)) /*new String*/;
10311 once_value_593 = variable[8];
10312 }
10313 /* Register variable[8]: Result */
10314 /* Register variable[8]: Result */
10315 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10316 once_value_592 = variable[8];
10317 once_bool_592 = true;
10318 }
10319 /* Register variable[8]: Result */
10320 /* Register variable[8]: Result */
10321 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::==*/)))));
10322 if (UNTAG_Bool(variable[8])) { /*if*/
10323 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10324 /* Register variable[9]: Once String constant */
10325 if (once_value_594 != NIT_NULL) variable[9] = once_value_594;
10326 else {
10327 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10328 once_value_594 = variable[9];
10329 }
10330 /* Register variable[9]: Result */
10331 /* Ensure var variable[9]: super-string element*/
10332 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10333 /* Register variable[9]: Local variable */
10334 variable[9] = variable[3] /*p*/;
10335 /* Register variable[10]: Local variable */
10336 variable[10] = TAG_Int(0);
10337 /* Register variable[11]: Method return value and escape marker */
10338 /* Register variable[12]: Result */
10339 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10340 /* Ensure var variable[12]: Left 'and' operand*/
10341 if (UNTAG_Bool(variable[12])) { /* and */
10342 /* Register variable[12]: Result */
10343 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10344 /* Register variable[12]: Result */
10345 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10346 }
10347 /* Register variable[12]: Result */
10348 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, 234); nit_exit(1);}
10349 /* Register variable[12]: Result */
10350 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10351 /* Register variable[12]: Result */
10352 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10353 variable[11] = variable[12];
10354 goto return_label595;
10355 return_label595: while(false);
10356 /* Register variable[9]: Result */
10357 variable[9] = variable[11];
10358 /* Ensure var variable[9]: super-string element*/
10359 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10360 /* Register variable[9]: Once String constant */
10361 if (once_value_596 != NIT_NULL) variable[9] = once_value_596;
10362 else {
10363 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Char("), TAG_Int(13)) /*new String*/;
10364 once_value_596 = variable[9];
10365 }
10366 /* Register variable[9]: Result */
10367 /* Ensure var variable[9]: super-string element*/
10368 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10369 /* Register variable[9]: Local variable */
10370 variable[9] = variable[3] /*p*/;
10371 /* Register variable[10]: Local variable */
10372 variable[10] = TAG_Int(1);
10373 /* Register variable[11]: Method return value and escape marker */
10374 /* Register variable[12]: Result */
10375 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10376 /* Ensure var variable[12]: Left 'and' operand*/
10377 if (UNTAG_Bool(variable[12])) { /* and */
10378 /* Register variable[12]: Result */
10379 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10380 /* Register variable[12]: Result */
10381 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10382 }
10383 /* Register variable[12]: Result */
10384 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, 234); nit_exit(1);}
10385 /* Register variable[12]: Result */
10386 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10387 /* Register variable[12]: Result */
10388 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10389 variable[11] = variable[12];
10390 goto return_label597;
10391 return_label597: while(false);
10392 /* Register variable[9]: Result */
10393 variable[9] = variable[11];
10394 /* Ensure var variable[9]: super-string element*/
10395 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10396 /* Register variable[9]: Once String constant */
10397 if (once_value_598 != NIT_NULL) variable[9] = once_value_598;
10398 else {
10399 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10400 once_value_598 = variable[9];
10401 }
10402 /* Register variable[9]: Result */
10403 /* Ensure var variable[9]: super-string element*/
10404 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10405 /* Register variable[8]: Result */
10406 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10407 variable[7] = variable[8] /*s=*/;
10408 } else { /*if*/
10409 /* Register variable[8]: Once expression result */
10410 if (once_bool_599) variable[8] = once_value_599;
10411 else {
10412 /* Register variable[8]: Once String constant */
10413 if (once_value_600 != NIT_NULL) variable[8] = once_value_600;
10414 else {
10415 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("-"), TAG_Int(1)) /*new String*/;
10416 once_value_600 = variable[8];
10417 }
10418 /* Register variable[8]: Result */
10419 /* Register variable[8]: Result */
10420 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10421 once_value_599 = variable[8];
10422 once_bool_599 = true;
10423 }
10424 /* Register variable[8]: Result */
10425 /* Register variable[8]: Result */
10426 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::==*/)))));
10427 if (UNTAG_Bool(variable[8])) { /*if*/
10428 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10429 /* Register variable[9]: Once String constant */
10430 if (once_value_601 != NIT_NULL) variable[9] = once_value_601;
10431 else {
10432 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10433 once_value_601 = variable[9];
10434 }
10435 /* Register variable[9]: Result */
10436 /* Ensure var variable[9]: super-string element*/
10437 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10438 /* Register variable[9]: Local variable */
10439 variable[9] = variable[3] /*p*/;
10440 /* Register variable[10]: Local variable */
10441 variable[10] = TAG_Int(0);
10442 /* Register variable[11]: Method return value and escape marker */
10443 /* Register variable[12]: Result */
10444 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10445 /* Ensure var variable[12]: Left 'and' operand*/
10446 if (UNTAG_Bool(variable[12])) { /* and */
10447 /* Register variable[12]: Result */
10448 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10449 /* Register variable[12]: Result */
10450 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10451 }
10452 /* Register variable[12]: Result */
10453 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, 234); nit_exit(1);}
10454 /* Register variable[12]: Result */
10455 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10456 /* Register variable[12]: Result */
10457 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10458 variable[11] = variable[12];
10459 goto return_label602;
10460 return_label602: while(false);
10461 /* Register variable[9]: Result */
10462 variable[9] = variable[11];
10463 /* Ensure var variable[9]: super-string element*/
10464 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10465 /* Register variable[9]: Once String constant */
10466 if (once_value_603 != NIT_NULL) variable[9] = once_value_603;
10467 else {
10468 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")-UNTAG_Char("), TAG_Int(13)) /*new String*/;
10469 once_value_603 = variable[9];
10470 }
10471 /* Register variable[9]: Result */
10472 /* Ensure var variable[9]: super-string element*/
10473 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10474 /* Register variable[9]: Local variable */
10475 variable[9] = variable[3] /*p*/;
10476 /* Register variable[10]: Local variable */
10477 variable[10] = TAG_Int(1);
10478 /* Register variable[11]: Method return value and escape marker */
10479 /* Register variable[12]: Result */
10480 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10481 /* Ensure var variable[12]: Left 'and' operand*/
10482 if (UNTAG_Bool(variable[12])) { /* and */
10483 /* Register variable[12]: Result */
10484 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10485 /* Register variable[12]: Result */
10486 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10487 }
10488 /* Register variable[12]: Result */
10489 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, 234); nit_exit(1);}
10490 /* Register variable[12]: Result */
10491 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10492 /* Register variable[12]: Result */
10493 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10494 variable[11] = variable[12];
10495 goto return_label604;
10496 return_label604: while(false);
10497 /* Register variable[9]: Result */
10498 variable[9] = variable[11];
10499 /* Ensure var variable[9]: super-string element*/
10500 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10501 /* Register variable[9]: Once String constant */
10502 if (once_value_605 != NIT_NULL) variable[9] = once_value_605;
10503 else {
10504 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10505 once_value_605 = variable[9];
10506 }
10507 /* Register variable[9]: Result */
10508 /* Ensure var variable[9]: super-string element*/
10509 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10510 /* Register variable[8]: Result */
10511 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10512 variable[7] = variable[8] /*s=*/;
10513 } else { /*if*/
10514 /* Register variable[8]: Once expression result */
10515 if (once_bool_606) variable[8] = once_value_606;
10516 else {
10517 /* Register variable[8]: Once String constant */
10518 if (once_value_607 != NIT_NULL) variable[8] = once_value_607;
10519 else {
10520 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*"), TAG_Int(1)) /*new String*/;
10521 once_value_607 = variable[8];
10522 }
10523 /* Register variable[8]: Result */
10524 /* Register variable[8]: Result */
10525 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10526 once_value_606 = variable[8];
10527 once_bool_606 = true;
10528 }
10529 /* Register variable[8]: Result */
10530 /* Register variable[8]: Result */
10531 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::==*/)))));
10532 if (UNTAG_Bool(variable[8])) { /*if*/
10533 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10534 /* Register variable[9]: Once String constant */
10535 if (once_value_608 != NIT_NULL) variable[9] = once_value_608;
10536 else {
10537 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10538 once_value_608 = variable[9];
10539 }
10540 /* Register variable[9]: Result */
10541 /* Ensure var variable[9]: super-string element*/
10542 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10543 /* Register variable[9]: Local variable */
10544 variable[9] = variable[3] /*p*/;
10545 /* Register variable[10]: Local variable */
10546 variable[10] = TAG_Int(0);
10547 /* Register variable[11]: Method return value and escape marker */
10548 /* Register variable[12]: Result */
10549 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10550 /* Ensure var variable[12]: Left 'and' operand*/
10551 if (UNTAG_Bool(variable[12])) { /* and */
10552 /* Register variable[12]: Result */
10553 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10554 /* Register variable[12]: Result */
10555 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10556 }
10557 /* Register variable[12]: Result */
10558 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, 234); nit_exit(1);}
10559 /* Register variable[12]: Result */
10560 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10561 /* Register variable[12]: Result */
10562 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10563 variable[11] = variable[12];
10564 goto return_label609;
10565 return_label609: while(false);
10566 /* Register variable[9]: Result */
10567 variable[9] = variable[11];
10568 /* Ensure var variable[9]: super-string element*/
10569 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10570 /* Register variable[9]: Once String constant */
10571 if (once_value_610 != NIT_NULL) variable[9] = once_value_610;
10572 else {
10573 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*UNTAG_Char("), TAG_Int(13)) /*new String*/;
10574 once_value_610 = variable[9];
10575 }
10576 /* Register variable[9]: Result */
10577 /* Ensure var variable[9]: super-string element*/
10578 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10579 /* Register variable[9]: Local variable */
10580 variable[9] = variable[3] /*p*/;
10581 /* Register variable[10]: Local variable */
10582 variable[10] = TAG_Int(1);
10583 /* Register variable[11]: Method return value and escape marker */
10584 /* Register variable[12]: Result */
10585 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10586 /* Ensure var variable[12]: Left 'and' operand*/
10587 if (UNTAG_Bool(variable[12])) { /* and */
10588 /* Register variable[12]: Result */
10589 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10590 /* Register variable[12]: Result */
10591 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10592 }
10593 /* Register variable[12]: Result */
10594 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, 234); nit_exit(1);}
10595 /* Register variable[12]: Result */
10596 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10597 /* Register variable[12]: Result */
10598 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10599 variable[11] = variable[12];
10600 goto return_label611;
10601 return_label611: while(false);
10602 /* Register variable[9]: Result */
10603 variable[9] = variable[11];
10604 /* Ensure var variable[9]: super-string element*/
10605 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10606 /* Register variable[9]: Once String constant */
10607 if (once_value_612 != NIT_NULL) variable[9] = once_value_612;
10608 else {
10609 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10610 once_value_612 = variable[9];
10611 }
10612 /* Register variable[9]: Result */
10613 /* Ensure var variable[9]: super-string element*/
10614 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10615 /* Register variable[8]: Result */
10616 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10617 variable[7] = variable[8] /*s=*/;
10618 } else { /*if*/
10619 /* Register variable[8]: Once expression result */
10620 if (once_bool_613) variable[8] = once_value_613;
10621 else {
10622 /* Register variable[8]: Once String constant */
10623 if (once_value_614 != NIT_NULL) variable[8] = once_value_614;
10624 else {
10625 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("/"), TAG_Int(1)) /*new String*/;
10626 once_value_614 = variable[8];
10627 }
10628 /* Register variable[8]: Result */
10629 /* Register variable[8]: Result */
10630 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10631 once_value_613 = variable[8];
10632 once_bool_613 = true;
10633 }
10634 /* Register variable[8]: Result */
10635 /* Register variable[8]: Result */
10636 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::==*/)))));
10637 if (UNTAG_Bool(variable[8])) { /*if*/
10638 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10639 /* Register variable[9]: Once String constant */
10640 if (once_value_615 != NIT_NULL) variable[9] = once_value_615;
10641 else {
10642 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10643 once_value_615 = variable[9];
10644 }
10645 /* Register variable[9]: Result */
10646 /* Ensure var variable[9]: super-string element*/
10647 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10648 /* Register variable[9]: Local variable */
10649 variable[9] = variable[3] /*p*/;
10650 /* Register variable[10]: Local variable */
10651 variable[10] = TAG_Int(0);
10652 /* Register variable[11]: Method return value and escape marker */
10653 /* Register variable[12]: Result */
10654 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10655 /* Ensure var variable[12]: Left 'and' operand*/
10656 if (UNTAG_Bool(variable[12])) { /* and */
10657 /* Register variable[12]: Result */
10658 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10659 /* Register variable[12]: Result */
10660 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10661 }
10662 /* Register variable[12]: Result */
10663 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, 234); nit_exit(1);}
10664 /* Register variable[12]: Result */
10665 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10666 /* Register variable[12]: Result */
10667 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10668 variable[11] = variable[12];
10669 goto return_label616;
10670 return_label616: while(false);
10671 /* Register variable[9]: Result */
10672 variable[9] = variable[11];
10673 /* Ensure var variable[9]: super-string element*/
10674 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10675 /* Register variable[9]: Once String constant */
10676 if (once_value_617 != NIT_NULL) variable[9] = once_value_617;
10677 else {
10678 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")/UNTAG_Char("), TAG_Int(13)) /*new String*/;
10679 once_value_617 = variable[9];
10680 }
10681 /* Register variable[9]: Result */
10682 /* Ensure var variable[9]: super-string element*/
10683 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10684 /* Register variable[9]: Local variable */
10685 variable[9] = variable[3] /*p*/;
10686 /* Register variable[10]: Local variable */
10687 variable[10] = TAG_Int(1);
10688 /* Register variable[11]: Method return value and escape marker */
10689 /* Register variable[12]: Result */
10690 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10691 /* Ensure var variable[12]: Left 'and' operand*/
10692 if (UNTAG_Bool(variable[12])) { /* and */
10693 /* Register variable[12]: Result */
10694 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10695 /* Register variable[12]: Result */
10696 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10697 }
10698 /* Register variable[12]: Result */
10699 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, 234); nit_exit(1);}
10700 /* Register variable[12]: Result */
10701 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10702 /* Register variable[12]: Result */
10703 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10704 variable[11] = variable[12];
10705 goto return_label618;
10706 return_label618: while(false);
10707 /* Register variable[9]: Result */
10708 variable[9] = variable[11];
10709 /* Ensure var variable[9]: super-string element*/
10710 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10711 /* Register variable[9]: Once String constant */
10712 if (once_value_619 != NIT_NULL) variable[9] = once_value_619;
10713 else {
10714 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10715 once_value_619 = variable[9];
10716 }
10717 /* Register variable[9]: Result */
10718 /* Ensure var variable[9]: super-string element*/
10719 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10720 /* Register variable[8]: Result */
10721 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10722 variable[7] = variable[8] /*s=*/;
10723 } else { /*if*/
10724 /* Register variable[8]: Once expression result */
10725 if (once_bool_620) variable[8] = once_value_620;
10726 else {
10727 /* Register variable[8]: Once String constant */
10728 if (once_value_621 != NIT_NULL) variable[8] = once_value_621;
10729 else {
10730 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("%"), TAG_Int(1)) /*new String*/;
10731 once_value_621 = variable[8];
10732 }
10733 /* Register variable[8]: Result */
10734 /* Register variable[8]: Result */
10735 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10736 once_value_620 = variable[8];
10737 once_bool_620 = true;
10738 }
10739 /* Register variable[8]: Result */
10740 /* Register variable[8]: Result */
10741 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::==*/)))));
10742 if (UNTAG_Bool(variable[8])) { /*if*/
10743 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10744 /* Register variable[9]: Once String constant */
10745 if (once_value_622 != NIT_NULL) variable[9] = once_value_622;
10746 else {
10747 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10748 once_value_622 = variable[9];
10749 }
10750 /* Register variable[9]: Result */
10751 /* Ensure var variable[9]: super-string element*/
10752 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10753 /* Register variable[9]: Local variable */
10754 variable[9] = variable[3] /*p*/;
10755 /* Register variable[10]: Local variable */
10756 variable[10] = TAG_Int(0);
10757 /* Register variable[11]: Method return value and escape marker */
10758 /* Register variable[12]: Result */
10759 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10760 /* Ensure var variable[12]: Left 'and' operand*/
10761 if (UNTAG_Bool(variable[12])) { /* and */
10762 /* Register variable[12]: Result */
10763 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10764 /* Register variable[12]: Result */
10765 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10766 }
10767 /* Register variable[12]: Result */
10768 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, 234); nit_exit(1);}
10769 /* Register variable[12]: Result */
10770 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10771 /* Register variable[12]: Result */
10772 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10773 variable[11] = variable[12];
10774 goto return_label623;
10775 return_label623: while(false);
10776 /* Register variable[9]: Result */
10777 variable[9] = variable[11];
10778 /* Ensure var variable[9]: super-string element*/
10779 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10780 /* Register variable[9]: Once String constant */
10781 if (once_value_624 != NIT_NULL) variable[9] = once_value_624;
10782 else {
10783 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")%UNTAG_Char("), TAG_Int(13)) /*new String*/;
10784 once_value_624 = variable[9];
10785 }
10786 /* Register variable[9]: Result */
10787 /* Ensure var variable[9]: super-string element*/
10788 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10789 /* Register variable[9]: Local variable */
10790 variable[9] = variable[3] /*p*/;
10791 /* Register variable[10]: Local variable */
10792 variable[10] = TAG_Int(1);
10793 /* Register variable[11]: Method return value and escape marker */
10794 /* Register variable[12]: Result */
10795 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10796 /* Ensure var variable[12]: Left 'and' operand*/
10797 if (UNTAG_Bool(variable[12])) { /* and */
10798 /* Register variable[12]: Result */
10799 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10800 /* Register variable[12]: Result */
10801 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10802 }
10803 /* Register variable[12]: Result */
10804 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, 234); nit_exit(1);}
10805 /* Register variable[12]: Result */
10806 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10807 /* Register variable[12]: Result */
10808 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10809 variable[11] = variable[12];
10810 goto return_label625;
10811 return_label625: while(false);
10812 /* Register variable[9]: Result */
10813 variable[9] = variable[11];
10814 /* Ensure var variable[9]: super-string element*/
10815 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10816 /* Register variable[9]: Once String constant */
10817 if (once_value_626 != NIT_NULL) variable[9] = once_value_626;
10818 else {
10819 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10820 once_value_626 = variable[9];
10821 }
10822 /* Register variable[9]: Result */
10823 /* Ensure var variable[9]: super-string element*/
10824 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10825 /* Register variable[8]: Result */
10826 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10827 variable[7] = variable[8] /*s=*/;
10828 } else { /*if*/
10829 /* Register variable[8]: Once expression result */
10830 if (once_bool_627) variable[8] = once_value_627;
10831 else {
10832 /* Register variable[8]: Once String constant */
10833 if (once_value_628 != NIT_NULL) variable[8] = once_value_628;
10834 else {
10835 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)) /*new String*/;
10836 once_value_628 = variable[8];
10837 }
10838 /* Register variable[8]: Result */
10839 /* Register variable[8]: Result */
10840 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10841 once_value_627 = variable[8];
10842 once_bool_627 = true;
10843 }
10844 /* Register variable[8]: Result */
10845 /* Register variable[8]: Result */
10846 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::==*/)))));
10847 if (UNTAG_Bool(variable[8])) { /*if*/
10848 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10849 /* Register variable[9]: Once String constant */
10850 if (once_value_629 != NIT_NULL) variable[9] = once_value_629;
10851 else {
10852 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10853 once_value_629 = variable[9];
10854 }
10855 /* Register variable[9]: Result */
10856 /* Ensure var variable[9]: super-string element*/
10857 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10858 /* Register variable[9]: Local variable */
10859 variable[9] = variable[3] /*p*/;
10860 /* Register variable[10]: Local variable */
10861 variable[10] = TAG_Int(0);
10862 /* Register variable[11]: Method return value and escape marker */
10863 /* Register variable[12]: Result */
10864 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10865 /* Ensure var variable[12]: Left 'and' operand*/
10866 if (UNTAG_Bool(variable[12])) { /* and */
10867 /* Register variable[12]: Result */
10868 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10869 /* Register variable[12]: Result */
10870 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10871 }
10872 /* Register variable[12]: Result */
10873 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, 234); nit_exit(1);}
10874 /* Register variable[12]: Result */
10875 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10876 /* Register variable[12]: Result */
10877 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10878 variable[11] = variable[12];
10879 goto return_label630;
10880 return_label630: while(false);
10881 /* Register variable[9]: Result */
10882 variable[9] = variable[11];
10883 /* Ensure var variable[9]: super-string element*/
10884 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10885 /* Register variable[9]: Once String constant */
10886 if (once_value_631 != NIT_NULL) variable[9] = once_value_631;
10887 else {
10888 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<UNTAG_Char("), TAG_Int(13)) /*new String*/;
10889 once_value_631 = variable[9];
10890 }
10891 /* Register variable[9]: Result */
10892 /* Ensure var variable[9]: super-string element*/
10893 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10894 /* Register variable[9]: Local variable */
10895 variable[9] = variable[3] /*p*/;
10896 /* Register variable[10]: Local variable */
10897 variable[10] = TAG_Int(1);
10898 /* Register variable[11]: Method return value and escape marker */
10899 /* Register variable[12]: Result */
10900 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10901 /* Ensure var variable[12]: Left 'and' operand*/
10902 if (UNTAG_Bool(variable[12])) { /* and */
10903 /* Register variable[12]: Result */
10904 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10905 /* Register variable[12]: Result */
10906 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10907 }
10908 /* Register variable[12]: Result */
10909 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, 234); nit_exit(1);}
10910 /* Register variable[12]: Result */
10911 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10912 /* Register variable[12]: Result */
10913 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10914 variable[11] = variable[12];
10915 goto return_label632;
10916 return_label632: while(false);
10917 /* Register variable[9]: Result */
10918 variable[9] = variable[11];
10919 /* Ensure var variable[9]: super-string element*/
10920 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10921 /* Register variable[9]: Once String constant */
10922 if (once_value_633 != NIT_NULL) variable[9] = once_value_633;
10923 else {
10924 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
10925 once_value_633 = variable[9];
10926 }
10927 /* Register variable[9]: Result */
10928 /* Ensure var variable[9]: super-string element*/
10929 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10930 /* Register variable[8]: Result */
10931 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
10932 variable[7] = variable[8] /*s=*/;
10933 } else { /*if*/
10934 /* Register variable[8]: Once expression result */
10935 if (once_bool_634) variable[8] = once_value_634;
10936 else {
10937 /* Register variable[8]: Once String constant */
10938 if (once_value_635 != NIT_NULL) variable[8] = once_value_635;
10939 else {
10940 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)) /*new String*/;
10941 once_value_635 = variable[8];
10942 }
10943 /* Register variable[8]: Result */
10944 /* Register variable[8]: Result */
10945 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
10946 once_value_634 = variable[8];
10947 once_bool_634 = true;
10948 }
10949 /* Register variable[8]: Result */
10950 /* Register variable[8]: Result */
10951 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::==*/)))));
10952 if (UNTAG_Bool(variable[8])) { /*if*/
10953 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
10954 /* Register variable[9]: Once String constant */
10955 if (once_value_636 != NIT_NULL) variable[9] = once_value_636;
10956 else {
10957 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
10958 once_value_636 = variable[9];
10959 }
10960 /* Register variable[9]: Result */
10961 /* Ensure var variable[9]: super-string element*/
10962 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10963 /* Register variable[9]: Local variable */
10964 variable[9] = variable[3] /*p*/;
10965 /* Register variable[10]: Local variable */
10966 variable[10] = TAG_Int(0);
10967 /* Register variable[11]: Method return value and escape marker */
10968 /* Register variable[12]: Result */
10969 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
10970 /* Ensure var variable[12]: Left 'and' operand*/
10971 if (UNTAG_Bool(variable[12])) { /* and */
10972 /* Register variable[12]: Result */
10973 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
10974 /* Register variable[12]: Result */
10975 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
10976 }
10977 /* Register variable[12]: Result */
10978 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, 234); nit_exit(1);}
10979 /* Register variable[12]: Result */
10980 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
10981 /* Register variable[12]: Result */
10982 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
10983 variable[11] = variable[12];
10984 goto return_label637;
10985 return_label637: while(false);
10986 /* Register variable[9]: Result */
10987 variable[9] = variable[11];
10988 /* Ensure var variable[9]: super-string element*/
10989 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10990 /* Register variable[9]: Once String constant */
10991 if (once_value_638 != NIT_NULL) variable[9] = once_value_638;
10992 else {
10993 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>UNTAG_Char("), TAG_Int(13)) /*new String*/;
10994 once_value_638 = variable[9];
10995 }
10996 /* Register variable[9]: Result */
10997 /* Ensure var variable[9]: super-string element*/
10998 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
10999 /* Register variable[9]: Local variable */
11000 variable[9] = variable[3] /*p*/;
11001 /* Register variable[10]: Local variable */
11002 variable[10] = TAG_Int(1);
11003 /* Register variable[11]: Method return value and escape marker */
11004 /* Register variable[12]: Result */
11005 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11006 /* Ensure var variable[12]: Left 'and' operand*/
11007 if (UNTAG_Bool(variable[12])) { /* and */
11008 /* Register variable[12]: Result */
11009 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11010 /* Register variable[12]: Result */
11011 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11012 }
11013 /* Register variable[12]: Result */
11014 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, 234); nit_exit(1);}
11015 /* Register variable[12]: Result */
11016 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11017 /* Register variable[12]: Result */
11018 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11019 variable[11] = variable[12];
11020 goto return_label639;
11021 return_label639: while(false);
11022 /* Register variable[9]: Result */
11023 variable[9] = variable[11];
11024 /* Ensure var variable[9]: super-string element*/
11025 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11026 /* Register variable[9]: Once String constant */
11027 if (once_value_640 != NIT_NULL) variable[9] = once_value_640;
11028 else {
11029 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11030 once_value_640 = variable[9];
11031 }
11032 /* Register variable[9]: Result */
11033 /* Ensure var variable[9]: super-string element*/
11034 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11035 /* Register variable[8]: Result */
11036 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11037 variable[7] = variable[8] /*s=*/;
11038 } else { /*if*/
11039 /* Register variable[8]: Once expression result */
11040 if (once_bool_641) variable[8] = once_value_641;
11041 else {
11042 /* Register variable[8]: Once String constant */
11043 if (once_value_642 != NIT_NULL) variable[8] = once_value_642;
11044 else {
11045 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("<="), TAG_Int(2)) /*new String*/;
11046 once_value_642 = variable[8];
11047 }
11048 /* Register variable[8]: Result */
11049 /* Register variable[8]: Result */
11050 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11051 once_value_641 = variable[8];
11052 once_bool_641 = true;
11053 }
11054 /* Register variable[8]: Result */
11055 /* Register variable[8]: Result */
11056 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::==*/)))));
11057 if (UNTAG_Bool(variable[8])) { /*if*/
11058 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11059 /* Register variable[9]: Once String constant */
11060 if (once_value_643 != NIT_NULL) variable[9] = once_value_643;
11061 else {
11062 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
11063 once_value_643 = variable[9];
11064 }
11065 /* Register variable[9]: Result */
11066 /* Ensure var variable[9]: super-string element*/
11067 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11068 /* Register variable[9]: Local variable */
11069 variable[9] = variable[3] /*p*/;
11070 /* Register variable[10]: Local variable */
11071 variable[10] = TAG_Int(0);
11072 /* Register variable[11]: Method return value and escape marker */
11073 /* Register variable[12]: Result */
11074 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11075 /* Ensure var variable[12]: Left 'and' operand*/
11076 if (UNTAG_Bool(variable[12])) { /* and */
11077 /* Register variable[12]: Result */
11078 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11079 /* Register variable[12]: Result */
11080 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11081 }
11082 /* Register variable[12]: Result */
11083 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, 234); nit_exit(1);}
11084 /* Register variable[12]: Result */
11085 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11086 /* Register variable[12]: Result */
11087 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11088 variable[11] = variable[12];
11089 goto return_label644;
11090 return_label644: while(false);
11091 /* Register variable[9]: Result */
11092 variable[9] = variable[11];
11093 /* Ensure var variable[9]: super-string element*/
11094 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11095 /* Register variable[9]: Once String constant */
11096 if (once_value_645 != NIT_NULL) variable[9] = once_value_645;
11097 else {
11098 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")<=UNTAG_Char("), TAG_Int(14)) /*new String*/;
11099 once_value_645 = variable[9];
11100 }
11101 /* Register variable[9]: Result */
11102 /* Ensure var variable[9]: super-string element*/
11103 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11104 /* Register variable[9]: Local variable */
11105 variable[9] = variable[3] /*p*/;
11106 /* Register variable[10]: Local variable */
11107 variable[10] = TAG_Int(1);
11108 /* Register variable[11]: Method return value and escape marker */
11109 /* Register variable[12]: Result */
11110 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11111 /* Ensure var variable[12]: Left 'and' operand*/
11112 if (UNTAG_Bool(variable[12])) { /* and */
11113 /* Register variable[12]: Result */
11114 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11115 /* Register variable[12]: Result */
11116 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11117 }
11118 /* Register variable[12]: Result */
11119 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, 234); nit_exit(1);}
11120 /* Register variable[12]: Result */
11121 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11122 /* Register variable[12]: Result */
11123 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11124 variable[11] = variable[12];
11125 goto return_label646;
11126 return_label646: while(false);
11127 /* Register variable[9]: Result */
11128 variable[9] = variable[11];
11129 /* Ensure var variable[9]: super-string element*/
11130 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11131 /* Register variable[9]: Once String constant */
11132 if (once_value_647 != NIT_NULL) variable[9] = once_value_647;
11133 else {
11134 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11135 once_value_647 = variable[9];
11136 }
11137 /* Register variable[9]: Result */
11138 /* Ensure var variable[9]: super-string element*/
11139 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11140 /* Register variable[8]: Result */
11141 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11142 variable[7] = variable[8] /*s=*/;
11143 } else { /*if*/
11144 /* Register variable[8]: Once expression result */
11145 if (once_bool_648) variable[8] = once_value_648;
11146 else {
11147 /* Register variable[8]: Once String constant */
11148 if (once_value_649 != NIT_NULL) variable[8] = once_value_649;
11149 else {
11150 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(">="), TAG_Int(2)) /*new String*/;
11151 once_value_649 = variable[8];
11152 }
11153 /* Register variable[8]: Result */
11154 /* Register variable[8]: Result */
11155 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11156 once_value_648 = variable[8];
11157 once_bool_648 = true;
11158 }
11159 /* Register variable[8]: Result */
11160 /* Register variable[8]: Result */
11161 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::==*/)))));
11162 if (UNTAG_Bool(variable[8])) { /*if*/
11163 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11164 /* Register variable[9]: Once String constant */
11165 if (once_value_650 != NIT_NULL) variable[9] = once_value_650;
11166 else {
11167 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Char("), TAG_Int(20)) /*new String*/;
11168 once_value_650 = variable[9];
11169 }
11170 /* Register variable[9]: Result */
11171 /* Ensure var variable[9]: super-string element*/
11172 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11173 /* Register variable[9]: Local variable */
11174 variable[9] = variable[3] /*p*/;
11175 /* Register variable[10]: Local variable */
11176 variable[10] = TAG_Int(0);
11177 /* Register variable[11]: Method return value and escape marker */
11178 /* Register variable[12]: Result */
11179 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11180 /* Ensure var variable[12]: Left 'and' operand*/
11181 if (UNTAG_Bool(variable[12])) { /* and */
11182 /* Register variable[12]: Result */
11183 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11184 /* Register variable[12]: Result */
11185 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11186 }
11187 /* Register variable[12]: Result */
11188 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, 234); nit_exit(1);}
11189 /* Register variable[12]: Result */
11190 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11191 /* Register variable[12]: Result */
11192 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11193 variable[11] = variable[12];
11194 goto return_label651;
11195 return_label651: while(false);
11196 /* Register variable[9]: Result */
11197 variable[9] = variable[11];
11198 /* Ensure var variable[9]: super-string element*/
11199 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11200 /* Register variable[9]: Once String constant */
11201 if (once_value_652 != NIT_NULL) variable[9] = once_value_652;
11202 else {
11203 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")>=UNTAG_Char("), TAG_Int(14)) /*new String*/;
11204 once_value_652 = variable[9];
11205 }
11206 /* Register variable[9]: Result */
11207 /* Ensure var variable[9]: super-string element*/
11208 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11209 /* Register variable[9]: Local variable */
11210 variable[9] = variable[3] /*p*/;
11211 /* Register variable[10]: Local variable */
11212 variable[10] = TAG_Int(1);
11213 /* Register variable[11]: Method return value and escape marker */
11214 /* Register variable[12]: Result */
11215 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11216 /* Ensure var variable[12]: Left 'and' operand*/
11217 if (UNTAG_Bool(variable[12])) { /* and */
11218 /* Register variable[12]: Result */
11219 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11220 /* Register variable[12]: Result */
11221 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11222 }
11223 /* Register variable[12]: Result */
11224 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, 234); nit_exit(1);}
11225 /* Register variable[12]: Result */
11226 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11227 /* Register variable[12]: Result */
11228 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11229 variable[11] = variable[12];
11230 goto return_label653;
11231 return_label653: while(false);
11232 /* Register variable[9]: Result */
11233 variable[9] = variable[11];
11234 /* Ensure var variable[9]: super-string element*/
11235 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11236 /* Register variable[9]: Once String constant */
11237 if (once_value_654 != NIT_NULL) variable[9] = once_value_654;
11238 else {
11239 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11240 once_value_654 = variable[9];
11241 }
11242 /* Register variable[9]: Result */
11243 /* Ensure var variable[9]: super-string element*/
11244 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11245 /* Register variable[8]: Result */
11246 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11247 variable[7] = variable[8] /*s=*/;
11248 } else { /*if*/
11249 /* Register variable[8]: Once expression result */
11250 if (once_bool_655) variable[8] = once_value_655;
11251 else {
11252 /* Register variable[8]: Once String constant */
11253 if (once_value_656 != NIT_NULL) variable[8] = once_value_656;
11254 else {
11255 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
11256 once_value_656 = variable[8];
11257 }
11258 /* Register variable[8]: Result */
11259 /* Register variable[8]: Result */
11260 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11261 once_value_655 = variable[8];
11262 once_bool_655 = true;
11263 }
11264 /* Register variable[8]: Result */
11265 /* Register variable[8]: Result */
11266 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::==*/)))));
11267 if (UNTAG_Bool(variable[8])) { /*if*/
11268 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11269 /* Register variable[9]: Once String constant */
11270 if (once_value_657 != NIT_NULL) variable[9] = once_value_657;
11271 else {
11272 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
11273 once_value_657 = variable[9];
11274 }
11275 /* Register variable[9]: Result */
11276 /* Ensure var variable[9]: super-string element*/
11277 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11278 /* Register variable[9]: Local variable */
11279 variable[9] = variable[3] /*p*/;
11280 /* Register variable[10]: Local variable */
11281 variable[10] = TAG_Int(0);
11282 /* Register variable[11]: Method return value and escape marker */
11283 /* Register variable[12]: Result */
11284 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11285 /* Ensure var variable[12]: Left 'and' operand*/
11286 if (UNTAG_Bool(variable[12])) { /* and */
11287 /* Register variable[12]: Result */
11288 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11289 /* Register variable[12]: Result */
11290 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11291 }
11292 /* Register variable[12]: Result */
11293 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, 234); nit_exit(1);}
11294 /* Register variable[12]: Result */
11295 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11296 /* Register variable[12]: Result */
11297 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11298 variable[11] = variable[12];
11299 goto return_label658;
11300 return_label658: while(false);
11301 /* Register variable[9]: Result */
11302 variable[9] = variable[11];
11303 /* Ensure var variable[9]: super-string element*/
11304 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11305 /* Register variable[9]: Once String constant */
11306 if (once_value_659 != NIT_NULL) variable[9] = once_value_659;
11307 else {
11308 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
11309 once_value_659 = variable[9];
11310 }
11311 /* Register variable[9]: Result */
11312 /* Ensure var variable[9]: super-string element*/
11313 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11314 /* Register variable[9]: Local variable */
11315 variable[9] = variable[3] /*p*/;
11316 /* Register variable[10]: Local variable */
11317 variable[10] = TAG_Int(1);
11318 /* Register variable[11]: Method return value and escape marker */
11319 /* Register variable[12]: Result */
11320 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11321 /* Ensure var variable[12]: Left 'and' operand*/
11322 if (UNTAG_Bool(variable[12])) { /* and */
11323 /* Register variable[12]: Result */
11324 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11325 /* Register variable[12]: Result */
11326 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11327 }
11328 /* Register variable[12]: Result */
11329 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, 234); nit_exit(1);}
11330 /* Register variable[12]: Result */
11331 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11332 /* Register variable[12]: Result */
11333 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11334 variable[11] = variable[12];
11335 goto return_label660;
11336 return_label660: while(false);
11337 /* Register variable[9]: Result */
11338 variable[9] = variable[11];
11339 /* Ensure var variable[9]: super-string element*/
11340 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11341 /* Register variable[9]: Once String constant */
11342 if (once_value_661 != NIT_NULL) variable[9] = once_value_661;
11343 else {
11344 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11345 once_value_661 = variable[9];
11346 }
11347 /* Register variable[9]: Result */
11348 /* Ensure var variable[9]: super-string element*/
11349 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11350 /* Register variable[8]: Result */
11351 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11352 variable[7] = variable[8] /*s=*/;
11353 } else { /*if*/
11354 /* Register variable[8]: Once expression result */
11355 if (once_bool_662) variable[8] = once_value_662;
11356 else {
11357 /* Register variable[8]: Once String constant */
11358 if (once_value_663 != NIT_NULL) variable[8] = once_value_663;
11359 else {
11360 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
11361 once_value_663 = variable[8];
11362 }
11363 /* Register variable[8]: Result */
11364 /* Register variable[8]: Result */
11365 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11366 once_value_662 = variable[8];
11367 once_bool_662 = true;
11368 }
11369 /* Register variable[8]: Result */
11370 /* Register variable[8]: Result */
11371 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::==*/)))));
11372 if (UNTAG_Bool(variable[8])) { /*if*/
11373 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11374 /* Register variable[9]: Once String constant */
11375 if (once_value_664 != NIT_NULL) variable[9] = once_value_664;
11376 else {
11377 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
11378 once_value_664 = variable[9];
11379 }
11380 /* Register variable[9]: Result */
11381 /* Ensure var variable[9]: super-string element*/
11382 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11383 /* Register variable[9]: Local variable */
11384 variable[9] = variable[3] /*p*/;
11385 /* Register variable[10]: Local variable */
11386 variable[10] = TAG_Int(0);
11387 /* Register variable[11]: Method return value and escape marker */
11388 /* Register variable[12]: Result */
11389 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11390 /* Ensure var variable[12]: Left 'and' operand*/
11391 if (UNTAG_Bool(variable[12])) { /* and */
11392 /* Register variable[12]: Result */
11393 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11394 /* Register variable[12]: Result */
11395 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11396 }
11397 /* Register variable[12]: Result */
11398 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, 234); nit_exit(1);}
11399 /* Register variable[12]: Result */
11400 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11401 /* Register variable[12]: Result */
11402 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11403 variable[11] = variable[12];
11404 goto return_label665;
11405 return_label665: while(false);
11406 /* Register variable[9]: Result */
11407 variable[9] = variable[11];
11408 /* Ensure var variable[9]: super-string element*/
11409 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11410 /* Register variable[9]: Once String constant */
11411 if (once_value_666 != NIT_NULL) variable[9] = once_value_666;
11412 else {
11413 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
11414 once_value_666 = variable[9];
11415 }
11416 /* Register variable[9]: Result */
11417 /* Ensure var variable[9]: super-string element*/
11418 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11419 /* Register variable[9]: Local variable */
11420 variable[9] = variable[3] /*p*/;
11421 /* Register variable[10]: Local variable */
11422 variable[10] = TAG_Int(1);
11423 /* Register variable[11]: Method return value and escape marker */
11424 /* Register variable[12]: Result */
11425 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11426 /* Ensure var variable[12]: Left 'and' operand*/
11427 if (UNTAG_Bool(variable[12])) { /* and */
11428 /* Register variable[12]: Result */
11429 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11430 /* Register variable[12]: Result */
11431 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11432 }
11433 /* Register variable[12]: Result */
11434 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, 234); nit_exit(1);}
11435 /* Register variable[12]: Result */
11436 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11437 /* Register variable[12]: Result */
11438 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11439 variable[11] = variable[12];
11440 goto return_label667;
11441 return_label667: while(false);
11442 /* Register variable[9]: Result */
11443 variable[9] = variable[11];
11444 /* Ensure var variable[9]: super-string element*/
11445 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11446 /* Register variable[9]: Once String constant */
11447 if (once_value_668 != NIT_NULL) variable[9] = once_value_668;
11448 else {
11449 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11450 once_value_668 = variable[9];
11451 }
11452 /* Register variable[9]: Result */
11453 /* Ensure var variable[9]: super-string element*/
11454 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11455 /* Register variable[8]: Result */
11456 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11457 variable[7] = variable[8] /*s=*/;
11458 }
11459 }
11460 }
11461 }
11462 }
11463 }
11464 }
11465 }
11466 }
11467 }
11468 }
11469 }
11470 }
11471 }
11472 }
11473 }
11474 }
11475 }
11476 } else { /*if*/
11477 /* Register variable[8]: Once expression result */
11478 if (once_bool_669) variable[8] = once_value_669;
11479 else {
11480 /* Register variable[8]: Once String constant */
11481 if (once_value_670 != NIT_NULL) variable[8] = once_value_670;
11482 else {
11483 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("Bool"), TAG_Int(4)) /*new String*/;
11484 once_value_670 = variable[8];
11485 }
11486 /* Register variable[8]: Result */
11487 /* Register variable[8]: Result */
11488 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11489 once_value_669 = variable[8];
11490 once_bool_669 = true;
11491 }
11492 /* Register variable[8]: Result */
11493 /* Register variable[8]: Result */
11494 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::==*/)))));
11495 if (UNTAG_Bool(variable[8])) { /*if*/
11496 /* Register variable[8]: Once expression result */
11497 if (once_bool_671) variable[8] = once_value_671;
11498 else {
11499 /* Register variable[8]: Once String constant */
11500 if (once_value_672 != NIT_NULL) variable[8] = once_value_672;
11501 else {
11502 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
11503 once_value_672 = variable[8];
11504 }
11505 /* Register variable[8]: Result */
11506 /* Register variable[8]: Result */
11507 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11508 once_value_671 = variable[8];
11509 once_bool_671 = true;
11510 }
11511 /* Register variable[8]: Result */
11512 /* Register variable[8]: Result */
11513 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::==*/)))));
11514 if (UNTAG_Bool(variable[8])) { /*if*/
11515 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11516 /* Register variable[9]: Once String constant */
11517 if (once_value_673 != NIT_NULL) variable[9] = once_value_673;
11518 else {
11519 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)) /*new String*/;
11520 once_value_673 = variable[9];
11521 }
11522 /* Register variable[9]: Result */
11523 /* Ensure var variable[9]: super-string element*/
11524 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11525 /* Register variable[9]: Local variable */
11526 variable[9] = variable[3] /*p*/;
11527 /* Register variable[10]: Local variable */
11528 variable[10] = TAG_Int(0);
11529 /* Register variable[11]: Method return value and escape marker */
11530 /* Register variable[12]: Result */
11531 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11532 /* Ensure var variable[12]: Left 'and' operand*/
11533 if (UNTAG_Bool(variable[12])) { /* and */
11534 /* Register variable[12]: Result */
11535 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11536 /* Register variable[12]: Result */
11537 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11538 }
11539 /* Register variable[12]: Result */
11540 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, 234); nit_exit(1);}
11541 /* Register variable[12]: Result */
11542 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11543 /* Register variable[12]: Result */
11544 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11545 variable[11] = variable[12];
11546 goto return_label674;
11547 return_label674: while(false);
11548 /* Register variable[9]: Result */
11549 variable[9] = variable[11];
11550 /* Ensure var variable[9]: super-string element*/
11551 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11552 /* Register variable[9]: Once String constant */
11553 if (once_value_675 != NIT_NULL) variable[9] = once_value_675;
11554 else {
11555 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11556 once_value_675 = variable[9];
11557 }
11558 /* Register variable[9]: Result */
11559 /* Ensure var variable[9]: super-string element*/
11560 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11561 /* Register variable[8]: Result */
11562 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11563 variable[7] = variable[8] /*s=*/;
11564 } else { /*if*/
11565 /* Register variable[8]: Once expression result */
11566 if (once_bool_676) variable[8] = once_value_676;
11567 else {
11568 /* Register variable[8]: Once String constant */
11569 if (once_value_677 != NIT_NULL) variable[8] = once_value_677;
11570 else {
11571 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("unary -"), TAG_Int(7)) /*new String*/;
11572 once_value_677 = variable[8];
11573 }
11574 /* Register variable[8]: Result */
11575 /* Register variable[8]: Result */
11576 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11577 once_value_676 = variable[8];
11578 once_bool_676 = true;
11579 }
11580 /* Register variable[8]: Result */
11581 /* Register variable[8]: Result */
11582 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::==*/)))));
11583 if (UNTAG_Bool(variable[8])) { /*if*/
11584 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11585 /* Register variable[9]: Once String constant */
11586 if (once_value_678 != NIT_NULL) variable[9] = once_value_678;
11587 else {
11588 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(-UNTAG_Bool("), TAG_Int(21)) /*new String*/;
11589 once_value_678 = variable[9];
11590 }
11591 /* Register variable[9]: Result */
11592 /* Ensure var variable[9]: super-string element*/
11593 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11594 /* Register variable[9]: Local variable */
11595 variable[9] = variable[3] /*p*/;
11596 /* Register variable[10]: Local variable */
11597 variable[10] = TAG_Int(0);
11598 /* Register variable[11]: Method return value and escape marker */
11599 /* Register variable[12]: Result */
11600 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11601 /* Ensure var variable[12]: Left 'and' operand*/
11602 if (UNTAG_Bool(variable[12])) { /* and */
11603 /* Register variable[12]: Result */
11604 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11605 /* Register variable[12]: Result */
11606 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11607 }
11608 /* Register variable[12]: Result */
11609 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, 234); nit_exit(1);}
11610 /* Register variable[12]: Result */
11611 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11612 /* Register variable[12]: Result */
11613 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11614 variable[11] = variable[12];
11615 goto return_label679;
11616 return_label679: while(false);
11617 /* Register variable[9]: Result */
11618 variable[9] = variable[11];
11619 /* Ensure var variable[9]: super-string element*/
11620 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11621 /* Register variable[9]: Once String constant */
11622 if (once_value_680 != NIT_NULL) variable[9] = once_value_680;
11623 else {
11624 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11625 once_value_680 = variable[9];
11626 }
11627 /* Register variable[9]: Result */
11628 /* Ensure var variable[9]: super-string element*/
11629 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11630 /* Register variable[8]: Result */
11631 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11632 variable[7] = variable[8] /*s=*/;
11633 } else { /*if*/
11634 /* Register variable[8]: Once expression result */
11635 if (once_bool_681) variable[8] = once_value_681;
11636 else {
11637 /* Register variable[8]: Once String constant */
11638 if (once_value_682 != NIT_NULL) variable[8] = once_value_682;
11639 else {
11640 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("output"), TAG_Int(6)) /*new String*/;
11641 once_value_682 = variable[8];
11642 }
11643 /* Register variable[8]: Result */
11644 /* Register variable[8]: Result */
11645 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11646 once_value_681 = variable[8];
11647 once_bool_681 = true;
11648 }
11649 /* Register variable[8]: Result */
11650 /* Register variable[8]: Result */
11651 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::==*/)))));
11652 if (UNTAG_Bool(variable[8])) { /*if*/
11653 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11654 /* Register variable[9]: Once String constant */
11655 if (once_value_683 != NIT_NULL) variable[9] = once_value_683;
11656 else {
11657 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)printf(UNTAG_Bool("), TAG_Int(24)) /*new String*/;
11658 once_value_683 = variable[9];
11659 }
11660 /* Register variable[9]: Result */
11661 /* Ensure var variable[9]: super-string element*/
11662 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11663 /* Register variable[9]: Local variable */
11664 variable[9] = variable[3] /*p*/;
11665 /* Register variable[10]: Local variable */
11666 variable[10] = TAG_Int(0);
11667 /* Register variable[11]: Method return value and escape marker */
11668 /* Register variable[12]: Result */
11669 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11670 /* Ensure var variable[12]: Left 'and' operand*/
11671 if (UNTAG_Bool(variable[12])) { /* and */
11672 /* Register variable[12]: Result */
11673 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11674 /* Register variable[12]: Result */
11675 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11676 }
11677 /* Register variable[12]: Result */
11678 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, 234); nit_exit(1);}
11679 /* Register variable[12]: Result */
11680 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11681 /* Register variable[12]: Result */
11682 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11683 variable[11] = variable[12];
11684 goto return_label684;
11685 return_label684: while(false);
11686 /* Register variable[9]: Result */
11687 variable[9] = variable[11];
11688 /* Ensure var variable[9]: super-string element*/
11689 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11690 /* Register variable[9]: Once String constant */
11691 if (once_value_685 != NIT_NULL) variable[9] = once_value_685;
11692 else {
11693 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")?\"true\\n\":\"false\\n\");"), TAG_Int(22)) /*new String*/;
11694 once_value_685 = variable[9];
11695 }
11696 /* Register variable[9]: Result */
11697 /* Ensure var variable[9]: super-string element*/
11698 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11699 /* Register variable[8]: Result */
11700 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11701 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
11702 } else { /*if*/
11703 /* Register variable[8]: Once expression result */
11704 if (once_bool_686) variable[8] = once_value_686;
11705 else {
11706 /* Register variable[8]: Once String constant */
11707 if (once_value_687 != NIT_NULL) variable[8] = once_value_687;
11708 else {
11709 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("ascii"), TAG_Int(5)) /*new String*/;
11710 once_value_687 = variable[8];
11711 }
11712 /* Register variable[8]: Result */
11713 /* Register variable[8]: Result */
11714 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11715 once_value_686 = variable[8];
11716 once_bool_686 = true;
11717 }
11718 /* Register variable[8]: Result */
11719 /* Register variable[8]: Result */
11720 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::==*/)))));
11721 if (UNTAG_Bool(variable[8])) { /*if*/
11722 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11723 /* Register variable[9]: Once String constant */
11724 if (once_value_688 != NIT_NULL) variable[9] = once_value_688;
11725 else {
11726 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(UNTAG_Bool("), TAG_Int(20)) /*new String*/;
11727 once_value_688 = variable[9];
11728 }
11729 /* Register variable[9]: Result */
11730 /* Ensure var variable[9]: super-string element*/
11731 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11732 /* Register variable[9]: Local variable */
11733 variable[9] = variable[3] /*p*/;
11734 /* Register variable[10]: Local variable */
11735 variable[10] = TAG_Int(0);
11736 /* Register variable[11]: Method return value and escape marker */
11737 /* Register variable[12]: Result */
11738 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11739 /* Ensure var variable[12]: Left 'and' operand*/
11740 if (UNTAG_Bool(variable[12])) { /* and */
11741 /* Register variable[12]: Result */
11742 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11743 /* Register variable[12]: Result */
11744 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11745 }
11746 /* Register variable[12]: Result */
11747 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, 234); nit_exit(1);}
11748 /* Register variable[12]: Result */
11749 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11750 /* Register variable[12]: Result */
11751 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11752 variable[11] = variable[12];
11753 goto return_label689;
11754 return_label689: while(false);
11755 /* Register variable[9]: Result */
11756 variable[9] = variable[11];
11757 /* Ensure var variable[9]: super-string element*/
11758 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11759 /* Register variable[9]: Once String constant */
11760 if (once_value_690 != NIT_NULL) variable[9] = once_value_690;
11761 else {
11762 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11763 once_value_690 = variable[9];
11764 }
11765 /* Register variable[9]: Result */
11766 /* Ensure var variable[9]: super-string element*/
11767 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11768 /* Register variable[8]: Result */
11769 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11770 variable[7] = variable[8] /*s=*/;
11771 } else { /*if*/
11772 /* Register variable[8]: Once expression result */
11773 if (once_bool_691) variable[8] = once_value_691;
11774 else {
11775 /* Register variable[8]: Once String constant */
11776 if (once_value_692 != NIT_NULL) variable[8] = once_value_692;
11777 else {
11778 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("to_i"), TAG_Int(4)) /*new String*/;
11779 once_value_692 = variable[8];
11780 }
11781 /* Register variable[8]: Result */
11782 /* Register variable[8]: Result */
11783 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11784 once_value_691 = variable[8];
11785 once_bool_691 = true;
11786 }
11787 /* Register variable[8]: Result */
11788 /* Register variable[8]: Result */
11789 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::==*/)))));
11790 if (UNTAG_Bool(variable[8])) { /*if*/
11791 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11792 /* Register variable[9]: Once String constant */
11793 if (once_value_693 != NIT_NULL) variable[9] = once_value_693;
11794 else {
11795 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNTAG_Bool("), TAG_Int(19)) /*new String*/;
11796 once_value_693 = variable[9];
11797 }
11798 /* Register variable[9]: Result */
11799 /* Ensure var variable[9]: super-string element*/
11800 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11801 /* Register variable[9]: Local variable */
11802 variable[9] = variable[3] /*p*/;
11803 /* Register variable[10]: Local variable */
11804 variable[10] = TAG_Int(0);
11805 /* Register variable[11]: Method return value and escape marker */
11806 /* Register variable[12]: Result */
11807 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11808 /* Ensure var variable[12]: Left 'and' operand*/
11809 if (UNTAG_Bool(variable[12])) { /* and */
11810 /* Register variable[12]: Result */
11811 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11812 /* Register variable[12]: Result */
11813 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11814 }
11815 /* Register variable[12]: Result */
11816 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, 234); nit_exit(1);}
11817 /* Register variable[12]: Result */
11818 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11819 /* Register variable[12]: Result */
11820 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11821 variable[11] = variable[12];
11822 goto return_label694;
11823 return_label694: while(false);
11824 /* Register variable[9]: Result */
11825 variable[9] = variable[11];
11826 /* Ensure var variable[9]: super-string element*/
11827 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11828 /* Register variable[9]: Once String constant */
11829 if (once_value_695 != NIT_NULL) variable[9] = once_value_695;
11830 else {
11831 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11832 once_value_695 = variable[9];
11833 }
11834 /* Register variable[9]: Result */
11835 /* Ensure var variable[9]: super-string element*/
11836 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11837 /* Register variable[8]: Result */
11838 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11839 variable[7] = variable[8] /*s=*/;
11840 } else { /*if*/
11841 /* Register variable[8]: Once expression result */
11842 if (once_bool_696) variable[8] = once_value_696;
11843 else {
11844 /* Register variable[8]: Once String constant */
11845 if (once_value_697 != NIT_NULL) variable[8] = once_value_697;
11846 else {
11847 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("=="), TAG_Int(2)) /*new String*/;
11848 once_value_697 = variable[8];
11849 }
11850 /* Register variable[8]: Result */
11851 /* Register variable[8]: Result */
11852 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11853 once_value_696 = variable[8];
11854 once_bool_696 = true;
11855 }
11856 /* Register variable[8]: Result */
11857 /* Register variable[8]: Result */
11858 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::==*/)))));
11859 if (UNTAG_Bool(variable[8])) { /*if*/
11860 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11861 /* Register variable[9]: Once String constant */
11862 if (once_value_698 != NIT_NULL) variable[9] = once_value_698;
11863 else {
11864 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
11865 once_value_698 = variable[9];
11866 }
11867 /* Register variable[9]: Result */
11868 /* Ensure var variable[9]: super-string element*/
11869 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11870 /* Register variable[9]: Local variable */
11871 variable[9] = variable[3] /*p*/;
11872 /* Register variable[10]: Local variable */
11873 variable[10] = TAG_Int(0);
11874 /* Register variable[11]: Method return value and escape marker */
11875 /* Register variable[12]: Result */
11876 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11877 /* Ensure var variable[12]: Left 'and' operand*/
11878 if (UNTAG_Bool(variable[12])) { /* and */
11879 /* Register variable[12]: Result */
11880 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11881 /* Register variable[12]: Result */
11882 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11883 }
11884 /* Register variable[12]: Result */
11885 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, 234); nit_exit(1);}
11886 /* Register variable[12]: Result */
11887 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11888 /* Register variable[12]: Result */
11889 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11890 variable[11] = variable[12];
11891 goto return_label699;
11892 return_label699: while(false);
11893 /* Register variable[9]: Result */
11894 variable[9] = variable[11];
11895 /* Ensure var variable[9]: super-string element*/
11896 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11897 /* Register variable[9]: Once String constant */
11898 if (once_value_700 != NIT_NULL) variable[9] = once_value_700;
11899 else {
11900 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==("), TAG_Int(4)) /*new String*/;
11901 once_value_700 = variable[9];
11902 }
11903 /* Register variable[9]: Result */
11904 /* Ensure var variable[9]: super-string element*/
11905 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11906 /* Register variable[9]: Local variable */
11907 variable[9] = variable[3] /*p*/;
11908 /* Register variable[10]: Local variable */
11909 variable[10] = TAG_Int(1);
11910 /* Register variable[11]: Method return value and escape marker */
11911 /* Register variable[12]: Result */
11912 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11913 /* Ensure var variable[12]: Left 'and' operand*/
11914 if (UNTAG_Bool(variable[12])) { /* and */
11915 /* Register variable[12]: Result */
11916 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11917 /* Register variable[12]: Result */
11918 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11919 }
11920 /* Register variable[12]: Result */
11921 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, 234); nit_exit(1);}
11922 /* Register variable[12]: Result */
11923 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11924 /* Register variable[12]: Result */
11925 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11926 variable[11] = variable[12];
11927 goto return_label701;
11928 return_label701: while(false);
11929 /* Register variable[9]: Result */
11930 variable[9] = variable[11];
11931 /* Ensure var variable[9]: super-string element*/
11932 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11933 /* Register variable[9]: Once String constant */
11934 if (once_value_702 != NIT_NULL) variable[9] = once_value_702;
11935 else {
11936 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
11937 once_value_702 = variable[9];
11938 }
11939 /* Register variable[9]: Result */
11940 /* Ensure var variable[9]: super-string element*/
11941 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11942 /* Register variable[8]: Result */
11943 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
11944 variable[7] = variable[8] /*s=*/;
11945 } else { /*if*/
11946 /* Register variable[8]: Once expression result */
11947 if (once_bool_703) variable[8] = once_value_703;
11948 else {
11949 /* Register variable[8]: Once String constant */
11950 if (once_value_704 != NIT_NULL) variable[8] = once_value_704;
11951 else {
11952 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("!="), TAG_Int(2)) /*new String*/;
11953 once_value_704 = variable[8];
11954 }
11955 /* Register variable[8]: Result */
11956 /* Register variable[8]: Result */
11957 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
11958 once_value_703 = variable[8];
11959 once_bool_703 = true;
11960 }
11961 /* Register variable[8]: Result */
11962 /* Register variable[8]: Result */
11963 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::==*/)))));
11964 if (UNTAG_Bool(variable[8])) { /*if*/
11965 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
11966 /* Register variable[9]: Once String constant */
11967 if (once_value_705 != NIT_NULL) variable[9] = once_value_705;
11968 else {
11969 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(("), TAG_Int(10)) /*new String*/;
11970 once_value_705 = variable[9];
11971 }
11972 /* Register variable[9]: Result */
11973 /* Ensure var variable[9]: super-string element*/
11974 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
11975 /* Register variable[9]: Local variable */
11976 variable[9] = variable[3] /*p*/;
11977 /* Register variable[10]: Local variable */
11978 variable[10] = TAG_Int(0);
11979 /* Register variable[11]: Method return value and escape marker */
11980 /* Register variable[12]: Result */
11981 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
11982 /* Ensure var variable[12]: Left 'and' operand*/
11983 if (UNTAG_Bool(variable[12])) { /* and */
11984 /* Register variable[12]: Result */
11985 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
11986 /* Register variable[12]: Result */
11987 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
11988 }
11989 /* Register variable[12]: Result */
11990 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, 234); nit_exit(1);}
11991 /* Register variable[12]: Result */
11992 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
11993 /* Register variable[12]: Result */
11994 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
11995 variable[11] = variable[12];
11996 goto return_label706;
11997 return_label706: while(false);
11998 /* Register variable[9]: Result */
11999 variable[9] = variable[11];
12000 /* Ensure var variable[9]: super-string element*/
12001 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12002 /* Register variable[9]: Once String constant */
12003 if (once_value_707 != NIT_NULL) variable[9] = once_value_707;
12004 else {
12005 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")!=("), TAG_Int(4)) /*new String*/;
12006 once_value_707 = variable[9];
12007 }
12008 /* Register variable[9]: Result */
12009 /* Ensure var variable[9]: super-string element*/
12010 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12011 /* Register variable[9]: Local variable */
12012 variable[9] = variable[3] /*p*/;
12013 /* Register variable[10]: Local variable */
12014 variable[10] = TAG_Int(1);
12015 /* Register variable[11]: Method return value and escape marker */
12016 /* Register variable[12]: Result */
12017 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12018 /* Ensure var variable[12]: Left 'and' operand*/
12019 if (UNTAG_Bool(variable[12])) { /* and */
12020 /* Register variable[12]: Result */
12021 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12022 /* Register variable[12]: Result */
12023 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12024 }
12025 /* Register variable[12]: Result */
12026 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, 234); nit_exit(1);}
12027 /* Register variable[12]: Result */
12028 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12029 /* Register variable[12]: Result */
12030 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12031 variable[11] = variable[12];
12032 goto return_label708;
12033 return_label708: while(false);
12034 /* Register variable[9]: Result */
12035 variable[9] = variable[11];
12036 /* Ensure var variable[9]: super-string element*/
12037 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12038 /* Register variable[9]: Once String constant */
12039 if (once_value_709 != NIT_NULL) variable[9] = once_value_709;
12040 else {
12041 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
12042 once_value_709 = variable[9];
12043 }
12044 /* Register variable[9]: Result */
12045 /* Ensure var variable[9]: super-string element*/
12046 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12047 /* Register variable[8]: Result */
12048 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12049 variable[7] = variable[8] /*s=*/;
12050 }
12051 }
12052 }
12053 }
12054 }
12055 }
12056 }
12057 } else { /*if*/
12058 /* Register variable[8]: Once expression result */
12059 if (once_bool_710) variable[8] = once_value_710;
12060 else {
12061 /* Register variable[8]: Once String constant */
12062 if (once_value_711 != NIT_NULL) variable[8] = once_value_711;
12063 else {
12064 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeArray"), TAG_Int(11)) /*new String*/;
12065 once_value_711 = variable[8];
12066 }
12067 /* Register variable[8]: Result */
12068 /* Register variable[8]: Result */
12069 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12070 once_value_710 = variable[8];
12071 once_bool_710 = true;
12072 }
12073 /* Register variable[8]: Result */
12074 /* Register variable[8]: Result */
12075 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::==*/)))));
12076 if (UNTAG_Bool(variable[8])) { /*if*/
12077 /* Register variable[8]: Once expression result */
12078 if (once_bool_712) variable[8] = once_value_712;
12079 else {
12080 /* Register variable[8]: Once String constant */
12081 if (once_value_713 != NIT_NULL) variable[8] = once_value_713;
12082 else {
12083 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
12084 once_value_713 = variable[8];
12085 }
12086 /* Register variable[8]: Result */
12087 /* Register variable[8]: Result */
12088 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12089 once_value_712 = variable[8];
12090 once_bool_712 = true;
12091 }
12092 /* Register variable[8]: Result */
12093 /* Register variable[8]: Result */
12094 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::==*/)))));
12095 if (UNTAG_Bool(variable[8])) { /*if*/
12096 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12097 /* Register variable[9]: Once String constant */
12098 if (once_value_714 != NIT_NULL) variable[9] = once_value_714;
12099 else {
12100 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeArray("), TAG_Int(26)) /*new String*/;
12101 once_value_714 = variable[9];
12102 }
12103 /* Register variable[9]: Result */
12104 /* Ensure var variable[9]: super-string element*/
12105 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12106 /* Register variable[9]: Local variable */
12107 variable[9] = variable[3] /*p*/;
12108 /* Register variable[10]: Local variable */
12109 variable[10] = TAG_Int(0);
12110 /* Register variable[11]: Method return value and escape marker */
12111 /* Register variable[12]: Result */
12112 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12113 /* Ensure var variable[12]: Left 'and' operand*/
12114 if (UNTAG_Bool(variable[12])) { /* and */
12115 /* Register variable[12]: Result */
12116 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12117 /* Register variable[12]: Result */
12118 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12119 }
12120 /* Register variable[12]: Result */
12121 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, 234); nit_exit(1);}
12122 /* Register variable[12]: Result */
12123 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12124 /* Register variable[12]: Result */
12125 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12126 variable[11] = variable[12];
12127 goto return_label715;
12128 return_label715: while(false);
12129 /* Register variable[9]: Result */
12130 variable[9] = variable[11];
12131 /* Ensure var variable[9]: super-string element*/
12132 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12133 /* Register variable[9]: Once String constant */
12134 if (once_value_716 != NIT_NULL) variable[9] = once_value_716;
12135 else {
12136 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
12137 once_value_716 = variable[9];
12138 }
12139 /* Register variable[9]: Result */
12140 /* Ensure var variable[9]: super-string element*/
12141 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12142 /* Register variable[8]: Result */
12143 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12144 variable[7] = variable[8] /*s=*/;
12145 } else { /*if*/
12146 /* Register variable[8]: Once expression result */
12147 if (once_bool_717) variable[8] = once_value_717;
12148 else {
12149 /* Register variable[8]: Once String constant */
12150 if (once_value_718 != NIT_NULL) variable[8] = once_value_718;
12151 else {
12152 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
12153 once_value_718 = variable[8];
12154 }
12155 /* Register variable[8]: Result */
12156 /* Register variable[8]: Result */
12157 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12158 once_value_717 = variable[8];
12159 once_bool_717 = true;
12160 }
12161 /* Register variable[8]: Result */
12162 /* Register variable[8]: Result */
12163 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::==*/)))));
12164 if (UNTAG_Bool(variable[8])) { /*if*/
12165 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12166 /* Register variable[9]: Once String constant */
12167 if (once_value_719 != NIT_NULL) variable[9] = once_value_719;
12168 else {
12169 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)) /*new String*/;
12170 once_value_719 = variable[9];
12171 }
12172 /* Register variable[9]: Result */
12173 /* Ensure var variable[9]: super-string element*/
12174 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12175 /* Register variable[9]: Local variable */
12176 variable[9] = variable[3] /*p*/;
12177 /* Register variable[10]: Local variable */
12178 variable[10] = TAG_Int(0);
12179 /* Register variable[11]: Method return value and escape marker */
12180 /* Register variable[12]: Result */
12181 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12182 /* Ensure var variable[12]: Left 'and' operand*/
12183 if (UNTAG_Bool(variable[12])) { /* and */
12184 /* Register variable[12]: Result */
12185 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12186 /* Register variable[12]: Result */
12187 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12188 }
12189 /* Register variable[12]: Result */
12190 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, 234); nit_exit(1);}
12191 /* Register variable[12]: Result */
12192 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12193 /* Register variable[12]: Result */
12194 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12195 variable[11] = variable[12];
12196 goto return_label720;
12197 return_label720: while(false);
12198 /* Register variable[9]: Result */
12199 variable[9] = variable[11];
12200 /* Ensure var variable[9]: super-string element*/
12201 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12202 /* Register variable[9]: Once String constant */
12203 if (once_value_721 != NIT_NULL) variable[9] = once_value_721;
12204 else {
12205 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
12206 once_value_721 = variable[9];
12207 }
12208 /* Register variable[9]: Result */
12209 /* Ensure var variable[9]: super-string element*/
12210 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12211 /* Register variable[9]: Local variable */
12212 variable[9] = variable[3] /*p*/;
12213 /* Register variable[10]: Local variable */
12214 variable[10] = TAG_Int(1);
12215 /* Register variable[11]: Method return value and escape marker */
12216 /* Register variable[12]: Result */
12217 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12218 /* Ensure var variable[12]: Left 'and' operand*/
12219 if (UNTAG_Bool(variable[12])) { /* and */
12220 /* Register variable[12]: Result */
12221 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12222 /* Register variable[12]: Result */
12223 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12224 }
12225 /* Register variable[12]: Result */
12226 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, 234); nit_exit(1);}
12227 /* Register variable[12]: Result */
12228 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12229 /* Register variable[12]: Result */
12230 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12231 variable[11] = variable[12];
12232 goto return_label722;
12233 return_label722: while(false);
12234 /* Register variable[9]: Result */
12235 variable[9] = variable[11];
12236 /* Ensure var variable[9]: super-string element*/
12237 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12238 /* Register variable[9]: Once String constant */
12239 if (once_value_723 != NIT_NULL) variable[9] = once_value_723;
12240 else {
12241 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]"), TAG_Int(2)) /*new String*/;
12242 once_value_723 = variable[9];
12243 }
12244 /* Register variable[9]: Result */
12245 /* Ensure var variable[9]: super-string element*/
12246 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12247 /* Register variable[8]: Result */
12248 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12249 variable[7] = variable[8] /*s=*/;
12250 } else { /*if*/
12251 /* Register variable[8]: Once expression result */
12252 if (once_bool_724) variable[8] = once_value_724;
12253 else {
12254 /* Register variable[8]: Once String constant */
12255 if (once_value_725 != NIT_NULL) variable[8] = once_value_725;
12256 else {
12257 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)) /*new String*/;
12258 once_value_725 = variable[8];
12259 }
12260 /* Register variable[8]: Result */
12261 /* Register variable[8]: Result */
12262 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12263 once_value_724 = variable[8];
12264 once_bool_724 = true;
12265 }
12266 /* Register variable[8]: Result */
12267 /* Register variable[8]: Result */
12268 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::==*/)))));
12269 if (UNTAG_Bool(variable[8])) { /*if*/
12270 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12271 /* Register variable[9]: Once String constant */
12272 if (once_value_726 != NIT_NULL) variable[9] = once_value_726;
12273 else {
12274 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeArray("), TAG_Int(18)) /*new String*/;
12275 once_value_726 = variable[9];
12276 }
12277 /* Register variable[9]: Result */
12278 /* Ensure var variable[9]: super-string element*/
12279 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12280 /* Register variable[9]: Local variable */
12281 variable[9] = variable[3] /*p*/;
12282 /* Register variable[10]: Local variable */
12283 variable[10] = TAG_Int(0);
12284 /* Register variable[11]: Method return value and escape marker */
12285 /* Register variable[12]: Result */
12286 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12287 /* Ensure var variable[12]: Left 'and' operand*/
12288 if (UNTAG_Bool(variable[12])) { /* and */
12289 /* Register variable[12]: Result */
12290 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12291 /* Register variable[12]: Result */
12292 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12293 }
12294 /* Register variable[12]: Result */
12295 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, 234); nit_exit(1);}
12296 /* Register variable[12]: Result */
12297 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12298 /* Register variable[12]: Result */
12299 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12300 variable[11] = variable[12];
12301 goto return_label727;
12302 return_label727: while(false);
12303 /* Register variable[9]: Result */
12304 variable[9] = variable[11];
12305 /* Ensure var variable[9]: super-string element*/
12306 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12307 /* Register variable[9]: Once String constant */
12308 if (once_value_728 != NIT_NULL) variable[9] = once_value_728;
12309 else {
12310 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
12311 once_value_728 = variable[9];
12312 }
12313 /* Register variable[9]: Result */
12314 /* Ensure var variable[9]: super-string element*/
12315 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12316 /* Register variable[9]: Local variable */
12317 variable[9] = variable[3] /*p*/;
12318 /* Register variable[10]: Local variable */
12319 variable[10] = TAG_Int(1);
12320 /* Register variable[11]: Method return value and escape marker */
12321 /* Register variable[12]: Result */
12322 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12323 /* Ensure var variable[12]: Left 'and' operand*/
12324 if (UNTAG_Bool(variable[12])) { /* and */
12325 /* Register variable[12]: Result */
12326 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12327 /* Register variable[12]: Result */
12328 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12329 }
12330 /* Register variable[12]: Result */
12331 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, 234); nit_exit(1);}
12332 /* Register variable[12]: Result */
12333 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12334 /* Register variable[12]: Result */
12335 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12336 variable[11] = variable[12];
12337 goto return_label729;
12338 return_label729: while(false);
12339 /* Register variable[9]: Result */
12340 variable[9] = variable[11];
12341 /* Ensure var variable[9]: super-string element*/
12342 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12343 /* Register variable[9]: Once String constant */
12344 if (once_value_730 != NIT_NULL) variable[9] = once_value_730;
12345 else {
12346 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]="), TAG_Int(3)) /*new String*/;
12347 once_value_730 = variable[9];
12348 }
12349 /* Register variable[9]: Result */
12350 /* Ensure var variable[9]: super-string element*/
12351 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12352 /* Register variable[9]: Local variable */
12353 variable[9] = variable[3] /*p*/;
12354 /* Register variable[10]: Local variable */
12355 variable[10] = TAG_Int(2);
12356 /* Register variable[11]: Method return value and escape marker */
12357 /* Register variable[12]: Result */
12358 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12359 /* Ensure var variable[12]: Left 'and' operand*/
12360 if (UNTAG_Bool(variable[12])) { /* and */
12361 /* Register variable[12]: Result */
12362 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12363 /* Register variable[12]: Result */
12364 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12365 }
12366 /* Register variable[12]: Result */
12367 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, 234); nit_exit(1);}
12368 /* Register variable[12]: Result */
12369 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12370 /* Register variable[12]: Result */
12371 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12372 variable[11] = variable[12];
12373 goto return_label731;
12374 return_label731: while(false);
12375 /* Register variable[9]: Result */
12376 variable[9] = variable[11];
12377 /* Ensure var variable[9]: super-string element*/
12378 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12379 /* Register variable[9]: Once String constant */
12380 if (once_value_732 != NIT_NULL) variable[9] = once_value_732;
12381 else {
12382 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
12383 once_value_732 = variable[9];
12384 }
12385 /* Register variable[9]: Result */
12386 /* Ensure var variable[9]: super-string element*/
12387 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12388 /* Register variable[8]: Result */
12389 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12390 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
12391 } else { /*if*/
12392 /* Register variable[8]: Once expression result */
12393 if (once_bool_733) variable[8] = once_value_733;
12394 else {
12395 /* Register variable[8]: Once String constant */
12396 if (once_value_734 != NIT_NULL) variable[8] = once_value_734;
12397 else {
12398 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)) /*new String*/;
12399 once_value_734 = variable[8];
12400 }
12401 /* Register variable[8]: Result */
12402 /* Register variable[8]: Result */
12403 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12404 once_value_733 = variable[8];
12405 once_bool_733 = true;
12406 }
12407 /* Register variable[8]: Result */
12408 /* Register variable[8]: Result */
12409 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::==*/)))));
12410 if (UNTAG_Bool(variable[8])) { /*if*/
12411 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12412 /* Register variable[9]: Once String constant */
12413 if (once_value_735 != NIT_NULL) variable[9] = once_value_735;
12414 else {
12415 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeArray("), TAG_Int(31)) /*new String*/;
12416 once_value_735 = variable[9];
12417 }
12418 /* Register variable[9]: Result */
12419 /* Ensure var variable[9]: super-string element*/
12420 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12421 /* Register variable[9]: Local variable */
12422 variable[9] = variable[3] /*p*/;
12423 /* Register variable[10]: Local variable */
12424 variable[10] = TAG_Int(1);
12425 /* Register variable[11]: Method return value and escape marker */
12426 /* Register variable[12]: Result */
12427 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12428 /* Ensure var variable[12]: Left 'and' operand*/
12429 if (UNTAG_Bool(variable[12])) { /* and */
12430 /* Register variable[12]: Result */
12431 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12432 /* Register variable[12]: Result */
12433 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12434 }
12435 /* Register variable[12]: Result */
12436 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, 234); nit_exit(1);}
12437 /* Register variable[12]: Result */
12438 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12439 /* Register variable[12]: Result */
12440 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12441 variable[11] = variable[12];
12442 goto return_label736;
12443 return_label736: while(false);
12444 /* Register variable[9]: Result */
12445 variable[9] = variable[11];
12446 /* Ensure var variable[9]: super-string element*/
12447 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12448 /* Register variable[9]: Once String constant */
12449 if (once_value_737 != NIT_NULL) variable[9] = once_value_737;
12450 else {
12451 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeArray("), TAG_Int(21)) /*new String*/;
12452 once_value_737 = variable[9];
12453 }
12454 /* Register variable[9]: Result */
12455 /* Ensure var variable[9]: super-string element*/
12456 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12457 /* Register variable[9]: Local variable */
12458 variable[9] = variable[3] /*p*/;
12459 /* Register variable[10]: Local variable */
12460 variable[10] = TAG_Int(0);
12461 /* Register variable[11]: Method return value and escape marker */
12462 /* Register variable[12]: Result */
12463 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12464 /* Ensure var variable[12]: Left 'and' operand*/
12465 if (UNTAG_Bool(variable[12])) { /* and */
12466 /* Register variable[12]: Result */
12467 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12468 /* Register variable[12]: Result */
12469 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12470 }
12471 /* Register variable[12]: Result */
12472 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, 234); nit_exit(1);}
12473 /* Register variable[12]: Result */
12474 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12475 /* Register variable[12]: Result */
12476 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12477 variable[11] = variable[12];
12478 goto return_label738;
12479 return_label738: while(false);
12480 /* Register variable[9]: Result */
12481 variable[9] = variable[11];
12482 /* Ensure var variable[9]: super-string element*/
12483 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12484 /* Register variable[9]: Once String constant */
12485 if (once_value_739 != NIT_NULL) variable[9] = once_value_739;
12486 else {
12487 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)) /*new String*/;
12488 once_value_739 = variable[9];
12489 }
12490 /* Register variable[9]: Result */
12491 /* Ensure var variable[9]: super-string element*/
12492 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12493 /* Register variable[9]: Local variable */
12494 variable[9] = variable[3] /*p*/;
12495 /* Register variable[10]: Local variable */
12496 variable[10] = TAG_Int(2);
12497 /* Register variable[11]: Method return value and escape marker */
12498 /* Register variable[12]: Result */
12499 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12500 /* Ensure var variable[12]: Left 'and' operand*/
12501 if (UNTAG_Bool(variable[12])) { /* and */
12502 /* Register variable[12]: Result */
12503 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12504 /* Register variable[12]: Result */
12505 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12506 }
12507 /* Register variable[12]: Result */
12508 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, 234); nit_exit(1);}
12509 /* Register variable[12]: Result */
12510 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12511 /* Register variable[12]: Result */
12512 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12513 variable[11] = variable[12];
12514 goto return_label740;
12515 return_label740: while(false);
12516 /* Register variable[9]: Result */
12517 variable[9] = variable[11];
12518 /* Ensure var variable[9]: super-string element*/
12519 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12520 /* Register variable[9]: Once String constant */
12521 if (once_value_741 != NIT_NULL) variable[9] = once_value_741;
12522 else {
12523 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")*sizeof(val_t));"), TAG_Int(17)) /*new String*/;
12524 once_value_741 = variable[9];
12525 }
12526 /* Register variable[9]: Result */
12527 /* Ensure var variable[9]: super-string element*/
12528 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12529 /* Register variable[8]: Result */
12530 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12531 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
12532 }
12533 }
12534 }
12535 }
12536 } else { /*if*/
12537 /* Register variable[8]: Once expression result */
12538 if (once_bool_742) variable[8] = once_value_742;
12539 else {
12540 /* Register variable[8]: Once String constant */
12541 if (once_value_743 != NIT_NULL) variable[8] = once_value_743;
12542 else {
12543 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NativeString"), TAG_Int(12)) /*new String*/;
12544 once_value_743 = variable[8];
12545 }
12546 /* Register variable[8]: Result */
12547 /* Register variable[8]: Result */
12548 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12549 once_value_742 = variable[8];
12550 once_bool_742 = true;
12551 }
12552 /* Register variable[8]: Result */
12553 /* Register variable[8]: Result */
12554 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::==*/)))));
12555 if (UNTAG_Bool(variable[8])) { /*if*/
12556 /* Register variable[8]: Once expression result */
12557 if (once_bool_744) variable[8] = once_value_744;
12558 else {
12559 /* Register variable[8]: Once String constant */
12560 if (once_value_745 != NIT_NULL) variable[8] = once_value_745;
12561 else {
12562 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
12563 once_value_745 = variable[8];
12564 }
12565 /* Register variable[8]: Result */
12566 /* Register variable[8]: Result */
12567 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12568 once_value_744 = variable[8];
12569 once_bool_744 = true;
12570 }
12571 /* Register variable[8]: Result */
12572 /* Register variable[8]: Result */
12573 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::==*/)))));
12574 if (UNTAG_Bool(variable[8])) { /*if*/
12575 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12576 /* Register variable[9]: Once String constant */
12577 if (once_value_746 != NIT_NULL) variable[9] = once_value_746;
12578 else {
12579 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(UNBOX_NativeString("), TAG_Int(27)) /*new String*/;
12580 once_value_746 = variable[9];
12581 }
12582 /* Register variable[9]: Result */
12583 /* Ensure var variable[9]: super-string element*/
12584 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12585 /* Register variable[9]: Local variable */
12586 variable[9] = variable[3] /*p*/;
12587 /* Register variable[10]: Local variable */
12588 variable[10] = TAG_Int(0);
12589 /* Register variable[11]: Method return value and escape marker */
12590 /* Register variable[12]: Result */
12591 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12592 /* Ensure var variable[12]: Left 'and' operand*/
12593 if (UNTAG_Bool(variable[12])) { /* and */
12594 /* Register variable[12]: Result */
12595 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12596 /* Register variable[12]: Result */
12597 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12598 }
12599 /* Register variable[12]: Result */
12600 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, 234); nit_exit(1);}
12601 /* Register variable[12]: Result */
12602 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12603 /* Register variable[12]: Result */
12604 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12605 variable[11] = variable[12];
12606 goto return_label747;
12607 return_label747: while(false);
12608 /* Register variable[9]: Result */
12609 variable[9] = variable[11];
12610 /* Ensure var variable[9]: super-string element*/
12611 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12612 /* Register variable[9]: Once String constant */
12613 if (once_value_748 != NIT_NULL) variable[9] = once_value_748;
12614 else {
12615 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
12616 once_value_748 = variable[9];
12617 }
12618 /* Register variable[9]: Result */
12619 /* Ensure var variable[9]: super-string element*/
12620 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12621 /* Register variable[8]: Result */
12622 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12623 variable[7] = variable[8] /*s=*/;
12624 } else { /*if*/
12625 /* Register variable[8]: Once expression result */
12626 if (once_bool_749) variable[8] = once_value_749;
12627 else {
12628 /* Register variable[8]: Once String constant */
12629 if (once_value_750 != NIT_NULL) variable[8] = once_value_750;
12630 else {
12631 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("atoi"), TAG_Int(4)) /*new String*/;
12632 once_value_750 = variable[8];
12633 }
12634 /* Register variable[8]: Result */
12635 /* Register variable[8]: Result */
12636 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12637 once_value_749 = variable[8];
12638 once_bool_749 = true;
12639 }
12640 /* Register variable[8]: Result */
12641 /* Register variable[8]: Result */
12642 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::==*/)))));
12643 if (UNTAG_Bool(variable[8])) { /*if*/
12644 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12645 /* Register variable[9]: Once String constant */
12646 if (once_value_751 != NIT_NULL) variable[9] = once_value_751;
12647 else {
12648 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int(atoi(UNBOX_NativeString("), TAG_Int(32)) /*new String*/;
12649 once_value_751 = variable[9];
12650 }
12651 /* Register variable[9]: Result */
12652 /* Ensure var variable[9]: super-string element*/
12653 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12654 /* Register variable[9]: Local variable */
12655 variable[9] = variable[3] /*p*/;
12656 /* Register variable[10]: Local variable */
12657 variable[10] = TAG_Int(0);
12658 /* Register variable[11]: Method return value and escape marker */
12659 /* Register variable[12]: Result */
12660 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12661 /* Ensure var variable[12]: Left 'and' operand*/
12662 if (UNTAG_Bool(variable[12])) { /* and */
12663 /* Register variable[12]: Result */
12664 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12665 /* Register variable[12]: Result */
12666 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12667 }
12668 /* Register variable[12]: Result */
12669 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, 234); nit_exit(1);}
12670 /* Register variable[12]: Result */
12671 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12672 /* Register variable[12]: Result */
12673 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12674 variable[11] = variable[12];
12675 goto return_label752;
12676 return_label752: while(false);
12677 /* Register variable[9]: Result */
12678 variable[9] = variable[11];
12679 /* Ensure var variable[9]: super-string element*/
12680 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12681 /* Register variable[9]: Once String constant */
12682 if (once_value_753 != NIT_NULL) variable[9] = once_value_753;
12683 else {
12684 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
12685 once_value_753 = variable[9];
12686 }
12687 /* Register variable[9]: Result */
12688 /* Ensure var variable[9]: super-string element*/
12689 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12690 /* Register variable[8]: Result */
12691 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12692 variable[7] = variable[8] /*s=*/;
12693 } else { /*if*/
12694 /* Register variable[8]: Once expression result */
12695 if (once_bool_754) variable[8] = once_value_754;
12696 else {
12697 /* Register variable[8]: Once String constant */
12698 if (once_value_755 != NIT_NULL) variable[8] = once_value_755;
12699 else {
12700 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]"), TAG_Int(2)) /*new String*/;
12701 once_value_755 = variable[8];
12702 }
12703 /* Register variable[8]: Result */
12704 /* Register variable[8]: Result */
12705 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12706 once_value_754 = variable[8];
12707 once_bool_754 = true;
12708 }
12709 /* Register variable[8]: Result */
12710 /* Register variable[8]: Result */
12711 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::==*/)))));
12712 if (UNTAG_Bool(variable[8])) { /*if*/
12713 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12714 /* Register variable[9]: Once String constant */
12715 if (once_value_756 != NIT_NULL) variable[9] = once_value_756;
12716 else {
12717 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Char(UNBOX_NativeString("), TAG_Int(28)) /*new String*/;
12718 once_value_756 = variable[9];
12719 }
12720 /* Register variable[9]: Result */
12721 /* Ensure var variable[9]: super-string element*/
12722 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12723 /* Register variable[9]: Local variable */
12724 variable[9] = variable[3] /*p*/;
12725 /* Register variable[10]: Local variable */
12726 variable[10] = TAG_Int(0);
12727 /* Register variable[11]: Method return value and escape marker */
12728 /* Register variable[12]: Result */
12729 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12730 /* Ensure var variable[12]: Left 'and' operand*/
12731 if (UNTAG_Bool(variable[12])) { /* and */
12732 /* Register variable[12]: Result */
12733 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12734 /* Register variable[12]: Result */
12735 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12736 }
12737 /* Register variable[12]: Result */
12738 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, 234); nit_exit(1);}
12739 /* Register variable[12]: Result */
12740 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12741 /* Register variable[12]: Result */
12742 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12743 variable[11] = variable[12];
12744 goto return_label757;
12745 return_label757: while(false);
12746 /* Register variable[9]: Result */
12747 variable[9] = variable[11];
12748 /* Ensure var variable[9]: super-string element*/
12749 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12750 /* Register variable[9]: Once String constant */
12751 if (once_value_758 != NIT_NULL) variable[9] = once_value_758;
12752 else {
12753 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
12754 once_value_758 = variable[9];
12755 }
12756 /* Register variable[9]: Result */
12757 /* Ensure var variable[9]: super-string element*/
12758 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12759 /* Register variable[9]: Local variable */
12760 variable[9] = variable[3] /*p*/;
12761 /* Register variable[10]: Local variable */
12762 variable[10] = TAG_Int(1);
12763 /* Register variable[11]: Method return value and escape marker */
12764 /* Register variable[12]: Result */
12765 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12766 /* Ensure var variable[12]: Left 'and' operand*/
12767 if (UNTAG_Bool(variable[12])) { /* and */
12768 /* Register variable[12]: Result */
12769 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12770 /* Register variable[12]: Result */
12771 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12772 }
12773 /* Register variable[12]: Result */
12774 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, 234); nit_exit(1);}
12775 /* Register variable[12]: Result */
12776 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12777 /* Register variable[12]: Result */
12778 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12779 variable[11] = variable[12];
12780 goto return_label759;
12781 return_label759: while(false);
12782 /* Register variable[9]: Result */
12783 variable[9] = variable[11];
12784 /* Ensure var variable[9]: super-string element*/
12785 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12786 /* Register variable[9]: Once String constant */
12787 if (once_value_760 != NIT_NULL) variable[9] = once_value_760;
12788 else {
12789 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")])"), TAG_Int(3)) /*new String*/;
12790 once_value_760 = variable[9];
12791 }
12792 /* Register variable[9]: Result */
12793 /* Ensure var variable[9]: super-string element*/
12794 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12795 /* Register variable[8]: Result */
12796 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12797 variable[7] = variable[8] /*s=*/;
12798 } else { /*if*/
12799 /* Register variable[8]: Once expression result */
12800 if (once_bool_761) variable[8] = once_value_761;
12801 else {
12802 /* Register variable[8]: Once String constant */
12803 if (once_value_762 != NIT_NULL) variable[8] = once_value_762;
12804 else {
12805 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("[]="), TAG_Int(3)) /*new String*/;
12806 once_value_762 = variable[8];
12807 }
12808 /* Register variable[8]: Result */
12809 /* Register variable[8]: Result */
12810 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12811 once_value_761 = variable[8];
12812 once_bool_761 = true;
12813 }
12814 /* Register variable[8]: Result */
12815 /* Register variable[8]: Result */
12816 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::==*/)))));
12817 if (UNTAG_Bool(variable[8])) { /*if*/
12818 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12819 /* Register variable[9]: Once String constant */
12820 if (once_value_763 != NIT_NULL) variable[9] = once_value_763;
12821 else {
12822 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("UNBOX_NativeString("), TAG_Int(19)) /*new String*/;
12823 once_value_763 = variable[9];
12824 }
12825 /* Register variable[9]: Result */
12826 /* Ensure var variable[9]: super-string element*/
12827 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12828 /* Register variable[9]: Local variable */
12829 variable[9] = variable[3] /*p*/;
12830 /* Register variable[10]: Local variable */
12831 variable[10] = TAG_Int(0);
12832 /* Register variable[11]: Method return value and escape marker */
12833 /* Register variable[12]: Result */
12834 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12835 /* Ensure var variable[12]: Left 'and' operand*/
12836 if (UNTAG_Bool(variable[12])) { /* and */
12837 /* Register variable[12]: Result */
12838 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12839 /* Register variable[12]: Result */
12840 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12841 }
12842 /* Register variable[12]: Result */
12843 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, 234); nit_exit(1);}
12844 /* Register variable[12]: Result */
12845 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12846 /* Register variable[12]: Result */
12847 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12848 variable[11] = variable[12];
12849 goto return_label764;
12850 return_label764: while(false);
12851 /* Register variable[9]: Result */
12852 variable[9] = variable[11];
12853 /* Ensure var variable[9]: super-string element*/
12854 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12855 /* Register variable[9]: Once String constant */
12856 if (once_value_765 != NIT_NULL) variable[9] = once_value_765;
12857 else {
12858 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")[UNTAG_Int("), TAG_Int(12)) /*new String*/;
12859 once_value_765 = variable[9];
12860 }
12861 /* Register variable[9]: Result */
12862 /* Ensure var variable[9]: super-string element*/
12863 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12864 /* Register variable[9]: Local variable */
12865 variable[9] = variable[3] /*p*/;
12866 /* Register variable[10]: Local variable */
12867 variable[10] = TAG_Int(1);
12868 /* Register variable[11]: Method return value and escape marker */
12869 /* Register variable[12]: Result */
12870 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12871 /* Ensure var variable[12]: Left 'and' operand*/
12872 if (UNTAG_Bool(variable[12])) { /* and */
12873 /* Register variable[12]: Result */
12874 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12875 /* Register variable[12]: Result */
12876 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12877 }
12878 /* Register variable[12]: Result */
12879 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, 234); nit_exit(1);}
12880 /* Register variable[12]: Result */
12881 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12882 /* Register variable[12]: Result */
12883 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12884 variable[11] = variable[12];
12885 goto return_label766;
12886 return_label766: while(false);
12887 /* Register variable[9]: Result */
12888 variable[9] = variable[11];
12889 /* Ensure var variable[9]: super-string element*/
12890 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12891 /* Register variable[9]: Once String constant */
12892 if (once_value_767 != NIT_NULL) variable[9] = once_value_767;
12893 else {
12894 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")]=UNTAG_Char("), TAG_Int(14)) /*new String*/;
12895 once_value_767 = variable[9];
12896 }
12897 /* Register variable[9]: Result */
12898 /* Ensure var variable[9]: super-string element*/
12899 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12900 /* Register variable[9]: Local variable */
12901 variable[9] = variable[3] /*p*/;
12902 /* Register variable[10]: Local variable */
12903 variable[10] = TAG_Int(2);
12904 /* Register variable[11]: Method return value and escape marker */
12905 /* Register variable[12]: Result */
12906 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12907 /* Ensure var variable[12]: Left 'and' operand*/
12908 if (UNTAG_Bool(variable[12])) { /* and */
12909 /* Register variable[12]: Result */
12910 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12911 /* Register variable[12]: Result */
12912 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12913 }
12914 /* Register variable[12]: Result */
12915 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, 234); nit_exit(1);}
12916 /* Register variable[12]: Result */
12917 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12918 /* Register variable[12]: Result */
12919 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12920 variable[11] = variable[12];
12921 goto return_label768;
12922 return_label768: while(false);
12923 /* Register variable[9]: Result */
12924 variable[9] = variable[11];
12925 /* Ensure var variable[9]: super-string element*/
12926 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12927 /* Register variable[9]: Once String constant */
12928 if (once_value_769 != NIT_NULL) variable[9] = once_value_769;
12929 else {
12930 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
12931 once_value_769 = variable[9];
12932 }
12933 /* Register variable[9]: Result */
12934 /* Ensure var variable[9]: super-string element*/
12935 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12936 /* Register variable[8]: Result */
12937 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
12938 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
12939 } else { /*if*/
12940 /* Register variable[8]: Once expression result */
12941 if (once_bool_770) variable[8] = once_value_770;
12942 else {
12943 /* Register variable[8]: Once String constant */
12944 if (once_value_771 != NIT_NULL) variable[8] = once_value_771;
12945 else {
12946 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("copy_to"), TAG_Int(7)) /*new String*/;
12947 once_value_771 = variable[8];
12948 }
12949 /* Register variable[8]: Result */
12950 /* Register variable[8]: Result */
12951 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
12952 once_value_770 = variable[8];
12953 once_bool_770 = true;
12954 }
12955 /* Register variable[8]: Result */
12956 /* Register variable[8]: Result */
12957 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::==*/)))));
12958 if (UNTAG_Bool(variable[8])) { /*if*/
12959 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(11)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
12960 /* Register variable[9]: Once String constant */
12961 if (once_value_772 != NIT_NULL) variable[9] = once_value_772;
12962 else {
12963 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(void)memcpy(UNBOX_NativeString("), TAG_Int(32)) /*new String*/;
12964 once_value_772 = variable[9];
12965 }
12966 /* Register variable[9]: Result */
12967 /* Ensure var variable[9]: super-string element*/
12968 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12969 /* Register variable[9]: Local variable */
12970 variable[9] = variable[3] /*p*/;
12971 /* Register variable[10]: Local variable */
12972 variable[10] = TAG_Int(1);
12973 /* Register variable[11]: Method return value and escape marker */
12974 /* Register variable[12]: Result */
12975 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
12976 /* Ensure var variable[12]: Left 'and' operand*/
12977 if (UNTAG_Bool(variable[12])) { /* and */
12978 /* Register variable[12]: Result */
12979 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
12980 /* Register variable[12]: Result */
12981 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
12982 }
12983 /* Register variable[12]: Result */
12984 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, 234); nit_exit(1);}
12985 /* Register variable[12]: Result */
12986 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
12987 /* Register variable[12]: Result */
12988 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
12989 variable[11] = variable[12];
12990 goto return_label773;
12991 return_label773: while(false);
12992 /* Register variable[9]: Result */
12993 variable[9] = variable[11];
12994 /* Ensure var variable[9]: super-string element*/
12995 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
12996 /* Register variable[9]: Once String constant */
12997 if (once_value_774 != NIT_NULL) variable[9] = once_value_774;
12998 else {
12999 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
13000 once_value_774 = variable[9];
13001 }
13002 /* Register variable[9]: Result */
13003 /* Ensure var variable[9]: super-string element*/
13004 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13005 /* Register variable[9]: Local variable */
13006 variable[9] = variable[3] /*p*/;
13007 /* Register variable[10]: Local variable */
13008 variable[10] = TAG_Int(4);
13009 /* Register variable[11]: Method return value and escape marker */
13010 /* Register variable[12]: Result */
13011 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13012 /* Ensure var variable[12]: Left 'and' operand*/
13013 if (UNTAG_Bool(variable[12])) { /* and */
13014 /* Register variable[12]: Result */
13015 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13016 /* Register variable[12]: Result */
13017 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13018 }
13019 /* Register variable[12]: Result */
13020 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, 234); nit_exit(1);}
13021 /* Register variable[12]: Result */
13022 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13023 /* Register variable[12]: Result */
13024 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13025 variable[11] = variable[12];
13026 goto return_label775;
13027 return_label775: while(false);
13028 /* Register variable[9]: Result */
13029 variable[9] = variable[11];
13030 /* Ensure var variable[9]: super-string element*/
13031 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13032 /* Register variable[9]: Once String constant */
13033 if (once_value_776 != NIT_NULL) variable[9] = once_value_776;
13034 else {
13035 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNBOX_NativeString("), TAG_Int(22)) /*new String*/;
13036 once_value_776 = variable[9];
13037 }
13038 /* Register variable[9]: Result */
13039 /* Ensure var variable[9]: super-string element*/
13040 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13041 /* Register variable[9]: Local variable */
13042 variable[9] = variable[3] /*p*/;
13043 /* Register variable[10]: Local variable */
13044 variable[10] = TAG_Int(0);
13045 /* Register variable[11]: Method return value and escape marker */
13046 /* Register variable[12]: Result */
13047 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13048 /* Ensure var variable[12]: Left 'and' operand*/
13049 if (UNTAG_Bool(variable[12])) { /* and */
13050 /* Register variable[12]: Result */
13051 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13052 /* Register variable[12]: Result */
13053 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13054 }
13055 /* Register variable[12]: Result */
13056 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, 234); nit_exit(1);}
13057 /* Register variable[12]: Result */
13058 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13059 /* Register variable[12]: Result */
13060 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13061 variable[11] = variable[12];
13062 goto return_label777;
13063 return_label777: while(false);
13064 /* Register variable[9]: Result */
13065 variable[9] = variable[11];
13066 /* Ensure var variable[9]: super-string element*/
13067 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13068 /* Register variable[9]: Once String constant */
13069 if (once_value_778 != NIT_NULL) variable[9] = once_value_778;
13070 else {
13071 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")+UNTAG_Int("), TAG_Int(12)) /*new String*/;
13072 once_value_778 = variable[9];
13073 }
13074 /* Register variable[9]: Result */
13075 /* Ensure var variable[9]: super-string element*/
13076 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13077 /* Register variable[9]: Local variable */
13078 variable[9] = variable[3] /*p*/;
13079 /* Register variable[10]: Local variable */
13080 variable[10] = TAG_Int(3);
13081 /* Register variable[11]: Method return value and escape marker */
13082 /* Register variable[12]: Result */
13083 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13084 /* Ensure var variable[12]: Left 'and' operand*/
13085 if (UNTAG_Bool(variable[12])) { /* and */
13086 /* Register variable[12]: Result */
13087 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13088 /* Register variable[12]: Result */
13089 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13090 }
13091 /* Register variable[12]: Result */
13092 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, 234); nit_exit(1);}
13093 /* Register variable[12]: Result */
13094 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13095 /* Register variable[12]: Result */
13096 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13097 variable[11] = variable[12];
13098 goto return_label779;
13099 return_label779: while(false);
13100 /* Register variable[9]: Result */
13101 variable[9] = variable[11];
13102 /* Ensure var variable[9]: super-string element*/
13103 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13104 /* Register variable[9]: Once String constant */
13105 if (once_value_780 != NIT_NULL) variable[9] = once_value_780;
13106 else {
13107 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("), UNTAG_Int("), TAG_Int(13)) /*new String*/;
13108 once_value_780 = variable[9];
13109 }
13110 /* Register variable[9]: Result */
13111 /* Ensure var variable[9]: super-string element*/
13112 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13113 /* Register variable[9]: Local variable */
13114 variable[9] = variable[3] /*p*/;
13115 /* Register variable[10]: Local variable */
13116 variable[10] = TAG_Int(2);
13117 /* Register variable[11]: Method return value and escape marker */
13118 /* Register variable[12]: Result */
13119 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13120 /* Ensure var variable[12]: Left 'and' operand*/
13121 if (UNTAG_Bool(variable[12])) { /* and */
13122 /* Register variable[12]: Result */
13123 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13124 /* Register variable[12]: Result */
13125 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13126 }
13127 /* Register variable[12]: Result */
13128 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, 234); nit_exit(1);}
13129 /* Register variable[12]: Result */
13130 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13131 /* Register variable[12]: Result */
13132 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13133 variable[11] = variable[12];
13134 goto return_label781;
13135 return_label781: while(false);
13136 /* Register variable[9]: Result */
13137 variable[9] = variable[11];
13138 /* Ensure var variable[9]: super-string element*/
13139 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13140 /* Register variable[9]: Once String constant */
13141 if (once_value_782 != NIT_NULL) variable[9] = once_value_782;
13142 else {
13143 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
13144 once_value_782 = variable[9];
13145 }
13146 /* Register variable[9]: Result */
13147 /* Ensure var variable[9]: super-string element*/
13148 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13149 /* Register variable[8]: Result */
13150 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13151 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
13152 }
13153 }
13154 }
13155 }
13156 }
13157 } else { /*if*/
13158 /* Register variable[8]: Once expression result */
13159 if (once_bool_783) variable[8] = once_value_783;
13160 else {
13161 /* Register variable[8]: Once String constant */
13162 if (once_value_784 != NIT_NULL) variable[8] = once_value_784;
13163 else {
13164 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("object_id"), TAG_Int(9)) /*new String*/;
13165 once_value_784 = variable[8];
13166 }
13167 /* Register variable[8]: Result */
13168 /* Register variable[8]: Result */
13169 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13170 once_value_783 = variable[8];
13171 once_bool_783 = true;
13172 }
13173 /* Register variable[8]: Result */
13174 /* Register variable[8]: Result */
13175 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::==*/)))));
13176 if (UNTAG_Bool(variable[8])) { /*if*/
13177 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13178 /* Register variable[9]: Once String constant */
13179 if (once_value_785 != NIT_NULL) variable[9] = once_value_785;
13180 else {
13181 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int((bigint)"), TAG_Int(16)) /*new String*/;
13182 once_value_785 = variable[9];
13183 }
13184 /* Register variable[9]: Result */
13185 /* Ensure var variable[9]: super-string element*/
13186 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13187 /* Register variable[9]: Local variable */
13188 variable[9] = variable[3] /*p*/;
13189 /* Register variable[10]: Local variable */
13190 variable[10] = TAG_Int(0);
13191 /* Register variable[11]: Method return value and escape marker */
13192 /* Register variable[12]: Result */
13193 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13194 /* Ensure var variable[12]: Left 'and' operand*/
13195 if (UNTAG_Bool(variable[12])) { /* and */
13196 /* Register variable[12]: Result */
13197 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13198 /* Register variable[12]: Result */
13199 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13200 }
13201 /* Register variable[12]: Result */
13202 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, 234); nit_exit(1);}
13203 /* Register variable[12]: Result */
13204 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13205 /* Register variable[12]: Result */
13206 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13207 variable[11] = variable[12];
13208 goto return_label786;
13209 return_label786: while(false);
13210 /* Register variable[9]: Result */
13211 variable[9] = variable[11];
13212 /* Ensure var variable[9]: super-string element*/
13213 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13214 /* Register variable[9]: Once String constant */
13215 if (once_value_787 != NIT_NULL) variable[9] = once_value_787;
13216 else {
13217 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
13218 once_value_787 = variable[9];
13219 }
13220 /* Register variable[9]: Result */
13221 /* Ensure var variable[9]: super-string element*/
13222 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13223 /* Register variable[8]: Result */
13224 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13225 variable[7] = variable[8] /*s=*/;
13226 } else { /*if*/
13227 /* Register variable[8]: Once expression result */
13228 if (once_bool_788) variable[8] = once_value_788;
13229 else {
13230 /* Register variable[8]: Once String constant */
13231 if (once_value_789 != NIT_NULL) variable[8] = once_value_789;
13232 else {
13233 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("sys"), TAG_Int(3)) /*new String*/;
13234 once_value_789 = variable[8];
13235 }
13236 /* Register variable[8]: Result */
13237 /* Register variable[8]: Result */
13238 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13239 once_value_788 = variable[8];
13240 once_bool_788 = true;
13241 }
13242 /* Register variable[8]: Result */
13243 /* Register variable[8]: Result */
13244 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::==*/)))));
13245 if (UNTAG_Bool(variable[8])) { /*if*/
13246 /* Register variable[8]: Once String constant */
13247 if (once_value_790 != NIT_NULL) variable[8] = once_value_790;
13248 else {
13249 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("(G_sys)"), TAG_Int(7)) /*new String*/;
13250 once_value_790 = variable[8];
13251 }
13252 /* Register variable[8]: Result */
13253 variable[7] = variable[8] /*s=*/;
13254 } else { /*if*/
13255 /* Register variable[8]: Once expression result */
13256 if (once_bool_791) variable[8] = once_value_791;
13257 else {
13258 /* Register variable[8]: Once String constant */
13259 if (once_value_792 != NIT_NULL) variable[8] = once_value_792;
13260 else {
13261 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("is_same_type"), TAG_Int(12)) /*new String*/;
13262 once_value_792 = variable[8];
13263 }
13264 /* Register variable[8]: Result */
13265 /* Register variable[8]: Result */
13266 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13267 once_value_791 = variable[8];
13268 once_bool_791 = true;
13269 }
13270 /* Register variable[8]: Result */
13271 /* Register variable[8]: Result */
13272 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::==*/)))));
13273 if (UNTAG_Bool(variable[8])) { /*if*/
13274 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13275 /* Register variable[9]: Once String constant */
13276 if (once_value_793 != NIT_NULL) variable[9] = once_value_793;
13277 else {
13278 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool((VAL2VFT("), TAG_Int(18)) /*new String*/;
13279 once_value_793 = variable[9];
13280 }
13281 /* Register variable[9]: Result */
13282 /* Ensure var variable[9]: super-string element*/
13283 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13284 /* Register variable[9]: Local variable */
13285 variable[9] = variable[3] /*p*/;
13286 /* Register variable[10]: Local variable */
13287 variable[10] = TAG_Int(0);
13288 /* Register variable[11]: Method return value and escape marker */
13289 /* Register variable[12]: Result */
13290 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13291 /* Ensure var variable[12]: Left 'and' operand*/
13292 if (UNTAG_Bool(variable[12])) { /* and */
13293 /* Register variable[12]: Result */
13294 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13295 /* Register variable[12]: Result */
13296 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13297 }
13298 /* Register variable[12]: Result */
13299 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, 234); nit_exit(1);}
13300 /* Register variable[12]: Result */
13301 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13302 /* Register variable[12]: Result */
13303 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13304 variable[11] = variable[12];
13305 goto return_label794;
13306 return_label794: while(false);
13307 /* Register variable[9]: Result */
13308 variable[9] = variable[11];
13309 /* Ensure var variable[9]: super-string element*/
13310 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13311 /* Register variable[9]: Once String constant */
13312 if (once_value_795 != NIT_NULL) variable[9] = once_value_795;
13313 else {
13314 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")==VAL2VFT("), TAG_Int(11)) /*new String*/;
13315 once_value_795 = variable[9];
13316 }
13317 /* Register variable[9]: Result */
13318 /* Ensure var variable[9]: super-string element*/
13319 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13320 /* Register variable[9]: Local variable */
13321 variable[9] = variable[3] /*p*/;
13322 /* Register variable[10]: Local variable */
13323 variable[10] = TAG_Int(1);
13324 /* Register variable[11]: Method return value and escape marker */
13325 /* Register variable[12]: Result */
13326 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13327 /* Ensure var variable[12]: Left 'and' operand*/
13328 if (UNTAG_Bool(variable[12])) { /* and */
13329 /* Register variable[12]: Result */
13330 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13331 /* Register variable[12]: Result */
13332 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13333 }
13334 /* Register variable[12]: Result */
13335 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, 234); nit_exit(1);}
13336 /* Register variable[12]: Result */
13337 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13338 /* Register variable[12]: Result */
13339 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13340 variable[11] = variable[12];
13341 goto return_label796;
13342 return_label796: while(false);
13343 /* Register variable[9]: Result */
13344 variable[9] = variable[11];
13345 /* Ensure var variable[9]: super-string element*/
13346 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13347 /* Register variable[9]: Once String constant */
13348 if (once_value_797 != NIT_NULL) variable[9] = once_value_797;
13349 else {
13350 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")))"), TAG_Int(3)) /*new String*/;
13351 once_value_797 = variable[9];
13352 }
13353 /* Register variable[9]: Result */
13354 /* Ensure var variable[9]: super-string element*/
13355 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13356 /* Register variable[8]: Result */
13357 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13358 variable[7] = variable[8] /*s=*/;
13359 } else { /*if*/
13360 /* Register variable[8]: Once expression result */
13361 if (once_bool_798) variable[8] = once_value_798;
13362 else {
13363 /* Register variable[8]: Once String constant */
13364 if (once_value_799 != NIT_NULL) variable[8] = once_value_799;
13365 else {
13366 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("exit"), TAG_Int(4)) /*new String*/;
13367 once_value_799 = variable[8];
13368 }
13369 /* Register variable[8]: Result */
13370 /* Register variable[8]: Result */
13371 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13372 once_value_798 = variable[8];
13373 once_bool_798 = true;
13374 }
13375 /* Register variable[8]: Result */
13376 /* Register variable[8]: Result */
13377 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::==*/)))));
13378 if (UNTAG_Bool(variable[8])) { /*if*/
13379 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13380 /* Register variable[9]: Once String constant */
13381 if (once_value_800 != NIT_NULL) variable[9] = once_value_800;
13382 else {
13383 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("exit(UNTAG_Int("), TAG_Int(15)) /*new String*/;
13384 once_value_800 = variable[9];
13385 }
13386 /* Register variable[9]: Result */
13387 /* Ensure var variable[9]: super-string element*/
13388 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13389 /* Register variable[9]: Local variable */
13390 variable[9] = variable[3] /*p*/;
13391 /* Register variable[10]: Local variable */
13392 variable[10] = TAG_Int(1);
13393 /* Register variable[11]: Method return value and escape marker */
13394 /* Register variable[12]: Result */
13395 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13396 /* Ensure var variable[12]: Left 'and' operand*/
13397 if (UNTAG_Bool(variable[12])) { /* and */
13398 /* Register variable[12]: Result */
13399 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13400 /* Register variable[12]: Result */
13401 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13402 }
13403 /* Register variable[12]: Result */
13404 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, 234); nit_exit(1);}
13405 /* Register variable[12]: Result */
13406 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13407 /* Register variable[12]: Result */
13408 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13409 variable[11] = variable[12];
13410 goto return_label801;
13411 return_label801: while(false);
13412 /* Register variable[9]: Result */
13413 variable[9] = variable[11];
13414 /* Ensure var variable[9]: super-string element*/
13415 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13416 /* Register variable[9]: Once String constant */
13417 if (once_value_802 != NIT_NULL) variable[9] = once_value_802;
13418 else {
13419 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("));"), TAG_Int(3)) /*new String*/;
13420 once_value_802 = variable[9];
13421 }
13422 /* Register variable[9]: Result */
13423 /* Ensure var variable[9]: super-string element*/
13424 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13425 /* Register variable[8]: Result */
13426 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13427 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
13428 } else { /*if*/
13429 /* Register variable[8]: Once expression result */
13430 if (once_bool_803) variable[8] = once_value_803;
13431 else {
13432 /* Register variable[8]: Once String constant */
13433 if (once_value_804 != NIT_NULL) variable[8] = once_value_804;
13434 else {
13435 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_array"), TAG_Int(12)) /*new String*/;
13436 once_value_804 = variable[8];
13437 }
13438 /* Register variable[8]: Result */
13439 /* Register variable[8]: Result */
13440 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13441 once_value_803 = variable[8];
13442 once_bool_803 = true;
13443 }
13444 /* Register variable[8]: Result */
13445 /* Register variable[8]: Result */
13446 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::==*/)))));
13447 if (UNTAG_Bool(variable[8])) { /*if*/
13448 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13449 /* Register variable[9]: Once String constant */
13450 if (once_value_805 != NIT_NULL) variable[9] = once_value_805;
13451 else {
13452 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeArray((val_t*)malloc((UNTAG_Int("), TAG_Int(42)) /*new String*/;
13453 once_value_805 = variable[9];
13454 }
13455 /* Register variable[9]: Result */
13456 /* Ensure var variable[9]: super-string element*/
13457 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13458 /* Register variable[9]: Local variable */
13459 variable[9] = variable[3] /*p*/;
13460 /* Register variable[10]: Local variable */
13461 variable[10] = TAG_Int(1);
13462 /* Register variable[11]: Method return value and escape marker */
13463 /* Register variable[12]: Result */
13464 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13465 /* Ensure var variable[12]: Left 'and' operand*/
13466 if (UNTAG_Bool(variable[12])) { /* and */
13467 /* Register variable[12]: Result */
13468 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13469 /* Register variable[12]: Result */
13470 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13471 }
13472 /* Register variable[12]: Result */
13473 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, 234); nit_exit(1);}
13474 /* Register variable[12]: Result */
13475 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13476 /* Register variable[12]: Result */
13477 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13478 variable[11] = variable[12];
13479 goto return_label806;
13480 return_label806: while(false);
13481 /* Register variable[9]: Result */
13482 variable[9] = variable[11];
13483 /* Ensure var variable[9]: super-string element*/
13484 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13485 /* Register variable[9]: Once String constant */
13486 if (once_value_807 != NIT_NULL) variable[9] = once_value_807;
13487 else {
13488 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(val_t))))"), TAG_Int(20)) /*new String*/;
13489 once_value_807 = variable[9];
13490 }
13491 /* Register variable[9]: Result */
13492 /* Ensure var variable[9]: super-string element*/
13493 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13494 /* Register variable[8]: Result */
13495 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13496 variable[7] = variable[8] /*s=*/;
13497 } else { /*if*/
13498 /* Register variable[8]: Once expression result */
13499 if (once_bool_808) variable[8] = once_value_808;
13500 else {
13501 /* Register variable[8]: Once String constant */
13502 if (once_value_809 != NIT_NULL) variable[8] = once_value_809;
13503 else {
13504 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("calloc_string"), TAG_Int(13)) /*new String*/;
13505 once_value_809 = variable[8];
13506 }
13507 /* Register variable[8]: Result */
13508 /* Register variable[8]: Result */
13509 variable[8] = CALL_symbol___String___to_symbol(variable[8])(variable[8]) /*String::to_symbol*/;
13510 once_value_808 = variable[8];
13511 once_bool_808 = true;
13512 }
13513 /* Register variable[8]: Result */
13514 /* Register variable[8]: Result */
13515 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::==*/)))));
13516 if (UNTAG_Bool(variable[8])) { /*if*/
13517 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13518 /* Register variable[9]: Once String constant */
13519 if (once_value_810 != NIT_NULL) variable[9] = once_value_810;
13520 else {
13521 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString((char*)malloc((UNTAG_Int("), TAG_Int(42)) /*new String*/;
13522 once_value_810 = variable[9];
13523 }
13524 /* Register variable[9]: Result */
13525 /* Ensure var variable[9]: super-string element*/
13526 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13527 /* Register variable[9]: Local variable */
13528 variable[9] = variable[3] /*p*/;
13529 /* Register variable[10]: Local variable */
13530 variable[10] = TAG_Int(1);
13531 /* Register variable[11]: Method return value and escape marker */
13532 /* Register variable[12]: Result */
13533 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)>=UNTAG_Int( TAG_Int(0)));
13534 /* Ensure var variable[12]: Left 'and' operand*/
13535 if (UNTAG_Bool(variable[12])) { /* and */
13536 /* Register variable[12]: Result */
13537 variable[12] = ATTR_array___AbstractArrayRead____length(variable[9]) /*AbstractArrayRead::_length*/;
13538 /* Register variable[12]: Result */
13539 variable[12] = TAG_Bool(UNTAG_Int( variable[10] /*index*/)<UNTAG_Int(variable[12]));
13540 }
13541 /* Register variable[12]: Result */
13542 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, 234); nit_exit(1);}
13543 /* Register variable[12]: Result */
13544 variable[12] = ATTR_array___Array____items(variable[9]) /*Array::_items*/;
13545 /* Register variable[12]: Result */
13546 variable[12] = UNBOX_NativeArray(variable[12])[UNTAG_Int( variable[10] /*index*/)];
13547 variable[11] = variable[12];
13548 goto return_label811;
13549 return_label811: while(false);
13550 /* Register variable[9]: Result */
13551 variable[9] = variable[11];
13552 /* Ensure var variable[9]: super-string element*/
13553 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13554 /* Register variable[9]: Once String constant */
13555 if (once_value_812 != NIT_NULL) variable[9] = once_value_812;
13556 else {
13557 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") * sizeof(char))))"), TAG_Int(19)) /*new String*/;
13558 once_value_812 = variable[9];
13559 }
13560 /* Register variable[9]: Result */
13561 /* Ensure var variable[9]: super-string element*/
13562 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13563 /* Register variable[8]: Result */
13564 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13565 variable[7] = variable[8] /*s=*/;
13566 } else { /*if*/
13567 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13568 /* Register variable[9]: Once String constant */
13569 if (once_value_813 != NIT_NULL) variable[9] = once_value_813;
13570 else {
13571 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Intern "), TAG_Int(24)) /*new String*/;
13572 once_value_813 = variable[9];
13573 }
13574 /* Register variable[9]: Result */
13575 /* Ensure var variable[9]: super-string element*/
13576 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13577 variable[9] = variable[6] /*n*/ /* Ensure var: super-string element*/;
13578 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
13579 /* Register variable[9]: Once String constant */
13580 if (once_value_814 != NIT_NULL) variable[9] = once_value_814;
13581 else {
13582 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("\\n\"); nit_exit(1);"), TAG_Int(18)) /*new String*/;
13583 once_value_814 = variable[9];
13584 }
13585 /* Register variable[9]: Result */
13586 /* Ensure var variable[9]: super-string element*/
13587 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
13588 /* Register variable[8]: Result */
13589 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
13590 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
13591 }
13592 }
13593 }
13594 }
13595 }
13596 }
13597 }
13598 }
13599 }
13600 }
13601 }
13602 }
13603 /* Register variable[8]: Result */
13604 variable[8] = CALL_static_type___MMLocalProperty___signature( variable[2] /*method*/)( variable[2] /*method*/) /*MMLocalProperty::signature*/;
13605 /* Register variable[8]: Result */
13606 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
13607 /* Register variable[8]: Result */
13608 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::==*/)))))));
13609 /* Ensure var variable[8]: Left 'and' operand*/
13610 if (UNTAG_Bool(variable[8])) { /* and */
13611 /* Register variable[8]: Result */
13612 variable[8] = 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::==*/)));
13613 }
13614 /* Register variable[8]: Result */
13615 if (UNTAG_Bool(variable[8])) { /*if*/
13616 /* Register variable[8]: Once String constant */
13617 if (once_value_815 != NIT_NULL) variable[8] = once_value_815;
13618 else {
13619 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("NIT_NULL /*stub*/"), TAG_Int(17)) /*new String*/;
13620 once_value_815 = variable[8];
13621 }
13622 /* Register variable[8]: Result */
13623 variable[7] = variable[8] /*s=*/;
13624 }
13625 variable[4] = variable[7] /*s*/;
13626 goto return_label348;
13627 return_label348: while(false);
13628 tracehead = trace.prev;
13629 return variable[4];
13630 }
13631 val_t compiling_methods___PExpr___compile_expr(val_t self, val_t param0) {
13632 struct trace_t trace = {NULL, NULL, 977, LOCATE_compiling_methods___PExpr___compile_expr};
13633 val_t *variable = NULL;
13634 struct WBT_ **closurevariable = NULL;
13635 trace.prev = tracehead; tracehead = &trace;
13636 trace.file = LOCATE_compiling_methods;
13637 fprintf(stderr, "Deferred method called");
13638 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 977);
13639 nit_exit(1);
13640 tracehead = trace.prev;
13641 return NIT_NULL;
13642 }
13643 void compiling_methods___PExpr___prepare_compile_stmt(val_t self, val_t param0) {
13644 struct trace_t trace = {NULL, NULL, 981, LOCATE_compiling_methods___PExpr___prepare_compile_stmt};
13645 val_t variable[3];
13646 struct WBT_ **closurevariable = NULL;
13647 trace.prev = tracehead; tracehead = &trace;
13648 trace.file = LOCATE_compiling_methods;
13649 /* Register variable[0]: Local variable */
13650 variable[0] = self;
13651 /* Register variable[1]: Local variable */
13652 variable[1] = param0;
13653 /* Register variable[2]: Method return value and escape marker */
13654 return_label816: while(false);
13655 tracehead = trace.prev;
13656 return;
13657 }
13658 void compiling_methods___PExpr___compile_stmt(val_t self, val_t param0) {
13659 struct trace_t trace = {NULL, NULL, 986, LOCATE_compiling_methods___PExpr___compile_stmt};
13660 static val_t once_value_818 = NIT_NULL; /* Once value for string variable[3]*/
13661 val_t variable[4];
13662 struct WBT_ **closurevariable = NULL;
13663 trace.prev = tracehead; tracehead = &trace;
13664 trace.file = LOCATE_compiling_methods;
13665 /* Register variable[0]: Local variable */
13666 variable[0] = self;
13667 /* Register variable[1]: Local variable */
13668 variable[1] = param0;
13669 /* Register variable[2]: Method return value and escape marker */
13670 /* Register variable[3]: Once String constant */
13671 if (once_value_818 != NIT_NULL) variable[3] = once_value_818;
13672 else {
13673 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("Error!"), TAG_Int(6)) /*new String*/;
13674 once_value_818 = variable[3];
13675 }
13676 /* Register variable[3]: Result */
13677 CALL_parser_prod___PNode___printl(variable[0])(variable[0], variable[3]) /*PNode::printl*/;
13678 return_label817: while(false);
13679 tracehead = trace.prev;
13680 return;
13681 }
13682 void compiling_methods___ABlockExpr___compile_stmt(val_t self, val_t param0) {
13683 struct trace_t trace = {NULL, NULL, 992, LOCATE_compiling_methods___ABlockExpr___compile_stmt};
13684 val_t variable[6];
13685 struct WBT_ **closurevariable = NULL;
13686 trace.prev = tracehead; tracehead = &trace;
13687 trace.file = LOCATE_compiling_methods;
13688 /* Register variable[0]: Local variable */
13689 variable[0] = self;
13690 /* Register variable[1]: Local variable */
13691 variable[1] = param0;
13692 /* Register variable[2]: Method return value and escape marker */
13693 /* Register variable[3]: Result */
13694 variable[3] = CALL_parser_nodes___ABlockExpr___n_expr(variable[0])(variable[0]) /*ABlockExpr::n_expr*/;
13695 /* Register variable[3]: For iterator */
13696 variable[3] = CALL_abstract_collection___Collection___iterator(variable[3])(variable[3]) /*List::iterator*/;
13697 while (true) { /*for*/
13698 /* Register variable[4]: For 'is_ok' result */
13699 variable[4] = CALL_abstract_collection___Iterator___is_ok(variable[3])(variable[3]) /*ListIterator::is_ok*/;
13700 if (!UNTAG_Bool(variable[4])) break; /*for*/
13701 variable[4] = CALL_abstract_collection___Iterator___item(variable[3])(variable[3]) /*ListIterator::item*/ /* Ensure var: For item*/;
13702 /* Register variable[5]: Local variable */
13703 variable[5] = variable[4];
13704 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*n*/) /*CompilerVisitor::compile_stmt*/;
13705 continue_820: while(0);
13706 CALL_abstract_collection___Iterator___next(variable[3])(variable[3]) /*ListIterator::next*/;
13707 }
13708 break_820: while(0);
13709 return_label819: while(false);
13710 tracehead = trace.prev;
13711 return;
13712 }
13713 void compiling_methods___AVardeclExpr___prepare_compile_stmt(val_t self, val_t param0) {
13714 struct trace_t trace = {NULL, NULL, 1001, LOCATE_compiling_methods___AVardeclExpr___prepare_compile_stmt};
13715 val_t variable[5];
13716 struct WBT_ **closurevariable = NULL;
13717 trace.prev = tracehead; tracehead = &trace;
13718 trace.file = LOCATE_compiling_methods;
13719 /* Register variable[0]: Local variable */
13720 variable[0] = self;
13721 /* Register variable[1]: Local variable */
13722 variable[1] = param0;
13723 /* Register variable[2]: Method return value and escape marker */
13724 /* Register variable[3]: Result */
13725 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
13726 /* Register variable[4]: Result */
13727 variable[4] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
13728 CALL_compiling_methods___CFunctionContext___register_variable(variable[3])(variable[3], variable[4]) /*CFunctionContext::register_variable*/;
13729 return_label821: while(false);
13730 tracehead = trace.prev;
13731 return;
13732 }
13733 void compiling_methods___AVardeclExpr___compile_stmt(val_t self, val_t param0) {
13734 struct trace_t trace = {NULL, NULL, 1006, LOCATE_compiling_methods___AVardeclExpr___compile_stmt};
13735 static val_t once_value_823 = NIT_NULL; /* Once value for string variable[5]*/
13736 static val_t once_value_824 = NIT_NULL; /* Once value for string variable[5]*/
13737 static val_t once_value_825 = NIT_NULL; /* Once value for string variable[5]*/
13738 val_t variable[6];
13739 struct WBT_ **closurevariable = NULL;
13740 trace.prev = tracehead; tracehead = &trace;
13741 trace.file = LOCATE_compiling_methods;
13742 /* Register variable[0]: Local variable */
13743 variable[0] = self;
13744 /* Register variable[1]: Local variable */
13745 variable[1] = param0;
13746 /* Register variable[2]: Method return value and escape marker */
13747 /* Register variable[3]: Local variable */
13748 /* Register variable[4]: Result */
13749 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
13750 /* Register variable[5]: Result */
13751 variable[5] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
13752 /* Register variable[4]: Result */
13753 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
13754 variable[3] = variable[4];
13755 /* Register variable[4]: Result */
13756 variable[4] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[0])(variable[0]) /*AVardeclExpr::n_expr*/;
13757 /* Register variable[4]: Result */
13758 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::==*/)))));
13759 if (UNTAG_Bool(variable[4])) { /*if*/
13760 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13761 /* Register variable[5]: Once String constant */
13762 if (once_value_823 != NIT_NULL) variable[5] = once_value_823;
13763 else {
13764 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("/*"), TAG_Int(2)) /*new String*/;
13765 once_value_823 = variable[5];
13766 }
13767 /* Register variable[5]: Result */
13768 /* Ensure var variable[5]: super-string element*/
13769 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
13770 variable[5] = variable[3] /*cname*/ /* Ensure var: super-string element*/;
13771 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
13772 /* Register variable[5]: Once String constant */
13773 if (once_value_824 != NIT_NULL) variable[5] = once_value_824;
13774 else {
13775 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(" is variable "), TAG_Int(13)) /*new String*/;
13776 once_value_824 = variable[5];
13777 }
13778 /* Register variable[5]: Result */
13779 /* Ensure var variable[5]: super-string element*/
13780 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
13781 /* Register variable[5]: Result */
13782 variable[5] = CALL_syntax_base___AVardeclExpr___variable(variable[0])(variable[0]) /*AVardeclExpr::variable*/;
13783 /* Register variable[5]: Result */
13784 variable[5] = CALL_syntax_base___Variable___name(variable[5])(variable[5]) /*Variable::name*/;
13785 /* Ensure var variable[5]: super-string element*/
13786 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/) /*AbstractArray::add*/;
13787 /* Register variable[5]: Once String constant */
13788 if (once_value_825 != NIT_NULL) variable[5] = once_value_825;
13789 else {
13790 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
13791 once_value_825 = variable[5];
13792 }
13793 /* Register variable[5]: Result */
13794 /* Ensure var variable[5]: super-string element*/
13795 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
13796 /* Register variable[4]: Result */
13797 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
13798 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
13799 } else { /*if*/
13800 /* Register variable[4]: Local variable */
13801 /* Register variable[5]: Result */
13802 variable[5] = CALL_parser_nodes___AVardeclExpr___n_expr(variable[0])(variable[0]) /*AVardeclExpr::n_expr*/;
13803 /* Register variable[5]: Result */
13804 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
13805 variable[4] = variable[5];
13806 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*cname*/, variable[4] /*e*/) /*CompilerVisitor::add_assignment*/;
13807 }
13808 return_label822: while(false);
13809 tracehead = trace.prev;
13810 return;
13811 }
13812 void compiling_methods___AReturnExpr___compile_stmt(val_t self, val_t param0) {
13813 struct trace_t trace = {NULL, NULL, 1019, LOCATE_compiling_methods___AReturnExpr___compile_stmt};
13814 static val_t once_value_827 = NIT_NULL; /* Once value for string variable[4]*/
13815 static val_t once_value_828 = NIT_NULL; /* Once value for string variable[4]*/
13816 static val_t once_value_829 = NIT_NULL; /* Once value for string variable[4]*/
13817 static val_t once_value_830 = NIT_NULL; /* Once value for string variable[4]*/
13818 val_t variable[5];
13819 struct WBT_ **closurevariable = NULL;
13820 trace.prev = tracehead; tracehead = &trace;
13821 trace.file = LOCATE_compiling_methods;
13822 /* Register variable[0]: Local variable */
13823 variable[0] = self;
13824 /* Register variable[1]: Local variable */
13825 variable[1] = param0;
13826 /* Register variable[2]: Method return value and escape marker */
13827 /* Register variable[3]: Result */
13828 variable[3] = CALL_parser_nodes___AReturnExpr___n_expr(variable[0])(variable[0]) /*AReturnExpr::n_expr*/;
13829 /* Register variable[3]: Result */
13830 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::==*/)))))));
13831 if (UNTAG_Bool(variable[3])) { /*if*/
13832 /* Register variable[3]: Local variable */
13833 /* Register variable[4]: Result */
13834 variable[4] = CALL_parser_nodes___AReturnExpr___n_expr(variable[0])(variable[0]) /*AReturnExpr::n_expr*/;
13835 /* Register variable[4]: Result */
13836 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
13837 variable[3] = variable[4];
13838 /* Register variable[4]: Result */
13839 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13840 /* Register variable[4]: Result */
13841 variable[4] = CALL_compiling_methods___NitMethodContext___return_value(variable[4])(variable[4]) /*NitMethodContext::return_value*/;
13842 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
13843 }
13844 /* Register variable[3]: Result */
13845 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
13846 /* Register variable[3]: Result */
13847 variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[3])(variable[3]) /*CFunctionContext::closure*/;
13848 /* Register variable[4]: Result */
13849 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13850 /* Register variable[3]: Result */
13851 variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], variable[4]) /*Object::==*/)))));
13852 if (UNTAG_Bool(variable[3])) { /*if*/
13853 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13854 /* Register variable[4]: Once String constant */
13855 if (once_value_827 != NIT_NULL) variable[4] = once_value_827;
13856 else {
13857 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)) /*new String*/;
13858 once_value_827 = variable[4];
13859 }
13860 /* Register variable[4]: Result */
13861 /* Ensure var variable[4]: super-string element*/
13862 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13863 /* Register variable[4]: Result */
13864 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13865 /* Register variable[4]: Result */
13866 variable[4] = CALL_compiling_methods___NitMethodContext___return_value(variable[4])(variable[4]) /*NitMethodContext::return_value*/;
13867 /* Ensure var variable[4]: super-string element*/
13868 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13869 /* Register variable[4]: Once String constant */
13870 if (once_value_828 != NIT_NULL) variable[4] = once_value_828;
13871 else {
13872 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
13873 once_value_828 = variable[4];
13874 }
13875 /* Register variable[4]: Result */
13876 /* Ensure var variable[4]: super-string element*/
13877 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13878 /* Register variable[3]: Result */
13879 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
13880 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
13881 }
13882 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13883 /* Register variable[4]: Once String constant */
13884 if (once_value_829 != NIT_NULL) variable[4] = once_value_829;
13885 else {
13886 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
13887 once_value_829 = variable[4];
13888 }
13889 /* Register variable[4]: Result */
13890 /* Ensure var variable[4]: super-string element*/
13891 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13892 /* Register variable[4]: Result */
13893 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13894 /* Register variable[4]: Result */
13895 variable[4] = CALL_compiling_methods___NitMethodContext___return_label(variable[4])(variable[4]) /*NitMethodContext::return_label*/;
13896 /* Ensure var variable[4]: super-string element*/
13897 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13898 /* Register variable[4]: Once String constant */
13899 if (once_value_830 != NIT_NULL) variable[4] = once_value_830;
13900 else {
13901 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
13902 once_value_830 = variable[4];
13903 }
13904 /* Register variable[4]: Result */
13905 /* Ensure var variable[4]: super-string element*/
13906 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13907 /* Register variable[3]: Result */
13908 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
13909 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
13910 return_label826: while(false);
13911 tracehead = trace.prev;
13912 return;
13913 }
13914 void compiling_methods___ABreakExpr___compile_stmt(val_t self, val_t param0) {
13915 struct trace_t trace = {NULL, NULL, 1031, LOCATE_compiling_methods___ABreakExpr___compile_stmt};
13916 static val_t once_value_832 = NIT_NULL; /* Once value for string variable[4]*/
13917 static val_t once_value_833 = NIT_NULL; /* Once value for string variable[4]*/
13918 static val_t once_value_834 = NIT_NULL; /* Once value for string variable[4]*/
13919 static val_t once_value_835 = NIT_NULL; /* Once value for string variable[4]*/
13920 val_t variable[5];
13921 struct WBT_ **closurevariable = NULL;
13922 trace.prev = tracehead; tracehead = &trace;
13923 trace.file = LOCATE_compiling_methods;
13924 /* Register variable[0]: Local variable */
13925 variable[0] = self;
13926 /* Register variable[1]: Local variable */
13927 variable[1] = param0;
13928 /* Register variable[2]: Method return value and escape marker */
13929 /* Register variable[3]: Result */
13930 variable[3] = CALL_parser_nodes___ABreakExpr___n_expr(variable[0])(variable[0]) /*ABreakExpr::n_expr*/;
13931 /* Register variable[3]: Result */
13932 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::==*/)))))));
13933 if (UNTAG_Bool(variable[3])) { /*if*/
13934 /* Register variable[3]: Local variable */
13935 /* Register variable[4]: Result */
13936 variable[4] = CALL_parser_nodes___ABreakExpr___n_expr(variable[0])(variable[0]) /*ABreakExpr::n_expr*/;
13937 /* Register variable[4]: Result */
13938 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
13939 variable[3] = variable[4];
13940 /* Register variable[4]: Result */
13941 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13942 /* Register variable[4]: Result */
13943 variable[4] = CALL_compiling_methods___NitMethodContext___break_value(variable[4])(variable[4]) /*NitMethodContext::break_value*/;
13944 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
13945 }
13946 /* Register variable[3]: Result */
13947 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
13948 /* Register variable[3]: Result */
13949 variable[3] = CALL_compiling_methods___CFunctionContext___closure(variable[3])(variable[3]) /*CFunctionContext::closure*/;
13950 /* Register variable[4]: Result */
13951 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13952 /* Register variable[3]: Result */
13953 variable[3] = TAG_Bool((variable[3] == variable[4]) || ((variable[3] != NIT_NULL) && ((CALL_kernel___Object_____eqeq(variable[3])==kernel___Object_____eqeq)?(IS_EQUAL_NN(variable[3],variable[4])):(UNTAG_Bool(CALL_kernel___Object_____eqeq(variable[3])(variable[3], variable[4]) /*Object::==*/)))));
13954 if (UNTAG_Bool(variable[3])) { /*if*/
13955 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13956 /* Register variable[4]: Once String constant */
13957 if (once_value_832 != NIT_NULL) variable[4] = once_value_832;
13958 else {
13959 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("closctx->has_broke = &("), TAG_Int(23)) /*new String*/;
13960 once_value_832 = variable[4];
13961 }
13962 /* Register variable[4]: Result */
13963 /* Ensure var variable[4]: super-string element*/
13964 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13965 /* Register variable[4]: Result */
13966 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13967 /* Register variable[4]: Result */
13968 variable[4] = CALL_compiling_methods___NitMethodContext___break_value(variable[4])(variable[4]) /*NitMethodContext::break_value*/;
13969 /* Ensure var variable[4]: super-string element*/
13970 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13971 /* Register variable[4]: Once String constant */
13972 if (once_value_833 != NIT_NULL) variable[4] = once_value_833;
13973 else {
13974 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("); closctx->broke_value = *closctx->has_broke;"), TAG_Int(46)) /*new String*/;
13975 once_value_833 = variable[4];
13976 }
13977 /* Register variable[4]: Result */
13978 /* Ensure var variable[4]: super-string element*/
13979 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13980 /* Register variable[3]: Result */
13981 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
13982 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
13983 }
13984 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
13985 /* Register variable[4]: Once String constant */
13986 if (once_value_834 != NIT_NULL) variable[4] = once_value_834;
13987 else {
13988 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
13989 once_value_834 = variable[4];
13990 }
13991 /* Register variable[4]: Result */
13992 /* Ensure var variable[4]: super-string element*/
13993 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
13994 /* Register variable[4]: Result */
13995 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
13996 /* Register variable[4]: Result */
13997 variable[4] = CALL_compiling_methods___NitMethodContext___break_label(variable[4])(variable[4]) /*NitMethodContext::break_label*/;
13998 /* Ensure var variable[4]: super-string element*/
13999 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14000 /* Register variable[4]: Once String constant */
14001 if (once_value_835 != NIT_NULL) variable[4] = once_value_835;
14002 else {
14003 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
14004 once_value_835 = variable[4];
14005 }
14006 /* Register variable[4]: Result */
14007 /* Ensure var variable[4]: super-string element*/
14008 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14009 /* Register variable[3]: Result */
14010 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
14011 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
14012 return_label831: while(false);
14013 tracehead = trace.prev;
14014 return;
14015 }
14016 void compiling_methods___AContinueExpr___compile_stmt(val_t self, val_t param0) {
14017 struct trace_t trace = {NULL, NULL, 1043, LOCATE_compiling_methods___AContinueExpr___compile_stmt};
14018 static val_t once_value_837 = NIT_NULL; /* Once value for string variable[4]*/
14019 static val_t once_value_838 = NIT_NULL; /* Once value for string variable[4]*/
14020 val_t variable[5];
14021 struct WBT_ **closurevariable = NULL;
14022 trace.prev = tracehead; tracehead = &trace;
14023 trace.file = LOCATE_compiling_methods;
14024 /* Register variable[0]: Local variable */
14025 variable[0] = self;
14026 /* Register variable[1]: Local variable */
14027 variable[1] = param0;
14028 /* Register variable[2]: Method return value and escape marker */
14029 /* Register variable[3]: Result */
14030 variable[3] = CALL_parser_nodes___AContinueExpr___n_expr(variable[0])(variable[0]) /*AContinueExpr::n_expr*/;
14031 /* Register variable[3]: Result */
14032 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::==*/)))))));
14033 if (UNTAG_Bool(variable[3])) { /*if*/
14034 /* Register variable[3]: Local variable */
14035 /* Register variable[4]: Result */
14036 variable[4] = CALL_parser_nodes___AContinueExpr___n_expr(variable[0])(variable[0]) /*AContinueExpr::n_expr*/;
14037 /* Register variable[4]: Result */
14038 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14039 variable[3] = variable[4];
14040 /* Register variable[4]: Result */
14041 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14042 /* Register variable[4]: Result */
14043 variable[4] = CALL_compiling_methods___NitMethodContext___continue_value(variable[4])(variable[4]) /*NitMethodContext::continue_value*/;
14044 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[3] /*e*/) /*CompilerVisitor::add_assignment*/;
14045 }
14046 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14047 /* Register variable[4]: Once String constant */
14048 if (once_value_837 != NIT_NULL) variable[4] = once_value_837;
14049 else {
14050 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
14051 once_value_837 = variable[4];
14052 }
14053 /* Register variable[4]: Result */
14054 /* Ensure var variable[4]: super-string element*/
14055 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14056 /* Register variable[4]: Result */
14057 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14058 /* Register variable[4]: Result */
14059 variable[4] = CALL_compiling_methods___NitMethodContext___continue_label(variable[4])(variable[4]) /*NitMethodContext::continue_label*/;
14060 /* Ensure var variable[4]: super-string element*/
14061 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14062 /* Register variable[4]: Once String constant */
14063 if (once_value_838 != NIT_NULL) variable[4] = once_value_838;
14064 else {
14065 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
14066 once_value_838 = variable[4];
14067 }
14068 /* Register variable[4]: Result */
14069 /* Ensure var variable[4]: super-string element*/
14070 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14071 /* Register variable[3]: Result */
14072 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
14073 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
14074 return_label836: while(false);
14075 tracehead = trace.prev;
14076 return;
14077 }
14078 void compiling_methods___AAbortExpr___compile_stmt(val_t self, val_t param0) {
14079 struct trace_t trace = {NULL, NULL, 1054, LOCATE_compiling_methods___AAbortExpr___compile_stmt};
14080 static val_t once_value_840 = NIT_NULL; /* Once value for string variable[4]*/
14081 static val_t once_value_841 = NIT_NULL; /* Once value for string variable[4]*/
14082 val_t variable[5];
14083 struct WBT_ **closurevariable = NULL;
14084 trace.prev = tracehead; tracehead = &trace;
14085 trace.file = LOCATE_compiling_methods;
14086 /* Register variable[0]: Local variable */
14087 variable[0] = self;
14088 /* Register variable[1]: Local variable */
14089 variable[1] = param0;
14090 /* Register variable[2]: Method return value and escape marker */
14091 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14092 /* Register variable[4]: Once String constant */
14093 if (once_value_840 != NIT_NULL) variable[4] = once_value_840;
14094 else {
14095 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("fprintf(stderr, \"Aborted\"); "), TAG_Int(28)) /*new String*/;
14096 once_value_840 = variable[4];
14097 }
14098 /* Register variable[4]: Result */
14099 /* Ensure var variable[4]: super-string element*/
14100 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14101 /* Register variable[4]: Result */
14102 variable[4] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
14103 /* Ensure var variable[4]: super-string element*/
14104 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14105 /* Register variable[4]: Once String constant */
14106 if (once_value_841 != NIT_NULL) variable[4] = once_value_841;
14107 else {
14108 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);"), TAG_Int(13)) /*new String*/;
14109 once_value_841 = variable[4];
14110 }
14111 /* Register variable[4]: Result */
14112 /* Ensure var variable[4]: super-string element*/
14113 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14114 /* Register variable[3]: Result */
14115 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
14116 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
14117 return_label839: while(false);
14118 tracehead = trace.prev;
14119 return;
14120 }
14121 void compiling_methods___ADoExpr___compile_stmt(val_t self, val_t param0) {
14122 struct trace_t trace = {NULL, NULL, 1061, LOCATE_compiling_methods___ADoExpr___compile_stmt};
14123 val_t variable[4];
14124 struct WBT_ **closurevariable = NULL;
14125 trace.prev = tracehead; tracehead = &trace;
14126 trace.file = LOCATE_compiling_methods;
14127 /* Register variable[0]: Local variable */
14128 variable[0] = self;
14129 /* Register variable[1]: Local variable */
14130 variable[1] = param0;
14131 /* Register variable[2]: Method return value and escape marker */
14132 /* Register variable[3]: Result */
14133 variable[3] = CALL_parser_nodes___ADoExpr___n_block(variable[0])(variable[0]) /*ADoExpr::n_block*/;
14134 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_stmt*/;
14135 return_label842: while(false);
14136 tracehead = trace.prev;
14137 return;
14138 }
14139 void compiling_methods___AIfExpr___compile_stmt(val_t self, val_t param0) {
14140 struct trace_t trace = {NULL, NULL, 1068, LOCATE_compiling_methods___AIfExpr___compile_stmt};
14141 static val_t once_value_844 = NIT_NULL; /* Once value for string variable[5]*/
14142 static val_t once_value_845 = NIT_NULL; /* Once value for string variable[5]*/
14143 static val_t once_value_846 = NIT_NULL; /* Once value for string variable[4]*/
14144 static val_t once_value_847 = NIT_NULL; /* Once value for string variable[4]*/
14145 val_t variable[6];
14146 struct WBT_ **closurevariable = NULL;
14147 trace.prev = tracehead; tracehead = &trace;
14148 trace.file = LOCATE_compiling_methods;
14149 /* Register variable[0]: Local variable */
14150 variable[0] = self;
14151 /* Register variable[1]: Local variable */
14152 variable[1] = param0;
14153 /* Register variable[2]: Method return value and escape marker */
14154 /* Register variable[3]: Local variable */
14155 /* Register variable[4]: Result */
14156 variable[4] = CALL_parser_nodes___AIfExpr___n_expr(variable[0])(variable[0]) /*AIfExpr::n_expr*/;
14157 /* Register variable[4]: Result */
14158 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14159 variable[3] = variable[4];
14160 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14161 /* Register variable[5]: Once String constant */
14162 if (once_value_844 != NIT_NULL) variable[5] = once_value_844;
14163 else {
14164 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
14165 once_value_844 = variable[5];
14166 }
14167 /* Register variable[5]: Result */
14168 /* Ensure var variable[5]: super-string element*/
14169 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14170 variable[5] = variable[3] /*e*/ /* Ensure var: super-string element*/;
14171 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14172 /* Register variable[5]: Once String constant */
14173 if (once_value_845 != NIT_NULL) variable[5] = once_value_845;
14174 else {
14175 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)) /*new String*/;
14176 once_value_845 = variable[5];
14177 }
14178 /* Register variable[5]: Result */
14179 /* Ensure var variable[5]: super-string element*/
14180 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14181 /* Register variable[4]: Result */
14182 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
14183 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14184 /* Register variable[4]: Result */
14185 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14186 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
14187 /* Register variable[4]: Result */
14188 variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[0])(variable[0]) /*AIfExpr::n_then*/;
14189 /* Register variable[4]: Result */
14190 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::==*/)))))));
14191 if (UNTAG_Bool(variable[4])) { /*if*/
14192 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14193 /* Register variable[4]: Result */
14194 variable[4] = CALL_parser_nodes___AIfExpr___n_then(variable[0])(variable[0]) /*AIfExpr::n_then*/;
14195 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
14196 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14197 }
14198 /* Register variable[4]: Result */
14199 variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[0])(variable[0]) /*AIfExpr::n_else*/;
14200 /* Register variable[4]: Result */
14201 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::==*/)))))));
14202 if (UNTAG_Bool(variable[4])) { /*if*/
14203 /* Register variable[4]: Once String constant */
14204 if (once_value_846 != NIT_NULL) variable[4] = once_value_846;
14205 else {
14206 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)) /*new String*/;
14207 once_value_846 = variable[4];
14208 }
14209 /* Register variable[4]: Result */
14210 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14211 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14212 /* Register variable[4]: Result */
14213 variable[4] = CALL_parser_nodes___AIfExpr___n_else(variable[0])(variable[0]) /*AIfExpr::n_else*/;
14214 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
14215 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14216 }
14217 /* Register variable[4]: Once String constant */
14218 if (once_value_847 != NIT_NULL) variable[4] = once_value_847;
14219 else {
14220 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
14221 once_value_847 = variable[4];
14222 }
14223 /* Register variable[4]: Result */
14224 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14225 return_label843: while(false);
14226 tracehead = trace.prev;
14227 return;
14228 }
14229 val_t compiling_methods___AIfexprExpr___compile_expr(val_t self, val_t param0) {
14230 struct trace_t trace = {NULL, NULL, 1089, LOCATE_compiling_methods___AIfexprExpr___compile_expr};
14231 static val_t once_value_849 = NIT_NULL; /* Once value for string variable[5]*/
14232 static val_t once_value_850 = NIT_NULL; /* Once value for string variable[5]*/
14233 static val_t once_value_851 = NIT_NULL; /* Once value for string variable[6]*/
14234 static val_t once_value_852 = NIT_NULL; /* Once value for string variable[5]*/
14235 static val_t once_value_853 = NIT_NULL; /* Once value for string variable[7]*/
14236 static val_t once_value_854 = NIT_NULL; /* Once value for string variable[6]*/
14237 val_t variable[8];
14238 struct WBT_ **closurevariable = NULL;
14239 trace.prev = tracehead; tracehead = &trace;
14240 trace.file = LOCATE_compiling_methods;
14241 /* Register variable[0]: Local variable */
14242 variable[0] = self;
14243 /* Register variable[1]: Local variable */
14244 variable[1] = param0;
14245 /* Register variable[2]: Method return value and escape marker */
14246 /* Register variable[3]: Local variable */
14247 /* Register variable[4]: Result */
14248 variable[4] = CALL_parser_nodes___AIfexprExpr___n_expr(variable[0])(variable[0]) /*AIfexprExpr::n_expr*/;
14249 /* Register variable[4]: Result */
14250 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14251 variable[3] = variable[4];
14252 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14253 /* Register variable[5]: Once String constant */
14254 if (once_value_849 != NIT_NULL) variable[5] = once_value_849;
14255 else {
14256 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
14257 once_value_849 = variable[5];
14258 }
14259 /* Register variable[5]: Result */
14260 /* Ensure var variable[5]: super-string element*/
14261 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14262 variable[5] = variable[3] /*e*/ /* Ensure var: super-string element*/;
14263 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14264 /* Register variable[5]: Once String constant */
14265 if (once_value_850 != NIT_NULL) variable[5] = once_value_850;
14266 else {
14267 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /*if*/"), TAG_Int(11)) /*new String*/;
14268 once_value_850 = variable[5];
14269 }
14270 /* Register variable[5]: Result */
14271 /* Ensure var variable[5]: super-string element*/
14272 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14273 /* Register variable[4]: Result */
14274 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
14275 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14276 /* Register variable[4]: Result */
14277 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14278 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
14279 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14280 /* Register variable[4]: Local variable */
14281 /* Register variable[5]: Result */
14282 variable[5] = CALL_parser_nodes___AIfexprExpr___n_then(variable[0])(variable[0]) /*AIfexprExpr::n_then*/;
14283 /* Register variable[5]: Result */
14284 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
14285 /* Register variable[6]: Once String constant */
14286 if (once_value_851 != NIT_NULL) variable[6] = once_value_851;
14287 else {
14288 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Then value"), TAG_Int(10)) /*new String*/;
14289 once_value_851 = variable[6];
14290 }
14291 /* Register variable[6]: Result */
14292 /* Register variable[5]: Result */
14293 variable[5] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[5], variable[6]) /*CompilerVisitor::ensure_var*/;
14294 variable[4] = variable[5];
14295 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14296 /* Register variable[5]: Once String constant */
14297 if (once_value_852 != NIT_NULL) variable[5] = once_value_852;
14298 else {
14299 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("} else { /*if*/"), TAG_Int(15)) /*new String*/;
14300 once_value_852 = variable[5];
14301 }
14302 /* Register variable[5]: Result */
14303 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
14304 /* Register variable[5]: Result */
14305 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14306 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[4] /*e*/) /*CFunctionContext::free_var*/;
14307 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14308 /* Register variable[5]: Local variable */
14309 /* Register variable[6]: Result */
14310 variable[6] = CALL_parser_nodes___AIfexprExpr___n_else(variable[0])(variable[0]) /*AIfexprExpr::n_else*/;
14311 /* Register variable[6]: Result */
14312 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
14313 /* Register variable[7]: Once String constant */
14314 if (once_value_853 != NIT_NULL) variable[7] = once_value_853;
14315 else {
14316 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("Else value"), TAG_Int(10)) /*new String*/;
14317 once_value_853 = variable[7];
14318 }
14319 /* Register variable[7]: Result */
14320 /* Register variable[6]: Result */
14321 variable[6] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[6], variable[7]) /*CompilerVisitor::ensure_var*/;
14322 variable[5] = variable[6];
14323 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*e*/, variable[5] /*e2*/) /*CompilerVisitor::add_assignment*/;
14324 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14325 /* Register variable[6]: Once String constant */
14326 if (once_value_854 != NIT_NULL) variable[6] = once_value_854;
14327 else {
14328 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
14329 once_value_854 = variable[6];
14330 }
14331 /* Register variable[6]: Result */
14332 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
14333 variable[2] = variable[4] /*e*/;
14334 goto return_label848;
14335 return_label848: while(false);
14336 tracehead = trace.prev;
14337 return variable[2];
14338 }
14339 void compiling_methods___AControlableBlock___compile_stmt(val_t self, val_t param0) {
14340 struct trace_t trace = {NULL, NULL, 1111, LOCATE_compiling_methods___AControlableBlock___compile_stmt};
14341 static val_t once_value_856 = NIT_NULL; /* Once value for string variable[8]*/
14342 static val_t once_value_857 = NIT_NULL; /* Once value for string variable[8]*/
14343 static val_t once_value_858 = NIT_NULL; /* Once value for string variable[8]*/
14344 static val_t once_value_859 = NIT_NULL; /* Once value for string variable[8]*/
14345 val_t variable[9];
14346 struct WBT_ **closurevariable = NULL;
14347 trace.prev = tracehead; tracehead = &trace;
14348 trace.file = LOCATE_compiling_methods;
14349 /* Register variable[0]: Local variable */
14350 variable[0] = self;
14351 /* Register variable[1]: Local variable */
14352 variable[1] = param0;
14353 /* Register variable[2]: Method return value and escape marker */
14354 /* Register variable[3]: Local variable */
14355 /* Register variable[4]: Result */
14356 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14357 /* Register variable[4]: Result */
14358 variable[4] = CALL_compiling_methods___NitMethodContext___break_label(variable[4])(variable[4]) /*NitMethodContext::break_label*/;
14359 variable[3] = variable[4];
14360 /* Register variable[4]: Local variable */
14361 /* Register variable[5]: Result */
14362 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14363 /* Register variable[5]: Result */
14364 variable[5] = CALL_compiling_methods___NitMethodContext___continue_label(variable[5])(variable[5]) /*NitMethodContext::continue_label*/;
14365 variable[4] = variable[5];
14366 /* Register variable[5]: Local variable */
14367 /* Register variable[6]: Result */
14368 variable[6] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
14369 variable[5] = variable[6];
14370 /* Register variable[6]: Result */
14371 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14372 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14373 /* Register variable[8]: Once String constant */
14374 if (once_value_856 != NIT_NULL) variable[8] = once_value_856;
14375 else {
14376 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("break_"), TAG_Int(6)) /*new String*/;
14377 once_value_856 = variable[8];
14378 }
14379 /* Register variable[8]: Result */
14380 /* Ensure var variable[8]: super-string element*/
14381 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14382 variable[8] = variable[5] /*id*/ /* Ensure var: super-string element*/;
14383 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
14384 /* Register variable[8]: Once String constant */
14385 if (once_value_857 != NIT_NULL) variable[8] = once_value_857;
14386 else {
14387 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14388 once_value_857 = variable[8];
14389 }
14390 /* Register variable[8]: Result */
14391 /* Ensure var variable[8]: super-string element*/
14392 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14393 /* Register variable[7]: Result */
14394 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
14395 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::break_label=*/;
14396 /* Register variable[6]: Result */
14397 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14398 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14399 /* Register variable[8]: Once String constant */
14400 if (once_value_858 != NIT_NULL) variable[8] = once_value_858;
14401 else {
14402 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("continue_"), TAG_Int(9)) /*new String*/;
14403 once_value_858 = variable[8];
14404 }
14405 /* Register variable[8]: Result */
14406 /* Ensure var variable[8]: super-string element*/
14407 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14408 variable[8] = variable[5] /*id*/ /* Ensure var: super-string element*/;
14409 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
14410 /* Register variable[8]: Once String constant */
14411 if (once_value_859 != NIT_NULL) variable[8] = once_value_859;
14412 else {
14413 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14414 once_value_859 = variable[8];
14415 }
14416 /* Register variable[8]: Result */
14417 /* Ensure var variable[8]: super-string element*/
14418 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14419 /* Register variable[7]: Result */
14420 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
14421 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6], variable[7]) /*NitMethodContext::continue_label=*/;
14422 CALL_compiling_methods___AControlableBlock___compile_inside_block(variable[0])(variable[0], variable[1] /*v*/) /*AControlableBlock::compile_inside_block*/;
14423 /* Register variable[6]: Result */
14424 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14425 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[6])(variable[6], variable[3] /*old_break_label*/) /*NitMethodContext::break_label=*/;
14426 /* Register variable[6]: Result */
14427 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14428 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[6])(variable[6], variable[4] /*old_continue_label*/) /*NitMethodContext::continue_label=*/;
14429 return_label855: while(false);
14430 tracehead = trace.prev;
14431 return;
14432 }
14433 void compiling_methods___AControlableBlock___compile_inside_block(val_t self, val_t param0) {
14434 struct trace_t trace = {NULL, NULL, 1110, LOCATE_compiling_methods___AControlableBlock___compile_inside_block};
14435 val_t *variable = NULL;
14436 struct WBT_ **closurevariable = NULL;
14437 trace.prev = tracehead; tracehead = &trace;
14438 trace.file = LOCATE_compiling_methods;
14439 fprintf(stderr, "Deferred method called");
14440 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1110);
14441 nit_exit(1);
14442 tracehead = trace.prev;
14443 return;
14444 }
14445 void compiling_methods___AWhileExpr___compile_inside_block(val_t self, val_t param0) {
14446 struct trace_t trace = {NULL, NULL, 1129, LOCATE_compiling_methods___AWhileExpr___compile_inside_block};
14447 static val_t once_value_861 = NIT_NULL; /* Once value for string variable[3]*/
14448 static val_t once_value_862 = NIT_NULL; /* Once value for string variable[5]*/
14449 static val_t once_value_863 = NIT_NULL; /* Once value for string variable[5]*/
14450 static val_t once_value_864 = NIT_NULL; /* Once value for string variable[5]*/
14451 static val_t once_value_865 = NIT_NULL; /* Once value for string variable[5]*/
14452 static val_t once_value_866 = NIT_NULL; /* Once value for string variable[4]*/
14453 static val_t once_value_867 = NIT_NULL; /* Once value for string variable[5]*/
14454 static val_t once_value_868 = NIT_NULL; /* Once value for string variable[5]*/
14455 val_t variable[6];
14456 struct WBT_ **closurevariable = NULL;
14457 trace.prev = tracehead; tracehead = &trace;
14458 trace.file = LOCATE_compiling_methods;
14459 /* Register variable[0]: Local variable */
14460 variable[0] = self;
14461 /* Register variable[1]: Local variable */
14462 variable[1] = param0;
14463 /* Register variable[2]: Method return value and escape marker */
14464 /* Register variable[3]: Once String constant */
14465 if (once_value_861 != NIT_NULL) variable[3] = once_value_861;
14466 else {
14467 variable[3] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*while*/"), TAG_Int(24)) /*new String*/;
14468 once_value_861 = variable[3];
14469 }
14470 /* Register variable[3]: Result */
14471 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::add_instr*/;
14472 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14473 /* Register variable[3]: Local variable */
14474 /* Register variable[4]: Result */
14475 variable[4] = CALL_parser_nodes___AWhileExpr___n_expr(variable[0])(variable[0]) /*AWhileExpr::n_expr*/;
14476 /* Register variable[4]: Result */
14477 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14478 variable[3] = variable[4];
14479 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14480 /* Register variable[5]: Once String constant */
14481 if (once_value_862 != NIT_NULL) variable[5] = once_value_862;
14482 else {
14483 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
14484 once_value_862 = variable[5];
14485 }
14486 /* Register variable[5]: Result */
14487 /* Ensure var variable[5]: super-string element*/
14488 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14489 variable[5] = variable[3] /*e*/ /* Ensure var: super-string element*/;
14490 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14491 /* Register variable[5]: Once String constant */
14492 if (once_value_863 != NIT_NULL) variable[5] = once_value_863;
14493 else {
14494 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /* while*/"), TAG_Int(20)) /*new String*/;
14495 once_value_863 = variable[5];
14496 }
14497 /* Register variable[5]: Result */
14498 /* Ensure var variable[5]: super-string element*/
14499 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14500 /* Register variable[4]: Result */
14501 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
14502 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14503 /* Register variable[4]: Result */
14504 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14505 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
14506 /* Register variable[4]: Result */
14507 variable[4] = CALL_parser_nodes___AWhileExpr___n_block(variable[0])(variable[0]) /*AWhileExpr::n_block*/;
14508 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_stmt*/;
14509 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14510 /* Register variable[5]: Once String constant */
14511 if (once_value_864 != NIT_NULL) variable[5] = once_value_864;
14512 else {
14513 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14514 once_value_864 = variable[5];
14515 }
14516 /* Register variable[5]: Result */
14517 /* Ensure var variable[5]: super-string element*/
14518 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14519 /* Register variable[5]: Result */
14520 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14521 /* Register variable[5]: Result */
14522 variable[5] = CALL_compiling_methods___NitMethodContext___continue_label(variable[5])(variable[5]) /*NitMethodContext::continue_label*/;
14523 /* Ensure var variable[5]: super-string element*/
14524 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14525 /* Register variable[5]: Once String constant */
14526 if (once_value_865 != NIT_NULL) variable[5] = once_value_865;
14527 else {
14528 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
14529 once_value_865 = variable[5];
14530 }
14531 /* Register variable[5]: Result */
14532 /* Ensure var variable[5]: super-string element*/
14533 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14534 /* Register variable[4]: Result */
14535 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
14536 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14537 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14538 /* Register variable[4]: Once String constant */
14539 if (once_value_866 != NIT_NULL) variable[4] = once_value_866;
14540 else {
14541 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
14542 once_value_866 = variable[4];
14543 }
14544 /* Register variable[4]: Result */
14545 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14546 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14547 /* Register variable[5]: Once String constant */
14548 if (once_value_867 != NIT_NULL) variable[5] = once_value_867;
14549 else {
14550 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14551 once_value_867 = variable[5];
14552 }
14553 /* Register variable[5]: Result */
14554 /* Ensure var variable[5]: super-string element*/
14555 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14556 /* Register variable[5]: Result */
14557 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14558 /* Register variable[5]: Result */
14559 variable[5] = CALL_compiling_methods___NitMethodContext___break_label(variable[5])(variable[5]) /*NitMethodContext::break_label*/;
14560 /* Ensure var variable[5]: super-string element*/
14561 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14562 /* Register variable[5]: Once String constant */
14563 if (once_value_868 != NIT_NULL) variable[5] = once_value_868;
14564 else {
14565 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
14566 once_value_868 = variable[5];
14567 }
14568 /* Register variable[5]: Result */
14569 /* Ensure var variable[5]: super-string element*/
14570 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
14571 /* Register variable[4]: Result */
14572 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
14573 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
14574 return_label860: while(false);
14575 tracehead = trace.prev;
14576 return;
14577 }
14578 void compiling_methods___AForExpr___compile_inside_block(val_t self, val_t param0) {
14579 struct trace_t trace = {NULL, NULL, 1146, LOCATE_compiling_methods___AForExpr___compile_inside_block};
14580 static val_t once_value_870 = NIT_NULL; /* Once value for string variable[7]*/
14581 static val_t once_value_871 = NIT_NULL; /* Once value for string variable[6]*/
14582 static val_t once_value_872 = NIT_NULL; /* Once value for string variable[8]*/
14583 static val_t once_value_873 = NIT_NULL; /* Once value for string variable[8]*/
14584 static val_t once_value_874 = NIT_NULL; /* Once value for string variable[8]*/
14585 static val_t once_value_875 = NIT_NULL; /* Once value for string variable[8]*/
14586 static val_t once_value_876 = NIT_NULL; /* Once value for string variable[10]*/
14587 static val_t once_value_877 = NIT_NULL; /* Once value for string variable[10]*/
14588 static val_t once_value_878 = NIT_NULL; /* Once value for string variable[9]*/
14589 static val_t once_value_879 = NIT_NULL; /* Once value for string variable[10]*/
14590 static val_t once_value_880 = NIT_NULL; /* Once value for string variable[10]*/
14591 val_t variable[11];
14592 struct WBT_ **closurevariable = NULL;
14593 trace.prev = tracehead; tracehead = &trace;
14594 trace.file = LOCATE_compiling_methods;
14595 /* Register variable[0]: Local variable */
14596 variable[0] = self;
14597 /* Register variable[1]: Local variable */
14598 variable[1] = param0;
14599 /* Register variable[2]: Method return value and escape marker */
14600 /* Register variable[3]: Local variable */
14601 /* Register variable[4]: Result */
14602 variable[4] = CALL_parser_nodes___AForExpr___n_expr(variable[0])(variable[0]) /*AForExpr::n_expr*/;
14603 /* Register variable[4]: Result */
14604 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14605 variable[3] = variable[4];
14606 /* Register variable[4]: Local variable */
14607 /* Register variable[5]: Result */
14608 variable[5] = CALL_typing___AForExpr___meth_iterator(variable[0])(variable[0]) /*AForExpr::meth_iterator*/;
14609 /* Register variable[5]: Result */
14610 variable[5] = CALL_static_type___MMLocalProperty___signature(variable[5])(variable[5]) /*MMLocalProperty::signature*/;
14611 /* Register variable[5]: Result */
14612 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
14613 variable[4] = variable[5];
14614 /* Register variable[5]: Result */
14615 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14616 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[3] /*e*/) /*CFunctionContext::free_var*/;
14617 /* Register variable[5]: Local variable */
14618 /* Register variable[6]: Result */
14619 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14620 /* Register variable[7]: Once String constant */
14621 if (once_value_870 != NIT_NULL) variable[7] = once_value_870;
14622 else {
14623 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("For iterator"), TAG_Int(12)) /*new String*/;
14624 once_value_870 = variable[7];
14625 }
14626 /* Register variable[7]: Result */
14627 /* Register variable[6]: Result */
14628 variable[6] = CALL_compiling_methods___CFunctionContext___get_var(variable[6])(variable[6], variable[7]) /*CFunctionContext::get_var*/;
14629 variable[5] = variable[6];
14630 /* Register variable[6]: Result */
14631 variable[6] = CALL_typing___AForExpr___meth_iterator(variable[0])(variable[0]) /*AForExpr::meth_iterator*/;
14632 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
14633 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e*/) /*AbstractArray::add*/;
14634 /* Register variable[7]: Result */
14635 /* Register variable[6]: Result */
14636 variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6], variable[1] /*v*/, variable[7]) /*MMMethod::compile_expr_call*/;
14637 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[5] /*iter*/, variable[6]) /*CompilerVisitor::add_assignment*/;
14638 /* Register variable[6]: Once String constant */
14639 if (once_value_871 != NIT_NULL) variable[6] = once_value_871;
14640 else {
14641 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("while (true) { /*for*/"), TAG_Int(22)) /*new String*/;
14642 once_value_871 = variable[6];
14643 }
14644 /* Register variable[6]: Result */
14645 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
14646 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
14647 /* Register variable[6]: Local variable */
14648 /* Register variable[7]: Result */
14649 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14650 /* Register variable[8]: Once String constant */
14651 if (once_value_872 != NIT_NULL) variable[8] = once_value_872;
14652 else {
14653 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("For 'is_ok' result"), TAG_Int(18)) /*new String*/;
14654 once_value_872 = variable[8];
14655 }
14656 /* Register variable[8]: Result */
14657 /* Register variable[7]: Result */
14658 variable[7] = CALL_compiling_methods___CFunctionContext___get_var(variable[7])(variable[7], variable[8]) /*CFunctionContext::get_var*/;
14659 variable[6] = variable[7];
14660 /* Register variable[7]: Result */
14661 variable[7] = CALL_typing___AForExpr___meth_is_ok(variable[0])(variable[0]) /*AForExpr::meth_is_ok*/;
14662 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
14663 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[5] /*iter*/) /*AbstractArray::add*/;
14664 /* Register variable[8]: Result */
14665 /* Register variable[7]: Result */
14666 variable[7] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[7])(variable[7], variable[1] /*v*/, variable[8]) /*MMMethod::compile_expr_call*/;
14667 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ok*/, variable[7]) /*CompilerVisitor::add_assignment*/;
14668 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14669 /* Register variable[8]: Once String constant */
14670 if (once_value_873 != NIT_NULL) variable[8] = once_value_873;
14671 else {
14672 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
14673 once_value_873 = variable[8];
14674 }
14675 /* Register variable[8]: Result */
14676 /* Ensure var variable[8]: super-string element*/
14677 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14678 variable[8] = variable[6] /*ok*/ /* Ensure var: super-string element*/;
14679 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14680 /* Register variable[8]: Once String constant */
14681 if (once_value_874 != NIT_NULL) variable[8] = once_value_874;
14682 else {
14683 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")) break; /*for*/"), TAG_Int(17)) /*new String*/;
14684 once_value_874 = variable[8];
14685 }
14686 /* Register variable[8]: Result */
14687 /* Ensure var variable[8]: super-string element*/
14688 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
14689 /* Register variable[7]: Result */
14690 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
14691 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
14692 /* Register variable[7]: Result */
14693 variable[7] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14694 CALL_compiling_methods___CFunctionContext___free_var(variable[7])(variable[7], variable[6] /*ok*/) /*CFunctionContext::free_var*/;
14695 /* Register variable[7]: Local variable */
14696 /* Register variable[8]: Result */
14697 variable[8] = CALL_typing___AForExpr___meth_item(variable[0])(variable[0]) /*AForExpr::meth_item*/;
14698 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
14699 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[5] /*iter*/) /*AbstractArray::add*/;
14700 /* Register variable[9]: Result */
14701 /* Register variable[8]: Result */
14702 variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
14703 variable[7] = variable[8];
14704 /* Register variable[8]: Once String constant */
14705 if (once_value_875 != NIT_NULL) variable[8] = once_value_875;
14706 else {
14707 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("For item"), TAG_Int(8)) /*new String*/;
14708 once_value_875 = variable[8];
14709 }
14710 /* Register variable[8]: Result */
14711 /* Register variable[8]: Result */
14712 variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*e*/, variable[8]) /*CompilerVisitor::ensure_var*/;
14713 variable[7] = variable[8] /*e=*/;
14714 /* Register variable[8]: Local variable */
14715 /* Register variable[9]: Result */
14716 variable[9] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14717 /* Register variable[10]: Result */
14718 variable[10] = CALL_syntax_base___AForExpr___variable(variable[0])(variable[0]) /*AForExpr::variable*/;
14719 /* Register variable[9]: Result */
14720 variable[9] = CALL_compiling_methods___CFunctionContext___register_variable(variable[9])(variable[9], variable[10]) /*CFunctionContext::register_variable*/;
14721 variable[8] = variable[9];
14722 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[8] /*cname*/, variable[7] /*e*/) /*CompilerVisitor::add_assignment*/;
14723 /* Register variable[9]: Result */
14724 variable[9] = CALL_parser_nodes___AForExpr___n_block(variable[0])(variable[0]) /*AForExpr::n_block*/;
14725 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::compile_stmt*/;
14726 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14727 /* Register variable[10]: Once String constant */
14728 if (once_value_876 != NIT_NULL) variable[10] = once_value_876;
14729 else {
14730 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14731 once_value_876 = variable[10];
14732 }
14733 /* Register variable[10]: Result */
14734 /* Ensure var variable[10]: super-string element*/
14735 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14736 /* Register variable[10]: Result */
14737 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14738 /* Register variable[10]: Result */
14739 variable[10] = CALL_compiling_methods___NitMethodContext___continue_label(variable[10])(variable[10]) /*NitMethodContext::continue_label*/;
14740 /* Ensure var variable[10]: super-string element*/
14741 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14742 /* Register variable[10]: Once String constant */
14743 if (once_value_877 != NIT_NULL) variable[10] = once_value_877;
14744 else {
14745 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
14746 once_value_877 = variable[10];
14747 }
14748 /* Register variable[10]: Result */
14749 /* Ensure var variable[10]: super-string element*/
14750 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14751 /* Register variable[9]: Result */
14752 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
14753 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
14754 /* Register variable[9]: Result */
14755 variable[9] = CALL_typing___AForExpr___meth_next(variable[0])(variable[0]) /*AForExpr::meth_next*/;
14756 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
14757 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[5] /*iter*/) /*AbstractArray::add*/;
14758 /* Register variable[10]: Result */
14759 CALL_compiling_methods___MMMethod___compile_stmt_call(variable[9])(variable[9], variable[1] /*v*/, variable[10]) /*MMMethod::compile_stmt_call*/;
14760 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
14761 /* Register variable[9]: Once String constant */
14762 if (once_value_878 != NIT_NULL) variable[9] = once_value_878;
14763 else {
14764 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
14765 once_value_878 = variable[9];
14766 }
14767 /* Register variable[9]: Result */
14768 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
14769 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14770 /* Register variable[10]: Once String constant */
14771 if (once_value_879 != NIT_NULL) variable[10] = once_value_879;
14772 else {
14773 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14774 once_value_879 = variable[10];
14775 }
14776 /* Register variable[10]: Result */
14777 /* Ensure var variable[10]: super-string element*/
14778 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14779 /* Register variable[10]: Result */
14780 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
14781 /* Register variable[10]: Result */
14782 variable[10] = CALL_compiling_methods___NitMethodContext___break_label(variable[10])(variable[10]) /*NitMethodContext::break_label*/;
14783 /* Ensure var variable[10]: super-string element*/
14784 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14785 /* Register variable[10]: Once String constant */
14786 if (once_value_880 != NIT_NULL) variable[10] = once_value_880;
14787 else {
14788 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(": while(0);"), TAG_Int(11)) /*new String*/;
14789 once_value_880 = variable[10];
14790 }
14791 /* Register variable[10]: Result */
14792 /* Ensure var variable[10]: super-string element*/
14793 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
14794 /* Register variable[9]: Result */
14795 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
14796 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_instr*/;
14797 return_label869: while(false);
14798 tracehead = trace.prev;
14799 return;
14800 }
14801 void compiling_methods___AAssertExpr___compile_stmt(val_t self, val_t param0) {
14802 struct trace_t trace = {NULL, NULL, 1173, LOCATE_compiling_methods___AAssertExpr___compile_stmt};
14803 static val_t once_value_882 = NIT_NULL; /* Once value for string variable[5]*/
14804 static val_t once_value_883 = NIT_NULL; /* Once value for string variable[6]*/
14805 static val_t once_value_884 = NIT_NULL; /* Once value for string variable[6]*/
14806 static val_t once_value_885 = NIT_NULL; /* Once value for string variable[6]*/
14807 static val_t once_value_886 = NIT_NULL; /* Once value for string variable[6]*/
14808 static val_t once_value_887 = NIT_NULL; /* Once value for string variable[6]*/
14809 static val_t once_value_888 = NIT_NULL; /* Once value for string variable[6]*/
14810 val_t variable[7];
14811 struct WBT_ **closurevariable = NULL;
14812 trace.prev = tracehead; tracehead = &trace;
14813 trace.file = LOCATE_compiling_methods;
14814 /* Register variable[0]: Local variable */
14815 variable[0] = self;
14816 /* Register variable[1]: Local variable */
14817 variable[1] = param0;
14818 /* Register variable[2]: Method return value and escape marker */
14819 /* Register variable[3]: Local variable */
14820 /* Register variable[4]: Result */
14821 variable[4] = CALL_parser_nodes___AAssertExpr___n_expr(variable[0])(variable[0]) /*AAssertExpr::n_expr*/;
14822 /* Register variable[4]: Result */
14823 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
14824 variable[3] = variable[4];
14825 /* Register variable[4]: Local variable */
14826 /* Register variable[5]: Once String constant */
14827 if (once_value_882 != NIT_NULL) variable[5] = once_value_882;
14828 else {
14829 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
14830 once_value_882 = variable[5];
14831 }
14832 /* Register variable[5]: Result */
14833 variable[4] = variable[5];
14834 /* Register variable[5]: Result */
14835 variable[5] = CALL_parser_nodes___AAssertExpr___n_id(variable[0])(variable[0]) /*AAssertExpr::n_id*/;
14836 /* Register variable[5]: Result */
14837 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::==*/)))))));
14838 if (UNTAG_Bool(variable[5])) { /*if*/
14839 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14840 /* Register variable[6]: Once String constant */
14841 if (once_value_883 != NIT_NULL) variable[6] = once_value_883;
14842 else {
14843 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" '"), TAG_Int(2)) /*new String*/;
14844 once_value_883 = variable[6];
14845 }
14846 /* Register variable[6]: Result */
14847 /* Ensure var variable[6]: super-string element*/
14848 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14849 /* Register variable[6]: Result */
14850 variable[6] = CALL_parser_nodes___AAssertExpr___n_id(variable[0])(variable[0]) /*AAssertExpr::n_id*/;
14851 /* Register variable[6]: Result */
14852 variable[6] = CALL_lexer___Token___text(variable[6])(variable[6]) /*Token::text*/;
14853 /* Ensure var variable[6]: super-string element*/
14854 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14855 /* Register variable[6]: Once String constant */
14856 if (once_value_884 != NIT_NULL) variable[6] = once_value_884;
14857 else {
14858 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("' "), TAG_Int(2)) /*new String*/;
14859 once_value_884 = variable[6];
14860 }
14861 /* Register variable[6]: Result */
14862 /* Ensure var variable[6]: super-string element*/
14863 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14864 /* Register variable[5]: Result */
14865 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
14866 variable[4] = variable[5] /*s=*/;
14867 }
14868 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14869 /* Register variable[6]: Once String constant */
14870 if (once_value_885 != NIT_NULL) variable[6] = once_value_885;
14871 else {
14872 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
14873 once_value_885 = variable[6];
14874 }
14875 /* Register variable[6]: Result */
14876 /* Ensure var variable[6]: super-string element*/
14877 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14878 variable[6] = variable[3] /*e*/ /* Ensure var: super-string element*/;
14879 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14880 /* Register variable[6]: Once String constant */
14881 if (once_value_886 != NIT_NULL) variable[6] = once_value_886;
14882 else {
14883 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(")) { fprintf(stderr, \"Assert%s failed\", \""), TAG_Int(41)) /*new String*/;
14884 once_value_886 = variable[6];
14885 }
14886 /* Register variable[6]: Result */
14887 /* Ensure var variable[6]: super-string element*/
14888 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14889 variable[6] = variable[4] /*s*/ /* Ensure var: super-string element*/;
14890 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14891 /* Register variable[6]: Once String constant */
14892 if (once_value_887 != NIT_NULL) variable[6] = once_value_887;
14893 else {
14894 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("\"); "), TAG_Int(4)) /*new String*/;
14895 once_value_887 = variable[6];
14896 }
14897 /* Register variable[6]: Result */
14898 /* Ensure var variable[6]: super-string element*/
14899 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14900 /* Register variable[6]: Result */
14901 variable[6] = CALL_compiling_methods___CompilerVisitor___printf_locate_error( variable[1] /*v*/)( variable[1] /*v*/, variable[0]) /*CompilerVisitor::printf_locate_error*/;
14902 /* Ensure var variable[6]: super-string element*/
14903 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14904 /* Register variable[6]: Once String constant */
14905 if (once_value_888 != NIT_NULL) variable[6] = once_value_888;
14906 else {
14907 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" nit_exit(1);}"), TAG_Int(14)) /*new String*/;
14908 once_value_888 = variable[6];
14909 }
14910 /* Register variable[6]: Result */
14911 /* Ensure var variable[6]: super-string element*/
14912 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
14913 /* Register variable[5]: Result */
14914 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
14915 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
14916 return_label881: while(false);
14917 tracehead = trace.prev;
14918 return;
14919 }
14920 val_t compiling_methods___AVarExpr___compile_expr(val_t self, val_t param0) {
14921 struct trace_t trace = {NULL, NULL, 1185, LOCATE_compiling_methods___AVarExpr___compile_expr};
14922 static val_t once_value_890 = NIT_NULL; /* Once value for string variable[4]*/
14923 static val_t once_value_891 = NIT_NULL; /* Once value for string variable[4]*/
14924 static val_t once_value_892 = NIT_NULL; /* Once value for string variable[4]*/
14925 val_t variable[6];
14926 struct WBT_ **closurevariable = NULL;
14927 trace.prev = tracehead; tracehead = &trace;
14928 trace.file = LOCATE_compiling_methods;
14929 /* Register variable[0]: Local variable */
14930 variable[0] = self;
14931 /* Register variable[1]: Local variable */
14932 variable[1] = param0;
14933 /* Register variable[2]: Method return value and escape marker */
14934 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
14935 /* Register variable[4]: Once String constant */
14936 if (once_value_890 != NIT_NULL) variable[4] = once_value_890;
14937 else {
14938 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
14939 once_value_890 = variable[4];
14940 }
14941 /* Register variable[4]: Result */
14942 /* Ensure var variable[4]: super-string element*/
14943 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14944 /* Register variable[4]: Result */
14945 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
14946 /* Register variable[5]: Result */
14947 variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
14948 /* Register variable[4]: Result */
14949 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
14950 /* Ensure var variable[4]: super-string element*/
14951 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14952 /* Register variable[4]: Once String constant */
14953 if (once_value_891 != NIT_NULL) variable[4] = once_value_891;
14954 else {
14955 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
14956 once_value_891 = variable[4];
14957 }
14958 /* Register variable[4]: Result */
14959 /* Ensure var variable[4]: super-string element*/
14960 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14961 /* Register variable[4]: Result */
14962 variable[4] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
14963 /* Register variable[4]: Result */
14964 variable[4] = CALL_syntax_base___Variable___name(variable[4])(variable[4]) /*Variable::name*/;
14965 /* Ensure var variable[4]: super-string element*/
14966 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/) /*AbstractArray::add*/;
14967 /* Register variable[4]: Once String constant */
14968 if (once_value_892 != NIT_NULL) variable[4] = once_value_892;
14969 else {
14970 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
14971 once_value_892 = variable[4];
14972 }
14973 /* Register variable[4]: Result */
14974 /* Ensure var variable[4]: super-string element*/
14975 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
14976 /* Register variable[3]: Result */
14977 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
14978 variable[2] = variable[3];
14979 goto return_label889;
14980 return_label889: while(false);
14981 tracehead = trace.prev;
14982 return variable[2];
14983 }
14984 void compiling_methods___AVarAssignExpr___compile_stmt(val_t self, val_t param0) {
14985 struct trace_t trace = {NULL, NULL, 1192, LOCATE_compiling_methods___AVarAssignExpr___compile_stmt};
14986 static val_t once_value_894 = NIT_NULL; /* Once value for string variable[6]*/
14987 static val_t once_value_895 = NIT_NULL; /* Once value for string variable[6]*/
14988 static val_t once_value_896 = NIT_NULL; /* Once value for string variable[6]*/
14989 val_t variable[7];
14990 struct WBT_ **closurevariable = NULL;
14991 trace.prev = tracehead; tracehead = &trace;
14992 trace.file = LOCATE_compiling_methods;
14993 /* Register variable[0]: Local variable */
14994 variable[0] = self;
14995 /* Register variable[1]: Local variable */
14996 variable[1] = param0;
14997 /* Register variable[2]: Method return value and escape marker */
14998 /* Register variable[3]: Local variable */
14999 /* Register variable[4]: Result */
15000 variable[4] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
15001 /* Register variable[4]: Result */
15002 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15003 variable[3] = variable[4];
15004 /* Register variable[4]: Result */
15005 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15006 /* Register variable[5]: Result */
15007 variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
15008 /* Register variable[4]: Result */
15009 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
15010 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15011 /* Register variable[6]: Once String constant */
15012 if (once_value_894 != NIT_NULL) variable[6] = once_value_894;
15013 else {
15014 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
15015 once_value_894 = variable[6];
15016 }
15017 /* Register variable[6]: Result */
15018 /* Ensure var variable[6]: super-string element*/
15019 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15020 variable[6] = variable[3] /*e*/ /* Ensure var: super-string element*/;
15021 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15022 /* Register variable[6]: Once String constant */
15023 if (once_value_895 != NIT_NULL) variable[6] = once_value_895;
15024 else {
15025 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
15026 once_value_895 = variable[6];
15027 }
15028 /* Register variable[6]: Result */
15029 /* Ensure var variable[6]: super-string element*/
15030 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15031 /* Register variable[6]: Result */
15032 variable[6] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
15033 /* Register variable[6]: Result */
15034 variable[6] = CALL_syntax_base___Variable___name(variable[6])(variable[6]) /*Variable::name*/;
15035 /* Ensure var variable[6]: super-string element*/
15036 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
15037 /* Register variable[6]: Once String constant */
15038 if (once_value_896 != NIT_NULL) variable[6] = once_value_896;
15039 else {
15040 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("=*/"), TAG_Int(3)) /*new String*/;
15041 once_value_896 = variable[6];
15042 }
15043 /* Register variable[6]: Result */
15044 /* Ensure var variable[6]: super-string element*/
15045 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15046 /* Register variable[5]: Result */
15047 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
15048 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::add_assignment*/;
15049 return_label893: while(false);
15050 tracehead = trace.prev;
15051 return;
15052 }
15053 void compiling_methods___AVarReassignExpr___compile_stmt(val_t self, val_t param0) {
15054 struct trace_t trace = {NULL, NULL, 1200, LOCATE_compiling_methods___AVarReassignExpr___compile_stmt};
15055 static val_t once_value_898 = NIT_NULL; /* Once value for string variable[8]*/
15056 static val_t once_value_899 = NIT_NULL; /* Once value for string variable[8]*/
15057 static val_t once_value_900 = NIT_NULL; /* Once value for string variable[8]*/
15058 val_t variable[9];
15059 struct WBT_ **closurevariable = NULL;
15060 trace.prev = tracehead; tracehead = &trace;
15061 trace.file = LOCATE_compiling_methods;
15062 /* Register variable[0]: Local variable */
15063 variable[0] = self;
15064 /* Register variable[1]: Local variable */
15065 variable[1] = param0;
15066 /* Register variable[2]: Method return value and escape marker */
15067 /* Register variable[3]: Local variable */
15068 /* Register variable[4]: Result */
15069 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15070 /* Register variable[5]: Result */
15071 variable[5] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
15072 /* Register variable[4]: Result */
15073 variable[4] = CALL_compiling_methods___CFunctionContext___varname(variable[4])(variable[4], variable[5]) /*CFunctionContext::varname*/;
15074 variable[3] = variable[4];
15075 /* Register variable[4]: Local variable */
15076 /* Register variable[5]: Result */
15077 variable[5] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
15078 /* Register variable[5]: Result */
15079 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
15080 variable[4] = variable[5];
15081 /* Register variable[5]: Local variable */
15082 /* Register variable[6]: Result */
15083 variable[6] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
15084 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
15085 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e1*/) /*AbstractArray::add*/;
15086 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[4] /*e2*/) /*AbstractArray::add*/;
15087 /* Register variable[7]: Result */
15088 /* Register variable[6]: Result */
15089 variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6], variable[1] /*v*/, variable[7]) /*MMMethod::compile_expr_call*/;
15090 variable[5] = variable[6];
15091 /* Register variable[6]: Result */
15092 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15093 /* Register variable[7]: Result */
15094 variable[7] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
15095 /* Register variable[6]: Result */
15096 variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
15097 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15098 /* Register variable[8]: Once String constant */
15099 if (once_value_898 != NIT_NULL) variable[8] = once_value_898;
15100 else {
15101 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
15102 once_value_898 = variable[8];
15103 }
15104 /* Register variable[8]: Result */
15105 /* Ensure var variable[8]: super-string element*/
15106 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
15107 variable[8] = variable[5] /*e3*/ /* Ensure var: super-string element*/;
15108 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
15109 /* Register variable[8]: Once String constant */
15110 if (once_value_899 != NIT_NULL) variable[8] = once_value_899;
15111 else {
15112 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(" /*"), TAG_Int(3)) /*new String*/;
15113 once_value_899 = variable[8];
15114 }
15115 /* Register variable[8]: Result */
15116 /* Ensure var variable[8]: super-string element*/
15117 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
15118 /* Register variable[8]: Result */
15119 variable[8] = CALL_syntax_base___AVarFormExpr___variable(variable[0])(variable[0]) /*AVarFormExpr::variable*/;
15120 /* Register variable[8]: Result */
15121 variable[8] = CALL_syntax_base___Variable___name(variable[8])(variable[8]) /*Variable::name*/;
15122 /* Ensure var variable[8]: super-string element*/
15123 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
15124 /* Register variable[8]: Once String constant */
15125 if (once_value_900 != NIT_NULL) variable[8] = once_value_900;
15126 else {
15127 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
15128 once_value_900 = variable[8];
15129 }
15130 /* Register variable[8]: Result */
15131 /* Ensure var variable[8]: super-string element*/
15132 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
15133 /* Register variable[7]: Result */
15134 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
15135 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[6], variable[7]) /*CompilerVisitor::add_assignment*/;
15136 return_label897: while(false);
15137 tracehead = trace.prev;
15138 return;
15139 }
15140 val_t compiling_methods___ASelfExpr___compile_expr(val_t self, val_t param0) {
15141 struct trace_t trace = {NULL, NULL, 1210, LOCATE_compiling_methods___ASelfExpr___compile_expr};
15142 val_t variable[9];
15143 struct WBT_ **closurevariable = NULL;
15144 trace.prev = tracehead; tracehead = &trace;
15145 trace.file = LOCATE_compiling_methods;
15146 /* Register variable[0]: Local variable */
15147 variable[0] = self;
15148 /* Register variable[1]: Local variable */
15149 variable[1] = param0;
15150 /* Register variable[2]: Method return value and escape marker */
15151 /* Register variable[3]: Result */
15152 variable[3] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15153 /* Register variable[4]: Result */
15154 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
15155 /* Register variable[4]: Result */
15156 variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
15157 /* Register variable[5]: Local variable */
15158 variable[5] = variable[4];
15159 /* Register variable[6]: Local variable */
15160 variable[6] = TAG_Int(0);
15161 /* Register variable[7]: Method return value and escape marker */
15162 /* Register variable[8]: Result */
15163 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)>=UNTAG_Int( TAG_Int(0)));
15164 /* Ensure var variable[8]: Left 'and' operand*/
15165 if (UNTAG_Bool(variable[8])) { /* and */
15166 /* Register variable[8]: Result */
15167 variable[8] = ATTR_array___AbstractArrayRead____length(variable[5]) /*AbstractArrayRead::_length*/;
15168 /* Register variable[8]: Result */
15169 variable[8] = TAG_Bool(UNTAG_Int( variable[6] /*index*/)<UNTAG_Int(variable[8]));
15170 }
15171 /* Register variable[8]: Result */
15172 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, 234); nit_exit(1);}
15173 /* Register variable[8]: Result */
15174 variable[8] = ATTR_array___Array____items(variable[5]) /*Array::_items*/;
15175 /* Register variable[8]: Result */
15176 variable[8] = UNBOX_NativeArray(variable[8])[UNTAG_Int( variable[6] /*index*/)];
15177 variable[7] = variable[8];
15178 goto return_label902;
15179 return_label902: while(false);
15180 /* Register variable[4]: Result */
15181 variable[4] = variable[7];
15182 /* Register variable[3]: Result */
15183 variable[3] = CALL_compiling_methods___CFunctionContext___varname(variable[3])(variable[3], variable[4]) /*CFunctionContext::varname*/;
15184 variable[2] = variable[3];
15185 goto return_label901;
15186 return_label901: while(false);
15187 tracehead = trace.prev;
15188 return variable[2];
15189 }
15190 val_t compiling_methods___AOrExpr___compile_expr(val_t self, val_t param0) {
15191 struct trace_t trace = {NULL, NULL, 1217, LOCATE_compiling_methods___AOrExpr___compile_expr};
15192 static val_t once_value_904 = NIT_NULL; /* Once value for string variable[5]*/
15193 static val_t once_value_905 = NIT_NULL; /* Once value for string variable[5]*/
15194 static val_t once_value_906 = NIT_NULL; /* Once value for string variable[5]*/
15195 static val_t once_value_907 = NIT_NULL; /* Once value for string variable[5]*/
15196 val_t variable[6];
15197 struct WBT_ **closurevariable = NULL;
15198 trace.prev = tracehead; tracehead = &trace;
15199 trace.file = LOCATE_compiling_methods;
15200 /* Register variable[0]: Local variable */
15201 variable[0] = self;
15202 /* Register variable[1]: Local variable */
15203 variable[1] = param0;
15204 /* Register variable[2]: Method return value and escape marker */
15205 /* Register variable[3]: Local variable */
15206 /* Register variable[4]: Result */
15207 variable[4] = CALL_parser_nodes___AOrExpr___n_expr(variable[0])(variable[0]) /*AOrExpr::n_expr*/;
15208 /* Register variable[4]: Result */
15209 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15210 /* Register variable[5]: Once String constant */
15211 if (once_value_904 != NIT_NULL) variable[5] = once_value_904;
15212 else {
15213 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Left 'or' operand"), TAG_Int(17)) /*new String*/;
15214 once_value_904 = variable[5];
15215 }
15216 /* Register variable[5]: Result */
15217 /* Register variable[4]: Result */
15218 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::ensure_var*/;
15219 variable[3] = variable[4];
15220 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15221 /* Register variable[5]: Once String constant */
15222 if (once_value_905 != NIT_NULL) variable[5] = once_value_905;
15223 else {
15224 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (!UNTAG_Bool("), TAG_Int(16)) /*new String*/;
15225 once_value_905 = variable[5];
15226 }
15227 /* Register variable[5]: Result */
15228 /* Ensure var variable[5]: super-string element*/
15229 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15230 variable[5] = variable[3] /*e*/ /* Ensure var: super-string element*/;
15231 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15232 /* Register variable[5]: Once String constant */
15233 if (once_value_906 != NIT_NULL) variable[5] = once_value_906;
15234 else {
15235 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* or */"), TAG_Int(13)) /*new String*/;
15236 once_value_906 = variable[5];
15237 }
15238 /* Register variable[5]: Result */
15239 /* Ensure var variable[5]: super-string element*/
15240 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15241 /* Register variable[4]: Result */
15242 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
15243 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
15244 /* Register variable[4]: Result */
15245 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15246 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
15247 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
15248 /* Register variable[4]: Local variable */
15249 /* Register variable[5]: Result */
15250 variable[5] = CALL_parser_nodes___AOrExpr___n_expr2(variable[0])(variable[0]) /*AOrExpr::n_expr2*/;
15251 /* Register variable[5]: Result */
15252 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
15253 variable[4] = variable[5];
15254 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*e*/, variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
15255 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
15256 /* Register variable[5]: Once String constant */
15257 if (once_value_907 != NIT_NULL) variable[5] = once_value_907;
15258 else {
15259 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
15260 once_value_907 = variable[5];
15261 }
15262 /* Register variable[5]: Result */
15263 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
15264 variable[2] = variable[3] /*e*/;
15265 goto return_label903;
15266 return_label903: while(false);
15267 tracehead = trace.prev;
15268 return variable[2];
15269 }
15270 val_t compiling_methods___AAndExpr___compile_expr(val_t self, val_t param0) {
15271 struct trace_t trace = {NULL, NULL, 1232, LOCATE_compiling_methods___AAndExpr___compile_expr};
15272 static val_t once_value_909 = NIT_NULL; /* Once value for string variable[5]*/
15273 static val_t once_value_910 = NIT_NULL; /* Once value for string variable[5]*/
15274 static val_t once_value_911 = NIT_NULL; /* Once value for string variable[5]*/
15275 static val_t once_value_912 = NIT_NULL; /* Once value for string variable[5]*/
15276 val_t variable[6];
15277 struct WBT_ **closurevariable = NULL;
15278 trace.prev = tracehead; tracehead = &trace;
15279 trace.file = LOCATE_compiling_methods;
15280 /* Register variable[0]: Local variable */
15281 variable[0] = self;
15282 /* Register variable[1]: Local variable */
15283 variable[1] = param0;
15284 /* Register variable[2]: Method return value and escape marker */
15285 /* Register variable[3]: Local variable */
15286 /* Register variable[4]: Result */
15287 variable[4] = CALL_parser_nodes___AAndExpr___n_expr(variable[0])(variable[0]) /*AAndExpr::n_expr*/;
15288 /* Register variable[4]: Result */
15289 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15290 /* Register variable[5]: Once String constant */
15291 if (once_value_909 != NIT_NULL) variable[5] = once_value_909;
15292 else {
15293 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("Left 'and' operand"), TAG_Int(18)) /*new String*/;
15294 once_value_909 = variable[5];
15295 }
15296 /* Register variable[5]: Result */
15297 /* Register variable[4]: Result */
15298 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[4], variable[5]) /*CompilerVisitor::ensure_var*/;
15299 variable[3] = variable[4];
15300 variable[4] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15301 /* Register variable[5]: Once String constant */
15302 if (once_value_910 != NIT_NULL) variable[5] = once_value_910;
15303 else {
15304 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("if (UNTAG_Bool("), TAG_Int(15)) /*new String*/;
15305 once_value_910 = variable[5];
15306 }
15307 /* Register variable[5]: Result */
15308 /* Ensure var variable[5]: super-string element*/
15309 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15310 variable[5] = variable[3] /*e*/ /* Ensure var: super-string element*/;
15311 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15312 /* Register variable[5]: Once String constant */
15313 if (once_value_911 != NIT_NULL) variable[5] = once_value_911;
15314 else {
15315 variable[5] = NEW_String_string___String___with_native(BOX_NativeString(")) { /* and */"), TAG_Int(14)) /*new String*/;
15316 once_value_911 = variable[5];
15317 }
15318 /* Register variable[5]: Result */
15319 /* Ensure var variable[5]: super-string element*/
15320 CALL_abstract_collection___SimpleCollection___add(variable[4])(variable[4], variable[5]) /*AbstractArray::add*/;
15321 /* Register variable[4]: Result */
15322 variable[4] = CALL_string___Object___to_s(variable[4])(variable[4]) /*Object::to_s*/;
15323 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
15324 /* Register variable[4]: Result */
15325 variable[4] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15326 CALL_compiling_methods___CFunctionContext___free_var(variable[4])(variable[4], variable[3] /*e*/) /*CFunctionContext::free_var*/;
15327 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
15328 /* Register variable[4]: Local variable */
15329 /* Register variable[5]: Result */
15330 variable[5] = CALL_parser_nodes___AAndExpr___n_expr2(variable[0])(variable[0]) /*AAndExpr::n_expr2*/;
15331 /* Register variable[5]: Result */
15332 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
15333 variable[4] = variable[5];
15334 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*e*/, variable[4] /*e2*/) /*CompilerVisitor::add_assignment*/;
15335 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
15336 /* Register variable[5]: Once String constant */
15337 if (once_value_912 != NIT_NULL) variable[5] = once_value_912;
15338 else {
15339 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
15340 once_value_912 = variable[5];
15341 }
15342 /* Register variable[5]: Result */
15343 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
15344 variable[2] = variable[3] /*e*/;
15345 goto return_label908;
15346 return_label908: while(false);
15347 tracehead = trace.prev;
15348 return variable[2];
15349 }
15350 val_t compiling_methods___ANotExpr___compile_expr(val_t self, val_t param0) {
15351 struct trace_t trace = {NULL, NULL, 1247, LOCATE_compiling_methods___ANotExpr___compile_expr};
15352 static val_t once_value_914 = NIT_NULL; /* Once value for string variable[4]*/
15353 static val_t once_value_915 = NIT_NULL; /* Once value for string variable[4]*/
15354 val_t variable[5];
15355 struct WBT_ **closurevariable = NULL;
15356 trace.prev = tracehead; tracehead = &trace;
15357 trace.file = LOCATE_compiling_methods;
15358 /* Register variable[0]: Local variable */
15359 variable[0] = self;
15360 /* Register variable[1]: Local variable */
15361 variable[1] = param0;
15362 /* Register variable[2]: Method return value and escape marker */
15363 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15364 /* Register variable[4]: Once String constant */
15365 if (once_value_914 != NIT_NULL) variable[4] = once_value_914;
15366 else {
15367 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(!UNTAG_Bool("), TAG_Int(22)) /*new String*/;
15368 once_value_914 = variable[4];
15369 }
15370 /* Register variable[4]: Result */
15371 /* Ensure var variable[4]: super-string element*/
15372 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15373 /* Register variable[4]: Result */
15374 variable[4] = CALL_parser_nodes___ANotExpr___n_expr(variable[0])(variable[0]) /*ANotExpr::n_expr*/;
15375 /* Register variable[4]: Result */
15376 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15377 /* Ensure var variable[4]: super-string element*/
15378 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15379 /* Register variable[4]: Once String constant */
15380 if (once_value_915 != NIT_NULL) variable[4] = once_value_915;
15381 else {
15382 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
15383 once_value_915 = variable[4];
15384 }
15385 /* Register variable[4]: Result */
15386 /* Ensure var variable[4]: super-string element*/
15387 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15388 /* Register variable[3]: Result */
15389 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
15390 variable[2] = variable[3];
15391 goto return_label913;
15392 return_label913: while(false);
15393 tracehead = trace.prev;
15394 return variable[2];
15395 }
15396 val_t compiling_methods___AEeExpr___compile_expr(val_t self, val_t param0) {
15397 struct trace_t trace = {NULL, NULL, 1254, LOCATE_compiling_methods___AEeExpr___compile_expr};
15398 static val_t once_value_917 = NIT_NULL; /* Once value for string variable[6]*/
15399 static val_t once_value_918 = NIT_NULL; /* Once value for string variable[6]*/
15400 static val_t once_value_919 = NIT_NULL; /* Once value for string variable[6]*/
15401 val_t variable[7];
15402 struct WBT_ **closurevariable = NULL;
15403 trace.prev = tracehead; tracehead = &trace;
15404 trace.file = LOCATE_compiling_methods;
15405 /* Register variable[0]: Local variable */
15406 variable[0] = self;
15407 /* Register variable[1]: Local variable */
15408 variable[1] = param0;
15409 /* Register variable[2]: Method return value and escape marker */
15410 /* Register variable[3]: Local variable */
15411 /* Register variable[4]: Result */
15412 variable[4] = CALL_parser_nodes___AEeExpr___n_expr(variable[0])(variable[0]) /*AEeExpr::n_expr*/;
15413 /* Register variable[4]: Result */
15414 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15415 variable[3] = variable[4];
15416 /* Register variable[4]: Local variable */
15417 /* Register variable[5]: Result */
15418 variable[5] = CALL_parser_nodes___AEeExpr___n_expr2(variable[0])(variable[0]) /*AEeExpr::n_expr2*/;
15419 /* Register variable[5]: Result */
15420 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
15421 variable[4] = variable[5];
15422 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15423 /* Register variable[6]: Once String constant */
15424 if (once_value_917 != NIT_NULL) variable[6] = once_value_917;
15425 else {
15426 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Bool(IS_EQUAL_NN("), TAG_Int(21)) /*new String*/;
15427 once_value_917 = variable[6];
15428 }
15429 /* Register variable[6]: Result */
15430 /* Ensure var variable[6]: super-string element*/
15431 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15432 variable[6] = variable[3] /*e*/ /* Ensure var: super-string element*/;
15433 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15434 /* Register variable[6]: Once String constant */
15435 if (once_value_918 != NIT_NULL) variable[6] = once_value_918;
15436 else {
15437 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(","), TAG_Int(1)) /*new String*/;
15438 once_value_918 = variable[6];
15439 }
15440 /* Register variable[6]: Result */
15441 /* Ensure var variable[6]: super-string element*/
15442 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15443 variable[6] = variable[4] /*e2*/ /* Ensure var: super-string element*/;
15444 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15445 /* Register variable[6]: Once String constant */
15446 if (once_value_919 != NIT_NULL) variable[6] = once_value_919;
15447 else {
15448 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("))"), TAG_Int(2)) /*new String*/;
15449 once_value_919 = variable[6];
15450 }
15451 /* Register variable[6]: Result */
15452 /* Ensure var variable[6]: super-string element*/
15453 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15454 /* Register variable[5]: Result */
15455 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
15456 variable[2] = variable[5];
15457 goto return_label916;
15458 return_label916: while(false);
15459 tracehead = trace.prev;
15460 return variable[2];
15461 }
15462 val_t compiling_methods___AIsaExpr___compile_expr(val_t self, val_t param0) {
15463 struct trace_t trace = {NULL, NULL, 1263, LOCATE_compiling_methods___AIsaExpr___compile_expr};
15464 val_t variable[6];
15465 struct WBT_ **closurevariable = NULL;
15466 trace.prev = tracehead; tracehead = &trace;
15467 trace.file = LOCATE_compiling_methods;
15468 /* Register variable[0]: Local variable */
15469 variable[0] = self;
15470 /* Register variable[1]: Local variable */
15471 variable[1] = param0;
15472 /* Register variable[2]: Method return value and escape marker */
15473 /* Register variable[3]: Local variable */
15474 /* Register variable[4]: Result */
15475 variable[4] = CALL_parser_nodes___AIsaExpr___n_expr(variable[0])(variable[0]) /*AIsaExpr::n_expr*/;
15476 /* Register variable[4]: Result */
15477 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15478 variable[3] = variable[4];
15479 /* Register variable[4]: Result */
15480 variable[4] = CALL_parser_nodes___AIsaExpr___n_type(variable[0])(variable[0]) /*AIsaExpr::n_type*/;
15481 /* Register variable[4]: Result */
15482 variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
15483 /* Register variable[5]: Result */
15484 variable[5] = CALL_parser_nodes___AIsaExpr___n_expr(variable[0])(variable[0]) /*AIsaExpr::n_expr*/;
15485 /* Register variable[5]: Result */
15486 variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
15487 /* Register variable[4]: Result */
15488 variable[4] = CALL_compiling_methods___MMType___compile_cast(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/, variable[5]) /*MMType::compile_cast*/;
15489 variable[2] = variable[4];
15490 goto return_label920;
15491 return_label920: while(false);
15492 tracehead = trace.prev;
15493 return variable[2];
15494 }
15495 val_t compiling_methods___AAsCastExpr___compile_expr(val_t self, val_t param0) {
15496 struct trace_t trace = {NULL, NULL, 1271, LOCATE_compiling_methods___AAsCastExpr___compile_expr};
15497 val_t variable[6];
15498 struct WBT_ **closurevariable = NULL;
15499 trace.prev = tracehead; tracehead = &trace;
15500 trace.file = LOCATE_compiling_methods;
15501 /* Register variable[0]: Local variable */
15502 variable[0] = self;
15503 /* Register variable[1]: Local variable */
15504 variable[1] = param0;
15505 /* Register variable[2]: Method return value and escape marker */
15506 /* Register variable[3]: Local variable */
15507 /* Register variable[4]: Result */
15508 variable[4] = CALL_parser_nodes___AAsCastExpr___n_expr(variable[0])(variable[0]) /*AAsCastExpr::n_expr*/;
15509 /* Register variable[4]: Result */
15510 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15511 variable[3] = variable[4];
15512 /* Register variable[4]: Result */
15513 variable[4] = CALL_parser_nodes___AAsCastExpr___n_type(variable[0])(variable[0]) /*AAsCastExpr::n_type*/;
15514 /* Register variable[4]: Result */
15515 variable[4] = CALL_typing___PType___stype(variable[4])(variable[4]) /*PType::stype*/;
15516 /* Register variable[5]: Result */
15517 variable[5] = CALL_parser_nodes___AAsCastExpr___n_expr(variable[0])(variable[0]) /*AAsCastExpr::n_expr*/;
15518 /* Register variable[5]: Result */
15519 variable[5] = CALL_syntax_base___PExpr___stype(variable[5])(variable[5]) /*PExpr::stype*/;
15520 CALL_compiling_methods___MMType___compile_type_check(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/, variable[0], variable[5]) /*MMType::compile_type_check*/;
15521 variable[2] = variable[3] /*e*/;
15522 goto return_label921;
15523 return_label921: while(false);
15524 tracehead = trace.prev;
15525 return variable[2];
15526 }
15527 val_t compiling_methods___AAsNotnullExpr___compile_expr(val_t self, val_t param0) {
15528 struct trace_t trace = {NULL, NULL, 1280, LOCATE_compiling_methods___AAsNotnullExpr___compile_expr};
15529 val_t variable[5];
15530 struct WBT_ **closurevariable = NULL;
15531 trace.prev = tracehead; tracehead = &trace;
15532 trace.file = LOCATE_compiling_methods;
15533 /* Register variable[0]: Local variable */
15534 variable[0] = self;
15535 /* Register variable[1]: Local variable */
15536 variable[1] = param0;
15537 /* Register variable[2]: Method return value and escape marker */
15538 /* Register variable[3]: Local variable */
15539 /* Register variable[4]: Result */
15540 variable[4] = CALL_parser_nodes___AAsNotnullExpr___n_expr(variable[0])(variable[0]) /*AAsNotnullExpr::n_expr*/;
15541 /* Register variable[4]: Result */
15542 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
15543 variable[3] = variable[4];
15544 /* Register variable[4]: Result */
15545 variable[4] = CALL_parser_nodes___AAsNotnullExpr___n_expr(variable[0])(variable[0]) /*AAsNotnullExpr::n_expr*/;
15546 /* Register variable[4]: Result */
15547 variable[4] = CALL_syntax_base___PExpr___stype(variable[4])(variable[4]) /*PExpr::stype*/;
15548 CALL_compiling_methods___MMType___compile_notnull_check(variable[4])(variable[4], variable[1] /*v*/, variable[3] /*e*/, variable[0]) /*MMType::compile_notnull_check*/;
15549 variable[2] = variable[3] /*e*/;
15550 goto return_label922;
15551 return_label922: while(false);
15552 tracehead = trace.prev;
15553 return variable[2];
15554 }
15555 val_t compiling_methods___ATrueExpr___compile_expr(val_t self, val_t param0) {
15556 struct trace_t trace = {NULL, NULL, 1289, LOCATE_compiling_methods___ATrueExpr___compile_expr};
15557 static val_t once_value_924 = NIT_NULL; /* Once value for string variable[3]*/
15558 val_t variable[4];
15559 struct WBT_ **closurevariable = NULL;
15560 trace.prev = tracehead; tracehead = &trace;
15561 trace.file = LOCATE_compiling_methods;
15562 /* Register variable[0]: Local variable */
15563 variable[0] = self;
15564 /* Register variable[1]: Local variable */
15565 variable[1] = param0;
15566 /* Register variable[2]: Method return value and escape marker */
15567 /* Register variable[3]: Once String constant */
15568 if (once_value_924 != NIT_NULL) variable[3] = once_value_924;
15569 else {
15570 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(true)"), TAG_Int(15)) /*new String*/;
15571 once_value_924 = variable[3];
15572 }
15573 /* Register variable[3]: Result */
15574 variable[2] = variable[3];
15575 goto return_label923;
15576 return_label923: while(false);
15577 tracehead = trace.prev;
15578 return variable[2];
15579 }
15580 val_t compiling_methods___AFalseExpr___compile_expr(val_t self, val_t param0) {
15581 struct trace_t trace = {NULL, NULL, 1296, LOCATE_compiling_methods___AFalseExpr___compile_expr};
15582 static val_t once_value_926 = NIT_NULL; /* Once value for string variable[3]*/
15583 val_t variable[4];
15584 struct WBT_ **closurevariable = NULL;
15585 trace.prev = tracehead; tracehead = &trace;
15586 trace.file = LOCATE_compiling_methods;
15587 /* Register variable[0]: Local variable */
15588 variable[0] = self;
15589 /* Register variable[1]: Local variable */
15590 variable[1] = param0;
15591 /* Register variable[2]: Method return value and escape marker */
15592 /* Register variable[3]: Once String constant */
15593 if (once_value_926 != NIT_NULL) variable[3] = once_value_926;
15594 else {
15595 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Bool(false)"), TAG_Int(16)) /*new String*/;
15596 once_value_926 = variable[3];
15597 }
15598 /* Register variable[3]: Result */
15599 variable[2] = variable[3];
15600 goto return_label925;
15601 return_label925: while(false);
15602 tracehead = trace.prev;
15603 return variable[2];
15604 }
15605 val_t compiling_methods___AIntExpr___compile_expr(val_t self, val_t param0) {
15606 struct trace_t trace = {NULL, NULL, 1303, LOCATE_compiling_methods___AIntExpr___compile_expr};
15607 static val_t once_value_928 = NIT_NULL; /* Once value for string variable[4]*/
15608 static val_t once_value_929 = NIT_NULL; /* Once value for string variable[4]*/
15609 val_t variable[5];
15610 struct WBT_ **closurevariable = NULL;
15611 trace.prev = tracehead; tracehead = &trace;
15612 trace.file = LOCATE_compiling_methods;
15613 /* Register variable[0]: Local variable */
15614 variable[0] = self;
15615 /* Register variable[1]: Local variable */
15616 variable[1] = param0;
15617 /* Register variable[2]: Method return value and escape marker */
15618 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15619 /* Register variable[4]: Once String constant */
15620 if (once_value_928 != NIT_NULL) variable[4] = once_value_928;
15621 else {
15622 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Int("), TAG_Int(9)) /*new String*/;
15623 once_value_928 = variable[4];
15624 }
15625 /* Register variable[4]: Result */
15626 /* Ensure var variable[4]: super-string element*/
15627 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15628 /* Register variable[4]: Result */
15629 variable[4] = CALL_parser_nodes___AIntExpr___n_number(variable[0])(variable[0]) /*AIntExpr::n_number*/;
15630 /* Register variable[4]: Result */
15631 variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
15632 /* Ensure var variable[4]: super-string element*/
15633 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15634 /* Register variable[4]: Once String constant */
15635 if (once_value_929 != NIT_NULL) variable[4] = once_value_929;
15636 else {
15637 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
15638 once_value_929 = variable[4];
15639 }
15640 /* Register variable[4]: Result */
15641 /* Ensure var variable[4]: super-string element*/
15642 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15643 /* Register variable[3]: Result */
15644 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
15645 variable[2] = variable[3];
15646 goto return_label927;
15647 return_label927: while(false);
15648 tracehead = trace.prev;
15649 return variable[2];
15650 }
15651 val_t compiling_methods___AFloatExpr___compile_expr(val_t self, val_t param0) {
15652 struct trace_t trace = {NULL, NULL, 1310, LOCATE_compiling_methods___AFloatExpr___compile_expr};
15653 static val_t once_value_931 = NIT_NULL; /* Once value for string variable[4]*/
15654 static val_t once_value_932 = NIT_NULL; /* Once value for string variable[4]*/
15655 val_t variable[5];
15656 struct WBT_ **closurevariable = NULL;
15657 trace.prev = tracehead; tracehead = &trace;
15658 trace.file = LOCATE_compiling_methods;
15659 /* Register variable[0]: Local variable */
15660 variable[0] = self;
15661 /* Register variable[1]: Local variable */
15662 variable[1] = param0;
15663 /* Register variable[2]: Method return value and escape marker */
15664 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15665 /* Register variable[4]: Once String constant */
15666 if (once_value_931 != NIT_NULL) variable[4] = once_value_931;
15667 else {
15668 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("BOX_Float("), TAG_Int(10)) /*new String*/;
15669 once_value_931 = variable[4];
15670 }
15671 /* Register variable[4]: Result */
15672 /* Ensure var variable[4]: super-string element*/
15673 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15674 /* Register variable[4]: Result */
15675 variable[4] = CALL_parser_nodes___AFloatExpr___n_float(variable[0])(variable[0]) /*AFloatExpr::n_float*/;
15676 /* Register variable[4]: Result */
15677 variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
15678 /* Ensure var variable[4]: super-string element*/
15679 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15680 /* Register variable[4]: Once String constant */
15681 if (once_value_932 != NIT_NULL) variable[4] = once_value_932;
15682 else {
15683 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
15684 once_value_932 = variable[4];
15685 }
15686 /* Register variable[4]: Result */
15687 /* Ensure var variable[4]: super-string element*/
15688 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15689 /* Register variable[3]: Result */
15690 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
15691 variable[2] = variable[3];
15692 goto return_label930;
15693 return_label930: while(false);
15694 tracehead = trace.prev;
15695 return variable[2];
15696 }
15697 val_t compiling_methods___ACharExpr___compile_expr(val_t self, val_t param0) {
15698 struct trace_t trace = {NULL, NULL, 1317, LOCATE_compiling_methods___ACharExpr___compile_expr};
15699 static val_t once_value_934 = NIT_NULL; /* Once value for string variable[4]*/
15700 static val_t once_value_935 = NIT_NULL; /* Once value for string variable[4]*/
15701 val_t variable[5];
15702 struct WBT_ **closurevariable = NULL;
15703 trace.prev = tracehead; tracehead = &trace;
15704 trace.file = LOCATE_compiling_methods;
15705 /* Register variable[0]: Local variable */
15706 variable[0] = self;
15707 /* Register variable[1]: Local variable */
15708 variable[1] = param0;
15709 /* Register variable[2]: Method return value and escape marker */
15710 variable[3] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15711 /* Register variable[4]: Once String constant */
15712 if (once_value_934 != NIT_NULL) variable[4] = once_value_934;
15713 else {
15714 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(" TAG_Char("), TAG_Int(10)) /*new String*/;
15715 once_value_934 = variable[4];
15716 }
15717 /* Register variable[4]: Result */
15718 /* Ensure var variable[4]: super-string element*/
15719 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15720 /* Register variable[4]: Result */
15721 variable[4] = CALL_parser_nodes___ACharExpr___n_char(variable[0])(variable[0]) /*ACharExpr::n_char*/;
15722 /* Register variable[4]: Result */
15723 variable[4] = CALL_lexer___Token___text(variable[4])(variable[4]) /*Token::text*/;
15724 /* Ensure var variable[4]: super-string element*/
15725 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15726 /* Register variable[4]: Once String constant */
15727 if (once_value_935 != NIT_NULL) variable[4] = once_value_935;
15728 else {
15729 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
15730 once_value_935 = variable[4];
15731 }
15732 /* Register variable[4]: Result */
15733 /* Ensure var variable[4]: super-string element*/
15734 CALL_abstract_collection___SimpleCollection___add(variable[3])(variable[3], variable[4]) /*AbstractArray::add*/;
15735 /* Register variable[3]: Result */
15736 variable[3] = CALL_string___Object___to_s(variable[3])(variable[3]) /*Object::to_s*/;
15737 variable[2] = variable[3];
15738 goto return_label933;
15739 return_label933: while(false);
15740 tracehead = trace.prev;
15741 return variable[2];
15742 }
15743 val_t compiling_methods___AStringFormExpr___compile_expr(val_t self, val_t param0) {
15744 struct trace_t trace = {NULL, NULL, 1324, LOCATE_compiling_methods___AStringFormExpr___compile_expr};
15745 static val_t once_value_937 = NIT_NULL; /* Once value for string variable[6]*/
15746 static val_t once_value_938 = NIT_NULL; /* Once value for string variable[6]*/
15747 static val_t once_value_939 = NIT_NULL; /* Once value for string variable[6]*/
15748 static val_t once_value_940 = NIT_NULL; /* Once value for string variable[6]*/
15749 static val_t once_value_941 = NIT_NULL; /* Once value for string variable[6]*/
15750 static val_t once_value_942 = NIT_NULL; /* Once value for string variable[6]*/
15751 static val_t once_value_943 = NIT_NULL; /* Once value for string variable[6]*/
15752 static val_t once_value_944 = NIT_NULL; /* Once value for string variable[6]*/
15753 static val_t once_value_945 = NIT_NULL; /* Once value for string variable[5]*/
15754 static val_t once_value_946 = NIT_NULL; /* Once value for string variable[10]*/
15755 static val_t once_value_947 = NIT_NULL; /* Once value for string variable[10]*/
15756 static val_t once_value_948 = NIT_NULL; /* Once value for string variable[11]*/
15757 static val_t once_value_949 = NIT_NULL; /* Once value for string variable[11]*/
15758 static val_t once_value_950 = NIT_NULL; /* Once value for string variable[7]*/
15759 static val_t once_value_951 = NIT_NULL; /* Once value for string variable[7]*/
15760 static val_t once_value_952 = NIT_NULL; /* Once value for string variable[7]*/
15761 static val_t once_value_953 = NIT_NULL; /* Once value for string variable[6]*/
15762 val_t variable[12];
15763 struct WBT_ **closurevariable = NULL;
15764 trace.prev = tracehead; tracehead = &trace;
15765 trace.file = LOCATE_compiling_methods;
15766 /* Register variable[0]: Local variable */
15767 variable[0] = self;
15768 /* Register variable[1]: Local variable */
15769 variable[1] = param0;
15770 /* Register variable[2]: Method return value and escape marker */
15771 CALL_compiling_methods___AStringFormExpr___compute_string_info(variable[0])(variable[0]) /*AStringFormExpr::compute_string_info*/;
15772 /* Register variable[3]: Local variable */
15773 /* Register variable[4]: Result */
15774 variable[4] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
15775 variable[3] = variable[4];
15776 /* Register variable[4]: Local variable */
15777 /* Register variable[5]: Result */
15778 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15779 /* Register variable[6]: Once String constant */
15780 if (once_value_937 != NIT_NULL) variable[6] = once_value_937;
15781 else {
15782 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Once String constant"), TAG_Int(20)) /*new String*/;
15783 once_value_937 = variable[6];
15784 }
15785 /* Register variable[6]: Result */
15786 /* Register variable[5]: Result */
15787 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
15788 variable[4] = variable[5];
15789 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15790 /* Register variable[6]: Once String constant */
15791 if (once_value_938 != NIT_NULL) variable[6] = once_value_938;
15792 else {
15793 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)) /*new String*/;
15794 once_value_938 = variable[6];
15795 }
15796 /* Register variable[6]: Result */
15797 /* Ensure var variable[6]: super-string element*/
15798 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15799 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
15800 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
15801 /* Register variable[6]: Once String constant */
15802 if (once_value_939 != NIT_NULL) variable[6] = once_value_939;
15803 else {
15804 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = NIT_NULL; /* Once value for string "), TAG_Int(38)) /*new String*/;
15805 once_value_939 = variable[6];
15806 }
15807 /* Register variable[6]: Result */
15808 /* Ensure var variable[6]: super-string element*/
15809 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15810 variable[6] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
15811 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15812 /* Register variable[6]: Once String constant */
15813 if (once_value_940 != NIT_NULL) variable[6] = once_value_940;
15814 else {
15815 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
15816 once_value_940 = variable[6];
15817 }
15818 /* Register variable[6]: Result */
15819 /* Ensure var variable[6]: super-string element*/
15820 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15821 /* Register variable[5]: Result */
15822 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
15823 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
15824 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15825 /* Register variable[6]: Once String constant */
15826 if (once_value_941 != NIT_NULL) variable[6] = once_value_941;
15827 else {
15828 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (once_value_"), TAG_Int(15)) /*new String*/;
15829 once_value_941 = variable[6];
15830 }
15831 /* Register variable[6]: Result */
15832 /* Ensure var variable[6]: super-string element*/
15833 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15834 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
15835 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
15836 /* Register variable[6]: Once String constant */
15837 if (once_value_942 != NIT_NULL) variable[6] = once_value_942;
15838 else {
15839 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" != NIT_NULL) "), TAG_Int(14)) /*new String*/;
15840 once_value_942 = variable[6];
15841 }
15842 /* Register variable[6]: Result */
15843 /* Ensure var variable[6]: super-string element*/
15844 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15845 variable[6] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
15846 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15847 /* Register variable[6]: Once String constant */
15848 if (once_value_943 != NIT_NULL) variable[6] = once_value_943;
15849 else {
15850 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)) /*new String*/;
15851 once_value_943 = variable[6];
15852 }
15853 /* Register variable[6]: Result */
15854 /* Ensure var variable[6]: super-string element*/
15855 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15856 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
15857 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
15858 /* Register variable[6]: Once String constant */
15859 if (once_value_944 != NIT_NULL) variable[6] = once_value_944;
15860 else {
15861 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
15862 once_value_944 = variable[6];
15863 }
15864 /* Register variable[6]: Result */
15865 /* Ensure var variable[6]: super-string element*/
15866 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
15867 /* Register variable[5]: Result */
15868 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
15869 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
15870 /* Register variable[5]: Once String constant */
15871 if (once_value_945 != NIT_NULL) variable[5] = once_value_945;
15872 else {
15873 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)) /*new String*/;
15874 once_value_945 = variable[5];
15875 }
15876 /* Register variable[5]: Result */
15877 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
15878 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
15879 /* Register variable[5]: Result */
15880 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
15881 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[4] /*cvar*/) /*CFunctionContext::free_var*/;
15882 /* Register variable[5]: Local variable */
15883 /* Register variable[6]: Result */
15884 variable[6] = CALL_typing___AStringFormExpr___meth_with_native(variable[0])(variable[0]) /*AStringFormExpr::meth_with_native*/;
15885 /* Register variable[7]: Result */
15886 variable[7] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
15887 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
15888 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15889 /* Register variable[10]: Once String constant */
15890 if (once_value_946 != NIT_NULL) variable[10] = once_value_946;
15891 else {
15892 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("BOX_NativeString(\""), TAG_Int(18)) /*new String*/;
15893 once_value_946 = variable[10];
15894 }
15895 /* Register variable[10]: Result */
15896 /* Ensure var variable[10]: super-string element*/
15897 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
15898 /* Register variable[10]: Result */
15899 variable[10] = ATTR_compiling_methods___AStringFormExpr____cstring(variable[0]) /*AStringFormExpr::_cstring*/;
15900 /* Ensure var variable[10]: super-string element*/
15901 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
15902 /* Register variable[10]: Once String constant */
15903 if (once_value_947 != NIT_NULL) variable[10] = once_value_947;
15904 else {
15905 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("\")"), TAG_Int(2)) /*new String*/;
15906 once_value_947 = variable[10];
15907 }
15908 /* Register variable[10]: Result */
15909 /* Ensure var variable[10]: super-string element*/
15910 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
15911 /* Register variable[9]: Result */
15912 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
15913 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
15914 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15915 /* Register variable[11]: Once String constant */
15916 if (once_value_948 != NIT_NULL) variable[11] = once_value_948;
15917 else {
15918 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
15919 once_value_948 = variable[11];
15920 }
15921 /* Register variable[11]: Result */
15922 /* Ensure var variable[11]: super-string element*/
15923 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
15924 /* Register variable[11]: Result */
15925 variable[11] = ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[0]) /*AStringFormExpr::_cstring_length*/;
15926 /* Ensure var variable[11]: super-string element*/
15927 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/) /*AbstractArray::add*/;
15928 /* Register variable[11]: Once String constant */
15929 if (once_value_949 != NIT_NULL) variable[11] = once_value_949;
15930 else {
15931 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
15932 once_value_949 = variable[11];
15933 }
15934 /* Register variable[11]: Result */
15935 /* Ensure var variable[11]: super-string element*/
15936 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
15937 /* Register variable[10]: Result */
15938 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
15939 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[10]) /*AbstractArray::add*/;
15940 /* Register variable[8]: Result */
15941 /* Register variable[6]: Result */
15942 variable[6] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[6])(variable[6], variable[1] /*v*/, variable[7], variable[8]) /*MMMethod::compile_constructor_call*/;
15943 variable[5] = variable[6];
15944 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*cvar*/, variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
15945 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
15946 /* Register variable[7]: Once String constant */
15947 if (once_value_950 != NIT_NULL) variable[7] = once_value_950;
15948 else {
15949 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)) /*new String*/;
15950 once_value_950 = variable[7];
15951 }
15952 /* Register variable[7]: Result */
15953 /* Ensure var variable[7]: super-string element*/
15954 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
15955 variable[7] = variable[3] /*i*/ /* Ensure var: super-string element*/;
15956 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
15957 /* Register variable[7]: Once String constant */
15958 if (once_value_951 != NIT_NULL) variable[7] = once_value_951;
15959 else {
15960 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
15961 once_value_951 = variable[7];
15962 }
15963 /* Register variable[7]: Result */
15964 /* Ensure var variable[7]: super-string element*/
15965 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
15966 variable[7] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
15967 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
15968 /* Register variable[7]: Once String constant */
15969 if (once_value_952 != NIT_NULL) variable[7] = once_value_952;
15970 else {
15971 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
15972 once_value_952 = variable[7];
15973 }
15974 /* Register variable[7]: Result */
15975 /* Ensure var variable[7]: super-string element*/
15976 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
15977 /* Register variable[6]: Result */
15978 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
15979 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
15980 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
15981 /* Register variable[6]: Once String constant */
15982 if (once_value_953 != NIT_NULL) variable[6] = once_value_953;
15983 else {
15984 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
15985 once_value_953 = variable[6];
15986 }
15987 /* Register variable[6]: Result */
15988 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
15989 variable[2] = variable[4] /*cvar*/;
15990 goto return_label936;
15991 return_label936: while(false);
15992 tracehead = trace.prev;
15993 return variable[2];
15994 }
15995 val_t compiling_methods___AStringFormExpr___string_text(val_t self) {
15996 struct trace_t trace = {NULL, NULL, 1342, LOCATE_compiling_methods___AStringFormExpr___string_text};
15997 val_t *variable = NULL;
15998 struct WBT_ **closurevariable = NULL;
15999 trace.prev = tracehead; tracehead = &trace;
16000 trace.file = LOCATE_compiling_methods;
16001 fprintf(stderr, "Deferred method called");
16002 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1342);
16003 nit_exit(1);
16004 tracehead = trace.prev;
16005 return NIT_NULL;
16006 }
16007 void compiling_methods___AStringFormExpr___compute_string_info(val_t self) {
16008 struct trace_t trace = {NULL, NULL, 1351, LOCATE_compiling_methods___AStringFormExpr___compute_string_info};
16009 val_t variable[9];
16010 struct WBT_ **closurevariable = NULL;
16011 trace.prev = tracehead; tracehead = &trace;
16012 trace.file = LOCATE_compiling_methods;
16013 /* Register variable[0]: Local variable */
16014 variable[0] = self;
16015 /* Register variable[1]: Method return value and escape marker */
16016 /* Register variable[2]: Local variable */
16017 variable[2] = TAG_Int(0);
16018 /* Register variable[3]: Local variable */
16019 /* Register variable[4]: Result */
16020 variable[4] = CALL_compiling_methods___AStringFormExpr___string_text(variable[0])(variable[0]) /*AStringFormExpr::string_text*/;
16021 variable[3] = variable[4];
16022 /* Register variable[4]: Local variable */
16023 /* Register variable[5]: Result */
16024 variable[5] = NEW_Buffer_string___Buffer___init() /*new Buffer*/;
16025 variable[4] = variable[5];
16026 /* Register variable[5]: Local variable */
16027 variable[5] = TAG_Int(0);
16028 while (true) { /*while*/
16029 /* Register variable[6]: Result */
16030 variable[6] = CALL_abstract_collection___Collection___length( variable[3] /*str*/)( variable[3] /*str*/) /*AbstractArrayRead::length*/;
16031 /* Register variable[6]: Result */
16032 variable[6] = TAG_Bool(UNTAG_Int( variable[5] /*i*/)<UNTAG_Int(variable[6]));
16033 if (!UNTAG_Bool(variable[6])) break; /* while*/
16034 /* Register variable[6]: Local variable */
16035 /* Register variable[7]: Result */
16036 variable[7] = CALL_abstract_collection___MapRead_____bra( variable[3] /*str*/)( variable[3] /*str*/, variable[5] /*i*/) /*AbstractString::[]*/;
16037 variable[6] = variable[7];
16038 /* Register variable[7]: Result */
16039 variable[7] = TAG_Bool(( variable[6] /*c*/)==( TAG_Char('\\')));
16040 if (UNTAG_Bool(variable[7])) { /*if*/
16041 /* Register variable[7]: Result */
16042 variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
16043 variable[5] = variable[7] /*i=*/;
16044 /* Register variable[7]: Local variable */
16045 /* Register variable[8]: Result */
16046 variable[8] = CALL_abstract_collection___MapRead_____bra( variable[3] /*str*/)( variable[3] /*str*/, variable[5] /*i*/) /*AbstractString::[]*/;
16047 variable[7] = variable[8];
16048 /* Register variable[8]: Result */
16049 variable[8] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('{')));
16050 /* Ensure var variable[8]: Left 'and' operand*/
16051 if (UNTAG_Bool(variable[8])) { /* and */
16052 /* Register variable[8]: Result */
16053 variable[8] = TAG_Bool(( variable[7] /*c2*/)!=( TAG_Char('}')));
16054 }
16055 /* Register variable[8]: Result */
16056 if (UNTAG_Bool(variable[8])) { /*if*/
16057 CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[6] /*c*/) /*Buffer::add*/;
16058 }
16059 variable[6] = variable[7] /*c2*/ /*c=*/;
16060 }
16061 /* Register variable[7]: Result */
16062 variable[7] = TAG_Int(UNTAG_Int( variable[2] /*len*/)+UNTAG_Int( TAG_Int(1)));
16063 variable[2] = variable[7] /*len=*/;
16064 CALL_abstract_collection___SimpleCollection___add( variable[4] /*res*/)( variable[4] /*res*/, variable[6] /*c*/) /*Buffer::add*/;
16065 /* Register variable[7]: Result */
16066 variable[7] = TAG_Int(UNTAG_Int( variable[5] /*i*/)+UNTAG_Int( TAG_Int(1)));
16067 variable[5] = variable[7] /*i=*/;
16068 continue_955: while(0);
16069 }
16070 break_955: while(0);
16071 /* Register variable[6]: Result */
16072 variable[6] = CALL_string___Object___to_s( variable[4] /*res*/)( variable[4] /*res*/) /*Buffer::to_s*/;
16073 ATTR_compiling_methods___AStringFormExpr____cstring(variable[0]) /*AStringFormExpr::_cstring*/ = variable[6];
16074 ATTR_compiling_methods___AStringFormExpr____cstring_length(variable[0]) /*AStringFormExpr::_cstring_length*/ = variable[2] /*len*/;
16075 return_label954: while(false);
16076 tracehead = trace.prev;
16077 return;
16078 }
16079 val_t compiling_methods___AStringExpr___string_text(val_t self) {
16080 struct trace_t trace = {NULL, NULL, 1378, LOCATE_compiling_methods___AStringExpr___string_text};
16081 val_t variable[4];
16082 struct WBT_ **closurevariable = NULL;
16083 trace.prev = tracehead; tracehead = &trace;
16084 trace.file = LOCATE_compiling_methods;
16085 /* Register variable[0]: Local variable */
16086 variable[0] = self;
16087 /* Register variable[1]: Method return value and escape marker */
16088 /* Register variable[2]: Result */
16089 variable[2] = CALL_parser_nodes___AStringExpr___n_string(variable[0])(variable[0]) /*AStringExpr::n_string*/;
16090 /* Register variable[2]: Result */
16091 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
16092 /* Register variable[3]: Result */
16093 variable[3] = CALL_parser_nodes___AStringExpr___n_string(variable[0])(variable[0]) /*AStringExpr::n_string*/;
16094 /* Register variable[3]: Result */
16095 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
16096 /* Register variable[3]: Result */
16097 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
16098 /* Register variable[3]: Result */
16099 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
16100 /* Register variable[2]: Result */
16101 variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*AbstractString::substring*/;
16102 variable[1] = variable[2];
16103 goto return_label956;
16104 return_label956: while(false);
16105 tracehead = trace.prev;
16106 return variable[1];
16107 }
16108 val_t compiling_methods___AStartStringExpr___string_text(val_t self) {
16109 struct trace_t trace = {NULL, NULL, 1381, LOCATE_compiling_methods___AStartStringExpr___string_text};
16110 val_t variable[4];
16111 struct WBT_ **closurevariable = NULL;
16112 trace.prev = tracehead; tracehead = &trace;
16113 trace.file = LOCATE_compiling_methods;
16114 /* Register variable[0]: Local variable */
16115 variable[0] = self;
16116 /* Register variable[1]: Method return value and escape marker */
16117 /* Register variable[2]: Result */
16118 variable[2] = CALL_parser_nodes___AStartStringExpr___n_string(variable[0])(variable[0]) /*AStartStringExpr::n_string*/;
16119 /* Register variable[2]: Result */
16120 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
16121 /* Register variable[3]: Result */
16122 variable[3] = CALL_parser_nodes___AStartStringExpr___n_string(variable[0])(variable[0]) /*AStartStringExpr::n_string*/;
16123 /* Register variable[3]: Result */
16124 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
16125 /* Register variable[3]: Result */
16126 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
16127 /* Register variable[3]: Result */
16128 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
16129 /* Register variable[2]: Result */
16130 variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*AbstractString::substring*/;
16131 variable[1] = variable[2];
16132 goto return_label957;
16133 return_label957: while(false);
16134 tracehead = trace.prev;
16135 return variable[1];
16136 }
16137 val_t compiling_methods___AMidStringExpr___string_text(val_t self) {
16138 struct trace_t trace = {NULL, NULL, 1384, LOCATE_compiling_methods___AMidStringExpr___string_text};
16139 val_t variable[4];
16140 struct WBT_ **closurevariable = NULL;
16141 trace.prev = tracehead; tracehead = &trace;
16142 trace.file = LOCATE_compiling_methods;
16143 /* Register variable[0]: Local variable */
16144 variable[0] = self;
16145 /* Register variable[1]: Method return value and escape marker */
16146 /* Register variable[2]: Result */
16147 variable[2] = CALL_parser_nodes___AMidStringExpr___n_string(variable[0])(variable[0]) /*AMidStringExpr::n_string*/;
16148 /* Register variable[2]: Result */
16149 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
16150 /* Register variable[3]: Result */
16151 variable[3] = CALL_parser_nodes___AMidStringExpr___n_string(variable[0])(variable[0]) /*AMidStringExpr::n_string*/;
16152 /* Register variable[3]: Result */
16153 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
16154 /* Register variable[3]: Result */
16155 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
16156 /* Register variable[3]: Result */
16157 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
16158 /* Register variable[2]: Result */
16159 variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*AbstractString::substring*/;
16160 variable[1] = variable[2];
16161 goto return_label958;
16162 return_label958: while(false);
16163 tracehead = trace.prev;
16164 return variable[1];
16165 }
16166 val_t compiling_methods___AEndStringExpr___string_text(val_t self) {
16167 struct trace_t trace = {NULL, NULL, 1387, LOCATE_compiling_methods___AEndStringExpr___string_text};
16168 val_t variable[4];
16169 struct WBT_ **closurevariable = NULL;
16170 trace.prev = tracehead; tracehead = &trace;
16171 trace.file = LOCATE_compiling_methods;
16172 /* Register variable[0]: Local variable */
16173 variable[0] = self;
16174 /* Register variable[1]: Method return value and escape marker */
16175 /* Register variable[2]: Result */
16176 variable[2] = CALL_parser_nodes___AEndStringExpr___n_string(variable[0])(variable[0]) /*AEndStringExpr::n_string*/;
16177 /* Register variable[2]: Result */
16178 variable[2] = CALL_lexer___Token___text(variable[2])(variable[2]) /*Token::text*/;
16179 /* Register variable[3]: Result */
16180 variable[3] = CALL_parser_nodes___AEndStringExpr___n_string(variable[0])(variable[0]) /*AEndStringExpr::n_string*/;
16181 /* Register variable[3]: Result */
16182 variable[3] = CALL_lexer___Token___text(variable[3])(variable[3]) /*Token::text*/;
16183 /* Register variable[3]: Result */
16184 variable[3] = CALL_abstract_collection___Collection___length(variable[3])(variable[3]) /*AbstractArrayRead::length*/;
16185 /* Register variable[3]: Result */
16186 variable[3] = TAG_Int(UNTAG_Int(variable[3])-UNTAG_Int( TAG_Int(2)));
16187 /* Register variable[2]: Result */
16188 variable[2] = CALL_string___AbstractString___substring(variable[2])(variable[2], TAG_Int(1), variable[3]) /*AbstractString::substring*/;
16189 variable[1] = variable[2];
16190 goto return_label959;
16191 return_label959: while(false);
16192 tracehead = trace.prev;
16193 return variable[1];
16194 }
16195 val_t compiling_methods___ASuperstringExpr___compile_expr(val_t self, val_t param0) {
16196 struct trace_t trace = {NULL, NULL, 1391, LOCATE_compiling_methods___ASuperstringExpr___compile_expr};
16197 static val_t once_value_961 = NIT_NULL; /* Once value for string variable[8]*/
16198 static val_t once_value_962 = NIT_NULL; /* Once value for string variable[8]*/
16199 static val_t once_value_963 = NIT_NULL; /* Once value for string variable[4]*/
16200 static val_t once_value_965 = NIT_NULL; /* Once value for string variable[9]*/
16201 val_t variable[10];
16202 struct WBT_ **closurevariable = NULL;
16203 trace.prev = tracehead; tracehead = &trace;
16204 trace.file = LOCATE_compiling_methods;
16205 /* Register variable[0]: Local variable */
16206 variable[0] = self;
16207 /* Register variable[1]: Local variable */
16208 variable[1] = param0;
16209 /* Register variable[2]: Method return value and escape marker */
16210 /* Register variable[3]: Local variable */
16211 /* Register variable[4]: Result */
16212 variable[4] = CALL_typing___ASuperstringExpr___meth_with_capacity(variable[0])(variable[0]) /*ASuperstringExpr::meth_with_capacity*/;
16213 /* Register variable[5]: Result */
16214 variable[5] = CALL_typing___ASuperstringExpr___atype(variable[0])(variable[0]) /*ASuperstringExpr::atype*/;
16215 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16216 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
16217 /* Register variable[8]: Once String constant */
16218 if (once_value_961 != NIT_NULL) variable[8] = once_value_961;
16219 else {
16220 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
16221 once_value_961 = variable[8];
16222 }
16223 /* Register variable[8]: Result */
16224 /* Ensure var variable[8]: super-string element*/
16225 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
16226 /* Register variable[8]: Result */
16227 variable[8] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[0])(variable[0]) /*ASuperstringExpr::n_exprs*/;
16228 /* Register variable[8]: Result */
16229 variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
16230 /* Ensure var variable[8]: super-string element*/
16231 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
16232 /* Register variable[8]: Once String constant */
16233 if (once_value_962 != NIT_NULL) variable[8] = once_value_962;
16234 else {
16235 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
16236 once_value_962 = variable[8];
16237 }
16238 /* Register variable[8]: Result */
16239 /* Ensure var variable[8]: super-string element*/
16240 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
16241 /* Register variable[7]: Result */
16242 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
16243 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
16244 /* Register variable[6]: Result */
16245 /* Register variable[4]: Result */
16246 variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
16247 variable[3] = variable[4];
16248 /* Register variable[4]: Once String constant */
16249 if (once_value_963 != NIT_NULL) variable[4] = once_value_963;
16250 else {
16251 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Array (for super-string)"), TAG_Int(24)) /*new String*/;
16252 once_value_963 = variable[4];
16253 }
16254 /* Register variable[4]: Result */
16255 /* Register variable[4]: Result */
16256 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*array*/, variable[4]) /*CompilerVisitor::ensure_var*/;
16257 variable[3] = variable[4] /*array=*/;
16258 /* Register variable[4]: Result */
16259 variable[4] = CALL_parser_nodes___ASuperstringExpr___n_exprs(variable[0])(variable[0]) /*ASuperstringExpr::n_exprs*/;
16260 /* Register variable[4]: For iterator */
16261 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
16262 while (true) { /*for*/
16263 /* Register variable[5]: For 'is_ok' result */
16264 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
16265 if (!UNTAG_Bool(variable[5])) break; /*for*/
16266 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/ /* Ensure var: For item*/;
16267 /* Register variable[6]: Local variable */
16268 variable[6] = variable[5];
16269 /* Register variable[7]: Local variable */
16270 /* Register variable[8]: Result */
16271 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
16272 /* Register variable[9]: Once String constant */
16273 if (once_value_965 != NIT_NULL) variable[9] = once_value_965;
16274 else {
16275 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("super-string element"), TAG_Int(20)) /*new String*/;
16276 once_value_965 = variable[9];
16277 }
16278 /* Register variable[9]: Result */
16279 /* Register variable[8]: Result */
16280 variable[8] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[8], variable[9]) /*CompilerVisitor::ensure_var*/;
16281 variable[7] = variable[8];
16282 /* Register variable[8]: Result */
16283 variable[8] = CALL_syntax_base___PExpr___stype( variable[6] /*ne*/)( variable[6] /*ne*/) /*PExpr::stype*/;
16284 /* Register variable[9]: Result */
16285 variable[9] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
16286 /* Register variable[8]: Result */
16287 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::==*/)))))));
16288 if (UNTAG_Bool(variable[8])) { /*if*/
16289 /* Register variable[8]: Result */
16290 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
16291 CALL_compiling_methods___CFunctionContext___free_var(variable[8])(variable[8], variable[7] /*e*/) /*CFunctionContext::free_var*/;
16292 /* Register variable[8]: Result */
16293 variable[8] = CALL_typing___ASuperstringExpr___meth_to_s(variable[0])(variable[0]) /*ASuperstringExpr::meth_to_s*/;
16294 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16295 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
16296 /* Register variable[9]: Result */
16297 /* Register variable[8]: Result */
16298 variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
16299 variable[7] = variable[8] /*e=*/;
16300 }
16301 /* Register variable[8]: Result */
16302 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
16303 CALL_compiling_methods___CFunctionContext___free_var(variable[8])(variable[8], variable[7] /*e*/) /*CFunctionContext::free_var*/;
16304 /* Register variable[8]: Result */
16305 variable[8] = CALL_typing___ASuperstringExpr___meth_add(variable[0])(variable[0]) /*ASuperstringExpr::meth_add*/;
16306 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16307 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[3] /*array*/) /*AbstractArray::add*/;
16308 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
16309 /* Register variable[9]: Result */
16310 CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_stmt_call*/;
16311 continue_964: while(0);
16312 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
16313 }
16314 break_964: while(0);
16315 /* Register variable[4]: Result */
16316 variable[4] = CALL_typing___ASuperstringExpr___meth_to_s(variable[0])(variable[0]) /*ASuperstringExpr::meth_to_s*/;
16317 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16318 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[3] /*array*/) /*AbstractArray::add*/;
16319 /* Register variable[5]: Result */
16320 /* Register variable[4]: Result */
16321 variable[4] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[4])(variable[4], variable[1] /*v*/, variable[5]) /*MMMethod::compile_expr_call*/;
16322 variable[2] = variable[4];
16323 goto return_label960;
16324 return_label960: while(false);
16325 tracehead = trace.prev;
16326 return variable[2];
16327 }
16328 val_t compiling_methods___ANullExpr___compile_expr(val_t self, val_t param0) {
16329 struct trace_t trace = {NULL, NULL, 1411, LOCATE_compiling_methods___ANullExpr___compile_expr};
16330 static val_t once_value_967 = NIT_NULL; /* Once value for string variable[3]*/
16331 val_t variable[4];
16332 struct WBT_ **closurevariable = NULL;
16333 trace.prev = tracehead; tracehead = &trace;
16334 trace.file = LOCATE_compiling_methods;
16335 /* Register variable[0]: Local variable */
16336 variable[0] = self;
16337 /* Register variable[1]: Local variable */
16338 variable[1] = param0;
16339 /* Register variable[2]: Method return value and escape marker */
16340 /* Register variable[3]: Once String constant */
16341 if (once_value_967 != NIT_NULL) variable[3] = once_value_967;
16342 else {
16343 variable[3] = NEW_String_string___String___with_native(BOX_NativeString(" NIT_NULL /*null*/"), TAG_Int(18)) /*new String*/;
16344 once_value_967 = variable[3];
16345 }
16346 /* Register variable[3]: Result */
16347 variable[2] = variable[3];
16348 goto return_label966;
16349 return_label966: while(false);
16350 tracehead = trace.prev;
16351 return variable[2];
16352 }
16353 val_t compiling_methods___AArrayExpr___compile_expr(val_t self, val_t param0) {
16354 struct trace_t trace = {NULL, NULL, 1418, LOCATE_compiling_methods___AArrayExpr___compile_expr};
16355 static val_t once_value_969 = NIT_NULL; /* Once value for string variable[8]*/
16356 static val_t once_value_970 = NIT_NULL; /* Once value for string variable[8]*/
16357 static val_t once_value_971 = NIT_NULL; /* Once value for string variable[4]*/
16358 val_t variable[10];
16359 struct WBT_ **closurevariable = NULL;
16360 trace.prev = tracehead; tracehead = &trace;
16361 trace.file = LOCATE_compiling_methods;
16362 /* Register variable[0]: Local variable */
16363 variable[0] = self;
16364 /* Register variable[1]: Local variable */
16365 variable[1] = param0;
16366 /* Register variable[2]: Method return value and escape marker */
16367 /* Register variable[3]: Local variable */
16368 /* Register variable[4]: Result */
16369 variable[4] = CALL_typing___AArrayExpr___meth_with_capacity(variable[0])(variable[0]) /*AArrayExpr::meth_with_capacity*/;
16370 /* Register variable[5]: Result */
16371 variable[5] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
16372 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16373 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
16374 /* Register variable[8]: Once String constant */
16375 if (once_value_969 != NIT_NULL) variable[8] = once_value_969;
16376 else {
16377 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("TAG_Int("), TAG_Int(8)) /*new String*/;
16378 once_value_969 = variable[8];
16379 }
16380 /* Register variable[8]: Result */
16381 /* Ensure var variable[8]: super-string element*/
16382 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
16383 /* Register variable[8]: Result */
16384 variable[8] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[0])(variable[0]) /*AArrayExpr::n_exprs*/;
16385 /* Register variable[8]: Result */
16386 variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
16387 /* Ensure var variable[8]: super-string element*/
16388 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/) /*AbstractArray::add*/;
16389 /* Register variable[8]: Once String constant */
16390 if (once_value_970 != NIT_NULL) variable[8] = once_value_970;
16391 else {
16392 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
16393 once_value_970 = variable[8];
16394 }
16395 /* Register variable[8]: Result */
16396 /* Ensure var variable[8]: super-string element*/
16397 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
16398 /* Register variable[7]: Result */
16399 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
16400 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
16401 /* Register variable[6]: Result */
16402 /* Register variable[4]: Result */
16403 variable[4] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[6]) /*MMMethod::compile_constructor_call*/;
16404 variable[3] = variable[4];
16405 /* Register variable[4]: Once String constant */
16406 if (once_value_971 != NIT_NULL) variable[4] = once_value_971;
16407 else {
16408 variable[4] = NEW_String_string___String___with_native(BOX_NativeString("Literal array"), TAG_Int(13)) /*new String*/;
16409 once_value_971 = variable[4];
16410 }
16411 /* Register variable[4]: Result */
16412 /* Register variable[4]: Result */
16413 variable[4] = CALL_compiling_methods___CompilerVisitor___ensure_var( variable[1] /*v*/)( variable[1] /*v*/, variable[3] /*recv*/, variable[4]) /*CompilerVisitor::ensure_var*/;
16414 variable[3] = variable[4] /*recv=*/;
16415 /* Register variable[4]: Result */
16416 variable[4] = CALL_parser_nodes___AArrayExpr___n_exprs(variable[0])(variable[0]) /*AArrayExpr::n_exprs*/;
16417 /* Register variable[4]: For iterator */
16418 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*List::iterator*/;
16419 while (true) { /*for*/
16420 /* Register variable[5]: For 'is_ok' result */
16421 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ListIterator::is_ok*/;
16422 if (!UNTAG_Bool(variable[5])) break; /*for*/
16423 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ListIterator::item*/ /* Ensure var: For item*/;
16424 /* Register variable[6]: Local variable */
16425 variable[6] = variable[5];
16426 /* Register variable[7]: Local variable */
16427 /* Register variable[8]: Result */
16428 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*ne*/) /*CompilerVisitor::compile_expr*/;
16429 variable[7] = variable[8];
16430 /* Register variable[8]: Result */
16431 variable[8] = CALL_typing___AArrayExpr___meth_add(variable[0])(variable[0]) /*AArrayExpr::meth_add*/;
16432 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16433 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[3] /*recv*/) /*AbstractArray::add*/;
16434 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[7] /*e*/) /*AbstractArray::add*/;
16435 /* Register variable[9]: Result */
16436 CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_stmt_call*/;
16437 continue_972: while(0);
16438 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ListIterator::next*/;
16439 }
16440 break_972: while(0);
16441 variable[2] = variable[3] /*recv*/;
16442 goto return_label968;
16443 return_label968: while(false);
16444 tracehead = trace.prev;
16445 return variable[2];
16446 }
16447 val_t compiling_methods___ARangeExpr___compile_expr(val_t self, val_t param0) {
16448 struct trace_t trace = {NULL, NULL, 1432, LOCATE_compiling_methods___ARangeExpr___compile_expr};
16449 val_t variable[8];
16450 struct WBT_ **closurevariable = NULL;
16451 trace.prev = tracehead; tracehead = &trace;
16452 trace.file = LOCATE_compiling_methods;
16453 /* Register variable[0]: Local variable */
16454 variable[0] = self;
16455 /* Register variable[1]: Local variable */
16456 variable[1] = param0;
16457 /* Register variable[2]: Method return value and escape marker */
16458 /* Register variable[3]: Local variable */
16459 /* Register variable[4]: Result */
16460 variable[4] = CALL_parser_nodes___ARangeExpr___n_expr(variable[0])(variable[0]) /*ARangeExpr::n_expr*/;
16461 /* Register variable[4]: Result */
16462 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16463 variable[3] = variable[4];
16464 /* Register variable[4]: Local variable */
16465 /* Register variable[5]: Result */
16466 variable[5] = CALL_parser_nodes___ARangeExpr___n_expr2(variable[0])(variable[0]) /*ARangeExpr::n_expr2*/;
16467 /* Register variable[5]: Result */
16468 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
16469 variable[4] = variable[5];
16470 /* Register variable[5]: Result */
16471 variable[5] = CALL_typing___ARangeExpr___meth_init(variable[0])(variable[0]) /*ARangeExpr::meth_init*/;
16472 /* Register variable[6]: Result */
16473 variable[6] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
16474 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16475 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[3] /*e*/) /*AbstractArray::add*/;
16476 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[4] /*e2*/) /*AbstractArray::add*/;
16477 /* Register variable[7]: Result */
16478 /* Register variable[5]: Result */
16479 variable[5] = CALL_compiling_methods___MMMethod___compile_constructor_call(variable[5])(variable[5], variable[1] /*v*/, variable[6], variable[7]) /*MMMethod::compile_constructor_call*/;
16480 variable[2] = variable[5];
16481 goto return_label973;
16482 return_label973: while(false);
16483 tracehead = trace.prev;
16484 return variable[2];
16485 }
16486 val_t compiling_methods___ASuperExpr___compile_expr(val_t self, val_t param0) {
16487 struct trace_t trace = {NULL, NULL, 1449, LOCATE_compiling_methods___ASuperExpr___compile_expr};
16488 val_t variable[5];
16489 struct WBT_ **closurevariable = NULL;
16490 trace.prev = tracehead; tracehead = &trace;
16491 trace.file = LOCATE_compiling_methods;
16492 /* Register variable[0]: Local variable */
16493 variable[0] = self;
16494 /* Register variable[1]: Local variable */
16495 variable[1] = param0;
16496 /* Register variable[2]: Method return value and escape marker */
16497 /* Register variable[3]: Local variable */
16498 /* Register variable[4]: Result */
16499 variable[4] = CALL_compiling_methods___ASuperExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*ASuperExpr::intern_compile_call*/;
16500 variable[3] = variable[4];
16501 /* Register variable[4]: Result */
16502 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::==*/)))))));
16503 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASuperExpr___compile_expr, LOCATE_compiling_methods, 1452); nit_exit(1);}
16504 variable[2] = variable[3] /*e*/;
16505 goto return_label974;
16506 return_label974: while(false);
16507 tracehead = trace.prev;
16508 return variable[2];
16509 }
16510 void compiling_methods___ASuperExpr___compile_stmt(val_t self, val_t param0) {
16511 struct trace_t trace = {NULL, NULL, 1441, LOCATE_compiling_methods___ASuperExpr___compile_stmt};
16512 static val_t once_value_976 = NIT_NULL; /* Once value for string variable[4]*/
16513 val_t variable[5];
16514 struct WBT_ **closurevariable = NULL;
16515 trace.prev = tracehead; tracehead = &trace;
16516 trace.file = LOCATE_compiling_methods;
16517 /* Register variable[0]: Local variable */
16518 variable[0] = self;
16519 /* Register variable[1]: Local variable */
16520 variable[1] = param0;
16521 /* Register variable[2]: Method return value and escape marker */
16522 /* Register variable[3]: Local variable */
16523 /* Register variable[4]: Result */
16524 variable[4] = CALL_compiling_methods___ASuperExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*ASuperExpr::intern_compile_call*/;
16525 variable[3] = variable[4];
16526 /* Register variable[4]: Result */
16527 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::==*/)))))));
16528 if (UNTAG_Bool(variable[4])) { /*if*/
16529 /* Register variable[4]: Once String constant */
16530 if (once_value_976 != NIT_NULL) variable[4] = once_value_976;
16531 else {
16532 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
16533 once_value_976 = variable[4];
16534 }
16535 /* Register variable[4]: Result */
16536 /* Register variable[4]: Result */
16537 variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
16538 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
16539 }
16540 return_label975: while(false);
16541 tracehead = trace.prev;
16542 return;
16543 }
16544 val_t compiling_methods___ASuperExpr___intern_compile_call(val_t self, val_t param0) {
16545 struct trace_t trace = {NULL, NULL, 1456, LOCATE_compiling_methods___ASuperExpr___intern_compile_call};
16546 static val_t once_value_982 = NIT_NULL; /* Once value for string variable[5]*/
16547 val_t variable[15];
16548 struct WBT_ **closurevariable = NULL;
16549 trace.prev = tracehead; tracehead = &trace;
16550 trace.file = LOCATE_compiling_methods;
16551 /* Register variable[0]: Local variable */
16552 variable[0] = self;
16553 /* Register variable[1]: Local variable */
16554 variable[1] = param0;
16555 /* Register variable[2]: Method return value and escape marker */
16556 /* Register variable[3]: Local variable */
16557 /* Register variable[4]: Result */
16558 variable[4] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
16559 /* Register variable[4]: Result */
16560 variable[4] = CALL_compiling_methods___NitMethodContext___method_params(variable[4])(variable[4]) /*NitMethodContext::method_params*/;
16561 /* Register variable[4]: Result */
16562 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
16563 /* Register variable[4]: Result */
16564 variable[4] = TAG_Int(UNTAG_Int(variable[4])-UNTAG_Int( TAG_Int(1)));
16565 variable[3] = variable[4];
16566 /* Register variable[4]: Result */
16567 variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
16568 /* Register variable[4]: Result */
16569 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::==*/)))))));
16570 if (UNTAG_Bool(variable[4])) { /*if*/
16571 /* Register variable[4]: Result */
16572 variable[4] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
16573 /* Register variable[4]: Result */
16574 variable[4] = CALL_static_type___MMLocalProperty___signature(variable[4])(variable[4]) /*MMLocalProperty::signature*/;
16575 /* Register variable[4]: Result */
16576 variable[4] = CALL_static_type___MMSignature___arity(variable[4])(variable[4]) /*MMSignature::arity*/;
16577 variable[3] = variable[4] /*arity=*/;
16578 }
16579 /* Register variable[4]: Local variable */
16580 /* Register variable[5]: Result */
16581 variable[5] = TAG_Int(UNTAG_Int( variable[3] /*arity*/)+UNTAG_Int( TAG_Int(1)));
16582 /* Register variable[5]: Result */
16583 variable[5] = NEW_Array_array___Array___with_capacity(variable[5]) /*new Array[String]*/;
16584 variable[4] = variable[5];
16585 /* Register variable[5]: Result */
16586 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
16587 /* Register variable[6]: Result */
16588 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
16589 /* Register variable[6]: Result */
16590 variable[6] = CALL_compiling_methods___NitMethodContext___method_params(variable[6])(variable[6]) /*NitMethodContext::method_params*/;
16591 /* Register variable[7]: Local variable */
16592 variable[7] = variable[6];
16593 /* Register variable[8]: Local variable */
16594 variable[8] = TAG_Int(0);
16595 /* Register variable[9]: Method return value and escape marker */
16596 /* Register variable[10]: Result */
16597 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)>=UNTAG_Int( TAG_Int(0)));
16598 /* Ensure var variable[10]: Left 'and' operand*/
16599 if (UNTAG_Bool(variable[10])) { /* and */
16600 /* Register variable[10]: Result */
16601 variable[10] = ATTR_array___AbstractArrayRead____length(variable[7]) /*AbstractArrayRead::_length*/;
16602 /* Register variable[10]: Result */
16603 variable[10] = TAG_Bool(UNTAG_Int( variable[8] /*index*/)<UNTAG_Int(variable[10]));
16604 }
16605 /* Register variable[10]: Result */
16606 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, 234); nit_exit(1);}
16607 /* Register variable[10]: Result */
16608 variable[10] = ATTR_array___Array____items(variable[7]) /*Array::_items*/;
16609 /* Register variable[10]: Result */
16610 variable[10] = UNBOX_NativeArray(variable[10])[UNTAG_Int( variable[8] /*index*/)];
16611 variable[9] = variable[10];
16612 goto return_label978;
16613 return_label978: while(false);
16614 /* Register variable[6]: Result */
16615 variable[6] = variable[9];
16616 /* Register variable[5]: Result */
16617 variable[5] = CALL_compiling_methods___CFunctionContext___varname(variable[5])(variable[5], variable[6]) /*CFunctionContext::varname*/;
16618 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
16619 /* Register variable[5]: Result */
16620 variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[0])(variable[0]) /*ASuperExpr::n_args*/;
16621 /* Register variable[5]: Result */
16622 variable[5] = CALL_abstract_collection___Collection___length(variable[5])(variable[5]) /*List::length*/;
16623 /* Register variable[5]: Result */
16624 variable[5] = TAG_Bool((variable[5])!=( variable[3] /*arity*/));
16625 if (UNTAG_Bool(variable[5])) { /*if*/
16626 /* Register variable[5]: Result */
16627 variable[5] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[3] /*arity*/) /*new Range[Int]*/;
16628 /* Register variable[5]: For iterator */
16629 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*Range::iterator*/;
16630 while (true) { /*for*/
16631 /* Register variable[6]: For 'is_ok' result */
16632 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*Iterator::is_ok*/;
16633 if (!UNTAG_Bool(variable[6])) break; /*for*/
16634 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*Iterator::item*/ /* Ensure var: For item*/;
16635 /* Register variable[7]: Local variable */
16636 variable[7] = variable[6];
16637 /* Register variable[8]: Result */
16638 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
16639 /* Register variable[9]: Result */
16640 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
16641 /* Register variable[9]: Result */
16642 variable[9] = CALL_compiling_methods___NitMethodContext___method_params(variable[9])(variable[9]) /*NitMethodContext::method_params*/;
16643 /* Register variable[10]: Result */
16644 variable[10] = TAG_Int(UNTAG_Int( variable[7] /*i*/)+UNTAG_Int( TAG_Int(1)));
16645 /* Register variable[11]: Local variable */
16646 variable[11] = variable[9];
16647 /* Register variable[12]: Local variable */
16648 variable[12] = variable[10];
16649 /* Register variable[13]: Method return value and escape marker */
16650 /* Register variable[14]: Result */
16651 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
16652 /* Ensure var variable[14]: Left 'and' operand*/
16653 if (UNTAG_Bool(variable[14])) { /* and */
16654 /* Register variable[14]: Result */
16655 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
16656 /* Register variable[14]: Result */
16657 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
16658 }
16659 /* Register variable[14]: Result */
16660 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, 234); nit_exit(1);}
16661 /* Register variable[14]: Result */
16662 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
16663 /* Register variable[14]: Result */
16664 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
16665 variable[13] = variable[14];
16666 goto return_label980;
16667 return_label980: while(false);
16668 /* Register variable[9]: Result */
16669 variable[9] = variable[13];
16670 /* Register variable[8]: Result */
16671 variable[8] = CALL_compiling_methods___CFunctionContext___varname(variable[8])(variable[8], variable[9]) /*CFunctionContext::varname*/;
16672 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
16673 continue_979: while(0);
16674 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*Iterator::next*/;
16675 }
16676 break_979: while(0);
16677 } else { /*if*/
16678 /* Register variable[5]: Result */
16679 variable[5] = CALL_parser_nodes___ASuperExpr___n_args(variable[0])(variable[0]) /*ASuperExpr::n_args*/;
16680 /* Register variable[5]: For iterator */
16681 variable[5] = CALL_abstract_collection___Collection___iterator(variable[5])(variable[5]) /*List::iterator*/;
16682 while (true) { /*for*/
16683 /* Register variable[6]: For 'is_ok' result */
16684 variable[6] = CALL_abstract_collection___Iterator___is_ok(variable[5])(variable[5]) /*ListIterator::is_ok*/;
16685 if (!UNTAG_Bool(variable[6])) break; /*for*/
16686 variable[6] = CALL_abstract_collection___Iterator___item(variable[5])(variable[5]) /*ListIterator::item*/ /* Ensure var: For item*/;
16687 /* Register variable[7]: Local variable */
16688 variable[7] = variable[6];
16689 /* Register variable[8]: Result */
16690 variable[8] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*na*/) /*CompilerVisitor::compile_expr*/;
16691 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[8]) /*AbstractArray::add*/;
16692 continue_981: while(0);
16693 CALL_abstract_collection___Iterator___next(variable[5])(variable[5]) /*ListIterator::next*/;
16694 }
16695 break_981: while(0);
16696 }
16697 /* Register variable[5]: Result */
16698 variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
16699 /* Register variable[5]: Result */
16700 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::==*/)))))));
16701 if (UNTAG_Bool(variable[5])) { /*if*/
16702 /* Register variable[5]: Result */
16703 variable[5] = CALL_typing___ASuperExpr___init_in_superclass(variable[0])(variable[0]) /*ASuperExpr::init_in_superclass*/;
16704 /* Register variable[5]: Result */
16705 variable[5] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[5])(variable[5], variable[1] /*v*/, variable[4] /*args*/) /*MMMethod::intern_compile_call*/;
16706 variable[2] = variable[5];
16707 goto return_label977;
16708 } else { /*if*/
16709 /* Register variable[5]: Result */
16710 variable[5] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
16711 /* Register variable[5]: Result */
16712 variable[5] = CALL_abstractmetamodel___MMLocalProperty___global(variable[5])(variable[5]) /*MMLocalProperty::global*/;
16713 /* Register variable[5]: Result */
16714 variable[5] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[5])(variable[5]) /*MMGlobalProperty::is_init*/;
16715 if (UNTAG_Bool(variable[5])) { /*if*/
16716 /* Register variable[5]: Once String constant */
16717 if (once_value_982 != NIT_NULL) variable[5] = once_value_982;
16718 else {
16719 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("init_table"), TAG_Int(10)) /*new String*/;
16720 once_value_982 = variable[5];
16721 }
16722 /* Register variable[5]: Result */
16723 CALL_abstract_collection___SimpleCollection___add( variable[4] /*args*/)( variable[4] /*args*/, variable[5]) /*AbstractArray::add*/;
16724 }
16725 /* Register variable[5]: Result */
16726 variable[5] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
16727 /* Register variable[5]: Result */
16728 variable[5] = CALL_compiling_methods___MMMethod___compile_super_call(variable[5])(variable[5], variable[1] /*v*/, variable[4] /*args*/) /*MMMethod::compile_super_call*/;
16729 variable[2] = variable[5];
16730 goto return_label977;
16731 }
16732 return_label977: while(false);
16733 tracehead = trace.prev;
16734 return variable[2];
16735 }
16736 val_t compiling_methods___AAttrExpr___compile_expr(val_t self, val_t param0) {
16737 struct trace_t trace = {NULL, NULL, 1484, LOCATE_compiling_methods___AAttrExpr___compile_expr};
16738 val_t variable[6];
16739 struct WBT_ **closurevariable = NULL;
16740 trace.prev = tracehead; tracehead = &trace;
16741 trace.file = LOCATE_compiling_methods;
16742 /* Register variable[0]: Local variable */
16743 variable[0] = self;
16744 /* Register variable[1]: Local variable */
16745 variable[1] = param0;
16746 /* Register variable[2]: Method return value and escape marker */
16747 /* Register variable[3]: Local variable */
16748 /* Register variable[4]: Result */
16749 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
16750 /* Register variable[4]: Result */
16751 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16752 variable[3] = variable[4];
16753 /* Register variable[4]: Result */
16754 variable[4] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
16755 /* Register variable[5]: Result */
16756 variable[5] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
16757 /* Register variable[4]: Result */
16758 variable[4] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[3] /*e*/) /*MMAttribute::compile_read_access*/;
16759 variable[2] = variable[4];
16760 goto return_label983;
16761 return_label983: while(false);
16762 tracehead = trace.prev;
16763 return variable[2];
16764 }
16765 void compiling_methods___AAttrAssignExpr___compile_stmt(val_t self, val_t param0) {
16766 struct trace_t trace = {NULL, NULL, 1492, LOCATE_compiling_methods___AAttrAssignExpr___compile_stmt};
16767 val_t variable[7];
16768 struct WBT_ **closurevariable = NULL;
16769 trace.prev = tracehead; tracehead = &trace;
16770 trace.file = LOCATE_compiling_methods;
16771 /* Register variable[0]: Local variable */
16772 variable[0] = self;
16773 /* Register variable[1]: Local variable */
16774 variable[1] = param0;
16775 /* Register variable[2]: Method return value and escape marker */
16776 /* Register variable[3]: Local variable */
16777 /* Register variable[4]: Result */
16778 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
16779 /* Register variable[4]: Result */
16780 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16781 variable[3] = variable[4];
16782 /* Register variable[4]: Local variable */
16783 /* Register variable[5]: Result */
16784 variable[5] = CALL_parser_nodes___AAssignFormExpr___n_value(variable[0])(variable[0]) /*AAssignFormExpr::n_value*/;
16785 /* Register variable[5]: Result */
16786 variable[5] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::compile_expr*/;
16787 variable[4] = variable[5];
16788 /* Register variable[5]: Result */
16789 variable[5] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
16790 /* Register variable[6]: Result */
16791 variable[6] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
16792 CALL_compiling_methods___MMAttribute___compile_write_access(variable[5])(variable[5], variable[1] /*v*/, variable[6], variable[3] /*e*/, variable[4] /*e2*/) /*MMAttribute::compile_write_access*/;
16793 return_label984: while(false);
16794 tracehead = trace.prev;
16795 return;
16796 }
16797 void compiling_methods___AAttrReassignExpr___compile_stmt(val_t self, val_t param0) {
16798 struct trace_t trace = {NULL, NULL, 1500, LOCATE_compiling_methods___AAttrReassignExpr___compile_stmt};
16799 val_t variable[9];
16800 struct WBT_ **closurevariable = NULL;
16801 trace.prev = tracehead; tracehead = &trace;
16802 trace.file = LOCATE_compiling_methods;
16803 /* Register variable[0]: Local variable */
16804 variable[0] = self;
16805 /* Register variable[1]: Local variable */
16806 variable[1] = param0;
16807 /* Register variable[2]: Method return value and escape marker */
16808 /* Register variable[3]: Local variable */
16809 /* Register variable[4]: Result */
16810 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
16811 /* Register variable[4]: Result */
16812 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16813 variable[3] = variable[4];
16814 /* Register variable[4]: Local variable */
16815 /* Register variable[5]: Result */
16816 variable[5] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
16817 /* Register variable[6]: Result */
16818 variable[6] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
16819 /* Register variable[5]: Result */
16820 variable[5] = CALL_compiling_methods___MMAttribute___compile_read_access(variable[5])(variable[5], variable[1] /*v*/, variable[6], variable[3] /*e1*/) /*MMAttribute::compile_read_access*/;
16821 variable[4] = variable[5];
16822 /* Register variable[5]: Local variable */
16823 /* Register variable[6]: Result */
16824 variable[6] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
16825 /* Register variable[6]: Result */
16826 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
16827 variable[5] = variable[6];
16828 /* Register variable[6]: Local variable */
16829 /* Register variable[7]: Result */
16830 variable[7] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
16831 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
16832 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[4] /*e2*/) /*AbstractArray::add*/;
16833 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[5] /*e3*/) /*AbstractArray::add*/;
16834 /* Register variable[8]: Result */
16835 /* Register variable[7]: Result */
16836 variable[7] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[7])(variable[7], variable[1] /*v*/, variable[8]) /*MMMethod::compile_expr_call*/;
16837 variable[6] = variable[7];
16838 /* Register variable[7]: Result */
16839 variable[7] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
16840 /* Register variable[8]: Result */
16841 variable[8] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
16842 CALL_compiling_methods___MMAttribute___compile_write_access(variable[7])(variable[7], variable[1] /*v*/, variable[8], variable[3] /*e1*/, variable[6] /*e4*/) /*MMAttribute::compile_write_access*/;
16843 return_label985: while(false);
16844 tracehead = trace.prev;
16845 return;
16846 }
16847 val_t compiling_methods___AIssetAttrExpr___compile_expr(val_t self, val_t param0) {
16848 struct trace_t trace = {NULL, NULL, 1511, LOCATE_compiling_methods___AIssetAttrExpr___compile_expr};
16849 val_t variable[6];
16850 struct WBT_ **closurevariable = NULL;
16851 trace.prev = tracehead; tracehead = &trace;
16852 trace.file = LOCATE_compiling_methods;
16853 /* Register variable[0]: Local variable */
16854 variable[0] = self;
16855 /* Register variable[1]: Local variable */
16856 variable[1] = param0;
16857 /* Register variable[2]: Method return value and escape marker */
16858 /* Register variable[3]: Local variable */
16859 /* Register variable[4]: Result */
16860 variable[4] = CALL_parser_nodes___AAttrFormExpr___n_expr(variable[0])(variable[0]) /*AAttrFormExpr::n_expr*/;
16861 /* Register variable[4]: Result */
16862 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16863 variable[3] = variable[4];
16864 /* Register variable[4]: Result */
16865 variable[4] = CALL_typing___AAttrFormExpr___prop(variable[0])(variable[0]) /*AAttrFormExpr::prop*/;
16866 /* Register variable[5]: Result */
16867 variable[5] = CALL_parser_nodes___AAttrFormExpr___n_id(variable[0])(variable[0]) /*AAttrFormExpr::n_id*/;
16868 /* Register variable[4]: Result */
16869 variable[4] = CALL_compiling_methods___MMAttribute___compile_isset(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[3] /*e*/) /*MMAttribute::compile_isset*/;
16870 variable[2] = variable[4];
16871 goto return_label986;
16872 return_label986: while(false);
16873 tracehead = trace.prev;
16874 return variable[2];
16875 }
16876 void compiling_methods___AAbsAbsSendExpr___compile_arguments_in(val_t self, val_t param0, val_t param1) {
16877 struct trace_t trace = {NULL, NULL, 1519, LOCATE_compiling_methods___AAbsAbsSendExpr___compile_arguments_in};
16878 val_t variable[8];
16879 struct WBT_ **closurevariable = NULL;
16880 trace.prev = tracehead; tracehead = &trace;
16881 trace.file = LOCATE_compiling_methods;
16882 /* Register variable[0]: Local variable */
16883 variable[0] = self;
16884 /* Register variable[1]: Local variable */
16885 variable[1] = param0;
16886 /* Register variable[2]: Local variable */
16887 variable[2] = param1;
16888 /* Register variable[3]: Method return value and escape marker */
16889 /* Register variable[4]: Result */
16890 variable[4] = CALL_typing___AAbsAbsSendExpr___arguments(variable[0])(variable[0]) /*AAbsAbsSendExpr::arguments*/;
16891 /* Register variable[4]: For iterator */
16892 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*AbstractArrayRead::iterator*/;
16893 while (true) { /*for*/
16894 /* Register variable[5]: For 'is_ok' result */
16895 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*ArrayIterator::is_ok*/;
16896 if (!UNTAG_Bool(variable[5])) break; /*for*/
16897 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*ArrayIterator::item*/ /* Ensure var: For item*/;
16898 /* Register variable[6]: Local variable */
16899 variable[6] = variable[5];
16900 /* Register variable[7]: Result */
16901 variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6] /*a*/) /*CompilerVisitor::compile_expr*/;
16902 CALL_abstract_collection___SimpleCollection___add( variable[2] /*cargs*/)( variable[2] /*cargs*/, variable[7]) /*AbstractArray::add*/;
16903 continue_988: while(0);
16904 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*ArrayIterator::next*/;
16905 }
16906 break_988: while(0);
16907 return_label987: while(false);
16908 tracehead = trace.prev;
16909 return;
16910 }
16911 val_t compiling_methods___ASendExpr___compile_expr(val_t self, val_t param0) {
16912 struct trace_t trace = {NULL, NULL, 1550, LOCATE_compiling_methods___ASendExpr___compile_expr};
16913 val_t variable[5];
16914 struct WBT_ **closurevariable = NULL;
16915 trace.prev = tracehead; tracehead = &trace;
16916 trace.file = LOCATE_compiling_methods;
16917 /* Register variable[0]: Local variable */
16918 variable[0] = self;
16919 /* Register variable[1]: Local variable */
16920 variable[1] = param0;
16921 /* Register variable[2]: Method return value and escape marker */
16922 /* Register variable[3]: Local variable */
16923 /* Register variable[4]: Result */
16924 variable[4] = CALL_compiling_methods___ASendExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*ASendExpr::intern_compile_call*/;
16925 variable[3] = variable[4];
16926 /* Register variable[4]: Result */
16927 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::==*/)))))));
16928 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASendExpr___compile_expr, LOCATE_compiling_methods, 1553); nit_exit(1);}
16929 variable[2] = variable[3] /*e*/;
16930 goto return_label989;
16931 return_label989: while(false);
16932 tracehead = trace.prev;
16933 return variable[2];
16934 }
16935 void compiling_methods___ASendExpr___compile_stmt(val_t self, val_t param0) {
16936 struct trace_t trace = {NULL, NULL, 1557, LOCATE_compiling_methods___ASendExpr___compile_stmt};
16937 static val_t once_value_991 = NIT_NULL; /* Once value for string variable[4]*/
16938 val_t variable[5];
16939 struct WBT_ **closurevariable = NULL;
16940 trace.prev = tracehead; tracehead = &trace;
16941 trace.file = LOCATE_compiling_methods;
16942 /* Register variable[0]: Local variable */
16943 variable[0] = self;
16944 /* Register variable[1]: Local variable */
16945 variable[1] = param0;
16946 /* Register variable[2]: Method return value and escape marker */
16947 /* Register variable[3]: Local variable */
16948 /* Register variable[4]: Result */
16949 variable[4] = CALL_compiling_methods___ASendExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*ASendExpr::intern_compile_call*/;
16950 variable[3] = variable[4];
16951 /* Register variable[4]: Result */
16952 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::==*/)))))));
16953 if (UNTAG_Bool(variable[4])) { /*if*/
16954 /* Register variable[4]: Once String constant */
16955 if (once_value_991 != NIT_NULL) variable[4] = once_value_991;
16956 else {
16957 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
16958 once_value_991 = variable[4];
16959 }
16960 /* Register variable[4]: Result */
16961 /* Register variable[4]: Result */
16962 variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
16963 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
16964 }
16965 return_label990: while(false);
16966 tracehead = trace.prev;
16967 return;
16968 }
16969 val_t compiling_methods___ASendExpr___intern_compile_call(val_t self, val_t param0) {
16970 struct trace_t trace = {NULL, NULL, 1530, LOCATE_compiling_methods___ASendExpr___intern_compile_call};
16971 val_t variable[8];
16972 struct WBT_ **closurevariable = NULL;
16973 trace.prev = tracehead; tracehead = &trace;
16974 trace.file = LOCATE_compiling_methods;
16975 /* Register variable[0]: Local variable */
16976 variable[0] = self;
16977 /* Register variable[1]: Local variable */
16978 variable[1] = param0;
16979 /* Register variable[2]: Method return value and escape marker */
16980 /* Register variable[3]: Local variable */
16981 /* Register variable[4]: Result */
16982 variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[0])(variable[0]) /*ASendExpr::n_expr*/;
16983 /* Register variable[4]: Result */
16984 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
16985 variable[3] = variable[4];
16986 /* Register variable[4]: Local variable */
16987 /* Register variable[5]: Result */
16988 variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
16989 variable[4] = variable[5];
16990 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[3] /*recv*/) /*AbstractArray::add*/;
16991 CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0], variable[1] /*v*/, variable[4] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
16992 /* Register variable[5]: Local variable */
16993 /*variable[5] is variable e*/
16994 /* Register variable[6]: Result */
16995 variable[6] = CALL_typing___AAbsAbsSendExpr___prop_signature(variable[0])(variable[0]) /*AAbsAbsSendExpr::prop_signature*/;
16996 /* Register variable[6]: Result */
16997 variable[6] = CALL_static_type___MMSignature___closures(variable[6])(variable[6]) /*MMSignature::closures*/;
16998 /* Register variable[6]: Result */
16999 variable[6] = CALL_abstract_collection___Collection___is_empty(variable[6])(variable[6]) /*AbstractArrayRead::is_empty*/;
17000 if (UNTAG_Bool(variable[6])) { /*if*/
17001 /* Register variable[6]: Result */
17002 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17003 /* Register variable[6]: Result */
17004 variable[6] = CALL_compiling_methods___MMMethod___intern_compile_call(variable[6])(variable[6], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::intern_compile_call*/;
17005 variable[5] = variable[6] /*e=*/;
17006 } else { /*if*/
17007 /* Register variable[6]: Result */
17008 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17009 /* Register variable[7]: Result */
17010 variable[7] = CALL_typing___ASendExpr___closure_defs(variable[0])(variable[0]) /*ASendExpr::closure_defs*/;
17011 /* Register variable[6]: Result */
17012 variable[6] = CALL_compiling_methods___MMMethod___compile_call_and_closures(variable[6])(variable[6], variable[1] /*v*/, variable[4] /*cargs*/, variable[7]) /*MMMethod::compile_call_and_closures*/;
17013 variable[5] = variable[6] /*e=*/;
17014 }
17015 /* Register variable[6]: Result */
17016 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17017 /* Register variable[6]: Result */
17018 variable[6] = CALL_abstractmetamodel___MMLocalProperty___global(variable[6])(variable[6]) /*MMLocalProperty::global*/;
17019 /* Register variable[6]: Result */
17020 variable[6] = CALL_abstractmetamodel___MMGlobalProperty___is_init(variable[6])(variable[6]) /*MMGlobalProperty::is_init*/;
17021 if (UNTAG_Bool(variable[6])) { /*if*/
17022 /* Register variable[6]: Result */
17023 variable[6] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17024 CALL_compiling_methods___CompilerVisitor___invoke_super_init_calls_after( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::invoke_super_init_calls_after*/;
17025 }
17026 variable[2] = variable[5] /*e*/;
17027 goto return_label992;
17028 return_label992: while(false);
17029 tracehead = trace.prev;
17030 return variable[2];
17031 }
17032 val_t compiling_methods___ASendReassignExpr___compile_expr(val_t self, val_t param0) {
17033 struct trace_t trace = {NULL, NULL, 1567, LOCATE_compiling_methods___ASendReassignExpr___compile_expr};
17034 val_t variable[3];
17035 struct WBT_ **closurevariable = NULL;
17036 trace.prev = tracehead; tracehead = &trace;
17037 trace.file = LOCATE_compiling_methods;
17038 /* Register variable[0]: Local variable */
17039 variable[0] = self;
17040 /* Register variable[1]: Local variable */
17041 variable[1] = param0;
17042 /* Register variable[2]: Method return value and escape marker */
17043 fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ASendReassignExpr___compile_expr, LOCATE_compiling_methods, 1567); nit_exit(1);
17044 return_label993: while(false);
17045 tracehead = trace.prev;
17046 return variable[2];
17047 }
17048 void compiling_methods___ASendReassignExpr___compile_stmt(val_t self, val_t param0) {
17049 struct trace_t trace = {NULL, NULL, 1569, LOCATE_compiling_methods___ASendReassignExpr___compile_stmt};
17050 val_t variable[10];
17051 struct WBT_ **closurevariable = NULL;
17052 trace.prev = tracehead; tracehead = &trace;
17053 trace.file = LOCATE_compiling_methods;
17054 /* Register variable[0]: Local variable */
17055 variable[0] = self;
17056 /* Register variable[1]: Local variable */
17057 variable[1] = param0;
17058 /* Register variable[2]: Method return value and escape marker */
17059 /* Register variable[3]: Local variable */
17060 /* Register variable[4]: Result */
17061 variable[4] = CALL_parser_nodes___ASendExpr___n_expr(variable[0])(variable[0]) /*ASendExpr::n_expr*/;
17062 /* Register variable[4]: Result */
17063 variable[4] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::compile_expr*/;
17064 variable[3] = variable[4];
17065 /* Register variable[4]: Local variable */
17066 /* Register variable[5]: Result */
17067 variable[5] = NEW_Array_array___Array___init() /*new Array[String]*/;
17068 variable[4] = variable[5];
17069 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[3] /*recv*/) /*AbstractArray::add*/;
17070 CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0], variable[1] /*v*/, variable[4] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
17071 /* Register variable[5]: Local variable */
17072 /* Register variable[6]: Result */
17073 variable[6] = CALL_typing___ASendReassignExpr___read_prop(variable[0])(variable[0]) /*ASendReassignExpr::read_prop*/;
17074 /* Register variable[6]: Result */
17075 variable[6] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[6])(variable[6], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_expr_call*/;
17076 variable[5] = variable[6];
17077 /* Register variable[6]: Local variable */
17078 /* Register variable[7]: Result */
17079 variable[7] = CALL_parser_nodes___AReassignFormExpr___n_value(variable[0])(variable[0]) /*AReassignFormExpr::n_value*/;
17080 /* Register variable[7]: Result */
17081 variable[7] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_expr*/;
17082 variable[6] = variable[7];
17083 /* Register variable[7]: Local variable */
17084 /* Register variable[8]: Result */
17085 variable[8] = CALL_typing___AReassignFormExpr___assign_method(variable[0])(variable[0]) /*AReassignFormExpr::assign_method*/;
17086 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(2)) /*new Array[String]*/ /* Ensure var: Literal array*/;
17087 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[5] /*e2*/) /*AbstractArray::add*/;
17088 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[6] /*e3*/) /*AbstractArray::add*/;
17089 /* Register variable[9]: Result */
17090 /* Register variable[8]: Result */
17091 variable[8] = CALL_compiling_methods___MMMethod___compile_expr_call(variable[8])(variable[8], variable[1] /*v*/, variable[9]) /*MMMethod::compile_expr_call*/;
17092 variable[7] = variable[8];
17093 CALL_abstract_collection___SimpleCollection___add( variable[4] /*cargs*/)( variable[4] /*cargs*/, variable[7] /*e4*/) /*AbstractArray::add*/;
17094 /* Register variable[8]: Result */
17095 variable[8] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17096 CALL_compiling_methods___MMMethod___compile_stmt_call(variable[8])(variable[8], variable[1] /*v*/, variable[4] /*cargs*/) /*MMMethod::compile_stmt_call*/;
17097 return_label994: while(false);
17098 tracehead = trace.prev;
17099 return;
17100 }
17101 val_t compiling_methods___ANewExpr___compile_expr(val_t self, val_t param0) {
17102 struct trace_t trace = {NULL, NULL, 1585, LOCATE_compiling_methods___ANewExpr___compile_expr};
17103 val_t variable[6];
17104 struct WBT_ **closurevariable = NULL;
17105 trace.prev = tracehead; tracehead = &trace;
17106 trace.file = LOCATE_compiling_methods;
17107 /* Register variable[0]: Local variable */
17108 variable[0] = self;
17109 /* Register variable[1]: Local variable */
17110 variable[1] = param0;
17111 /* Register variable[2]: Method return value and escape marker */
17112 /* Register variable[3]: Local variable */
17113 /* Register variable[4]: Result */
17114 variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
17115 variable[3] = variable[4];
17116 CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0], variable[1] /*v*/, variable[3] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
17117 /* Register variable[4]: Result */
17118 variable[4] = CALL_typing___AAbsSendExpr___prop(variable[0])(variable[0]) /*AAbsSendExpr::prop*/;
17119 /* Register variable[5]: Result */
17120 variable[5] = CALL_syntax_base___PExpr___stype(variable[0])(variable[0]) /*PExpr::stype*/;
17121 /* Register variable[4]: Result */
17122 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*/;
17123 variable[2] = variable[4];
17124 goto return_label995;
17125 return_label995: while(false);
17126 tracehead = trace.prev;
17127 return variable[2];
17128 }
17129 void compiling_methods___ANewExpr___compile_stmt(val_t self, val_t param0) {
17130 struct trace_t trace = {NULL, NULL, 1592, LOCATE_compiling_methods___ANewExpr___compile_stmt};
17131 val_t variable[3];
17132 struct WBT_ **closurevariable = NULL;
17133 trace.prev = tracehead; tracehead = &trace;
17134 trace.file = LOCATE_compiling_methods;
17135 /* Register variable[0]: Local variable */
17136 variable[0] = self;
17137 /* Register variable[1]: Local variable */
17138 variable[1] = param0;
17139 /* Register variable[2]: Method return value and escape marker */
17140 fprintf(stderr, "Aborted"); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___ANewExpr___compile_stmt, LOCATE_compiling_methods, 1592); nit_exit(1);
17141 return_label996: while(false);
17142 tracehead = trace.prev;
17143 return;
17144 }
17145 val_t compiling_methods___PClosureDef___compile_closure(val_t self, val_t param0, val_t param1) {
17146 struct trace_t trace = {NULL, NULL, 1596, LOCATE_compiling_methods___PClosureDef___compile_closure};
17147 val_t *variable = NULL;
17148 struct WBT_ **closurevariable = NULL;
17149 trace.prev = tracehead; tracehead = &trace;
17150 trace.file = LOCATE_compiling_methods;
17151 fprintf(stderr, "Deferred method called");
17152 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1596);
17153 nit_exit(1);
17154 tracehead = trace.prev;
17155 return NIT_NULL;
17156 }
17157 val_t compiling_methods___PClosureDef___do_compile_inside(val_t self, val_t param0, val_t param1) {
17158 struct trace_t trace = {NULL, NULL, 1600, LOCATE_compiling_methods___PClosureDef___do_compile_inside};
17159 val_t *variable = NULL;
17160 struct WBT_ **closurevariable = NULL;
17161 trace.prev = tracehead; tracehead = &trace;
17162 trace.file = LOCATE_compiling_methods;
17163 fprintf(stderr, "Deferred method called");
17164 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1600);
17165 nit_exit(1);
17166 tracehead = trace.prev;
17167 return NIT_NULL;
17168 }
17169 val_t compiling_methods___AClosureDef___compile_closure(val_t self, val_t param0, val_t param1) {
17170 struct trace_t trace = {NULL, NULL, 1608, LOCATE_compiling_methods___AClosureDef___compile_closure};
17171 static val_t once_value_998 = NIT_NULL; /* Once value for string variable[10]*/
17172 static val_t once_value_999 = NIT_NULL; /* Once value for string variable[10]*/
17173 static val_t once_value_1000 = NIT_NULL; /* Once value for string variable[10]*/
17174 static val_t once_value_1001 = NIT_NULL; /* Once value for string variable[10]*/
17175 static val_t once_value_1002 = NIT_NULL; /* Once value for string variable[10]*/
17176 static val_t once_value_1003 = NIT_NULL; /* Once value for string variable[10]*/
17177 static val_t once_value_1004 = NIT_NULL; /* Once value for string variable[10]*/
17178 static val_t once_value_1006 = NIT_NULL; /* Once value for string variable[14]*/
17179 static val_t once_value_1007 = NIT_NULL; /* Once value for string variable[14]*/
17180 static val_t once_value_1008 = NIT_NULL; /* Once value for string variable[12]*/
17181 static val_t once_value_1009 = NIT_NULL; /* Once value for string variable[12]*/
17182 static val_t once_value_1010 = NIT_NULL; /* Once value for string variable[13]*/
17183 static val_t once_value_1011 = NIT_NULL; /* Once value for string variable[13]*/
17184 static val_t once_value_1012 = NIT_NULL; /* Once value for string variable[13]*/
17185 static val_t once_value_1013 = NIT_NULL; /* Once value for string variable[12]*/
17186 static val_t once_value_1014 = NIT_NULL; /* Once value for string variable[13]*/
17187 static val_t once_value_1015 = NIT_NULL; /* Once value for string variable[13]*/
17188 static val_t once_value_1016 = NIT_NULL; /* Once value for string variable[14]*/
17189 static val_t once_value_1017 = NIT_NULL; /* Once value for string variable[14]*/
17190 static val_t once_value_1018 = NIT_NULL; /* Once value for string variable[13]*/
17191 static val_t once_value_1019 = NIT_NULL; /* Once value for string variable[13]*/
17192 static val_t once_value_1020 = NIT_NULL; /* Once value for string variable[14]*/
17193 static val_t once_value_1021 = NIT_NULL; /* Once value for string variable[14]*/
17194 static val_t once_value_1022 = NIT_NULL; /* Once value for string variable[13]*/
17195 static val_t once_value_1023 = NIT_NULL; /* Once value for string variable[15]*/
17196 static val_t once_value_1024 = NIT_NULL; /* Once value for string variable[15]*/
17197 static val_t once_value_1025 = NIT_NULL; /* Once value for string variable[15]*/
17198 static val_t once_value_1026 = NIT_NULL; /* Once value for string variable[15]*/
17199 static val_t once_value_1027 = NIT_NULL; /* Once value for string variable[15]*/
17200 static val_t once_value_1028 = NIT_NULL; /* Once value for string variable[15]*/
17201 static val_t once_value_1029 = NIT_NULL; /* Once value for string variable[15]*/
17202 static val_t once_value_1030 = NIT_NULL; /* Once value for string variable[15]*/
17203 static val_t once_value_1031 = NIT_NULL; /* Once value for string variable[15]*/
17204 static val_t once_value_1032 = NIT_NULL; /* Once value for string variable[15]*/
17205 static val_t once_value_1033 = NIT_NULL; /* Once value for string variable[15]*/
17206 static val_t once_value_1034 = NIT_NULL; /* Once value for string variable[15]*/
17207 static val_t once_value_1035 = NIT_NULL; /* Once value for string variable[15]*/
17208 static val_t once_value_1036 = NIT_NULL; /* Once value for string variable[15]*/
17209 static val_t once_value_1037 = NIT_NULL; /* Once value for string variable[15]*/
17210 static val_t once_value_1038 = NIT_NULL; /* Once value for string variable[15]*/
17211 static val_t once_value_1039 = NIT_NULL; /* Once value for string variable[15]*/
17212 static val_t once_value_1040 = NIT_NULL; /* Once value for string variable[15]*/
17213 static val_t once_value_1041 = NIT_NULL; /* Once value for string variable[15]*/
17214 val_t variable[16];
17215 struct WBT_ **closurevariable = NULL;
17216 trace.prev = tracehead; tracehead = &trace;
17217 trace.file = LOCATE_compiling_methods;
17218 /* Register variable[0]: Local variable */
17219 variable[0] = self;
17220 /* Register variable[1]: Local variable */
17221 variable[1] = param0;
17222 /* Register variable[2]: Local variable */
17223 variable[2] = param1;
17224 /* Register variable[3]: Method return value and escape marker */
17225 /* Register variable[4]: Local variable */
17226 /* Register variable[5]: Result */
17227 variable[5] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
17228 variable[4] = variable[5];
17229 /* Register variable[5]: Result */
17230 variable[5] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
17231 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::ctx=*/;
17232 /* Register variable[5]: Result */
17233 variable[5] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
17234 /* Register variable[6]: Result */
17235 variable[6] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
17236 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
17237 /* Register variable[5]: Local variable */
17238 /* Register variable[6]: Result */
17239 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
17240 /* Register variable[6]: Result */
17241 variable[6] = CALL_compiling_methods___CFunctionContext___closure(variable[6])(variable[6]) /*CFunctionContext::closure*/;
17242 variable[5] = variable[6];
17243 /* Register variable[6]: Result */
17244 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
17245 /* Register variable[7]: Result */
17246 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17247 CALL_compiling_methods___CFunctionContext___closure__eq(variable[6])(variable[6], variable[7]) /*CFunctionContext::closure=*/;
17248 /* Register variable[6]: Local variable */
17249 /* Register variable[7]: Result */
17250 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17251 /* Register variable[7]: Result */
17252 variable[7] = CALL_compiling_methods___NitMethodContext___return_value(variable[7])(variable[7]) /*NitMethodContext::return_value*/;
17253 variable[6] = variable[7];
17254 /* Register variable[7]: Local variable */
17255 /* Register variable[8]: Result */
17256 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17257 /* Register variable[8]: Result */
17258 variable[8] = CALL_compiling_methods___NitMethodContext___break_value(variable[8])(variable[8]) /*NitMethodContext::break_value*/;
17259 variable[7] = variable[8];
17260 /* Register variable[8]: Result */
17261 variable[8] = TAG_Bool(( variable[5] /*cfc_old*/ == NIT_NULL /*null*/) || (( variable[5] /*cfc_old*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*cfc_old*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)( variable[5] /*cfc_old*/, NIT_NULL /*null*/) /*Object::==*/)))));
17262 if (UNTAG_Bool(variable[8])) { /*if*/
17263 /* Register variable[8]: Result */
17264 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17265 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17266 /* Register variable[10]: Once String constant */
17267 if (once_value_998 != NIT_NULL) variable[10] = once_value_998;
17268 else {
17269 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)) /*new String*/;
17270 once_value_998 = variable[10];
17271 }
17272 /* Register variable[10]: Result */
17273 /* Ensure var variable[10]: super-string element*/
17274 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17275 variable[10] = variable[6] /*old_rv*/ /* Ensure var: super-string element*/;
17276 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17277 /* Register variable[10]: Once String constant */
17278 if (once_value_999 != NIT_NULL) variable[10] = once_value_999;
17279 else {
17280 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17281 once_value_999 = variable[10];
17282 }
17283 /* Register variable[10]: Result */
17284 /* Ensure var variable[10]: super-string element*/
17285 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17286 /* Register variable[9]: Result */
17287 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
17288 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::return_value=*/;
17289 /* Register variable[8]: Result */
17290 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17291 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17292 /* Register variable[10]: Once String constant */
17293 if (once_value_1000 != NIT_NULL) variable[10] = once_value_1000;
17294 else {
17295 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("closctx->"), TAG_Int(9)) /*new String*/;
17296 once_value_1000 = variable[10];
17297 }
17298 /* Register variable[10]: Result */
17299 /* Ensure var variable[10]: super-string element*/
17300 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17301 variable[10] = variable[7] /*old_bv*/ /* Ensure var: super-string element*/;
17302 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17303 /* Register variable[10]: Once String constant */
17304 if (once_value_1001 != NIT_NULL) variable[10] = once_value_1001;
17305 else {
17306 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17307 once_value_1001 = variable[10];
17308 }
17309 /* Register variable[10]: Result */
17310 /* Ensure var variable[10]: super-string element*/
17311 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17312 /* Register variable[9]: Result */
17313 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
17314 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[8])(variable[8], variable[9]) /*NitMethodContext::break_value=*/;
17315 }
17316 /* Register variable[8]: Local variable */
17317 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17318 /* Register variable[10]: Once String constant */
17319 if (once_value_1002 != NIT_NULL) variable[10] = once_value_1002;
17320 else {
17321 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("OC_"), TAG_Int(3)) /*new String*/;
17322 once_value_1002 = variable[10];
17323 }
17324 /* Register variable[10]: Result */
17325 /* Ensure var variable[10]: super-string element*/
17326 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17327 /* Register variable[10]: Result */
17328 variable[10] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17329 /* Register variable[10]: Result */
17330 variable[10] = CALL_compiling_methods___NitMethodContext___method(variable[10])(variable[10]) /*NitMethodContext::method*/;
17331 /* Register variable[10]: Result */
17332 variable[10] = CALL_compiling_base___MMLocalProperty___cname(variable[10])(variable[10]) /*MMLocalProperty::cname*/;
17333 /* Ensure var variable[10]: super-string element*/
17334 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17335 /* Register variable[10]: Once String constant */
17336 if (once_value_1003 != NIT_NULL) variable[10] = once_value_1003;
17337 else {
17338 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_"), TAG_Int(1)) /*new String*/;
17339 once_value_1003 = variable[10];
17340 }
17341 /* Register variable[10]: Result */
17342 /* Ensure var variable[10]: super-string element*/
17343 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17344 /* Register variable[10]: Result */
17345 variable[10] = CALL_compiling_methods___CompilerVisitor___out_contexts( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::out_contexts*/;
17346 /* Register variable[10]: Result */
17347 variable[10] = CALL_abstract_collection___Collection___length(variable[10])(variable[10]) /*AbstractArrayRead::length*/;
17348 /* Ensure var variable[10]: super-string element*/
17349 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/) /*AbstractArray::add*/;
17350 /* Register variable[10]: Once String constant */
17351 if (once_value_1004 != NIT_NULL) variable[10] = once_value_1004;
17352 else {
17353 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17354 once_value_1004 = variable[10];
17355 }
17356 /* Register variable[10]: Result */
17357 /* Ensure var variable[10]: super-string element*/
17358 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
17359 /* Register variable[9]: Result */
17360 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
17361 variable[8] = variable[9];
17362 ATTR_compiling_methods___AClosureDef____cname(variable[0]) /*AClosureDef::_cname*/ = variable[8] /*cname*/;
17363 /* Register variable[9]: Local variable */
17364 /* Register variable[10]: Result */
17365 variable[10] = NEW_Array_array___Array___init() /*new Array[String]*/;
17366 variable[9] = variable[10];
17367 /* Register variable[10]: Result */
17368 variable[10] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
17369 /* Register variable[10]: Result */
17370 variable[10] = CALL_static_type___MMClosure___signature(variable[10])(variable[10]) /*MMClosure::signature*/;
17371 /* Register variable[10]: Result */
17372 variable[10] = CALL_static_type___MMSignature___arity(variable[10])(variable[10]) /*MMSignature::arity*/;
17373 /* Register variable[10]: Result */
17374 variable[10] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[10]) /*new Range[Int]*/;
17375 /* Register variable[10]: For iterator */
17376 variable[10] = CALL_abstract_collection___Collection___iterator(variable[10])(variable[10]) /*Range::iterator*/;
17377 while (true) { /*for*/
17378 /* Register variable[11]: For 'is_ok' result */
17379 variable[11] = CALL_abstract_collection___Iterator___is_ok(variable[10])(variable[10]) /*Iterator::is_ok*/;
17380 if (!UNTAG_Bool(variable[11])) break; /*for*/
17381 variable[11] = CALL_abstract_collection___Iterator___item(variable[10])(variable[10]) /*Iterator::item*/ /* Ensure var: For item*/;
17382 /* Register variable[12]: Local variable */
17383 variable[12] = variable[11];
17384 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17385 /* Register variable[14]: Once String constant */
17386 if (once_value_1006 != NIT_NULL) variable[14] = once_value_1006;
17387 else {
17388 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(" param"), TAG_Int(6)) /*new String*/;
17389 once_value_1006 = variable[14];
17390 }
17391 /* Register variable[14]: Result */
17392 /* Ensure var variable[14]: super-string element*/
17393 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17394 variable[14] = variable[12] /*i*/ /* Ensure var: super-string element*/;
17395 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/) /*AbstractArray::add*/;
17396 /* Register variable[14]: Once String constant */
17397 if (once_value_1007 != NIT_NULL) variable[14] = once_value_1007;
17398 else {
17399 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17400 once_value_1007 = variable[14];
17401 }
17402 /* Register variable[14]: Result */
17403 /* Ensure var variable[14]: super-string element*/
17404 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17405 /* Register variable[13]: Result */
17406 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
17407 CALL_abstract_collection___SimpleCollection___add( variable[9] /*args*/)( variable[9] /*args*/, variable[13]) /*AbstractArray::add*/;
17408 continue_1005: while(0);
17409 CALL_abstract_collection___Iterator___next(variable[10])(variable[10]) /*Iterator::next*/;
17410 }
17411 break_1005: while(0);
17412 /* Register variable[10]: Local variable */
17413 /* Register variable[11]: Result */
17414 variable[11] = CALL_compiling_methods___AClosureDef___decl_csignature(variable[0])(variable[0], variable[1] /*v*/, variable[9] /*args*/, variable[2] /*closcn*/) /*AClosureDef::decl_csignature*/;
17415 variable[10] = variable[11];
17416 variable[11] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17417 /* Register variable[12]: Once String constant */
17418 if (once_value_1008 != NIT_NULL) variable[12] = once_value_1008;
17419 else {
17420 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17421 once_value_1008 = variable[12];
17422 }
17423 /* Register variable[12]: Result */
17424 /* Ensure var variable[12]: super-string element*/
17425 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
17426 variable[12] = variable[10] /*cs*/ /* Ensure var: super-string element*/;
17427 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
17428 /* Register variable[12]: Once String constant */
17429 if (once_value_1009 != NIT_NULL) variable[12] = once_value_1009;
17430 else {
17431 variable[12] = NEW_String_string___String___with_native(BOX_NativeString(" {"), TAG_Int(2)) /*new String*/;
17432 once_value_1009 = variable[12];
17433 }
17434 /* Register variable[12]: Result */
17435 /* Ensure var variable[12]: super-string element*/
17436 CALL_abstract_collection___SimpleCollection___add(variable[11])(variable[11], variable[12]) /*AbstractArray::add*/;
17437 /* Register variable[11]: Result */
17438 variable[11] = CALL_string___Object___to_s(variable[11])(variable[11]) /*Object::to_s*/;
17439 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[11]) /*CompilerVisitor::add_instr*/;
17440 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
17441 /* Register variable[11]: Local variable */
17442 /* Register variable[12]: Result */
17443 variable[12] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
17444 variable[11] = variable[12];
17445 /* Register variable[12]: Result */
17446 variable[12] = NEW_CContext_compiling_base___CContext___init() /*new CContext*/;
17447 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::ctx=*/;
17448 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17449 /* Register variable[13]: Once String constant */
17450 if (once_value_1010 != NIT_NULL) variable[13] = once_value_1010;
17451 else {
17452 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("struct trace_t trace = {NULL, NULL, "), TAG_Int(36)) /*new String*/;
17453 once_value_1010 = variable[13];
17454 }
17455 /* Register variable[13]: Result */
17456 /* Ensure var variable[13]: super-string element*/
17457 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17458 /* Register variable[13]: Result */
17459 variable[13] = CALL_parser_prod___PNode___line_number(variable[0])(variable[0]) /*Prod::line_number*/;
17460 /* Ensure var variable[13]: super-string element*/
17461 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/) /*AbstractArray::add*/;
17462 /* Register variable[13]: Once String constant */
17463 if (once_value_1011 != NIT_NULL) variable[13] = once_value_1011;
17464 else {
17465 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(", LOCATE_"), TAG_Int(9)) /*new String*/;
17466 once_value_1011 = variable[13];
17467 }
17468 /* Register variable[13]: Result */
17469 /* Ensure var variable[13]: super-string element*/
17470 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17471 /* Register variable[13]: Result */
17472 variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17473 /* Register variable[13]: Result */
17474 variable[13] = CALL_compiling_methods___NitMethodContext___method(variable[13])(variable[13]) /*NitMethodContext::method*/;
17475 /* Register variable[13]: Result */
17476 variable[13] = CALL_compiling_base___MMLocalProperty___cname(variable[13])(variable[13]) /*MMLocalProperty::cname*/;
17477 /* Ensure var variable[13]: super-string element*/
17478 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17479 /* Register variable[13]: Once String constant */
17480 if (once_value_1012 != NIT_NULL) variable[13] = once_value_1012;
17481 else {
17482 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("};"), TAG_Int(2)) /*new String*/;
17483 once_value_1012 = variable[13];
17484 }
17485 /* Register variable[13]: Result */
17486 /* Ensure var variable[13]: super-string element*/
17487 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17488 /* Register variable[12]: Result */
17489 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
17490 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_decl*/;
17491 /* Register variable[12]: Once String constant */
17492 if (once_value_1013 != NIT_NULL) variable[12] = once_value_1013;
17493 else {
17494 variable[12] = NEW_String_string___String___with_native(BOX_NativeString("trace.prev = tracehead; tracehead = &trace;"), TAG_Int(43)) /*new String*/;
17495 once_value_1013 = variable[12];
17496 }
17497 /* Register variable[12]: Result */
17498 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
17499 variable[12] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17500 /* Register variable[13]: Once String constant */
17501 if (once_value_1014 != NIT_NULL) variable[13] = once_value_1014;
17502 else {
17503 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("trace.file = LOCATE_"), TAG_Int(20)) /*new String*/;
17504 once_value_1014 = variable[13];
17505 }
17506 /* Register variable[13]: Result */
17507 /* Ensure var variable[13]: super-string element*/
17508 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17509 /* Register variable[13]: Result */
17510 variable[13] = CALL_compiling_base___CompilerVisitor___module( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::module*/;
17511 /* Register variable[13]: Result */
17512 variable[13] = CALL_abstractmetamodel___MMModule___name(variable[13])(variable[13]) /*MMModule::name*/;
17513 /* Ensure var variable[13]: super-string element*/
17514 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/) /*AbstractArray::add*/;
17515 /* Register variable[13]: Once String constant */
17516 if (once_value_1015 != NIT_NULL) variable[13] = once_value_1015;
17517 else {
17518 variable[13] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
17519 once_value_1015 = variable[13];
17520 }
17521 /* Register variable[13]: Result */
17522 /* Ensure var variable[13]: super-string element*/
17523 CALL_abstract_collection___SimpleCollection___add(variable[12])(variable[12], variable[13]) /*AbstractArray::add*/;
17524 /* Register variable[12]: Result */
17525 variable[12] = CALL_string___Object___to_s(variable[12])(variable[12]) /*Object::to_s*/;
17526 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[12]) /*CompilerVisitor::add_instr*/;
17527 /* Register variable[12]: Local variable */
17528 /* Register variable[13]: Result */
17529 variable[13] = CALL_compiling_methods___PClosureDef___do_compile_inside(variable[0])(variable[0], variable[1] /*v*/, variable[9] /*args*/) /*AClosureDef::do_compile_inside*/;
17530 variable[12] = variable[13];
17531 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17532 /* Register variable[14]: Once String constant */
17533 if (once_value_1016 != NIT_NULL) variable[14] = once_value_1016;
17534 else {
17535 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17536 once_value_1016 = variable[14];
17537 }
17538 /* Register variable[14]: Result */
17539 /* Ensure var variable[14]: super-string element*/
17540 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17541 /* Register variable[14]: Result */
17542 variable[14] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17543 /* Register variable[14]: Result */
17544 variable[14] = CALL_compiling_methods___NitMethodContext___return_label(variable[14])(variable[14]) /*NitMethodContext::return_label*/;
17545 /* Ensure var variable[14]: super-string element*/
17546 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17547 /* Register variable[14]: Once String constant */
17548 if (once_value_1017 != NIT_NULL) variable[14] = once_value_1017;
17549 else {
17550 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(":"), TAG_Int(1)) /*new String*/;
17551 once_value_1017 = variable[14];
17552 }
17553 /* Register variable[14]: Result */
17554 /* Ensure var variable[14]: super-string element*/
17555 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17556 /* Register variable[13]: Result */
17557 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
17558 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
17559 /* Register variable[13]: Once String constant */
17560 if (once_value_1018 != NIT_NULL) variable[13] = once_value_1018;
17561 else {
17562 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("tracehead = trace.prev;"), TAG_Int(23)) /*new String*/;
17563 once_value_1018 = variable[13];
17564 }
17565 /* Register variable[13]: Result */
17566 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
17567 /* Register variable[13]: Result */
17568 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::==*/)));
17569 if (UNTAG_Bool(variable[13])) { /*if*/
17570 /* Register variable[13]: Once String constant */
17571 if (once_value_1019 != NIT_NULL) variable[13] = once_value_1019;
17572 else {
17573 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("return;"), TAG_Int(7)) /*new String*/;
17574 once_value_1019 = variable[13];
17575 }
17576 /* Register variable[13]: Result */
17577 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
17578 } else { /*if*/
17579 variable[13] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17580 /* Register variable[14]: Once String constant */
17581 if (once_value_1020 != NIT_NULL) variable[14] = once_value_1020;
17582 else {
17583 variable[14] = NEW_String_string___String___with_native(BOX_NativeString("return "), TAG_Int(7)) /*new String*/;
17584 once_value_1020 = variable[14];
17585 }
17586 /* Register variable[14]: Result */
17587 /* Ensure var variable[14]: super-string element*/
17588 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17589 variable[14] = variable[12] /*s*/ /* Ensure var: super-string element*/;
17590 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17591 /* Register variable[14]: Once String constant */
17592 if (once_value_1021 != NIT_NULL) variable[14] = once_value_1021;
17593 else {
17594 variable[14] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
17595 once_value_1021 = variable[14];
17596 }
17597 /* Register variable[14]: Result */
17598 /* Ensure var variable[14]: super-string element*/
17599 CALL_abstract_collection___SimpleCollection___add(variable[13])(variable[13], variable[14]) /*AbstractArray::add*/;
17600 /* Register variable[13]: Result */
17601 variable[13] = CALL_string___Object___to_s(variable[13])(variable[13]) /*Object::to_s*/;
17602 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
17603 }
17604 /* Register variable[13]: Result */
17605 variable[13] = CALL_compiling_base___CompilerVisitor___ctx( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::ctx*/;
17606 CALL_compiling_base___CContext___append( variable[11] /*ctx_old2*/)( variable[11] /*ctx_old2*/, variable[13]) /*CContext::append*/;
17607 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[11] /*ctx_old2*/) /*CompilerVisitor::ctx=*/;
17608 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
17609 /* Register variable[13]: Once String constant */
17610 if (once_value_1022 != NIT_NULL) variable[13] = once_value_1022;
17611 else {
17612 variable[13] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
17613 once_value_1022 = variable[13];
17614 }
17615 /* Register variable[13]: Result */
17616 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[13]) /*CompilerVisitor::add_instr*/;
17617 CALL_compiling_base___CompilerVisitor___ctx__eq( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*ctx_old*/) /*CompilerVisitor::ctx=*/;
17618 /* Register variable[13]: Result */
17619 variable[13] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
17620 CALL_compiling_methods___CFunctionContext___closure__eq(variable[13])(variable[13], variable[5] /*cfc_old*/) /*CFunctionContext::closure=*/;
17621 /* Register variable[13]: Result */
17622 variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17623 CALL_compiling_methods___NitMethodContext___return_value__eq(variable[13])(variable[13], variable[6] /*old_rv*/) /*NitMethodContext::return_value=*/;
17624 /* Register variable[13]: Result */
17625 variable[13] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17626 CALL_compiling_methods___NitMethodContext___break_value__eq(variable[13])(variable[13], variable[7] /*old_bv*/) /*NitMethodContext::break_value=*/;
17627 /* Register variable[13]: Local variable */
17628 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17629 /* Register variable[15]: Once String constant */
17630 if (once_value_1023 != NIT_NULL) variable[15] = once_value_1023;
17631 else {
17632 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("wbclos"), TAG_Int(6)) /*new String*/;
17633 once_value_1023 = variable[15];
17634 }
17635 /* Register variable[15]: Result */
17636 /* Ensure var variable[15]: super-string element*/
17637 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17638 /* Register variable[15]: Result */
17639 variable[15] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
17640 /* Ensure var variable[15]: super-string element*/
17641 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], CALL_string___Object___to_s(variable[15])(variable[15]) /*Object::to_s*/) /*AbstractArray::add*/;
17642 /* Register variable[15]: Once String constant */
17643 if (once_value_1024 != NIT_NULL) variable[15] = once_value_1024;
17644 else {
17645 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17646 once_value_1024 = variable[15];
17647 }
17648 /* Register variable[15]: Result */
17649 /* Ensure var variable[15]: super-string element*/
17650 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17651 /* Register variable[14]: Result */
17652 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17653 variable[13] = variable[14];
17654 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17655 /* Register variable[15]: Once String constant */
17656 if (once_value_1025 != NIT_NULL) variable[15] = once_value_1025;
17657 else {
17658 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ "), TAG_Int(12)) /*new String*/;
17659 once_value_1025 = variable[15];
17660 }
17661 /* Register variable[15]: Result */
17662 /* Ensure var variable[15]: super-string element*/
17663 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17664 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17665 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17666 /* Register variable[15]: Once String constant */
17667 if (once_value_1026 != NIT_NULL) variable[15] = once_value_1026;
17668 else {
17669 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
17670 once_value_1026 = variable[15];
17671 }
17672 /* Register variable[15]: Result */
17673 /* Ensure var variable[15]: super-string element*/
17674 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17675 /* Register variable[14]: Result */
17676 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17677 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_decl*/;
17678 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17679 /* Register variable[15]: Once String constant */
17680 if (once_value_1027 != NIT_NULL) variable[15] = once_value_1027;
17681 else {
17682 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17683 once_value_1027 = variable[15];
17684 }
17685 /* Register variable[15]: Result */
17686 /* Ensure var variable[15]: super-string element*/
17687 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17688 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17689 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17690 /* Register variable[15]: Once String constant */
17691 if (once_value_1028 != NIT_NULL) variable[15] = once_value_1028;
17692 else {
17693 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".fun = (fun_t)"), TAG_Int(14)) /*new String*/;
17694 once_value_1028 = variable[15];
17695 }
17696 /* Register variable[15]: Result */
17697 /* Ensure var variable[15]: super-string element*/
17698 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17699 variable[15] = variable[8] /*cname*/ /* Ensure var: super-string element*/;
17700 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17701 /* Register variable[15]: Once String constant */
17702 if (once_value_1029 != NIT_NULL) variable[15] = once_value_1029;
17703 else {
17704 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
17705 once_value_1029 = variable[15];
17706 }
17707 /* Register variable[15]: Result */
17708 /* Ensure var variable[15]: super-string element*/
17709 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17710 /* Register variable[14]: Result */
17711 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17712 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17713 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17714 /* Register variable[15]: Once String constant */
17715 if (once_value_1030 != NIT_NULL) variable[15] = once_value_1030;
17716 else {
17717 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17718 once_value_1030 = variable[15];
17719 }
17720 /* Register variable[15]: Result */
17721 /* Ensure var variable[15]: super-string element*/
17722 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17723 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17724 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17725 /* Register variable[15]: Once String constant */
17726 if (once_value_1031 != NIT_NULL) variable[15] = once_value_1031;
17727 else {
17728 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".has_broke = NULL;"), TAG_Int(18)) /*new String*/;
17729 once_value_1031 = variable[15];
17730 }
17731 /* Register variable[15]: Result */
17732 /* Ensure var variable[15]: super-string element*/
17733 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17734 /* Register variable[14]: Result */
17735 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17736 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17737 /* Register variable[14]: Result */
17738 variable[14] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable[5] /*cfc_old*/ == NIT_NULL /*null*/) || (( variable[5] /*cfc_old*/ != NIT_NULL) && ((CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)==kernel___Object_____eqeq)?(IS_EQUAL_NN( variable[5] /*cfc_old*/, NIT_NULL /*null*/)):(UNTAG_Bool(CALL_kernel___Object_____eqeq( variable[5] /*cfc_old*/)( variable[5] /*cfc_old*/, NIT_NULL /*null*/) /*Object::==*/)))))));
17739 if (UNTAG_Bool(variable[14])) { /*if*/
17740 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17741 /* Register variable[15]: Once String constant */
17742 if (once_value_1032 != NIT_NULL) variable[15] = once_value_1032;
17743 else {
17744 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17745 once_value_1032 = variable[15];
17746 }
17747 /* Register variable[15]: Result */
17748 /* Ensure var variable[15]: super-string element*/
17749 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17750 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17751 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17752 /* Register variable[15]: Once String constant */
17753 if (once_value_1033 != NIT_NULL) variable[15] = once_value_1033;
17754 else {
17755 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".variable = closctx->variable;"), TAG_Int(30)) /*new String*/;
17756 once_value_1033 = variable[15];
17757 }
17758 /* Register variable[15]: Result */
17759 /* Ensure var variable[15]: super-string element*/
17760 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17761 /* Register variable[14]: Result */
17762 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17763 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17764 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17765 /* Register variable[15]: Once String constant */
17766 if (once_value_1034 != NIT_NULL) variable[15] = once_value_1034;
17767 else {
17768 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17769 once_value_1034 = variable[15];
17770 }
17771 /* Register variable[15]: Result */
17772 /* Ensure var variable[15]: super-string element*/
17773 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17774 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17775 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17776 /* Register variable[15]: Once String constant */
17777 if (once_value_1035 != NIT_NULL) variable[15] = once_value_1035;
17778 else {
17779 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closctx->closurevariable;"), TAG_Int(44)) /*new String*/;
17780 once_value_1035 = variable[15];
17781 }
17782 /* Register variable[15]: Result */
17783 /* Ensure var variable[15]: super-string element*/
17784 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17785 /* Register variable[14]: Result */
17786 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17787 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17788 } else { /*if*/
17789 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17790 /* Register variable[15]: Once String constant */
17791 if (once_value_1036 != NIT_NULL) variable[15] = once_value_1036;
17792 else {
17793 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17794 once_value_1036 = variable[15];
17795 }
17796 /* Register variable[15]: Result */
17797 /* Ensure var variable[15]: super-string element*/
17798 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17799 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17800 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17801 /* Register variable[15]: Once String constant */
17802 if (once_value_1037 != NIT_NULL) variable[15] = once_value_1037;
17803 else {
17804 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".variable = variable;"), TAG_Int(21)) /*new String*/;
17805 once_value_1037 = variable[15];
17806 }
17807 /* Register variable[15]: Result */
17808 /* Ensure var variable[15]: super-string element*/
17809 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17810 /* Register variable[14]: Result */
17811 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17812 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17813 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17814 /* Register variable[15]: Once String constant */
17815 if (once_value_1038 != NIT_NULL) variable[15] = once_value_1038;
17816 else {
17817 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
17818 once_value_1038 = variable[15];
17819 }
17820 /* Register variable[15]: Result */
17821 /* Ensure var variable[15]: super-string element*/
17822 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17823 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17824 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17825 /* Register variable[15]: Once String constant */
17826 if (once_value_1039 != NIT_NULL) variable[15] = once_value_1039;
17827 else {
17828 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(".closurevariable = closurevariable;"), TAG_Int(35)) /*new String*/;
17829 once_value_1039 = variable[15];
17830 }
17831 /* Register variable[15]: Result */
17832 /* Ensure var variable[15]: super-string element*/
17833 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17834 /* Register variable[14]: Result */
17835 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17836 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[14]) /*CompilerVisitor::add_instr*/;
17837 }
17838 variable[14] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17839 /* Register variable[15]: Once String constant */
17840 if (once_value_1040 != NIT_NULL) variable[15] = once_value_1040;
17841 else {
17842 variable[15] = NEW_String_string___String___with_native(BOX_NativeString("(&"), TAG_Int(2)) /*new String*/;
17843 once_value_1040 = variable[15];
17844 }
17845 /* Register variable[15]: Result */
17846 /* Ensure var variable[15]: super-string element*/
17847 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17848 variable[15] = variable[13] /*closcnv*/ /* Ensure var: super-string element*/;
17849 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17850 /* Register variable[15]: Once String constant */
17851 if (once_value_1041 != NIT_NULL) variable[15] = once_value_1041;
17852 else {
17853 variable[15] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
17854 once_value_1041 = variable[15];
17855 }
17856 /* Register variable[15]: Result */
17857 /* Ensure var variable[15]: super-string element*/
17858 CALL_abstract_collection___SimpleCollection___add(variable[14])(variable[14], variable[15]) /*AbstractArray::add*/;
17859 /* Register variable[14]: Result */
17860 variable[14] = CALL_string___Object___to_s(variable[14])(variable[14]) /*Object::to_s*/;
17861 variable[3] = variable[14];
17862 goto return_label997;
17863 return_label997: while(false);
17864 tracehead = trace.prev;
17865 return variable[3];
17866 }
17867 val_t compiling_methods___AClosureDef___do_compile_inside(val_t self, val_t param0, val_t param1) {
17868 struct trace_t trace = {NULL, NULL, 1699, LOCATE_compiling_methods___AClosureDef___do_compile_inside};
17869 static val_t once_value_1046 = NIT_NULL; /* Once value for string variable[9]*/
17870 static val_t once_value_1047 = NIT_NULL; /* Once value for string variable[9]*/
17871 static val_t once_value_1048 = NIT_NULL; /* Once value for string variable[9]*/
17872 static val_t once_value_1049 = NIT_NULL; /* Once value for string variable[8]*/
17873 static val_t once_value_1050 = NIT_NULL; /* Once value for string variable[8]*/
17874 val_t variable[14];
17875 struct WBT_ **closurevariable = NULL;
17876 trace.prev = tracehead; tracehead = &trace;
17877 trace.file = LOCATE_compiling_methods;
17878 /* Register variable[0]: Local variable */
17879 variable[0] = self;
17880 /* Register variable[1]: Local variable */
17881 variable[1] = param0;
17882 /* Register variable[2]: Local variable */
17883 variable[2] = param1;
17884 /* Register variable[3]: Method return value and escape marker */
17885 /* Register variable[4]: Result */
17886 variable[4] = CALL_syntax_base___PClosureDef___variables(variable[0])(variable[0]) /*PClosureDef::variables*/;
17887 /* Register variable[4]: Result */
17888 variable[4] = CALL_abstract_collection___Collection___length(variable[4])(variable[4]) /*AbstractArrayRead::length*/;
17889 /* Register variable[4]: Result */
17890 variable[4] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[4]) /*new Range[Int]*/;
17891 /* Register variable[4]: For iterator */
17892 variable[4] = CALL_abstract_collection___Collection___iterator(variable[4])(variable[4]) /*Range::iterator*/;
17893 while (true) { /*for*/
17894 /* Register variable[5]: For 'is_ok' result */
17895 variable[5] = CALL_abstract_collection___Iterator___is_ok(variable[4])(variable[4]) /*Iterator::is_ok*/;
17896 if (!UNTAG_Bool(variable[5])) break; /*for*/
17897 variable[5] = CALL_abstract_collection___Iterator___item(variable[4])(variable[4]) /*Iterator::item*/ /* Ensure var: For item*/;
17898 /* Register variable[6]: Local variable */
17899 variable[6] = variable[5];
17900 /* Register variable[7]: Local variable */
17901 /* Register variable[8]: Result */
17902 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
17903 /* Register variable[9]: Result */
17904 variable[9] = CALL_syntax_base___PClosureDef___variables(variable[0])(variable[0]) /*PClosureDef::variables*/;
17905 /* Register variable[10]: Local variable */
17906 variable[10] = variable[9];
17907 /* Register variable[11]: Local variable */
17908 variable[11] = variable[6] /*i*/;
17909 /* Register variable[12]: Method return value and escape marker */
17910 /* Register variable[13]: Result */
17911 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)>=UNTAG_Int( TAG_Int(0)));
17912 /* Ensure var variable[13]: Left 'and' operand*/
17913 if (UNTAG_Bool(variable[13])) { /* and */
17914 /* Register variable[13]: Result */
17915 variable[13] = ATTR_array___AbstractArrayRead____length(variable[10]) /*AbstractArrayRead::_length*/;
17916 /* Register variable[13]: Result */
17917 variable[13] = TAG_Bool(UNTAG_Int( variable[11] /*index*/)<UNTAG_Int(variable[13]));
17918 }
17919 /* Register variable[13]: Result */
17920 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, 234); nit_exit(1);}
17921 /* Register variable[13]: Result */
17922 variable[13] = ATTR_array___Array____items(variable[10]) /*Array::_items*/;
17923 /* Register variable[13]: Result */
17924 variable[13] = UNBOX_NativeArray(variable[13])[UNTAG_Int( variable[11] /*index*/)];
17925 variable[12] = variable[13];
17926 goto return_label1044;
17927 return_label1044: while(false);
17928 /* Register variable[9]: Result */
17929 variable[9] = variable[12];
17930 /* Register variable[8]: Result */
17931 variable[8] = CALL_compiling_methods___CFunctionContext___register_variable(variable[8])(variable[8], variable[9]) /*CFunctionContext::register_variable*/;
17932 variable[7] = variable[8];
17933 /* Register variable[8]: Local variable */
17934 variable[8] = variable[2] /*params*/;
17935 /* Register variable[9]: Local variable */
17936 variable[9] = variable[6] /*i*/;
17937 /* Register variable[10]: Method return value and escape marker */
17938 /* Register variable[11]: Result */
17939 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)>=UNTAG_Int( TAG_Int(0)));
17940 /* Ensure var variable[11]: Left 'and' operand*/
17941 if (UNTAG_Bool(variable[11])) { /* and */
17942 /* Register variable[11]: Result */
17943 variable[11] = ATTR_array___AbstractArrayRead____length(variable[8]) /*AbstractArrayRead::_length*/;
17944 /* Register variable[11]: Result */
17945 variable[11] = TAG_Bool(UNTAG_Int( variable[9] /*index*/)<UNTAG_Int(variable[11]));
17946 }
17947 /* Register variable[11]: Result */
17948 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, 234); nit_exit(1);}
17949 /* Register variable[11]: Result */
17950 variable[11] = ATTR_array___Array____items(variable[8]) /*Array::_items*/;
17951 /* Register variable[11]: Result */
17952 variable[11] = UNBOX_NativeArray(variable[11])[UNTAG_Int( variable[9] /*index*/)];
17953 variable[10] = variable[11];
17954 goto return_label1045;
17955 return_label1045: while(false);
17956 /* Register variable[8]: Result */
17957 variable[8] = variable[10];
17958 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[7] /*vacname*/, variable[8]) /*CompilerVisitor::add_assignment*/;
17959 continue_1043: while(0);
17960 CALL_abstract_collection___Iterator___next(variable[4])(variable[4]) /*Iterator::next*/;
17961 }
17962 break_1043: while(0);
17963 /* Register variable[4]: Local variable */
17964 /* Register variable[5]: Result */
17965 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17966 /* Register variable[5]: Result */
17967 variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
17968 variable[4] = variable[5];
17969 /* Register variable[5]: Local variable */
17970 /* Register variable[6]: Result */
17971 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17972 /* Register variable[6]: Result */
17973 variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
17974 variable[5] = variable[6];
17975 /* Register variable[6]: Local variable */
17976 /* Register variable[7]: Result */
17977 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17978 /* Register variable[7]: Result */
17979 variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
17980 variable[6] = variable[7];
17981 /* Register variable[7]: Result */
17982 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17983 /* Register variable[8]: Result */
17984 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
17985 /* Register variable[9]: Once String constant */
17986 if (once_value_1046 != NIT_NULL) variable[9] = once_value_1046;
17987 else {
17988 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Continue value and escape marker"), TAG_Int(32)) /*new String*/;
17989 once_value_1046 = variable[9];
17990 }
17991 /* Register variable[9]: Result */
17992 /* Register variable[8]: Result */
17993 variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
17994 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
17995 /* Register variable[7]: Result */
17996 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
17997 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
17998 /* Register variable[9]: Once String constant */
17999 if (once_value_1047 != NIT_NULL) variable[9] = once_value_1047;
18000 else {
18001 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)) /*new String*/;
18002 once_value_1047 = variable[9];
18003 }
18004 /* Register variable[9]: Result */
18005 /* Ensure var variable[9]: super-string element*/
18006 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18007 /* Register variable[9]: Result */
18008 variable[9] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
18009 /* Ensure var variable[9]: super-string element*/
18010 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
18011 /* Register variable[9]: Once String constant */
18012 if (once_value_1048 != NIT_NULL) variable[9] = once_value_1048;
18013 else {
18014 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18015 once_value_1048 = variable[9];
18016 }
18017 /* Register variable[9]: Result */
18018 /* Ensure var variable[9]: super-string element*/
18019 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18020 /* Register variable[8]: Result */
18021 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18022 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
18023 /* Register variable[7]: Result */
18024 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18025 /* Register variable[8]: Result */
18026 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18027 /* Register variable[8]: Result */
18028 variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
18029 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
18030 /* Register variable[7]: Result */
18031 variable[7] = CALL_parser_nodes___AClosureDef___n_expr(variable[0])(variable[0]) /*AClosureDef::n_expr*/;
18032 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
18033 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18034 /* Register variable[8]: Once String constant */
18035 if (once_value_1049 != NIT_NULL) variable[8] = once_value_1049;
18036 else {
18037 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18038 once_value_1049 = variable[8];
18039 }
18040 /* Register variable[8]: Result */
18041 /* Ensure var variable[8]: super-string element*/
18042 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18043 /* Register variable[8]: Result */
18044 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18045 /* Register variable[8]: Result */
18046 variable[8] = CALL_compiling_methods___NitMethodContext___continue_label(variable[8])(variable[8]) /*NitMethodContext::continue_label*/;
18047 /* Ensure var variable[8]: super-string element*/
18048 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18049 /* Register variable[8]: Once String constant */
18050 if (once_value_1050 != NIT_NULL) variable[8] = once_value_1050;
18051 else {
18052 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
18053 once_value_1050 = variable[8];
18054 }
18055 /* Register variable[8]: Result */
18056 /* Ensure var variable[8]: super-string element*/
18057 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18058 /* Register variable[7]: Result */
18059 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
18060 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
18061 /* Register variable[7]: Local variable */
18062 variable[7] = NIT_NULL /*null*/;
18063 /* Register variable[8]: Result */
18064 variable[8] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
18065 /* Register variable[8]: Result */
18066 variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
18067 /* Register variable[8]: Result */
18068 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
18069 /* Register variable[8]: Result */
18070 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::==*/)))))));
18071 if (UNTAG_Bool(variable[8])) { /*if*/
18072 /* Register variable[8]: Result */
18073 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18074 /* Register variable[8]: Result */
18075 variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
18076 variable[7] = variable[8] /*ret=*/;
18077 }
18078 /* Register variable[8]: Result */
18079 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18080 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8], variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
18081 /* Register variable[8]: Result */
18082 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18083 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8], variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
18084 /* Register variable[8]: Result */
18085 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18086 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8], variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
18087 variable[3] = variable[7] /*ret*/;
18088 goto return_label1042;
18089 return_label1042: while(false);
18090 tracehead = trace.prev;
18091 return variable[3];
18092 }
18093 val_t compiling_methods___AClosureDef___cname(val_t self) {
18094 struct trace_t trace = {NULL, NULL, 1605, LOCATE_compiling_methods___AClosureDef___cname};
18095 val_t *variable = NULL;
18096 struct WBT_ **closurevariable = NULL;
18097 trace.prev = tracehead; tracehead = &trace;
18098 trace.file = LOCATE_compiling_methods;
18099 tracehead = trace.prev;
18100 return ATTR_compiling_methods___AClosureDef____cname( self) /*AClosureDef::_cname*/;
18101 }
18102 val_t compiling_methods___AClosureDef___decl_csignature(val_t self, val_t param0, val_t param1, val_t param2) {
18103 struct trace_t trace = {NULL, NULL, 1678, LOCATE_compiling_methods___AClosureDef___decl_csignature};
18104 static val_t once_value_1052 = NIT_NULL; /* Once value for string variable[6]*/
18105 static val_t once_value_1054 = NIT_NULL; /* Once value for string variable[11]*/
18106 static val_t once_value_1056 = NIT_NULL; /* Once value for string variable[11]*/
18107 static val_t once_value_1057 = NIT_NULL; /* Once value for string variable[7]*/
18108 static val_t once_value_1058 = NIT_NULL; /* Once value for string variable[7]*/
18109 static val_t once_value_1059 = NIT_NULL; /* Once value for string variable[8]*/
18110 static val_t once_value_1060 = NIT_NULL; /* Once value for string variable[10]*/
18111 static val_t once_value_1061 = NIT_NULL; /* Once value for string variable[10]*/
18112 static val_t once_value_1062 = NIT_NULL; /* Once value for string variable[10]*/
18113 static val_t once_value_1063 = NIT_NULL; /* Once value for string variable[10]*/
18114 static val_t once_value_1064 = NIT_NULL; /* Once value for string variable[10]*/
18115 static val_t once_value_1065 = NIT_NULL; /* Once value for string variable[10]*/
18116 static val_t once_value_1066 = NIT_NULL; /* Once value for string variable[10]*/
18117 static val_t once_value_1067 = NIT_NULL; /* Once value for string variable[10]*/
18118 static val_t once_value_1068 = NIT_NULL; /* Once value for string variable[9]*/
18119 val_t variable[15];
18120 struct WBT_ **closurevariable = NULL;
18121 trace.prev = tracehead; tracehead = &trace;
18122 trace.file = LOCATE_compiling_methods;
18123 /* Register variable[0]: Local variable */
18124 variable[0] = self;
18125 /* Register variable[1]: Local variable */
18126 variable[1] = param0;
18127 /* Register variable[2]: Local variable */
18128 variable[2] = param1;
18129 /* Register variable[3]: Local variable */
18130 variable[3] = param2;
18131 /* Register variable[4]: Method return value and escape marker */
18132 /* Register variable[5]: Local variable */
18133 /* Register variable[6]: Result */
18134 variable[6] = NEW_Array_array___Array___init() /*new Array[String]*/;
18135 variable[5] = variable[6];
18136 /* Register variable[6]: Once String constant */
18137 if (once_value_1052 != NIT_NULL) variable[6] = once_value_1052;
18138 else {
18139 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("struct WBT_ *closctx"), TAG_Int(20)) /*new String*/;
18140 once_value_1052 = variable[6];
18141 }
18142 /* Register variable[6]: Result */
18143 CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/, variable[6]) /*AbstractArray::add*/;
18144 /* Register variable[6]: Result */
18145 variable[6] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
18146 /* Register variable[6]: Result */
18147 variable[6] = CALL_static_type___MMClosure___signature(variable[6])(variable[6]) /*MMClosure::signature*/;
18148 /* Register variable[6]: Result */
18149 variable[6] = CALL_static_type___MMSignature___arity(variable[6])(variable[6]) /*MMSignature::arity*/;
18150 /* Register variable[6]: Result */
18151 variable[6] = NEW_Range_range___Range___without_last( TAG_Int(0), variable[6]) /*new Range[Int]*/;
18152 /* Register variable[6]: For iterator */
18153 variable[6] = CALL_abstract_collection___Collection___iterator(variable[6])(variable[6]) /*Range::iterator*/;
18154 while (true) { /*for*/
18155 /* Register variable[7]: For 'is_ok' result */
18156 variable[7] = CALL_abstract_collection___Iterator___is_ok(variable[6])(variable[6]) /*Iterator::is_ok*/;
18157 if (!UNTAG_Bool(variable[7])) break; /*for*/
18158 variable[7] = CALL_abstract_collection___Iterator___item(variable[6])(variable[6]) /*Iterator::item*/ /* Ensure var: For item*/;
18159 /* Register variable[8]: Local variable */
18160 variable[8] = variable[7];
18161 /* Register variable[9]: Local variable */
18162 variable[10] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18163 /* Register variable[11]: Once String constant */
18164 if (once_value_1054 != NIT_NULL) variable[11] = once_value_1054;
18165 else {
18166 variable[11] = NEW_String_string___String___with_native(BOX_NativeString("val_t "), TAG_Int(6)) /*new String*/;
18167 once_value_1054 = variable[11];
18168 }
18169 /* Register variable[11]: Result */
18170 /* Ensure var variable[11]: super-string element*/
18171 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
18172 /* Register variable[11]: Local variable */
18173 variable[11] = variable[2] /*args*/;
18174 /* Register variable[12]: Local variable */
18175 variable[12] = variable[8] /*i*/;
18176 /* Register variable[13]: Method return value and escape marker */
18177 /* Register variable[14]: Result */
18178 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)>=UNTAG_Int( TAG_Int(0)));
18179 /* Ensure var variable[14]: Left 'and' operand*/
18180 if (UNTAG_Bool(variable[14])) { /* and */
18181 /* Register variable[14]: Result */
18182 variable[14] = ATTR_array___AbstractArrayRead____length(variable[11]) /*AbstractArrayRead::_length*/;
18183 /* Register variable[14]: Result */
18184 variable[14] = TAG_Bool(UNTAG_Int( variable[12] /*index*/)<UNTAG_Int(variable[14]));
18185 }
18186 /* Register variable[14]: Result */
18187 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, 234); nit_exit(1);}
18188 /* Register variable[14]: Result */
18189 variable[14] = ATTR_array___Array____items(variable[11]) /*Array::_items*/;
18190 /* Register variable[14]: Result */
18191 variable[14] = UNBOX_NativeArray(variable[14])[UNTAG_Int( variable[12] /*index*/)];
18192 variable[13] = variable[14];
18193 goto return_label1055;
18194 return_label1055: while(false);
18195 /* Register variable[11]: Result */
18196 variable[11] = variable[13];
18197 /* Ensure var variable[11]: super-string element*/
18198 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
18199 /* Register variable[11]: Once String constant */
18200 if (once_value_1056 != NIT_NULL) variable[11] = once_value_1056;
18201 else {
18202 variable[11] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18203 once_value_1056 = variable[11];
18204 }
18205 /* Register variable[11]: Result */
18206 /* Ensure var variable[11]: super-string element*/
18207 CALL_abstract_collection___SimpleCollection___add(variable[10])(variable[10], variable[11]) /*AbstractArray::add*/;
18208 /* Register variable[10]: Result */
18209 variable[10] = CALL_string___Object___to_s(variable[10])(variable[10]) /*Object::to_s*/;
18210 variable[9] = variable[10];
18211 CALL_abstract_collection___SimpleCollection___add( variable[5] /*params*/)( variable[5] /*params*/, variable[9] /*p*/) /*AbstractArray::add*/;
18212 continue_1053: while(0);
18213 CALL_abstract_collection___Iterator___next(variable[6])(variable[6]) /*Iterator::next*/;
18214 }
18215 break_1053: while(0);
18216 /* Register variable[6]: Local variable */
18217 /*variable[6] is variable ret*/
18218 /* Register variable[7]: Result */
18219 variable[7] = CALL_syntax_base___PClosureDef___closure(variable[0])(variable[0]) /*PClosureDef::closure*/;
18220 /* Register variable[7]: Result */
18221 variable[7] = CALL_static_type___MMClosure___signature(variable[7])(variable[7]) /*MMClosure::signature*/;
18222 /* Register variable[7]: Result */
18223 variable[7] = CALL_static_type___MMSignature___return_type(variable[7])(variable[7]) /*MMSignature::return_type*/;
18224 /* Register variable[7]: Result */
18225 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::==*/)))))));
18226 if (UNTAG_Bool(variable[7])) { /*if*/
18227 /* Register variable[7]: Once String constant */
18228 if (once_value_1057 != NIT_NULL) variable[7] = once_value_1057;
18229 else {
18230 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("val_t"), TAG_Int(5)) /*new String*/;
18231 once_value_1057 = variable[7];
18232 }
18233 /* Register variable[7]: Result */
18234 variable[6] = variable[7] /*ret=*/;
18235 } else { /*if*/
18236 /* Register variable[7]: Once String constant */
18237 if (once_value_1058 != NIT_NULL) variable[7] = once_value_1058;
18238 else {
18239 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("void"), TAG_Int(4)) /*new String*/;
18240 once_value_1058 = variable[7];
18241 }
18242 /* Register variable[7]: Result */
18243 variable[6] = variable[7] /*ret=*/;
18244 }
18245 /* Register variable[7]: Local variable */
18246 /* Register variable[8]: Once String constant */
18247 if (once_value_1059 != NIT_NULL) variable[8] = once_value_1059;
18248 else {
18249 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
18250 once_value_1059 = variable[8];
18251 }
18252 /* Register variable[8]: Result */
18253 /* Register variable[8]: Result */
18254 variable[8] = CALL_string___Collection___join( variable[5] /*params*/)( variable[5] /*params*/, variable[8]) /*Collection::join*/;
18255 variable[7] = variable[8];
18256 /* Register variable[8]: Local variable */
18257 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18258 /* Register variable[10]: Once String constant */
18259 if (once_value_1060 != NIT_NULL) variable[10] = once_value_1060;
18260 else {
18261 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18262 once_value_1060 = variable[10];
18263 }
18264 /* Register variable[10]: Result */
18265 /* Ensure var variable[10]: super-string element*/
18266 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18267 variable[10] = variable[6] /*ret*/ /* Ensure var: super-string element*/;
18268 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18269 /* Register variable[10]: Once String constant */
18270 if (once_value_1061 != NIT_NULL) variable[10] = once_value_1061;
18271 else {
18272 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)) /*new String*/;
18273 once_value_1061 = variable[10];
18274 }
18275 /* Register variable[10]: Result */
18276 /* Ensure var variable[10]: super-string element*/
18277 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18278 /* Register variable[10]: Result */
18279 variable[10] = CALL_compiling_methods___AClosureDef___cname(variable[0])(variable[0]) /*AClosureDef::cname*/;
18280 /* Ensure var variable[10]: super-string element*/
18281 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18282 /* Register variable[10]: Once String constant */
18283 if (once_value_1062 != NIT_NULL) variable[10] = once_value_1062;
18284 else {
18285 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("("), TAG_Int(1)) /*new String*/;
18286 once_value_1062 = variable[10];
18287 }
18288 /* Register variable[10]: Result */
18289 /* Ensure var variable[10]: super-string element*/
18290 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18291 variable[10] = variable[7] /*p*/ /* Ensure var: super-string element*/;
18292 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18293 /* Register variable[10]: Once String constant */
18294 if (once_value_1063 != NIT_NULL) variable[10] = once_value_1063;
18295 else {
18296 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)) /*new String*/;
18297 once_value_1063 = variable[10];
18298 }
18299 /* Register variable[10]: Result */
18300 /* Ensure var variable[10]: super-string element*/
18301 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18302 /* Register variable[9]: Result */
18303 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
18304 variable[8] = variable[9];
18305 variable[9] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18306 /* Register variable[10]: Once String constant */
18307 if (once_value_1064 != NIT_NULL) variable[10] = once_value_1064;
18308 else {
18309 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("typedef "), TAG_Int(8)) /*new String*/;
18310 once_value_1064 = variable[10];
18311 }
18312 /* Register variable[10]: Result */
18313 /* Ensure var variable[10]: super-string element*/
18314 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18315 variable[10] = variable[6] /*ret*/ /* Ensure var: super-string element*/;
18316 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18317 /* Register variable[10]: Once String constant */
18318 if (once_value_1065 != NIT_NULL) variable[10] = once_value_1065;
18319 else {
18320 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(" (* "), TAG_Int(4)) /*new String*/;
18321 once_value_1065 = variable[10];
18322 }
18323 /* Register variable[10]: Result */
18324 /* Ensure var variable[10]: super-string element*/
18325 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18326 /* Register variable[10]: Result */
18327 variable[10] = CALL_compiling_methods___AClosureDef___cname(variable[0])(variable[0]) /*AClosureDef::cname*/;
18328 /* Ensure var variable[10]: super-string element*/
18329 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18330 /* Register variable[10]: Once String constant */
18331 if (once_value_1066 != NIT_NULL) variable[10] = once_value_1066;
18332 else {
18333 variable[10] = NEW_String_string___String___with_native(BOX_NativeString("_t)("), TAG_Int(4)) /*new String*/;
18334 once_value_1066 = variable[10];
18335 }
18336 /* Register variable[10]: Result */
18337 /* Ensure var variable[10]: super-string element*/
18338 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18339 variable[10] = variable[7] /*p*/ /* Ensure var: super-string element*/;
18340 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18341 /* Register variable[10]: Once String constant */
18342 if (once_value_1067 != NIT_NULL) variable[10] = once_value_1067;
18343 else {
18344 variable[10] = NEW_String_string___String___with_native(BOX_NativeString(");"), TAG_Int(2)) /*new String*/;
18345 once_value_1067 = variable[10];
18346 }
18347 /* Register variable[10]: Result */
18348 /* Ensure var variable[10]: super-string element*/
18349 CALL_abstract_collection___SimpleCollection___add(variable[9])(variable[9], variable[10]) /*AbstractArray::add*/;
18350 /* Register variable[9]: Result */
18351 variable[9] = CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/;
18352 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
18353 /* Register variable[9]: Once String constant */
18354 if (once_value_1068 != NIT_NULL) variable[9] = once_value_1068;
18355 else {
18356 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
18357 once_value_1068 = variable[9];
18358 }
18359 /* Register variable[9]: Result */
18360 /* Register variable[9]: Result */
18361 variable[9] = CALL_string___String_____plus( variable[8] /*s*/)( variable[8] /*s*/, variable[9]) /*String::+*/;
18362 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[9]) /*CompilerVisitor::add_decl*/;
18363 variable[4] = variable[8] /*s*/;
18364 goto return_label1051;
18365 return_label1051: while(false);
18366 tracehead = trace.prev;
18367 return variable[4];
18368 }
18369 val_t compiling_methods___PClosureDecl___do_compile_inside(val_t self, val_t param0, val_t param1) {
18370 struct trace_t trace = {NULL, NULL, 1730, LOCATE_compiling_methods___PClosureDecl___do_compile_inside};
18371 val_t *variable = NULL;
18372 struct WBT_ **closurevariable = NULL;
18373 trace.prev = tracehead; tracehead = &trace;
18374 trace.file = LOCATE_compiling_methods;
18375 fprintf(stderr, "Deferred method called");
18376 fprintf(stderr, " (%s:%d)\n", LOCATE_compiling_methods, 1730);
18377 nit_exit(1);
18378 tracehead = trace.prev;
18379 return NIT_NULL;
18380 }
18381 val_t compiling_methods___AClosureDecl___do_compile_inside(val_t self, val_t param0, val_t param1) {
18382 struct trace_t trace = {NULL, NULL, 1733, LOCATE_compiling_methods___AClosureDecl___do_compile_inside};
18383 static val_t once_value_1070 = NIT_NULL; /* Once value for string variable[9]*/
18384 static val_t once_value_1071 = NIT_NULL; /* Once value for string variable[9]*/
18385 static val_t once_value_1072 = NIT_NULL; /* Once value for string variable[9]*/
18386 static val_t once_value_1073 = NIT_NULL; /* Once value for string variable[8]*/
18387 static val_t once_value_1074 = NIT_NULL; /* Once value for string variable[8]*/
18388 val_t variable[10];
18389 struct WBT_ **closurevariable = NULL;
18390 trace.prev = tracehead; tracehead = &trace;
18391 trace.file = LOCATE_compiling_methods;
18392 /* Register variable[0]: Local variable */
18393 variable[0] = self;
18394 /* Register variable[1]: Local variable */
18395 variable[1] = param0;
18396 /* Register variable[2]: Local variable */
18397 variable[2] = param1;
18398 /* Register variable[3]: Method return value and escape marker */
18399 /* Register variable[4]: Result */
18400 variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[0])(variable[0]) /*AClosureDecl::n_signature*/;
18401 /* Register variable[4]: Result */
18402 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::==*/)))))));
18403 if (UNTAG_Bool(variable[4])) { /*if*/
18404 /* Register variable[4]: Result */
18405 variable[4] = CALL_parser_nodes___AClosureDecl___n_signature(variable[0])(variable[0]) /*AClosureDecl::n_signature*/;
18406 /* Register variable[5]: Result */
18407 variable[5] = CALL_syntax_base___PClosureDecl___variable(variable[0])(variable[0]) /*AClosureDecl::variable*/;
18408 /* Register variable[5]: Result */
18409 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
18410 /* Register variable[5]: Result */
18411 variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
18412 CALL_compiling_methods___PSignature___compile_parameters(variable[4])(variable[4], variable[1] /*v*/, variable[5], variable[2] /*params*/) /*PSignature::compile_parameters*/;
18413 }
18414 /* Register variable[4]: Local variable */
18415 /* Register variable[5]: Result */
18416 variable[5] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18417 /* Register variable[5]: Result */
18418 variable[5] = CALL_compiling_methods___NitMethodContext___continue_value(variable[5])(variable[5]) /*NitMethodContext::continue_value*/;
18419 variable[4] = variable[5];
18420 /* Register variable[5]: Local variable */
18421 /* Register variable[6]: Result */
18422 variable[6] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18423 /* Register variable[6]: Result */
18424 variable[6] = CALL_compiling_methods___NitMethodContext___continue_label(variable[6])(variable[6]) /*NitMethodContext::continue_label*/;
18425 variable[5] = variable[6];
18426 /* Register variable[6]: Local variable */
18427 /* Register variable[7]: Result */
18428 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18429 /* Register variable[7]: Result */
18430 variable[7] = CALL_compiling_methods___NitMethodContext___break_label(variable[7])(variable[7]) /*NitMethodContext::break_label*/;
18431 variable[6] = variable[7];
18432 /* Register variable[7]: Result */
18433 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18434 /* Register variable[8]: Result */
18435 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
18436 /* Register variable[9]: Once String constant */
18437 if (once_value_1070 != NIT_NULL) variable[9] = once_value_1070;
18438 else {
18439 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("Continue value and escape marker"), TAG_Int(32)) /*new String*/;
18440 once_value_1070 = variable[9];
18441 }
18442 /* Register variable[9]: Result */
18443 /* Register variable[8]: Result */
18444 variable[8] = CALL_compiling_methods___CFunctionContext___get_var(variable[8])(variable[8], variable[9]) /*CFunctionContext::get_var*/;
18445 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_value=*/;
18446 /* Register variable[7]: Result */
18447 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18448 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18449 /* Register variable[9]: Once String constant */
18450 if (once_value_1071 != NIT_NULL) variable[9] = once_value_1071;
18451 else {
18452 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("continue_label"), TAG_Int(14)) /*new String*/;
18453 once_value_1071 = variable[9];
18454 }
18455 /* Register variable[9]: Result */
18456 /* Ensure var variable[9]: super-string element*/
18457 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18458 /* Register variable[9]: Result */
18459 variable[9] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
18460 /* Ensure var variable[9]: super-string element*/
18461 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
18462 /* Register variable[9]: Once String constant */
18463 if (once_value_1072 != NIT_NULL) variable[9] = once_value_1072;
18464 else {
18465 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18466 once_value_1072 = variable[9];
18467 }
18468 /* Register variable[9]: Result */
18469 /* Ensure var variable[9]: super-string element*/
18470 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18471 /* Register variable[8]: Result */
18472 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18473 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::continue_label=*/;
18474 /* Register variable[7]: Result */
18475 variable[7] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18476 /* Register variable[8]: Result */
18477 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18478 /* Register variable[8]: Result */
18479 variable[8] = CALL_compiling_methods___NitMethodContext___return_label(variable[8])(variable[8]) /*NitMethodContext::return_label*/;
18480 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[7])(variable[7], variable[8]) /*NitMethodContext::break_label=*/;
18481 /* Register variable[7]: Result */
18482 variable[7] = CALL_parser_nodes___AClosureDecl___n_expr(variable[0])(variable[0]) /*AClosureDecl::n_expr*/;
18483 CALL_compiling_methods___CompilerVisitor___compile_stmt( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::compile_stmt*/;
18484 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18485 /* Register variable[8]: Once String constant */
18486 if (once_value_1073 != NIT_NULL) variable[8] = once_value_1073;
18487 else {
18488 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18489 once_value_1073 = variable[8];
18490 }
18491 /* Register variable[8]: Result */
18492 /* Ensure var variable[8]: super-string element*/
18493 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18494 /* Register variable[8]: Result */
18495 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18496 /* Register variable[8]: Result */
18497 variable[8] = CALL_compiling_methods___NitMethodContext___continue_label(variable[8])(variable[8]) /*NitMethodContext::continue_label*/;
18498 /* Ensure var variable[8]: super-string element*/
18499 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18500 /* Register variable[8]: Once String constant */
18501 if (once_value_1074 != NIT_NULL) variable[8] = once_value_1074;
18502 else {
18503 variable[8] = NEW_String_string___String___with_native(BOX_NativeString(": while(false);"), TAG_Int(15)) /*new String*/;
18504 once_value_1074 = variable[8];
18505 }
18506 /* Register variable[8]: Result */
18507 /* Ensure var variable[8]: super-string element*/
18508 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[8]) /*AbstractArray::add*/;
18509 /* Register variable[7]: Result */
18510 variable[7] = CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/;
18511 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
18512 /* Register variable[7]: Local variable */
18513 variable[7] = NIT_NULL /*null*/;
18514 /* Register variable[8]: Result */
18515 variable[8] = CALL_syntax_base___PClosureDecl___variable(variable[0])(variable[0]) /*AClosureDecl::variable*/;
18516 /* Register variable[8]: Result */
18517 variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
18518 /* Register variable[8]: Result */
18519 variable[8] = CALL_static_type___MMClosure___signature(variable[8])(variable[8]) /*MMClosure::signature*/;
18520 /* Register variable[8]: Result */
18521 variable[8] = CALL_static_type___MMSignature___return_type(variable[8])(variable[8]) /*MMSignature::return_type*/;
18522 /* Register variable[8]: Result */
18523 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::==*/)))))));
18524 if (UNTAG_Bool(variable[8])) { /*if*/
18525 /* Register variable[8]: Result */
18526 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18527 /* Register variable[8]: Result */
18528 variable[8] = CALL_compiling_methods___NitMethodContext___continue_value(variable[8])(variable[8]) /*NitMethodContext::continue_value*/;
18529 variable[7] = variable[8] /*ret=*/;
18530 }
18531 /* Register variable[8]: Result */
18532 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18533 CALL_compiling_methods___NitMethodContext___continue_value__eq(variable[8])(variable[8], variable[4] /*old_cv*/) /*NitMethodContext::continue_value=*/;
18534 /* Register variable[8]: Result */
18535 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18536 CALL_compiling_methods___NitMethodContext___continue_label__eq(variable[8])(variable[8], variable[5] /*old_cl*/) /*NitMethodContext::continue_label=*/;
18537 /* Register variable[8]: Result */
18538 variable[8] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18539 CALL_compiling_methods___NitMethodContext___break_label__eq(variable[8])(variable[8], variable[6] /*old_bl*/) /*NitMethodContext::break_label=*/;
18540 variable[3] = variable[7] /*ret*/;
18541 goto return_label1069;
18542 return_label1069: while(false);
18543 tracehead = trace.prev;
18544 return variable[3];
18545 }
18546 val_t compiling_methods___AClosureCallExpr___compile_expr(val_t self, val_t param0) {
18547 struct trace_t trace = {NULL, NULL, 1806, LOCATE_compiling_methods___AClosureCallExpr___compile_expr};
18548 val_t variable[5];
18549 struct WBT_ **closurevariable = NULL;
18550 trace.prev = tracehead; tracehead = &trace;
18551 trace.file = LOCATE_compiling_methods;
18552 /* Register variable[0]: Local variable */
18553 variable[0] = self;
18554 /* Register variable[1]: Local variable */
18555 variable[1] = param0;
18556 /* Register variable[2]: Method return value and escape marker */
18557 /* Register variable[3]: Local variable */
18558 /* Register variable[4]: Result */
18559 variable[4] = CALL_compiling_methods___AClosureCallExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*AClosureCallExpr::intern_compile_call*/;
18560 variable[3] = variable[4];
18561 /* Register variable[4]: Result */
18562 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::==*/)))))));
18563 if (!UNTAG_Bool(variable[4])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AClosureCallExpr___compile_expr, LOCATE_compiling_methods, 1809); nit_exit(1);}
18564 variable[2] = variable[3] /*e*/;
18565 goto return_label1075;
18566 return_label1075: while(false);
18567 tracehead = trace.prev;
18568 return variable[2];
18569 }
18570 void compiling_methods___AClosureCallExpr___compile_stmt(val_t self, val_t param0) {
18571 struct trace_t trace = {NULL, NULL, 1813, LOCATE_compiling_methods___AClosureCallExpr___compile_stmt};
18572 static val_t once_value_1077 = NIT_NULL; /* Once value for string variable[4]*/
18573 val_t variable[5];
18574 struct WBT_ **closurevariable = NULL;
18575 trace.prev = tracehead; tracehead = &trace;
18576 trace.file = LOCATE_compiling_methods;
18577 /* Register variable[0]: Local variable */
18578 variable[0] = self;
18579 /* Register variable[1]: Local variable */
18580 variable[1] = param0;
18581 /* Register variable[2]: Method return value and escape marker */
18582 /* Register variable[3]: Local variable */
18583 /* Register variable[4]: Result */
18584 variable[4] = CALL_compiling_methods___AClosureCallExpr___intern_compile_call(variable[0])(variable[0], variable[1] /*v*/) /*AClosureCallExpr::intern_compile_call*/;
18585 variable[3] = variable[4];
18586 /* Register variable[4]: Result */
18587 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::==*/)))))));
18588 if (UNTAG_Bool(variable[4])) { /*if*/
18589 /* Register variable[4]: Once String constant */
18590 if (once_value_1077 != NIT_NULL) variable[4] = once_value_1077;
18591 else {
18592 variable[4] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
18593 once_value_1077 = variable[4];
18594 }
18595 /* Register variable[4]: Result */
18596 /* Register variable[4]: Result */
18597 variable[4] = CALL_string___String_____plus( variable[3] /*e*/)( variable[3] /*e*/, variable[4]) /*String::+*/;
18598 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[4]) /*CompilerVisitor::add_instr*/;
18599 }
18600 return_label1076: while(false);
18601 tracehead = trace.prev;
18602 return;
18603 }
18604 val_t compiling_methods___AClosureCallExpr___intern_compile_call(val_t self, val_t param0) {
18605 struct trace_t trace = {NULL, NULL, 1761, LOCATE_compiling_methods___AClosureCallExpr___intern_compile_call};
18606 static val_t once_value_1079 = NIT_NULL; /* Once value for string variable[6]*/
18607 static val_t once_value_1080 = NIT_NULL; /* Once value for string variable[6]*/
18608 static val_t once_value_1081 = NIT_NULL; /* Once value for string variable[6]*/
18609 static val_t once_value_1082 = NIT_NULL; /* Once value for string variable[7]*/
18610 static val_t once_value_1083 = NIT_NULL; /* Once value for string variable[9]*/
18611 static val_t once_value_1084 = NIT_NULL; /* Once value for string variable[9]*/
18612 static val_t once_value_1085 = NIT_NULL; /* Once value for string variable[9]*/
18613 static val_t once_value_1086 = NIT_NULL; /* Once value for string variable[9]*/
18614 static val_t once_value_1087 = NIT_NULL; /* Once value for string variable[9]*/
18615 static val_t once_value_1088 = NIT_NULL; /* Once value for string variable[9]*/
18616 static val_t once_value_1089 = NIT_NULL; /* Once value for string variable[9]*/
18617 static val_t once_value_1090 = NIT_NULL; /* Once value for string variable[9]*/
18618 static val_t once_value_1091 = NIT_NULL; /* Once value for string variable[9]*/
18619 static val_t once_value_1092 = NIT_NULL; /* Once value for string variable[9]*/
18620 static val_t once_value_1093 = NIT_NULL; /* Once value for string variable[9]*/
18621 static val_t once_value_1094 = NIT_NULL; /* Once value for string variable[9]*/
18622 static val_t once_value_1095 = NIT_NULL; /* Once value for string variable[9]*/
18623 static val_t once_value_1096 = NIT_NULL; /* Once value for string variable[9]*/
18624 static val_t once_value_1097 = NIT_NULL; /* Once value for string variable[9]*/
18625 static val_t once_value_1098 = NIT_NULL; /* Once value for string variable[9]*/
18626 static val_t once_value_1099 = NIT_NULL; /* Once value for string variable[8]*/
18627 static val_t once_value_1100 = NIT_NULL; /* Once value for string variable[8]*/
18628 val_t variable[10];
18629 struct WBT_ **closurevariable = NULL;
18630 trace.prev = tracehead; tracehead = &trace;
18631 trace.file = LOCATE_compiling_methods;
18632 /* Register variable[0]: Local variable */
18633 variable[0] = self;
18634 /* Register variable[1]: Local variable */
18635 variable[1] = param0;
18636 /* Register variable[2]: Method return value and escape marker */
18637 /* Register variable[3]: Local variable */
18638 /* Register variable[4]: Result */
18639 variable[4] = NEW_Array_array___Array___init() /*new Array[String]*/;
18640 variable[3] = variable[4];
18641 CALL_compiling_methods___AAbsAbsSendExpr___compile_arguments_in(variable[0])(variable[0], variable[1] /*v*/, variable[3] /*cargs*/) /*AAbsAbsSendExpr::compile_arguments_in*/;
18642 /* Register variable[4]: Local variable */
18643 variable[4] = NIT_NULL /*null*/;
18644 /* Register variable[5]: Result */
18645 variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18646 /* Register variable[5]: Result */
18647 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
18648 /* Register variable[5]: Result */
18649 variable[5] = CALL_static_type___MMClosure___signature(variable[5])(variable[5]) /*MMClosure::signature*/;
18650 /* Register variable[5]: Result */
18651 variable[5] = CALL_static_type___MMSignature___return_type(variable[5])(variable[5]) /*MMSignature::return_type*/;
18652 /* Register variable[5]: Result */
18653 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::==*/)))))));
18654 if (UNTAG_Bool(variable[5])) { /*if*/
18655 /* Register variable[5]: Result */
18656 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
18657 /* Register variable[6]: Once String constant */
18658 if (once_value_1079 != NIT_NULL) variable[6] = once_value_1079;
18659 else {
18660 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Closure call result value"), TAG_Int(25)) /*new String*/;
18661 once_value_1079 = variable[6];
18662 }
18663 /* Register variable[6]: Result */
18664 /* Register variable[5]: Result */
18665 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
18666 variable[4] = variable[5] /*va=*/;
18667 }
18668 /* Register variable[5]: Result */
18669 variable[5] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18670 /* Register variable[5]: Result */
18671 variable[5] = CALL_syntax_base___ClosureVariable___closure(variable[5])(variable[5]) /*ClosureVariable::closure*/;
18672 /* Register variable[5]: Result */
18673 variable[5] = CALL_static_type___MMClosure___is_optional(variable[5])(variable[5]) /*MMClosure::is_optional*/;
18674 if (UNTAG_Bool(variable[5])) { /*if*/
18675 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18676 /* Register variable[6]: Once String constant */
18677 if (once_value_1080 != NIT_NULL) variable[6] = once_value_1080;
18678 else {
18679 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if("), TAG_Int(3)) /*new String*/;
18680 once_value_1080 = variable[6];
18681 }
18682 /* Register variable[6]: Result */
18683 /* Ensure var variable[6]: super-string element*/
18684 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
18685 /* Register variable[6]: Result */
18686 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
18687 /* Register variable[7]: Result */
18688 variable[7] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18689 /* Register variable[6]: Result */
18690 variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
18691 /* Ensure var variable[6]: super-string element*/
18692 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
18693 /* Register variable[6]: Once String constant */
18694 if (once_value_1081 != NIT_NULL) variable[6] = once_value_1081;
18695 else {
18696 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("==NULL) {"), TAG_Int(9)) /*new String*/;
18697 once_value_1081 = variable[6];
18698 }
18699 /* Register variable[6]: Result */
18700 /* Ensure var variable[6]: super-string element*/
18701 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
18702 /* Register variable[5]: Result */
18703 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
18704 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
18705 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
18706 /* Register variable[5]: Local variable */
18707 /* Register variable[6]: Result */
18708 variable[6] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18709 /* Register variable[6]: Result */
18710 variable[6] = CALL_syntax_base___Variable___decl(variable[6])(variable[6]) /*Variable::decl*/;
18711 variable[5] = variable[6];
18712 /* Register variable[6]: Result */
18713 variable[6] = TAG_Bool(( variable[5] /*n*/==NIT_NULL) || VAL_ISA( variable[5] /*n*/, COLOR_AClosureDecl, ID_AClosureDecl)) /*cast AClosureDecl*/;
18714 if (!UNTAG_Bool(variable[6])) { fprintf(stderr, "Assert%s failed", ""); fprintf(stderr, " in %s (%s:%d)\n", LOCATE_compiling_methods___AClosureCallExpr___intern_compile_call, LOCATE_compiling_methods, 1772); nit_exit(1);}
18715 /* Register variable[6]: Local variable */
18716 /* Register variable[7]: Result */
18717 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*/;
18718 variable[6] = variable[7];
18719 /* Register variable[7]: Result */
18720 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::==*/)))))));
18721 if (UNTAG_Bool(variable[7])) { /*if*/
18722 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*va*/, variable[6] /*s*/) /*CompilerVisitor::add_assignment*/;
18723 }
18724 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
18725 /* Register variable[7]: Once String constant */
18726 if (once_value_1082 != NIT_NULL) variable[7] = once_value_1082;
18727 else {
18728 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("} else {"), TAG_Int(8)) /*new String*/;
18729 once_value_1082 = variable[7];
18730 }
18731 /* Register variable[7]: Result */
18732 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[7]) /*CompilerVisitor::add_instr*/;
18733 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
18734 }
18735 /* Register variable[5]: Local variable */
18736 /* Register variable[6]: Result */
18737 variable[6] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
18738 /* Register variable[7]: Result */
18739 variable[7] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18740 /* Register variable[6]: Result */
18741 variable[6] = CALL_compiling_methods___CFunctionContext___varname(variable[6])(variable[6], variable[7]) /*CFunctionContext::varname*/;
18742 variable[5] = variable[6];
18743 /* Register variable[6]: Local variable */
18744 variable[7] = NEW_Array_array___Array___with_capacity(TAG_Int(1)) /*new Array[String]*/ /* Ensure var: Literal array*/;
18745 CALL_abstract_collection___SimpleCollection___add(variable[7])(variable[7], variable[5] /*ivar*/) /*AbstractArray::add*/;
18746 /* Register variable[7]: Result */
18747 variable[6] = variable[7];
18748 CALL_abstract_collection___IndexedCollection___append( variable[6] /*cargs2*/)( variable[6] /*cargs2*/, variable[3] /*cargs*/) /*IndexedCollection::append*/;
18749 /* Register variable[7]: Local variable */
18750 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(9)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18751 /* Register variable[9]: Once String constant */
18752 if (once_value_1083 != NIT_NULL) variable[9] = once_value_1083;
18753 else {
18754 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("(("), TAG_Int(2)) /*new String*/;
18755 once_value_1083 = variable[9];
18756 }
18757 /* Register variable[9]: Result */
18758 /* Ensure var variable[9]: super-string element*/
18759 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18760 /* Register variable[9]: Result */
18761 variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18762 /* Register variable[9]: Result */
18763 variable[9] = CALL_compiling_methods___ClosureVariable___ctypename(variable[9])(variable[9]) /*ClosureVariable::ctypename*/;
18764 /* Ensure var variable[9]: super-string element*/
18765 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18766 /* Register variable[9]: Once String constant */
18767 if (once_value_1084 != NIT_NULL) variable[9] = once_value_1084;
18768 else {
18769 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(")("), TAG_Int(2)) /*new String*/;
18770 once_value_1084 = variable[9];
18771 }
18772 /* Register variable[9]: Result */
18773 /* Ensure var variable[9]: super-string element*/
18774 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18775 variable[9] = variable[5] /*ivar*/ /* Ensure var: super-string element*/;
18776 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18777 /* Register variable[9]: Once String constant */
18778 if (once_value_1085 != NIT_NULL) variable[9] = once_value_1085;
18779 else {
18780 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->fun))("), TAG_Int(8)) /*new String*/;
18781 once_value_1085 = variable[9];
18782 }
18783 /* Register variable[9]: Result */
18784 /* Ensure var variable[9]: super-string element*/
18785 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18786 /* Register variable[9]: Once String constant */
18787 if (once_value_1086 != NIT_NULL) variable[9] = once_value_1086;
18788 else {
18789 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)) /*new String*/;
18790 once_value_1086 = variable[9];
18791 }
18792 /* Register variable[9]: Result */
18793 /* Register variable[9]: Result */
18794 variable[9] = CALL_string___Collection___join( variable[6] /*cargs2*/)( variable[6] /*cargs2*/, variable[9]) /*Collection::join*/;
18795 /* Ensure var variable[9]: super-string element*/
18796 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18797 /* Register variable[9]: Once String constant */
18798 if (once_value_1087 != NIT_NULL) variable[9] = once_value_1087;
18799 else {
18800 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(") /* Invoke closure "), TAG_Int(20)) /*new String*/;
18801 once_value_1087 = variable[9];
18802 }
18803 /* Register variable[9]: Result */
18804 /* Ensure var variable[9]: super-string element*/
18805 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18806 /* Register variable[9]: Result */
18807 variable[9] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18808 /* Ensure var variable[9]: super-string element*/
18809 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], CALL_string___Object___to_s(variable[9])(variable[9]) /*Object::to_s*/) /*AbstractArray::add*/;
18810 /* Register variable[9]: Once String constant */
18811 if (once_value_1088 != NIT_NULL) variable[9] = once_value_1088;
18812 else {
18813 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(" */"), TAG_Int(3)) /*new String*/;
18814 once_value_1088 = variable[9];
18815 }
18816 /* Register variable[9]: Result */
18817 /* Ensure var variable[9]: super-string element*/
18818 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18819 /* Register variable[8]: Result */
18820 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18821 variable[7] = variable[8];
18822 /* Register variable[8]: Result */
18823 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::==*/)))))));
18824 if (UNTAG_Bool(variable[8])) { /*if*/
18825 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*va*/, variable[7] /*s*/) /*CompilerVisitor::add_assignment*/;
18826 } else { /*if*/
18827 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18828 /* Register variable[9]: Once String constant */
18829 if (once_value_1089 != NIT_NULL) variable[9] = once_value_1089;
18830 else {
18831 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)) /*new String*/;
18832 once_value_1089 = variable[9];
18833 }
18834 /* Register variable[9]: Result */
18835 /* Ensure var variable[9]: super-string element*/
18836 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18837 variable[9] = variable[7] /*s*/ /* Ensure var: super-string element*/;
18838 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18839 /* Register variable[9]: Once String constant */
18840 if (once_value_1090 != NIT_NULL) variable[9] = once_value_1090;
18841 else {
18842 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
18843 once_value_1090 = variable[9];
18844 }
18845 /* Register variable[9]: Result */
18846 /* Ensure var variable[9]: super-string element*/
18847 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18848 /* Register variable[8]: Result */
18849 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18850 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
18851 }
18852 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18853 /* Register variable[9]: Once String constant */
18854 if (once_value_1091 != NIT_NULL) variable[9] = once_value_1091;
18855 else {
18856 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
18857 once_value_1091 = variable[9];
18858 }
18859 /* Register variable[9]: Result */
18860 /* Ensure var variable[9]: super-string element*/
18861 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18862 variable[9] = variable[5] /*ivar*/ /* Ensure var: super-string element*/;
18863 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18864 /* Register variable[9]: Once String constant */
18865 if (once_value_1092 != NIT_NULL) variable[9] = once_value_1092;
18866 else {
18867 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) {"), TAG_Int(14)) /*new String*/;
18868 once_value_1092 = variable[9];
18869 }
18870 /* Register variable[9]: Result */
18871 /* Ensure var variable[9]: super-string element*/
18872 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18873 /* Register variable[8]: Result */
18874 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18875 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
18876 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
18877 /* Register variable[8]: Result */
18878 variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
18879 /* Register variable[8]: Result */
18880 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::==*/)))))));
18881 /* Ensure var variable[8]: Left 'and' operand*/
18882 if (UNTAG_Bool(variable[8])) { /* and */
18883 /* Register variable[8]: Result */
18884 variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
18885 /* Register variable[8]: Result */
18886 variable[8] = CALL_abstract_collection___Collection___length(variable[8])(variable[8]) /*List::length*/;
18887 /* Register variable[8]: Result */
18888 variable[8] = TAG_Bool((variable[8])==( TAG_Int(1)));
18889 }
18890 /* Register variable[8]: Result */
18891 if (UNTAG_Bool(variable[8])) { /*if*/
18892 /* Register variable[8]: Result */
18893 variable[8] = CALL_parser_nodes___AClosureCallExpr___n_closure_defs(variable[0])(variable[0]) /*AClosureCallExpr::n_closure_defs*/;
18894 /* Register variable[8]: Result */
18895 variable[8] = CALL_abstract_collection___Collection___first(variable[8])(variable[8]) /*List::first*/;
18896 CALL_compiling_methods___PClosureDef___do_compile_inside(variable[8])(variable[8], variable[1] /*v*/, NIT_NULL /*null*/) /*PClosureDef::do_compile_inside*/;
18897 }
18898 /* Register variable[8]: Result */
18899 variable[8] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
18900 /* Register variable[8]: Result */
18901 variable[8] = CALL_compiling_methods___CFunctionContext___closure(variable[8])(variable[8]) /*CFunctionContext::closure*/;
18902 /* Register variable[9]: Result */
18903 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18904 /* Register variable[8]: Result */
18905 variable[8] = 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::==*/)))));
18906 if (UNTAG_Bool(variable[8])) { /*if*/
18907 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18908 /* Register variable[9]: Once String constant */
18909 if (once_value_1093 != NIT_NULL) variable[9] = once_value_1093;
18910 else {
18911 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("if ("), TAG_Int(4)) /*new String*/;
18912 once_value_1093 = variable[9];
18913 }
18914 /* Register variable[9]: Result */
18915 /* Ensure var variable[9]: super-string element*/
18916 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18917 variable[9] = variable[5] /*ivar*/ /* Ensure var: super-string element*/;
18918 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18919 /* Register variable[9]: Once String constant */
18920 if (once_value_1094 != NIT_NULL) variable[9] = once_value_1094;
18921 else {
18922 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke) { closctx->has_broke = "), TAG_Int(36)) /*new String*/;
18923 once_value_1094 = variable[9];
18924 }
18925 /* Register variable[9]: Result */
18926 /* Ensure var variable[9]: super-string element*/
18927 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18928 variable[9] = variable[5] /*ivar*/ /* Ensure var: super-string element*/;
18929 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18930 /* Register variable[9]: Once String constant */
18931 if (once_value_1095 != NIT_NULL) variable[9] = once_value_1095;
18932 else {
18933 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->has_broke; closctx->broke_value = "), TAG_Int(36)) /*new String*/;
18934 once_value_1095 = variable[9];
18935 }
18936 /* Register variable[9]: Result */
18937 /* Ensure var variable[9]: super-string element*/
18938 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18939 variable[9] = variable[5] /*ivar*/ /* Ensure var: super-string element*/;
18940 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18941 /* Register variable[9]: Once String constant */
18942 if (once_value_1096 != NIT_NULL) variable[9] = once_value_1096;
18943 else {
18944 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("->broke_value;}"), TAG_Int(15)) /*new String*/;
18945 once_value_1096 = variable[9];
18946 }
18947 /* Register variable[9]: Result */
18948 /* Ensure var variable[9]: super-string element*/
18949 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18950 /* Register variable[8]: Result */
18951 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18952 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
18953 }
18954 variable[8] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
18955 /* Register variable[9]: Once String constant */
18956 if (once_value_1097 != NIT_NULL) variable[9] = once_value_1097;
18957 else {
18958 variable[9] = NEW_String_string___String___with_native(BOX_NativeString("goto "), TAG_Int(5)) /*new String*/;
18959 once_value_1097 = variable[9];
18960 }
18961 /* Register variable[9]: Result */
18962 /* Ensure var variable[9]: super-string element*/
18963 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18964 /* Register variable[9]: Result */
18965 variable[9] = CALL_compiling_methods___CompilerVisitor___nmc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::nmc*/;
18966 /* Register variable[9]: Result */
18967 variable[9] = CALL_compiling_methods___NitMethodContext___return_label(variable[9])(variable[9]) /*NitMethodContext::return_label*/;
18968 /* Ensure var variable[9]: super-string element*/
18969 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18970 /* Register variable[9]: Once String constant */
18971 if (once_value_1098 != NIT_NULL) variable[9] = once_value_1098;
18972 else {
18973 variable[9] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
18974 once_value_1098 = variable[9];
18975 }
18976 /* Register variable[9]: Result */
18977 /* Ensure var variable[9]: super-string element*/
18978 CALL_abstract_collection___SimpleCollection___add(variable[8])(variable[8], variable[9]) /*AbstractArray::add*/;
18979 /* Register variable[8]: Result */
18980 variable[8] = CALL_string___Object___to_s(variable[8])(variable[8]) /*Object::to_s*/;
18981 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
18982 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
18983 /* Register variable[8]: Once String constant */
18984 if (once_value_1099 != NIT_NULL) variable[8] = once_value_1099;
18985 else {
18986 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
18987 once_value_1099 = variable[8];
18988 }
18989 /* Register variable[8]: Result */
18990 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
18991 /* Register variable[8]: Result */
18992 variable[8] = CALL_syntax_base___AClosureCallExpr___variable(variable[0])(variable[0]) /*AClosureCallExpr::variable*/;
18993 /* Register variable[8]: Result */
18994 variable[8] = CALL_syntax_base___ClosureVariable___closure(variable[8])(variable[8]) /*ClosureVariable::closure*/;
18995 /* Register variable[8]: Result */
18996 variable[8] = CALL_static_type___MMClosure___is_optional(variable[8])(variable[8]) /*MMClosure::is_optional*/;
18997 if (UNTAG_Bool(variable[8])) { /*if*/
18998 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
18999 /* Register variable[8]: Once String constant */
19000 if (once_value_1100 != NIT_NULL) variable[8] = once_value_1100;
19001 else {
19002 variable[8] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
19003 once_value_1100 = variable[8];
19004 }
19005 /* Register variable[8]: Result */
19006 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[8]) /*CompilerVisitor::add_instr*/;
19007 }
19008 variable[2] = variable[4] /*va*/;
19009 goto return_label1078;
19010 return_label1078: while(false);
19011 tracehead = trace.prev;
19012 return variable[2];
19013 }
19014 val_t compiling_methods___AProxyExpr___compile_expr(val_t self, val_t param0) {
19015 struct trace_t trace = {NULL, NULL, 1823, LOCATE_compiling_methods___AProxyExpr___compile_expr};
19016 val_t variable[4];
19017 struct WBT_ **closurevariable = NULL;
19018 trace.prev = tracehead; tracehead = &trace;
19019 trace.file = LOCATE_compiling_methods;
19020 /* Register variable[0]: Local variable */
19021 variable[0] = self;
19022 /* Register variable[1]: Local variable */
19023 variable[1] = param0;
19024 /* Register variable[2]: Method return value and escape marker */
19025 /* Register variable[3]: Result */
19026 variable[3] = CALL_parser_nodes___AProxyExpr___n_expr(variable[0])(variable[0]) /*AProxyExpr::n_expr*/;
19027 /* Register variable[3]: Result */
19028 variable[3] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[3]) /*CompilerVisitor::compile_expr*/;
19029 variable[2] = variable[3];
19030 goto return_label1101;
19031 return_label1101: while(false);
19032 tracehead = trace.prev;
19033 return variable[2];
19034 }
19035 val_t compiling_methods___AOnceExpr___compile_expr(val_t self, val_t param0) {
19036 struct trace_t trace = {NULL, NULL, 1830, LOCATE_compiling_methods___AOnceExpr___compile_expr};
19037 static val_t once_value_1103 = NIT_NULL; /* Once value for string variable[6]*/
19038 static val_t once_value_1104 = NIT_NULL; /* Once value for string variable[6]*/
19039 static val_t once_value_1105 = NIT_NULL; /* Once value for string variable[6]*/
19040 static val_t once_value_1106 = NIT_NULL; /* Once value for string variable[6]*/
19041 static val_t once_value_1107 = NIT_NULL; /* Once value for string variable[6]*/
19042 static val_t once_value_1108 = NIT_NULL; /* Once value for string variable[6]*/
19043 static val_t once_value_1109 = NIT_NULL; /* Once value for string variable[6]*/
19044 static val_t once_value_1110 = NIT_NULL; /* Once value for string variable[6]*/
19045 static val_t once_value_1111 = NIT_NULL; /* Once value for string variable[6]*/
19046 static val_t once_value_1112 = NIT_NULL; /* Once value for string variable[5]*/
19047 static val_t once_value_1113 = NIT_NULL; /* Once value for string variable[7]*/
19048 static val_t once_value_1114 = NIT_NULL; /* Once value for string variable[7]*/
19049 static val_t once_value_1115 = NIT_NULL; /* Once value for string variable[7]*/
19050 static val_t once_value_1116 = NIT_NULL; /* Once value for string variable[7]*/
19051 static val_t once_value_1117 = NIT_NULL; /* Once value for string variable[7]*/
19052 static val_t once_value_1118 = NIT_NULL; /* Once value for string variable[6]*/
19053 val_t variable[8];
19054 struct WBT_ **closurevariable = NULL;
19055 trace.prev = tracehead; tracehead = &trace;
19056 trace.file = LOCATE_compiling_methods;
19057 /* Register variable[0]: Local variable */
19058 variable[0] = self;
19059 /* Register variable[1]: Local variable */
19060 variable[1] = param0;
19061 /* Register variable[2]: Method return value and escape marker */
19062 /* Register variable[3]: Local variable */
19063 /* Register variable[4]: Result */
19064 variable[4] = CALL_compiling_base___CompilerVisitor___new_number( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::new_number*/;
19065 variable[3] = variable[4];
19066 /* Register variable[4]: Local variable */
19067 /* Register variable[5]: Result */
19068 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
19069 /* Register variable[6]: Once String constant */
19070 if (once_value_1103 != NIT_NULL) variable[6] = once_value_1103;
19071 else {
19072 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("Once expression result"), TAG_Int(22)) /*new String*/;
19073 once_value_1103 = variable[6];
19074 }
19075 /* Register variable[6]: Result */
19076 /* Register variable[5]: Result */
19077 variable[5] = CALL_compiling_methods___CFunctionContext___get_var(variable[5])(variable[5], variable[6]) /*CFunctionContext::get_var*/;
19078 variable[4] = variable[5];
19079 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
19080 /* Register variable[6]: Once String constant */
19081 if (once_value_1104 != NIT_NULL) variable[6] = once_value_1104;
19082 else {
19083 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("static val_t once_value_"), TAG_Int(24)) /*new String*/;
19084 once_value_1104 = variable[6];
19085 }
19086 /* Register variable[6]: Result */
19087 /* Ensure var variable[6]: super-string element*/
19088 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19089 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19090 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
19091 /* Register variable[6]: Once String constant */
19092 if (once_value_1105 != NIT_NULL) variable[6] = once_value_1105;
19093 else {
19094 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("; static int once_bool_"), TAG_Int(23)) /*new String*/;
19095 once_value_1105 = variable[6];
19096 }
19097 /* Register variable[6]: Result */
19098 /* Ensure var variable[6]: super-string element*/
19099 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19100 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19101 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
19102 /* Register variable[6]: Once String constant */
19103 if (once_value_1106 != NIT_NULL) variable[6] = once_value_1106;
19104 else {
19105 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("; /* Once value for "), TAG_Int(20)) /*new String*/;
19106 once_value_1106 = variable[6];
19107 }
19108 /* Register variable[6]: Result */
19109 /* Ensure var variable[6]: super-string element*/
19110 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19111 variable[6] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
19112 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19113 /* Register variable[6]: Once String constant */
19114 if (once_value_1107 != NIT_NULL) variable[6] = once_value_1107;
19115 else {
19116 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("*/"), TAG_Int(2)) /*new String*/;
19117 once_value_1107 = variable[6];
19118 }
19119 /* Register variable[6]: Result */
19120 /* Ensure var variable[6]: super-string element*/
19121 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19122 /* Register variable[5]: Result */
19123 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
19124 CALL_compiling_base___CompilerVisitor___add_decl( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_decl*/;
19125 variable[5] = NEW_Array_array___Array___with_capacity(TAG_Int(7)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
19126 /* Register variable[6]: Once String constant */
19127 if (once_value_1108 != NIT_NULL) variable[6] = once_value_1108;
19128 else {
19129 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("if (once_bool_"), TAG_Int(14)) /*new String*/;
19130 once_value_1108 = variable[6];
19131 }
19132 /* Register variable[6]: Result */
19133 /* Ensure var variable[6]: super-string element*/
19134 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19135 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19136 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
19137 /* Register variable[6]: Once String constant */
19138 if (once_value_1109 != NIT_NULL) variable[6] = once_value_1109;
19139 else {
19140 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(") "), TAG_Int(2)) /*new String*/;
19141 once_value_1109 = variable[6];
19142 }
19143 /* Register variable[6]: Result */
19144 /* Ensure var variable[6]: super-string element*/
19145 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19146 variable[6] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
19147 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19148 /* Register variable[6]: Once String constant */
19149 if (once_value_1110 != NIT_NULL) variable[6] = once_value_1110;
19150 else {
19151 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(" = once_value_"), TAG_Int(14)) /*new String*/;
19152 once_value_1110 = variable[6];
19153 }
19154 /* Register variable[6]: Result */
19155 /* Ensure var variable[6]: super-string element*/
19156 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19157 variable[6] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19158 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/) /*AbstractArray::add*/;
19159 /* Register variable[6]: Once String constant */
19160 if (once_value_1111 != NIT_NULL) variable[6] = once_value_1111;
19161 else {
19162 variable[6] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
19163 once_value_1111 = variable[6];
19164 }
19165 /* Register variable[6]: Result */
19166 /* Ensure var variable[6]: super-string element*/
19167 CALL_abstract_collection___SimpleCollection___add(variable[5])(variable[5], variable[6]) /*AbstractArray::add*/;
19168 /* Register variable[5]: Result */
19169 variable[5] = CALL_string___Object___to_s(variable[5])(variable[5]) /*Object::to_s*/;
19170 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
19171 /* Register variable[5]: Once String constant */
19172 if (once_value_1112 != NIT_NULL) variable[5] = once_value_1112;
19173 else {
19174 variable[5] = NEW_String_string___String___with_native(BOX_NativeString("else {"), TAG_Int(6)) /*new String*/;
19175 once_value_1112 = variable[5];
19176 }
19177 /* Register variable[5]: Result */
19178 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[5]) /*CompilerVisitor::add_instr*/;
19179 CALL_compiling_base___CompilerVisitor___indent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::indent*/;
19180 /* Register variable[5]: Result */
19181 variable[5] = CALL_compiling_methods___CompilerVisitor___cfc( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::cfc*/;
19182 CALL_compiling_methods___CFunctionContext___free_var(variable[5])(variable[5], variable[4] /*cvar*/) /*CFunctionContext::free_var*/;
19183 /* Register variable[5]: Local variable */
19184 /* Register variable[6]: Result */
19185 variable[6] = CALL_parser_nodes___AProxyExpr___n_expr(variable[0])(variable[0]) /*AProxyExpr::n_expr*/;
19186 /* Register variable[6]: Result */
19187 variable[6] = CALL_compiling_methods___CompilerVisitor___compile_expr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::compile_expr*/;
19188 variable[5] = variable[6];
19189 CALL_compiling_methods___CompilerVisitor___add_assignment( variable[1] /*v*/)( variable[1] /*v*/, variable[4] /*cvar*/, variable[5] /*e*/) /*CompilerVisitor::add_assignment*/;
19190 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(5)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
19191 /* Register variable[7]: Once String constant */
19192 if (once_value_1113 != NIT_NULL) variable[7] = once_value_1113;
19193 else {
19194 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_value_"), TAG_Int(11)) /*new String*/;
19195 once_value_1113 = variable[7];
19196 }
19197 /* Register variable[7]: Result */
19198 /* Ensure var variable[7]: super-string element*/
19199 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19200 variable[7] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19201 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
19202 /* Register variable[7]: Once String constant */
19203 if (once_value_1114 != NIT_NULL) variable[7] = once_value_1114;
19204 else {
19205 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = "), TAG_Int(3)) /*new String*/;
19206 once_value_1114 = variable[7];
19207 }
19208 /* Register variable[7]: Result */
19209 /* Ensure var variable[7]: super-string element*/
19210 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19211 variable[7] = variable[4] /*cvar*/ /* Ensure var: super-string element*/;
19212 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19213 /* Register variable[7]: Once String constant */
19214 if (once_value_1115 != NIT_NULL) variable[7] = once_value_1115;
19215 else {
19216 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(";"), TAG_Int(1)) /*new String*/;
19217 once_value_1115 = variable[7];
19218 }
19219 /* Register variable[7]: Result */
19220 /* Ensure var variable[7]: super-string element*/
19221 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19222 /* Register variable[6]: Result */
19223 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
19224 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
19225 variable[6] = NEW_Array_array___Array___with_capacity(TAG_Int(3)) /*new Array[String]*/ /* Ensure var: Array (for super-string)*/;
19226 /* Register variable[7]: Once String constant */
19227 if (once_value_1116 != NIT_NULL) variable[7] = once_value_1116;
19228 else {
19229 variable[7] = NEW_String_string___String___with_native(BOX_NativeString("once_bool_"), TAG_Int(10)) /*new String*/;
19230 once_value_1116 = variable[7];
19231 }
19232 /* Register variable[7]: Result */
19233 /* Ensure var variable[7]: super-string element*/
19234 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19235 variable[7] = variable[3] /*i*/ /* Ensure var: super-string element*/;
19236 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], CALL_string___Object___to_s(variable[7])(variable[7]) /*Object::to_s*/) /*AbstractArray::add*/;
19237 /* Register variable[7]: Once String constant */
19238 if (once_value_1117 != NIT_NULL) variable[7] = once_value_1117;
19239 else {
19240 variable[7] = NEW_String_string___String___with_native(BOX_NativeString(" = true;"), TAG_Int(8)) /*new String*/;
19241 once_value_1117 = variable[7];
19242 }
19243 /* Register variable[7]: Result */
19244 /* Ensure var variable[7]: super-string element*/
19245 CALL_abstract_collection___SimpleCollection___add(variable[6])(variable[6], variable[7]) /*AbstractArray::add*/;
19246 /* Register variable[6]: Result */
19247 variable[6] = CALL_string___Object___to_s(variable[6])(variable[6]) /*Object::to_s*/;
19248 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
19249 CALL_compiling_base___CompilerVisitor___unindent( variable[1] /*v*/)( variable[1] /*v*/) /*CompilerVisitor::unindent*/;
19250 /* Register variable[6]: Once String constant */
19251 if (once_value_1118 != NIT_NULL) variable[6] = once_value_1118;
19252 else {
19253 variable[6] = NEW_String_string___String___with_native(BOX_NativeString("}"), TAG_Int(1)) /*new String*/;
19254 once_value_1118 = variable[6];
19255 }
19256 /* Register variable[6]: Result */
19257 CALL_compiling_base___CompilerVisitor___add_instr( variable[1] /*v*/)( variable[1] /*v*/, variable[6]) /*CompilerVisitor::add_instr*/;
19258 variable[2] = variable[4] /*cvar*/;
19259 goto return_label1102;
19260 return_label1102: while(false);
19261 tracehead = trace.prev;
19262 return variable[2];
19263 }