1 /* This C file is generated by NIT to compile module string. */
2 #include "string._sep.h"
3 val_t
string___String_____eqeq(val_t self
, val_t param0
) {
4 struct trace_t trace
= {NULL
, NULL
, 294, LOCATE_string___String_____eqeq
};
6 void **closurevariable
= NULL
;
7 trace
.prev
= tracehead
; tracehead
= &trace
;
8 trace
.file
= LOCATE_string
;
11 variable
[3] = TAG_Bool(( variable
[1] /*o*/==NIT_NULL
) || VAL_ISA( variable
[1] /*o*/, COLOR_String
, ID_String
)) /*cast String*/;
12 variable
[3] = TAG_Bool(!UNTAG_Bool(variable
[3]));
13 if (!UNTAG_Bool(variable
[3])) { /* or */
14 variable
[3] = TAG_Bool(IS_EQUAL_NN( variable
[1] /*o*/, NIT_NULL
/*null*/));
16 if (UNTAG_Bool(variable
[3])) { /*if*/
17 variable
[2] = TAG_Bool(false);
20 variable
[3] = TAG_Bool(( variable
[1] /*o*/==NIT_NULL
) || VAL_ISA( variable
[1] /*o*/, COLOR_String
, ID_String
)) /*cast String*/;
21 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String_____eqeq
, LOCATE_string
, 297); nit_exit(1);}
22 variable
[4] = variable
[0];
23 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
24 variable
[3] = variable
[4];
25 variable
[4] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*o*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*o*/) /*AbstractArray::length*/;
26 variable
[4] = TAG_Bool((variable
[4])!=( variable
[3] /*l*/));
27 if (UNTAG_Bool(variable
[4])) { /*if*/
28 variable
[2] = TAG_Bool(false);
31 variable
[4] = TAG_Int(0);
32 variable
[6] = variable
[0];
33 variable
[6] = ATTR_string___String____items(variable
[6]) /*String::_items*/;
34 variable
[5] = variable
[6];
35 variable
[7] = ATTR_string___String____items( variable
[1] /*o*/) /*String::_items*/;
36 variable
[6] = variable
[7];
37 while (true) { /*while*/
38 variable
[7] = TAG_Bool(UNTAG_Int( variable
[4] /*i*/)<UNTAG_Int( variable
[3] /*l*/));
39 if (!UNTAG_Bool(variable
[7])) break; /* while*/
40 variable
[7] = TAG_Char(UNBOX_NativeString( variable
[5] /*it*/)[UNTAG_Int( variable
[4] /*i*/)]);
41 variable
[8] = TAG_Char(UNBOX_NativeString( variable
[6] /*oit*/)[UNTAG_Int( variable
[4] /*i*/)]);
42 variable
[7] = TAG_Bool((variable
[7])!=(variable
[8]));
43 if (UNTAG_Bool(variable
[7])) { /*if*/
44 variable
[2] = TAG_Bool(false);
47 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
51 variable
[2] = TAG_Bool(true);
53 return_label0
: while(false);
54 tracehead
= trace
.prev
;
57 void string___String___output(val_t self
) {
58 struct trace_t trace
= {NULL
, NULL
, 285, LOCATE_string___String___output
};
60 void **closurevariable
= NULL
;
61 trace
.prev
= tracehead
; tracehead
= &trace
;
62 trace
.file
= LOCATE_string
;
64 variable
[2] = TAG_Int(0);
65 while (true) { /*while*/
66 variable
[3] = variable
[0];
67 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
68 variable
[3] = TAG_Bool(UNTAG_Int( variable
[2] /*i*/)<UNTAG_Int(variable
[3]));
69 if (!UNTAG_Bool(variable
[3])) break; /* while*/
70 variable
[3] = variable
[0];
71 variable
[3] = ATTR_string___String____items(variable
[3]) /*String::_items*/;
72 variable
[3] = TAG_Char(UNBOX_NativeString(variable
[3])[UNTAG_Int( variable
[2] /*i*/)]);
73 printf("%c", (unsigned char)UNTAG_Char(variable
[3]));
74 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int( TAG_Int(1))) /*i*/;
78 return_label2
: while(false);
79 tracehead
= trace
.prev
;
82 val_t
string___String_____bra(val_t self
, val_t param0
) {
83 struct trace_t trace
= {NULL
, NULL
, 31, LOCATE_string___String_____bra
};
85 void **closurevariable
= NULL
;
86 trace
.prev
= tracehead
; tracehead
= &trace
;
87 trace
.file
= LOCATE_string
;
90 variable
[3] = variable
[0];
91 variable
[3] = ATTR_string___String____items(variable
[3]) /*String::_items*/;
92 variable
[3] = TAG_Char(UNBOX_NativeString(variable
[3])[UNTAG_Int( variable
[1] /*index*/)]);
93 variable
[2] = variable
[3];
95 return_label4
: while(false);
96 tracehead
= trace
.prev
;
99 void string___String_____braeq(val_t self
, val_t param0
, val_t param1
) {
100 struct trace_t trace
= {NULL
, NULL
, 33, LOCATE_string___String_____braeq
};
102 void **closurevariable
= NULL
;
103 trace
.prev
= tracehead
; tracehead
= &trace
;
104 trace
.file
= LOCATE_string
;
106 variable
[1] = param0
;
107 variable
[2] = param1
;
108 variable
[4] = variable
[0];
109 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
110 variable
[4] = TAG_Bool(( variable
[1] /*index*/)==(variable
[4]));
111 if (UNTAG_Bool(variable
[4])) { /*if*/
112 variable
[4] = variable
[0];
113 ((string___String___add_t
)CALL(variable
[4],COLOR_abstract_collection___SimpleCollection___add
))(variable
[4], variable
[2] /*item*/) /*String::add*/;
116 variable
[4] = TAG_Bool(UNTAG_Int( variable
[1] /*index*/)>=UNTAG_Int( TAG_Int(0)));
117 variable
[5] = variable
[4];
118 if (UNTAG_Bool(variable
[5])) { /* and */
119 variable
[5] = variable
[0];
120 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
121 variable
[5] = TAG_Bool(UNTAG_Int( variable
[1] /*index*/)<UNTAG_Int(variable
[5]));
123 variable
[4] = variable
[5];
124 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String_____braeq
, LOCATE_string
, 39); nit_exit(1);}
125 variable
[4] = variable
[0];
126 variable
[4] = ATTR_string___String____items(variable
[4]) /*String::_items*/;
127 UNBOX_NativeString(variable
[4])[UNTAG_Int( variable
[1] /*index*/)]=UNTAG_Char( variable
[2] /*item*/);
128 return_label5
: while(false);
129 tracehead
= trace
.prev
;
132 void string___String___add(val_t self
, val_t param0
) {
133 struct trace_t trace
= {NULL
, NULL
, 43, LOCATE_string___String___add
};
135 void **closurevariable
= NULL
;
136 trace
.prev
= tracehead
; tracehead
= &trace
;
137 trace
.file
= LOCATE_string
;
139 variable
[1] = param0
;
140 variable
[3] = variable
[0];
141 variable
[3] = ATTR_string___String____capacity(variable
[3]) /*String::_capacity*/;
142 variable
[4] = variable
[0];
143 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
144 variable
[3] = TAG_Bool(UNTAG_Int(variable
[3])<=UNTAG_Int(variable
[4]));
145 if (UNTAG_Bool(variable
[3])) { /*if*/
146 variable
[3] = variable
[0];
147 variable
[4] = variable
[0];
148 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
149 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(5)));
150 ((string___String___enlarge_t
)CALL(variable
[3],COLOR_array___AbstractArray___enlarge
))(variable
[3], variable
[4]) /*String::enlarge*/;
152 variable
[3] = variable
[0];
153 variable
[3] = ATTR_string___String____items(variable
[3]) /*String::_items*/;
154 variable
[4] = variable
[0];
155 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
156 UNBOX_NativeString(variable
[3])[UNTAG_Int(variable
[4])]=UNTAG_Char( variable
[1] /*c*/);
157 variable
[3] = variable
[0];
158 ATTR_array___AbstractArray____length(variable
[3]) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length(variable
[3]) /*AbstractArray::_length*/)+UNTAG_Int( TAG_Int(1)));
159 return_label6
: while(false);
160 tracehead
= trace
.prev
;
163 void string___String___append(val_t self
, val_t param0
) {
164 struct trace_t trace
= {NULL
, NULL
, 61, LOCATE_string___String___append
};
166 void **closurevariable
= NULL
;
167 trace
.prev
= tracehead
; tracehead
= &trace
;
168 trace
.file
= LOCATE_string
;
170 variable
[1] = param0
;
171 variable
[3] = TAG_Bool(( variable
[1] /*s*/==NIT_NULL
) || VAL_ISA( variable
[1] /*s*/, COLOR_String
, ID_String
)) /*cast String*/;
172 if (UNTAG_Bool(variable
[3])) { /*if*/
173 variable
[4] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*s*/) /*AbstractArray::length*/;
174 variable
[3] = variable
[4];
175 variable
[4] = variable
[0];
176 variable
[4] = ATTR_string___String____capacity(variable
[4]) /*String::_capacity*/;
177 variable
[5] = variable
[0];
178 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
179 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( variable
[3] /*sl*/));
180 variable
[4] = TAG_Bool(UNTAG_Int(variable
[4])<UNTAG_Int(variable
[5]));
181 if (UNTAG_Bool(variable
[4])) { /*if*/
182 variable
[4] = variable
[0];
183 variable
[5] = variable
[0];
184 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
185 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])+UNTAG_Int( variable
[3] /*sl*/));
186 ((string___String___enlarge_t
)CALL(variable
[4],COLOR_array___AbstractArray___enlarge
))(variable
[4], variable
[5]) /*String::enlarge*/;
188 variable
[4] = ((string___String___items_t
)CALL( variable
[1] /*s*/,COLOR_string___String___items
))( variable
[1] /*s*/) /*String::items*/;
189 variable
[5] = variable
[0];
190 variable
[5] = ATTR_string___String____items(variable
[5]) /*String::_items*/;
191 variable
[6] = variable
[0];
192 variable
[6] = ((array___AbstractArray___length_t
)CALL(variable
[6],COLOR_abstract_collection___Collection___length
))(variable
[6]) /*AbstractArray::length*/;
193 (void)memcpy(UNBOX_NativeString(variable
[5])+UNTAG_Int(variable
[6]), UNBOX_NativeString(variable
[4])+UNTAG_Int( TAG_Int(0)), UNTAG_Int( variable
[3] /*sl*/));
194 variable
[4] = variable
[0];
195 ATTR_array___AbstractArray____length(variable
[4]) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length(variable
[4]) /*AbstractArray::_length*/)+UNTAG_Int( variable
[3] /*sl*/));
197 ((string___String___append_t
)CALL(variable
[0],COLOR_SUPER_string___String___append
))(variable
[0], variable
[1]) /*super String::append*/;
199 return_label7
: while(false);
200 tracehead
= trace
.prev
;
203 void string___String___enlarge(val_t self
, val_t param0
) {
204 struct trace_t trace
= {NULL
, NULL
, 50, LOCATE_string___String___enlarge
};
206 void **closurevariable
= NULL
;
207 trace
.prev
= tracehead
; tracehead
= &trace
;
208 trace
.file
= LOCATE_string
;
210 variable
[1] = param0
;
211 variable
[4] = variable
[0];
212 variable
[4] = ATTR_string___String____capacity(variable
[4]) /*String::_capacity*/;
213 variable
[3] = variable
[4];
214 variable
[4] = TAG_Bool(UNTAG_Int( variable
[1] /*cap*/)<=UNTAG_Int( variable
[3] /*c*/));
215 if (UNTAG_Bool(variable
[4])) { /*if*/
218 while (true) { /*while*/
219 variable
[4] = TAG_Bool(UNTAG_Int( variable
[3] /*c*/)<=UNTAG_Int( variable
[1] /*cap*/));
220 if (!UNTAG_Bool(variable
[4])) break; /* while*/
221 variable
[4] = TAG_Int(UNTAG_Int( variable
[3] /*c*/)*UNTAG_Int( TAG_Int(2)));
222 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(2)));
223 variable
[3] = variable
[4] /*c=*/;
224 continue_9
: while(0);
227 variable
[5] = variable
[0];
228 variable
[5] = BOX_NativeString((char*)malloc((UNTAG_Int( variable
[3] /*c*/) * sizeof(char))));
229 variable
[4] = variable
[5];
230 variable
[5] = variable
[0];
231 variable
[5] = ATTR_string___String____items(variable
[5]) /*String::_items*/;
232 variable
[6] = variable
[0];
233 variable
[6] = ((array___AbstractArray___length_t
)CALL(variable
[6],COLOR_abstract_collection___Collection___length
))(variable
[6]) /*AbstractArray::length*/;
234 (void)memcpy(UNBOX_NativeString( variable
[4] /*a*/)+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable
[5])+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable
[6]));
235 variable
[5] = variable
[0];
236 ATTR_string___String____items(variable
[5]) /*String::_items*/ = variable
[4] /*a*/;
237 variable
[5] = variable
[0];
238 ATTR_string___String____capacity(variable
[5]) /*String::_capacity*/ = variable
[3] /*c*/;
239 return_label8
: while(false);
240 tracehead
= trace
.prev
;
243 val_t
string___String___to_s(val_t self
) {
244 struct trace_t trace
= {NULL
, NULL
, 94, LOCATE_string___String___to_s
};
246 void **closurevariable
= NULL
;
247 trace
.prev
= tracehead
; tracehead
= &trace
;
248 trace
.file
= LOCATE_string
;
250 variable
[2] = variable
[0];
251 variable
[3] = NEW_String_string___String___from(variable
[2]); /*new String*/
252 variable
[2] = variable
[3];
253 variable
[1] = variable
[2];
255 return_label10
: while(false);
256 tracehead
= trace
.prev
;
259 val_t
string___String_____l(val_t self
, val_t param0
) {
260 struct trace_t trace
= {NULL
, NULL
, 209, LOCATE_string___String_____l
};
262 void **closurevariable
= NULL
;
263 trace
.prev
= tracehead
; tracehead
= &trace
;
264 trace
.file
= LOCATE_string
;
266 variable
[1] = param0
;
267 variable
[3] = TAG_Int(0);
268 variable
[5] = variable
[0];
269 variable
[5] = ((array___AbstractArray___length_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___length
))(variable
[5]) /*AbstractArray::length*/;
270 variable
[4] = variable
[5];
271 variable
[6] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*s*/) /*AbstractArray::length*/;
272 variable
[5] = variable
[6];
273 while (true) { /*while*/
274 variable
[6] = TAG_Bool(UNTAG_Int( variable
[3] /*i*/)<UNTAG_Int( variable
[4] /*l1*/));
275 variable
[7] = variable
[6];
276 if (UNTAG_Bool(variable
[7])) { /* and */
277 variable
[7] = TAG_Bool(UNTAG_Int( variable
[3] /*i*/)<UNTAG_Int( variable
[5] /*l2*/));
279 variable
[6] = variable
[7];
280 if (!UNTAG_Bool(variable
[6])) break; /* while*/
281 variable
[7] = variable
[0];
282 variable
[7] = ((string___String_____bra_t
)CALL(variable
[7],COLOR_abstract_collection___Map_____bra
))(variable
[7], variable
[3] /*i*/) /*String::[]*/;
283 variable
[7] = TAG_Int((unsigned char)UNTAG_Char(variable
[7]));
284 variable
[6] = variable
[7];
285 variable
[8] = ((string___String_____bra_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Map_____bra
))( variable
[1] /*s*/, variable
[3] /*i*/) /*String::[]*/;
286 variable
[8] = TAG_Int((unsigned char)UNTAG_Char(variable
[8]));
287 variable
[7] = variable
[8];
288 variable
[8] = TAG_Bool(UNTAG_Int( variable
[6] /*c1*/)<UNTAG_Int( variable
[7] /*c2*/));
289 if (UNTAG_Bool(variable
[8])) { /*if*/
290 variable
[2] = TAG_Bool(true);
293 variable
[8] = TAG_Bool(UNTAG_Int( variable
[7] /*c2*/)<UNTAG_Int( variable
[6] /*c1*/));
294 if (UNTAG_Bool(variable
[8])) { /*if*/
295 variable
[2] = TAG_Bool(false);
299 variable
[3] = TAG_Int(UNTAG_Int(variable
[3])+UNTAG_Int( TAG_Int(1))) /*i*/;
300 continue_12
: while(0);
303 variable
[6] = TAG_Bool(UNTAG_Int( variable
[4] /*l1*/)<UNTAG_Int( variable
[5] /*l2*/));
304 if (UNTAG_Bool(variable
[6])) { /*if*/
305 variable
[2] = TAG_Bool(true);
308 variable
[2] = TAG_Bool(false);
311 return_label11
: while(false);
312 tracehead
= trace
.prev
;
315 val_t
string___String_____plus(val_t self
, val_t param0
) {
316 struct trace_t trace
= {NULL
, NULL
, 73, LOCATE_string___String_____plus
};
318 void **closurevariable
= NULL
;
319 trace
.prev
= tracehead
; tracehead
= &trace
;
320 trace
.file
= LOCATE_string
;
322 variable
[1] = param0
;
323 variable
[4] = variable
[0];
324 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
325 variable
[5] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*s*/) /*AbstractArray::length*/;
326 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int(variable
[5]));
327 variable
[5] = NEW_String_string___String___with_capacity(variable
[4]); /*new String*/
328 variable
[4] = variable
[5];
329 variable
[3] = variable
[4];
330 variable
[4] = variable
[0];
331 ((string___String___append_t
)CALL( variable
[3] /*r*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*r*/, variable
[4]) /*String::append*/;
332 ((string___String___append_t
)CALL( variable
[3] /*r*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*r*/, variable
[1] /*s*/) /*String::append*/;
333 variable
[2] = variable
[3] /*r*/;
335 return_label13
: while(false);
336 tracehead
= trace
.prev
;
339 val_t
string___String_____star(val_t self
, val_t param0
) {
340 struct trace_t trace
= {NULL
, NULL
, 82, LOCATE_string___String_____star
};
342 void **closurevariable
= NULL
;
343 trace
.prev
= tracehead
; tracehead
= &trace
;
344 trace
.file
= LOCATE_string
;
346 variable
[1] = param0
;
347 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*i*/)>=UNTAG_Int( TAG_Int(0)));
348 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String_____star
, LOCATE_string
, 85); nit_exit(1);}
349 variable
[4] = variable
[0];
350 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
351 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])*UNTAG_Int( variable
[1] /*i*/));
352 variable
[5] = NEW_String_string___String___with_capacity(variable
[4]); /*new String*/
353 variable
[4] = variable
[5];
354 variable
[3] = variable
[4];
355 while (true) { /*while*/
356 variable
[4] = TAG_Bool(UNTAG_Int( variable
[1] /*i*/)>UNTAG_Int( TAG_Int(0)));
357 if (!UNTAG_Bool(variable
[4])) break; /* while*/
358 variable
[4] = variable
[0];
359 ((string___String___append_t
)CALL( variable
[3] /*r*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*r*/, variable
[4]) /*String::append*/;
360 variable
[1] = TAG_Int(UNTAG_Int(variable
[1])-UNTAG_Int( TAG_Int(1))) /*i*/;
361 continue_15
: while(0);
364 variable
[2] = variable
[3] /*r*/;
366 return_label14
: while(false);
367 tracehead
= trace
.prev
;
370 val_t
string___String___to_i(val_t self
) {
371 struct trace_t trace
= {NULL
, NULL
, 97, LOCATE_string___String___to_i
};
373 void **closurevariable
= NULL
;
374 trace
.prev
= tracehead
; tracehead
= &trace
;
375 trace
.file
= LOCATE_string
;
377 variable
[2] = variable
[0];
378 variable
[2] = ((string___String___to_cstring_t
)CALL(variable
[2],COLOR_string___String___to_cstring
))(variable
[2]) /*String::to_cstring*/;
379 variable
[2] = TAG_Int(atoi(UNBOX_NativeString(variable
[2])));
380 variable
[1] = variable
[2];
382 return_label16
: while(false);
383 tracehead
= trace
.prev
;
386 val_t
string___String___to_hex(val_t self
) {
387 struct trace_t trace
= {NULL
, NULL
, 104, LOCATE_string___String___to_hex
};
389 void **closurevariable
= NULL
;
390 trace
.prev
= tracehead
; tracehead
= &trace
;
391 trace
.file
= LOCATE_string
;
393 variable
[2] = variable
[0];
394 variable
[2] = ((string___String___a_to_t
)CALL(variable
[2],COLOR_string___String___a_to
))(variable
[2], TAG_Int(16)) /*String::a_to*/;
395 variable
[1] = variable
[2];
397 return_label17
: while(false);
398 tracehead
= trace
.prev
;
401 val_t
string___String___a_to(val_t self
, val_t param0
) {
402 struct trace_t trace
= {NULL
, NULL
, 107, LOCATE_string___String___a_to
};
404 void **closurevariable
= NULL
;
405 trace
.prev
= tracehead
; tracehead
= &trace
;
406 trace
.file
= LOCATE_string
;
408 variable
[1] = param0
;
409 variable
[3] = TAG_Int(0);
410 variable
[4] = TAG_Bool(false);
411 variable
[5] = variable
[0];
412 variable
[5] = ((array___AbstractArray___iterator_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___iterator
))(variable
[5]) /*AbstractArray::iterator*/;
413 while (true) { /*for*/
414 variable
[6] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___is_ok
))(variable
[5]) /*ArrayIterator::is_ok*/;
415 if (!UNTAG_Bool(variable
[6])) break; /*for*/
416 variable
[6] = ((array___ArrayIterator___item_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___item
))(variable
[5]) /*ArrayIterator::item*/;
417 variable
[7] = variable
[6];
418 variable
[9] = ((kernel___Char___to_i_t
)CALL( variable
[7] /*c*/,COLOR_kernel___Char___to_i
))( variable
[7] /*c*/) /*Char::to_i*/;
419 variable
[8] = variable
[9];
420 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*v*/)>UNTAG_Int( variable
[1] /*base*/));
421 if (UNTAG_Bool(variable
[9])) { /*if*/
422 if (UNTAG_Bool( variable
[4] /*neg*/)) { /*if*/
423 variable
[9] = TAG_Int(-UNTAG_Int( variable
[3] /*i*/));
424 variable
[2] = variable
[9];
427 variable
[2] = variable
[3] /*i*/;
431 variable
[9] = TAG_Bool(UNTAG_Int( variable
[8] /*v*/)<UNTAG_Int( TAG_Int(0)));
432 if (UNTAG_Bool(variable
[9])) { /*if*/
433 variable
[4] = TAG_Bool(true) /*neg=*/;
435 variable
[9] = TAG_Int(UNTAG_Int( variable
[3] /*i*/)*UNTAG_Int( variable
[1] /*base*/));
436 variable
[9] = TAG_Int(UNTAG_Int(variable
[9])+UNTAG_Int( variable
[8] /*v*/));
437 variable
[3] = variable
[9] /*i=*/;
440 continue_19
: while(0);
441 ((array___ArrayIterator___next_t
)CALL(variable
[5],COLOR_abstract_collection___Iterator___next
))(variable
[5]) /*ArrayIterator::next*/;
444 if (UNTAG_Bool( variable
[4] /*neg*/)) { /*if*/
445 variable
[5] = TAG_Int(-UNTAG_Int( variable
[3] /*i*/));
446 variable
[2] = variable
[5];
449 variable
[2] = variable
[3] /*i*/;
452 return_label18
: while(false);
453 tracehead
= trace
.prev
;
456 val_t
string___String___to_cstring(val_t self
) {
457 struct trace_t trace
= {NULL
, NULL
, 135, LOCATE_string___String___to_cstring
};
459 void **closurevariable
= NULL
;
460 trace
.prev
= tracehead
; tracehead
= &trace
;
461 trace
.file
= LOCATE_string
;
463 variable
[2] = variable
[0];
464 variable
[3] = variable
[0];
465 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
466 ((string___String_____braeq_t
)CALL(variable
[2],COLOR_abstract_collection___Map_____braeq
))(variable
[2], variable
[3], TAG_Char('\0')) /*String::[]=*/;
467 variable
[2] = variable
[0];
468 ATTR_array___AbstractArray____length(variable
[2]) /*AbstractArray::_length*/ = TAG_Int(UNTAG_Int(ATTR_array___AbstractArray____length(variable
[2]) /*AbstractArray::_length*/)-UNTAG_Int( TAG_Int(1)));
469 variable
[2] = variable
[0];
470 variable
[2] = ATTR_string___String____items(variable
[2]) /*String::_items*/;
471 variable
[1] = variable
[2];
473 return_label20
: while(false);
474 tracehead
= trace
.prev
;
477 val_t
string___String___substring(val_t self
, val_t param0
, val_t param1
) {
478 struct trace_t trace
= {NULL
, NULL
, 143, LOCATE_string___String___substring
};
480 void **closurevariable
= NULL
;
481 trace
.prev
= tracehead
; tracehead
= &trace
;
482 trace
.file
= LOCATE_string
;
484 variable
[1] = param0
;
485 variable
[2] = param1
;
486 variable
[4] = TAG_Bool(UNTAG_Int( variable
[2] /*count*/)>=UNTAG_Int( TAG_Int(0)));
487 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String___substring
, LOCATE_string
, 151); nit_exit(1);}
488 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int( variable
[1] /*from*/)) /*count*/;
489 variable
[4] = TAG_Bool(UNTAG_Int( variable
[1] /*from*/)<UNTAG_Int( TAG_Int(0)));
490 if (UNTAG_Bool(variable
[4])) { /*if*/
491 variable
[1] = TAG_Int(0) /*from=*/;
493 variable
[4] = variable
[0];
494 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
495 variable
[4] = TAG_Bool(UNTAG_Int( variable
[2] /*count*/)>UNTAG_Int(variable
[4]));
496 if (UNTAG_Bool(variable
[4])) { /*if*/
497 variable
[4] = variable
[0];
498 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
499 variable
[2] = variable
[4] /*count=*/;
501 variable
[4] = TAG_Bool(UNTAG_Int( variable
[1] /*from*/)<UNTAG_Int( variable
[2] /*count*/));
502 if (UNTAG_Bool(variable
[4])) { /*if*/
503 variable
[5] = TAG_Int(UNTAG_Int( variable
[2] /*count*/)-UNTAG_Int( variable
[1] /*from*/));
504 variable
[6] = NEW_String_string___String___with_capacity(variable
[5]); /*new String*/
505 variable
[5] = variable
[6];
506 variable
[4] = variable
[5];
507 while (true) { /*while*/
508 variable
[5] = TAG_Bool(UNTAG_Int( variable
[1] /*from*/)<UNTAG_Int( variable
[2] /*count*/));
509 if (!UNTAG_Bool(variable
[5])) break; /* while*/
510 variable
[5] = variable
[0];
511 variable
[5] = ATTR_string___String____items(variable
[5]) /*String::_items*/;
512 variable
[5] = TAG_Char(UNBOX_NativeString(variable
[5])[UNTAG_Int( variable
[1] /*from*/)]);
513 ((array___AbstractArray___push_t
)CALL( variable
[4] /*r*/,COLOR_abstract_collection___IndexedCollection___push
))( variable
[4] /*r*/, variable
[5]) /*AbstractArray::push*/;
514 variable
[1] = TAG_Int(UNTAG_Int(variable
[1])+UNTAG_Int( TAG_Int(1))) /*from*/;
515 continue_22
: while(0);
518 variable
[3] = variable
[4] /*r*/;
521 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
522 variable
[3] = variable
[4];
525 return_label21
: while(false);
526 tracehead
= trace
.prev
;
529 val_t
string___String___substring_from(val_t self
, val_t param0
) {
530 struct trace_t trace
= {NULL
, NULL
, 167, LOCATE_string___String___substring_from
};
532 void **closurevariable
= NULL
;
533 trace
.prev
= tracehead
; tracehead
= &trace
;
534 trace
.file
= LOCATE_string
;
536 variable
[1] = param0
;
537 variable
[3] = variable
[0];
538 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
539 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*from*/)<UNTAG_Int(variable
[3]));
540 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String___substring_from
, LOCATE_string
, 174); nit_exit(1);}
541 variable
[3] = variable
[0];
542 variable
[4] = variable
[0];
543 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
544 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int( variable
[1] /*from*/));
545 variable
[3] = ((string___String___substring_t
)CALL(variable
[3],COLOR_string___String___substring
))(variable
[3], variable
[1] /*from*/, variable
[4]) /*String::substring*/;
546 variable
[2] = variable
[3];
548 return_label23
: while(false);
549 tracehead
= trace
.prev
;
552 val_t
string___String___has_substring(val_t self
, val_t param0
, val_t param1
) {
553 struct trace_t trace
= {NULL
, NULL
, 178, LOCATE_string___String___has_substring
};
555 void **closurevariable
= NULL
;
556 trace
.prev
= tracehead
; tracehead
= &trace
;
557 trace
.file
= LOCATE_string
;
559 variable
[1] = param0
;
560 variable
[2] = param1
;
561 variable
[5] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*str*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*str*/) /*AbstractArray::length*/;
562 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])-UNTAG_Int( TAG_Int(1)));
563 variable
[4] = variable
[5];
564 variable
[6] = TAG_Int(UNTAG_Int( variable
[2] /*pos*/)+UNTAG_Int( variable
[4] /*itsindex*/));
565 variable
[5] = variable
[6];
566 variable
[7] = variable
[0];
567 variable
[7] = ATTR_string___String____items(variable
[7]) /*String::_items*/;
568 variable
[6] = variable
[7];
569 variable
[8] = ATTR_string___String____items( variable
[1] /*str*/) /*String::_items*/;
570 variable
[7] = variable
[8];
571 variable
[8] = variable
[0];
572 variable
[8] = ((array___AbstractArray___length_t
)CALL(variable
[8],COLOR_abstract_collection___Collection___length
))(variable
[8]) /*AbstractArray::length*/;
573 variable
[8] = TAG_Bool(UNTAG_Int( variable
[5] /*myindex*/)>UNTAG_Int(variable
[8]));
574 variable
[9] = variable
[8];
575 if (!UNTAG_Bool(variable
[9])) { /* or */
576 variable
[9] = TAG_Bool(UNTAG_Int( variable
[4] /*itsindex*/)>UNTAG_Int( variable
[5] /*myindex*/));
578 variable
[8] = variable
[9];
579 if (UNTAG_Bool(variable
[8])) { /*if*/
580 variable
[3] = TAG_Bool(false);
583 while (true) { /*while*/
584 variable
[8] = TAG_Bool(UNTAG_Int( variable
[4] /*itsindex*/)>UNTAG_Int( TAG_Int(0)));
585 if (!UNTAG_Bool(variable
[8])) break; /* while*/
586 variable
[8] = TAG_Char(UNBOX_NativeString( variable
[6] /*myitems*/)[UNTAG_Int( variable
[5] /*myindex*/)]);
587 variable
[9] = TAG_Char(UNBOX_NativeString( variable
[7] /*itsitems*/)[UNTAG_Int( variable
[4] /*itsindex*/)]);
588 variable
[8] = TAG_Bool((variable
[8])!=(variable
[9]));
589 if (UNTAG_Bool(variable
[8])) { /*if*/
590 variable
[3] = TAG_Bool(false);
593 variable
[5] = TAG_Int(UNTAG_Int(variable
[5])-UNTAG_Int( variable
[5] /*myindex*/)) /*myindex*/;
594 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int( variable
[4] /*itsindex*/)) /*itsindex*/;
595 continue_25
: while(0);
598 variable
[3] = TAG_Bool(true);
600 return_label24
: while(false);
601 tracehead
= trace
.prev
;
604 val_t
string___String___has_prefix(val_t self
, val_t param0
) {
605 struct trace_t trace
= {NULL
, NULL
, 197, LOCATE_string___String___has_prefix
};
607 void **closurevariable
= NULL
;
608 trace
.prev
= tracehead
; tracehead
= &trace
;
609 trace
.file
= LOCATE_string
;
611 variable
[1] = param0
;
612 variable
[3] = variable
[0];
613 variable
[3] = ((string___String___has_substring_t
)CALL(variable
[3],COLOR_string___String___has_substring
))(variable
[3], variable
[1] /*prefix*/, TAG_Int(0)) /*String::has_substring*/;
614 variable
[2] = variable
[3];
616 return_label26
: while(false);
617 tracehead
= trace
.prev
;
620 val_t
string___String___has_suffix(val_t self
, val_t param0
) {
621 struct trace_t trace
= {NULL
, NULL
, 203, LOCATE_string___String___has_suffix
};
623 void **closurevariable
= NULL
;
624 trace
.prev
= tracehead
; tracehead
= &trace
;
625 trace
.file
= LOCATE_string
;
627 variable
[1] = param0
;
628 variable
[3] = variable
[0];
629 variable
[4] = variable
[0];
630 variable
[4] = ((array___AbstractArray___length_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___length
))(variable
[4]) /*AbstractArray::length*/;
631 variable
[5] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*suffix*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*suffix*/) /*AbstractArray::length*/;
632 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])-UNTAG_Int(variable
[5]));
633 variable
[3] = ((string___String___has_substring_t
)CALL(variable
[3],COLOR_string___String___has_substring
))(variable
[3], variable
[1] /*suffix*/, variable
[4]) /*String::has_substring*/;
634 variable
[2] = variable
[3];
636 return_label27
: while(false);
637 tracehead
= trace
.prev
;
640 void string___String___init(val_t self
, int* init_table
) {
641 struct trace_t trace
= {NULL
, NULL
, 231, LOCATE_string___String___init
};
643 void **closurevariable
= NULL
;
644 trace
.prev
= tracehead
; tracehead
= &trace
;
645 trace
.file
= LOCATE_string
;
647 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
648 variable
[2] = variable
[0];
649 ((string___String___with_capacity_t
)CALL(variable
[2],COLOR_string___String___with_capacity
))(variable
[2], TAG_Int(5), init_table
/*YYY*/) /*String::with_capacity*/;
650 return_label28
: while(false);
651 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
652 tracehead
= trace
.prev
;
655 void string___String___from(val_t self
, val_t param0
, int* init_table
) {
656 struct trace_t trace
= {NULL
, NULL
, 237, LOCATE_string___String___from
};
658 void **closurevariable
= NULL
;
659 trace
.prev
= tracehead
; tracehead
= &trace
;
660 trace
.file
= LOCATE_string
;
662 variable
[1] = param0
;
663 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
664 variable
[3] = variable
[0];
665 variable
[4] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*s*/) /*AbstractArray::length*/;
666 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1)));
667 ATTR_string___String____capacity(variable
[3]) /*String::_capacity*/ = variable
[4];
668 variable
[3] = variable
[0];
669 variable
[4] = ((array___AbstractArray___length_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Collection___length
))( variable
[1] /*s*/) /*AbstractArray::length*/;
670 ATTR_array___AbstractArray____length(variable
[3]) /*AbstractArray::_length*/ = variable
[4];
671 variable
[3] = variable
[0];
672 variable
[4] = variable
[0];
673 variable
[5] = variable
[0];
674 variable
[5] = ATTR_string___String____capacity(variable
[5]) /*String::_capacity*/;
675 variable
[4] = BOX_NativeString((char*)malloc((UNTAG_Int(variable
[5]) * sizeof(char))));
676 ATTR_string___String____items(variable
[3]) /*String::_items*/ = variable
[4];
677 variable
[3] = ((string___String___items_t
)CALL( variable
[1] /*s*/,COLOR_string___String___items
))( variable
[1] /*s*/) /*String::items*/;
678 variable
[4] = variable
[0];
679 variable
[4] = ATTR_string___String____items(variable
[4]) /*String::_items*/;
680 variable
[5] = variable
[0];
681 variable
[5] = ATTR_array___AbstractArray____length(variable
[5]) /*AbstractArray::_length*/;
682 (void)memcpy(UNBOX_NativeString(variable
[4])+UNTAG_Int( TAG_Int(0)), UNBOX_NativeString(variable
[3])+UNTAG_Int( TAG_Int(0)), UNTAG_Int(variable
[5]));
683 return_label29
: while(false);
684 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
685 tracehead
= trace
.prev
;
688 void string___String___with_capacity(val_t self
, val_t param0
, int* init_table
) {
689 struct trace_t trace
= {NULL
, NULL
, 245, LOCATE_string___String___with_capacity
};
691 void **closurevariable
= NULL
;
692 trace
.prev
= tracehead
; tracehead
= &trace
;
693 trace
.file
= LOCATE_string
;
695 variable
[1] = param0
;
696 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
697 variable
[3] = TAG_Bool(UNTAG_Int( variable
[1] /*cap*/)>=UNTAG_Int( TAG_Int(0)));
698 if (!UNTAG_Bool(variable
[3])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String___with_capacity
, LOCATE_string
, 248); nit_exit(1);}
699 variable
[3] = variable
[0];
700 variable
[4] = variable
[0];
701 variable
[4] = BOX_NativeString((char*)malloc((UNTAG_Int( variable
[1] /*cap*/) * sizeof(char))));
702 ATTR_string___String____items(variable
[3]) /*String::_items*/ = variable
[4];
703 variable
[3] = variable
[0];
704 ATTR_string___String____capacity(variable
[3]) /*String::_capacity*/ = variable
[1] /*cap*/;
705 variable
[3] = variable
[0];
706 ATTR_array___AbstractArray____length(variable
[3]) /*AbstractArray::_length*/ = TAG_Int(0);
707 return_label30
: while(false);
708 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
709 tracehead
= trace
.prev
;
712 void string___String___with_native(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
713 struct trace_t trace
= {NULL
, NULL
, 255, LOCATE_string___String___with_native
};
715 void **closurevariable
= NULL
;
716 trace
.prev
= tracehead
; tracehead
= &trace
;
717 trace
.file
= LOCATE_string
;
719 variable
[1] = param0
;
720 variable
[2] = param1
;
721 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
722 variable
[4] = TAG_Bool(UNTAG_Int( variable
[2] /*size*/)>=UNTAG_Int( TAG_Int(0)));
723 if (!UNTAG_Bool(variable
[4])) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_string___String___with_native
, LOCATE_string
, 258); nit_exit(1);}
724 variable
[4] = variable
[0];
725 ATTR_string___String____items(variable
[4]) /*String::_items*/ = variable
[1] /*nat*/;
726 variable
[4] = variable
[0];
727 ATTR_string___String____capacity(variable
[4]) /*String::_capacity*/ = variable
[2] /*size*/;
728 variable
[4] = variable
[0];
729 ATTR_array___AbstractArray____length(variable
[4]) /*AbstractArray::_length*/ = variable
[2] /*size*/;
730 return_label31
: while(false);
731 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
732 tracehead
= trace
.prev
;
735 void string___String___from_cstring(val_t self
, val_t param0
, int* init_table
) {
736 struct trace_t trace
= {NULL
, NULL
, 264, LOCATE_string___String___from_cstring
};
738 void **closurevariable
= NULL
;
739 trace
.prev
= tracehead
; tracehead
= &trace
;
740 trace
.file
= LOCATE_string
;
742 variable
[1] = param0
;
743 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
744 variable
[4] = ((string___NativeString___cstring_length_t
)CALL( variable
[1] /*str*/,COLOR_string___NativeString___cstring_length
))( variable
[1] /*str*/) /*NativeString::cstring_length*/;
745 variable
[3] = variable
[4];
746 variable
[4] = variable
[0];
747 ATTR_string___String____items(variable
[4]) /*String::_items*/ = variable
[1] /*str*/;
748 variable
[4] = variable
[0];
749 variable
[5] = TAG_Int(UNTAG_Int( variable
[3] /*size*/)+UNTAG_Int( TAG_Int(1)));
750 ATTR_string___String____capacity(variable
[4]) /*String::_capacity*/ = variable
[5];
751 variable
[4] = variable
[0];
752 ATTR_array___AbstractArray____length(variable
[4]) /*AbstractArray::_length*/ = variable
[3] /*size*/;
753 return_label32
: while(false);
754 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
755 tracehead
= trace
.prev
;
758 void string___String___filled_with(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
759 struct trace_t trace
= {NULL
, NULL
, 273, LOCATE_string___String___filled_with
};
761 void **closurevariable
= NULL
;
762 trace
.prev
= tracehead
; tracehead
= &trace
;
763 trace
.file
= LOCATE_string
;
765 variable
[1] = param0
;
766 variable
[2] = param1
;
767 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
]) return;
768 variable
[4] = variable
[0];
769 ((string___String___with_capacity_t
)CALL(variable
[4],COLOR_string___String___with_capacity
))(variable
[4], variable
[2] /*count*/, init_table
/*YYY*/) /*String::with_capacity*/;
770 variable
[4] = TAG_Int(0);
771 while (true) { /*while*/
772 variable
[5] = TAG_Bool(UNTAG_Int( variable
[4] /*i*/)<UNTAG_Int( variable
[2] /*count*/));
773 if (!UNTAG_Bool(variable
[5])) break; /* while*/
774 variable
[5] = variable
[0];
775 variable
[5] = ATTR_string___String____items(variable
[5]) /*String::_items*/;
776 UNBOX_NativeString(variable
[5])[UNTAG_Int( variable
[4] /*i*/)]=UNTAG_Char( variable
[1] /*c*/);
777 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
778 continue_34
: while(0);
781 variable
[5] = variable
[0];
782 ATTR_array___AbstractArray____length(variable
[5]) /*AbstractArray::_length*/ = variable
[2] /*count*/;
783 return_label33
: while(false);
784 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_String
].i
] = 1;
785 tracehead
= trace
.prev
;
788 val_t
string___String___to_upper(val_t self
) {
789 struct trace_t trace
= {NULL
, NULL
, 310, LOCATE_string___String___to_upper
};
791 void **closurevariable
= NULL
;
792 trace
.prev
= tracehead
; tracehead
= &trace
;
793 trace
.file
= LOCATE_string
;
795 variable
[3] = variable
[0];
796 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
797 variable
[4] = NEW_String_string___String___with_capacity(variable
[3]); /*new String*/
798 variable
[3] = variable
[4];
799 variable
[2] = variable
[3];
800 variable
[3] = variable
[0];
801 variable
[3] = ((array___AbstractArray___iterator_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___iterator
))(variable
[3]) /*AbstractArray::iterator*/;
802 while (true) { /*for*/
803 variable
[4] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___is_ok
))(variable
[3]) /*ArrayIterator::is_ok*/;
804 if (!UNTAG_Bool(variable
[4])) break; /*for*/
805 variable
[4] = ((array___ArrayIterator___item_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___item
))(variable
[3]) /*ArrayIterator::item*/;
806 variable
[5] = variable
[4];
807 variable
[6] = ((kernel___Char___to_upper_t
)CALL( variable
[5] /*i*/,COLOR_kernel___Char___to_upper
))( variable
[5] /*i*/) /*Char::to_upper*/;
808 ((string___String___add_t
)CALL( variable
[2] /*s*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[2] /*s*/, variable
[6]) /*String::add*/;
809 continue_36
: while(0);
810 ((array___ArrayIterator___next_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___next
))(variable
[3]) /*ArrayIterator::next*/;
813 variable
[1] = variable
[2] /*s*/;
815 return_label35
: while(false);
816 tracehead
= trace
.prev
;
819 val_t
string___String___to_lower(val_t self
) {
820 struct trace_t trace
= {NULL
, NULL
, 318, LOCATE_string___String___to_lower
};
822 void **closurevariable
= NULL
;
823 trace
.prev
= tracehead
; tracehead
= &trace
;
824 trace
.file
= LOCATE_string
;
826 variable
[3] = variable
[0];
827 variable
[3] = ((array___AbstractArray___length_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___length
))(variable
[3]) /*AbstractArray::length*/;
828 variable
[4] = NEW_String_string___String___with_capacity(variable
[3]); /*new String*/
829 variable
[3] = variable
[4];
830 variable
[2] = variable
[3];
831 variable
[3] = variable
[0];
832 variable
[3] = ((array___AbstractArray___iterator_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___iterator
))(variable
[3]) /*AbstractArray::iterator*/;
833 while (true) { /*for*/
834 variable
[4] = ((array___ArrayIterator___is_ok_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___is_ok
))(variable
[3]) /*ArrayIterator::is_ok*/;
835 if (!UNTAG_Bool(variable
[4])) break; /*for*/
836 variable
[4] = ((array___ArrayIterator___item_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___item
))(variable
[3]) /*ArrayIterator::item*/;
837 variable
[5] = variable
[4];
838 variable
[6] = ((kernel___Char___to_lower_t
)CALL( variable
[5] /*i*/,COLOR_kernel___Char___to_lower
))( variable
[5] /*i*/) /*Char::to_lower*/;
839 ((string___String___add_t
)CALL( variable
[2] /*s*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[2] /*s*/, variable
[6]) /*String::add*/;
840 continue_38
: while(0);
841 ((array___ArrayIterator___next_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___next
))(variable
[3]) /*ArrayIterator::next*/;
844 variable
[1] = variable
[2] /*s*/;
846 return_label37
: while(false);
847 tracehead
= trace
.prev
;
850 val_t
string___String___items(val_t self
) {
851 struct trace_t trace
= {NULL
, NULL
, 326, LOCATE_string___String___items
};
852 val_t
*variable
= NULL
;
853 void **closurevariable
= NULL
;
854 trace
.prev
= tracehead
; tracehead
= &trace
;
855 trace
.file
= LOCATE_string
;
856 tracehead
= trace
.prev
;
857 return ATTR_string___String____items( self
) /*String::_items*/;
859 val_t
string___String___capacity(val_t self
) {
860 struct trace_t trace
= {NULL
, NULL
, 327, LOCATE_string___String___capacity
};
861 val_t
*variable
= NULL
;
862 void **closurevariable
= NULL
;
863 trace
.prev
= tracehead
; tracehead
= &trace
;
864 trace
.file
= LOCATE_string
;
865 tracehead
= trace
.prev
;
866 return ATTR_string___String____capacity( self
) /*String::_capacity*/;
868 val_t
string___Object___to_s(val_t self
) {
869 struct trace_t trace
= {NULL
, NULL
, 337, LOCATE_string___Object___to_s
};
871 void **closurevariable
= NULL
;
872 trace
.prev
= tracehead
; tracehead
= &trace
;
873 trace
.file
= LOCATE_string
;
875 variable
[2] = variable
[0];
876 variable
[2] = ((string___Object___inspect_t
)CALL(variable
[2],COLOR_string___Object___inspect
))(variable
[2]) /*Object::inspect*/;
877 variable
[1] = variable
[2];
879 return_label39
: while(false);
880 tracehead
= trace
.prev
;
883 val_t
string___Object___inspect(val_t self
) {
884 struct trace_t trace
= {NULL
, NULL
, 340, LOCATE_string___Object___inspect
};
886 void **closurevariable
= NULL
;
887 trace
.prev
= tracehead
; tracehead
= &trace
;
888 trace
.file
= LOCATE_string
;
890 variable
[3] = variable
[0];
891 variable
[3] = ((string___Object___inspect_head_t
)CALL(variable
[3],COLOR_string___Object___inspect_head
))(variable
[3]) /*Object::inspect_head*/;
892 variable
[2] = variable
[3];
893 ((string___String___add_t
)CALL( variable
[2] /*r*/,COLOR_abstract_collection___SimpleCollection___add
))( variable
[2] /*r*/, TAG_Char('>')) /*String::add*/;
894 variable
[1] = variable
[2] /*r*/;
896 return_label40
: while(false);
897 tracehead
= trace
.prev
;
900 val_t
string___Object___inspect_head(val_t self
) {
901 struct trace_t trace
= {NULL
, NULL
, 349, LOCATE_string___Object___inspect_head
};
903 void **closurevariable
= NULL
;
904 trace
.prev
= tracehead
; tracehead
= &trace
;
905 trace
.file
= LOCATE_string
;
907 variable
[2] = NEW_String_string___String___init(); /*new String*/
908 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString("<"), TAG_Int(1)); /*new String*/
909 variable
[4] = variable
[3];
910 ((string___String___append_t
)CALL(variable
[2],COLOR_abstract_collection___IndexedCollection___append
))(variable
[2], variable
[4]) /*String::append*/;
911 variable
[5] = variable
[0];
912 variable
[5] = TAG_Int((bigint
)variable
[5]);
913 variable
[5] = ((string___Int___to_hex_t
)CALL(variable
[5],COLOR_string___Int___to_hex
))(variable
[5]) /*Int::to_hex*/;
914 variable
[6] = variable
[5];
915 ((string___String___append_t
)CALL(variable
[2],COLOR_abstract_collection___IndexedCollection___append
))(variable
[2], variable
[6]) /*String::append*/;
916 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
917 variable
[8] = variable
[7];
918 ((string___String___append_t
)CALL(variable
[2],COLOR_abstract_collection___IndexedCollection___append
))(variable
[2], variable
[8]) /*String::append*/;
919 variable
[1] = variable
[2];
921 return_label41
: while(false);
922 tracehead
= trace
.prev
;
925 val_t
string___Object___args(val_t self
) {
926 struct trace_t trace
= {NULL
, NULL
, 356, LOCATE_string___Object___args
};
928 void **closurevariable
= NULL
;
929 trace
.prev
= tracehead
; tracehead
= &trace
;
930 trace
.file
= LOCATE_string
;
932 variable
[2] = variable
[0];
933 variable
[2] = (G_sys
);
934 variable
[2] = ((string___Sys___args_t
)CALL(variable
[2],COLOR_string___Object___args
))(variable
[2]) /*Sys::args*/;
935 variable
[1] = variable
[2];
937 return_label42
: while(false);
938 tracehead
= trace
.prev
;
941 val_t
string___Bool___to_s(val_t self
) {
942 struct trace_t trace
= {NULL
, NULL
, 363, LOCATE_string___Bool___to_s
};
943 static val_t once_value_44
; static int once_bool_44
; /* Once value for variable[2]*/
944 static val_t once_value_45
; static int once_bool_45
; /* Once value for variable[2]*/
946 void **closurevariable
= NULL
;
947 trace
.prev
= tracehead
; tracehead
= &trace
;
948 trace
.file
= LOCATE_string
;
950 variable
[2] = variable
[0];
951 if (UNTAG_Bool(variable
[2])) { /*if*/
952 if (once_bool_44
) variable
[2] = once_value_44
;
954 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("true"), TAG_Int(4)); /*new String*/
955 once_value_44
= variable
[2];
958 variable
[1] = variable
[2];
961 if (once_bool_45
) variable
[2] = once_value_45
;
963 variable
[2] = NEW_String_string___String___with_native(BOX_NativeString("false"), TAG_Int(5)); /*new String*/
964 once_value_45
= variable
[2];
967 variable
[1] = variable
[2];
970 return_label43
: while(false);
971 tracehead
= trace
.prev
;
974 val_t
string___Int___to_s(val_t self
) {
975 struct trace_t trace
= {NULL
, NULL
, 398, LOCATE_string___Int___to_s
};
977 void **closurevariable
= NULL
;
978 trace
.prev
= tracehead
; tracehead
= &trace
;
979 trace
.file
= LOCATE_string
;
981 variable
[2] = variable
[0];
982 variable
[2] = ((string___Int___to_base_t
)CALL(variable
[2],COLOR_string___Int___to_base
))(variable
[2], TAG_Int(10), TAG_Bool(true)) /*Int::to_base*/;
983 variable
[1] = variable
[2];
985 return_label46
: while(false);
986 tracehead
= trace
.prev
;
989 void string___Int___fill_string(val_t self
, val_t param0
, val_t param1
, val_t param2
) {
990 struct trace_t trace
= {NULL
, NULL
, 374, LOCATE_string___Int___fill_string
};
992 void **closurevariable
= NULL
;
993 trace
.prev
= tracehead
; tracehead
= &trace
;
994 trace
.file
= LOCATE_string
;
996 variable
[1] = param0
;
997 variable
[2] = param1
;
998 variable
[3] = param2
;
999 /*variable[5] is variable n*/
1000 variable
[6] = variable
[0];
1001 variable
[6] = TAG_Bool(UNTAG_Int(variable
[6])<UNTAG_Int( TAG_Int(0)));
1002 if (UNTAG_Bool(variable
[6])) { /*if*/
1003 variable
[6] = variable
[0];
1004 variable
[6] = TAG_Int(-UNTAG_Int(variable
[6]));
1005 variable
[5] = variable
[6] /*n=*/;
1006 ((string___String_____braeq_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Map_____braeq
))( variable
[1] /*s*/, TAG_Int(0), TAG_Char('-')) /*String::[]=*/;
1008 variable
[6] = variable
[0];
1009 variable
[6] = TAG_Bool((variable
[6])==( TAG_Int(0)));
1010 if (UNTAG_Bool(variable
[6])) { /*if*/
1011 ((string___String_____braeq_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Map_____braeq
))( variable
[1] /*s*/, TAG_Int(0), TAG_Char('0')) /*String::[]=*/;
1012 goto return_label47
;
1014 variable
[6] = variable
[0];
1015 variable
[5] = variable
[6] /*n=*/;
1018 variable
[7] = variable
[0];
1019 variable
[7] = ((kernel___Int___digit_count_t
)CALL(variable
[7],COLOR_kernel___Int___digit_count
))(variable
[7], variable
[2] /*base*/) /*Int::digit_count*/;
1020 variable
[7] = TAG_Int(UNTAG_Int(variable
[7])-UNTAG_Int( TAG_Int(1)));
1021 variable
[6] = variable
[7];
1022 while (true) { /*while*/
1023 variable
[7] = TAG_Bool(UNTAG_Int( variable
[6] /*pos*/)>=UNTAG_Int( TAG_Int(0)));
1024 variable
[8] = variable
[7];
1025 if (UNTAG_Bool(variable
[8])) { /* and */
1026 variable
[8] = TAG_Bool(UNTAG_Int( variable
[5] /*n*/)>UNTAG_Int( TAG_Int(0)));
1028 variable
[7] = variable
[8];
1029 if (!UNTAG_Bool(variable
[7])) break; /* while*/
1030 variable
[7] = TAG_Int(UNTAG_Int( variable
[5] /*n*/)%UNTAG_Int( variable
[2] /*base*/));
1031 variable
[7] = ((kernel___Int___to_c_t
)CALL(variable
[7],COLOR_kernel___Int___to_c
))(variable
[7]) /*Int::to_c*/;
1032 ((string___String_____braeq_t
)CALL( variable
[1] /*s*/,COLOR_abstract_collection___Map_____braeq
))( variable
[1] /*s*/, variable
[6] /*pos*/, variable
[7]) /*String::[]=*/;
1033 variable
[7] = TAG_Int(UNTAG_Int( variable
[5] /*n*/)/UNTAG_Int( variable
[2] /*base*/));
1034 variable
[5] = variable
[7] /*n=*/;
1035 variable
[6] = TAG_Int(UNTAG_Int(variable
[6])-UNTAG_Int( TAG_Int(1))) /*pos*/;
1036 continue_48
: while(0);
1039 return_label47
: while(false);
1040 tracehead
= trace
.prev
;
1043 val_t
string___Int___to_hex(val_t self
) {
1044 struct trace_t trace
= {NULL
, NULL
, 401, LOCATE_string___Int___to_hex
};
1046 void **closurevariable
= NULL
;
1047 trace
.prev
= tracehead
; tracehead
= &trace
;
1048 trace
.file
= LOCATE_string
;
1050 variable
[2] = variable
[0];
1051 variable
[2] = ((string___Int___to_base_t
)CALL(variable
[2],COLOR_string___Int___to_base
))(variable
[2], TAG_Int(16), TAG_Bool(false)) /*Int::to_base*/;
1052 variable
[1] = variable
[2];
1053 goto return_label49
;
1054 return_label49
: while(false);
1055 tracehead
= trace
.prev
;
1058 val_t
string___Int___to_base(val_t self
, val_t param0
, val_t param1
) {
1059 struct trace_t trace
= {NULL
, NULL
, 404, LOCATE_string___Int___to_base
};
1061 void **closurevariable
= NULL
;
1062 trace
.prev
= tracehead
; tracehead
= &trace
;
1063 trace
.file
= LOCATE_string
;
1065 variable
[1] = param0
;
1066 variable
[2] = param1
;
1067 variable
[5] = variable
[0];
1068 variable
[5] = ((kernel___Int___digit_count_t
)CALL(variable
[5],COLOR_kernel___Int___digit_count
))(variable
[5], variable
[1] /*base*/) /*Int::digit_count*/;
1069 variable
[4] = variable
[5];
1070 variable
[6] = NEW_String_string___String___filled_with( TAG_Char(' '), variable
[4] /*l*/); /*new String*/
1071 variable
[5] = variable
[6];
1072 variable
[6] = variable
[0];
1073 ((string___Int___fill_string_t
)CALL(variable
[6],COLOR_string___Int___fill_string
))(variable
[6], variable
[5] /*s*/, variable
[1] /*base*/, variable
[2] /*signed*/) /*Int::fill_string*/;
1074 variable
[3] = variable
[5] /*s*/;
1075 goto return_label50
;
1076 return_label50
: while(false);
1077 tracehead
= trace
.prev
;
1080 val_t
string___Float___to_s(val_t self
) {
1081 struct trace_t trace
= {NULL
, NULL
, 415, LOCATE_string___Float___to_s
};
1083 void **closurevariable
= NULL
;
1084 trace
.prev
= tracehead
; tracehead
= &trace
;
1085 trace
.file
= LOCATE_string
;
1087 variable
[2] = variable
[0];
1088 variable
[2] = ((string___Float___to_precision_t
)CALL(variable
[2],COLOR_string___Float___to_precision
))(variable
[2], TAG_Int(6)) /*Float::to_precision*/;
1089 variable
[1] = variable
[2];
1090 goto return_label51
;
1091 return_label51
: while(false);
1092 tracehead
= trace
.prev
;
1095 val_t
string___Float___to_precision(val_t self
, val_t param0
) {
1096 struct trace_t trace
= {NULL
, NULL
, 417, LOCATE_string___Float___to_precision
};
1098 void **closurevariable
= NULL
;
1099 trace
.prev
= tracehead
; tracehead
= &trace
;
1100 trace
.file
= LOCATE_string
;
1102 variable
[1] = param0
;
1103 variable
[3] = TAG_Bool(( variable
[1] /*nb*/)==( TAG_Int(0)));
1104 if (UNTAG_Bool(variable
[3])) { /*if*/
1105 variable
[3] = variable
[0];
1106 variable
[3] = TAG_Int((bigint
)UNBOX_Float(variable
[3]));
1107 variable
[3] = ((string___Int___to_s_t
)CALL(variable
[3],COLOR_string___Object___to_s
))(variable
[3]) /*Int::to_s*/;
1108 variable
[2] = variable
[3];
1109 goto return_label52
;
1111 variable
[4] = variable
[0];
1112 variable
[4] = TAG_Int((bigint
)UNBOX_Float(variable
[4]));
1113 variable
[3] = variable
[4];
1114 variable
[5] = BOX_Float(1.0);
1115 variable
[4] = variable
[5];
1116 while (true) { /*while*/
1117 variable
[5] = TAG_Bool(UNTAG_Int( variable
[1] /*nb*/)>UNTAG_Int( TAG_Int(0)));
1118 if (!UNTAG_Bool(variable
[5])) break; /* while*/
1119 variable
[5] = BOX_Float(10.0);
1120 variable
[5] = BOX_Float(UNBOX_Float( variable
[4] /*dec*/)*UNBOX_Float(variable
[5]));
1121 variable
[4] = variable
[5] /*dec=*/;
1122 variable
[1] = TAG_Int(UNTAG_Int(variable
[1])-UNTAG_Int( TAG_Int(1))) /*nb*/;
1123 continue_53
: while(0);
1126 variable
[6] = variable
[0];
1127 variable
[7] = BOX_Float((float)UNTAG_Int( variable
[3] /*i*/));
1128 variable
[6] = BOX_Float(UNBOX_Float(variable
[6])-UNBOX_Float(variable
[7]));
1129 variable
[6] = BOX_Float(UNBOX_Float(variable
[6])*UNBOX_Float( variable
[4] /*dec*/));
1130 variable
[6] = TAG_Int((bigint
)UNBOX_Float(variable
[6]));
1131 variable
[5] = variable
[6];
1132 variable
[6] = NEW_String_string___String___init(); /*new String*/
1133 variable
[7] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1134 variable
[8] = variable
[7];
1135 ((string___String___append_t
)CALL(variable
[6],COLOR_abstract_collection___IndexedCollection___append
))(variable
[6], variable
[8]) /*String::append*/;
1136 variable
[9] = variable
[3] /*i*/;
1137 variable
[9] = ((string___String___to_s_t
)CALL(variable
[9],COLOR_string___Object___to_s
))(variable
[9]) /*String::to_s*/;
1138 ((string___String___append_t
)CALL(variable
[6],COLOR_abstract_collection___IndexedCollection___append
))(variable
[6], variable
[9]) /*String::append*/;
1139 variable
[10] = NEW_String_string___String___with_native(BOX_NativeString("."), TAG_Int(1)); /*new String*/
1140 variable
[11] = variable
[10];
1141 ((string___String___append_t
)CALL(variable
[6],COLOR_abstract_collection___IndexedCollection___append
))(variable
[6], variable
[11]) /*String::append*/;
1142 variable
[12] = variable
[5] /*d*/;
1143 variable
[12] = ((string___String___to_s_t
)CALL(variable
[12],COLOR_string___Object___to_s
))(variable
[12]) /*String::to_s*/;
1144 ((string___String___append_t
)CALL(variable
[6],COLOR_abstract_collection___IndexedCollection___append
))(variable
[6], variable
[12]) /*String::append*/;
1145 variable
[13] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1146 variable
[14] = variable
[13];
1147 ((string___String___append_t
)CALL(variable
[6],COLOR_abstract_collection___IndexedCollection___append
))(variable
[6], variable
[14]) /*String::append*/;
1148 variable
[2] = variable
[6];
1149 goto return_label52
;
1150 return_label52
: while(false);
1151 tracehead
= trace
.prev
;
1154 val_t
string___Char___to_s(val_t self
) {
1155 struct trace_t trace
= {NULL
, NULL
, 434, LOCATE_string___Char___to_s
};
1157 void **closurevariable
= NULL
;
1158 trace
.prev
= tracehead
; tracehead
= &trace
;
1159 trace
.file
= LOCATE_string
;
1161 variable
[3] = NEW_String_string___String___with_capacity( TAG_Int(1)); /*new String*/
1162 variable
[2] = variable
[3];
1163 variable
[3] = variable
[0];
1164 ((string___String_____braeq_t
)CALL( variable
[2] /*s*/,COLOR_abstract_collection___Map_____braeq
))( variable
[2] /*s*/, TAG_Int(0), variable
[3]) /*String::[]=*/;
1165 variable
[1] = variable
[2] /*s*/;
1166 goto return_label54
;
1167 return_label54
: while(false);
1168 tracehead
= trace
.prev
;
1171 val_t
string___Collection___to_s(val_t self
) {
1172 struct trace_t trace
= {NULL
, NULL
, 443, LOCATE_string___Collection___to_s
};
1174 void **closurevariable
= NULL
;
1175 trace
.prev
= tracehead
; tracehead
= &trace
;
1176 trace
.file
= LOCATE_string
;
1178 variable
[3] = NEW_String_string___String___init(); /*new String*/
1179 variable
[2] = variable
[3];
1180 variable
[3] = variable
[0];
1181 variable
[3] = ((abstract_collection___Collection___iterator_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___iterator
))(variable
[3]) /*Collection::iterator*/;
1182 while (true) { /*for*/
1183 variable
[4] = ((abstract_collection___Iterator___is_ok_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___is_ok
))(variable
[3]) /*Iterator::is_ok*/;
1184 if (!UNTAG_Bool(variable
[4])) break; /*for*/
1185 variable
[4] = ((abstract_collection___Iterator___item_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___item
))(variable
[3]) /*Iterator::item*/;
1186 variable
[5] = variable
[4];
1187 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*e*/ == NIT_NULL
/*null*/) || (( variable
[5] /*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1188 if (UNTAG_Bool(variable
[6])) { /*if*/
1189 variable
[6] = ((string___Object___to_s_t
)CALL( variable
[5] /*e*/,COLOR_string___Object___to_s
))( variable
[5] /*e*/) /*Object::to_s*/;
1190 ((string___String___append_t
)CALL( variable
[2] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[2] /*s*/, variable
[6]) /*String::append*/;
1192 continue_56
: while(0);
1193 ((abstract_collection___Iterator___next_t
)CALL(variable
[3],COLOR_abstract_collection___Iterator___next
))(variable
[3]) /*Iterator::next*/;
1196 variable
[1] = variable
[2] /*s*/;
1197 goto return_label55
;
1198 return_label55
: while(false);
1199 tracehead
= trace
.prev
;
1202 val_t
string___Collection___join(val_t self
, val_t param0
) {
1203 struct trace_t trace
= {NULL
, NULL
, 451, LOCATE_string___Collection___join
};
1205 void **closurevariable
= NULL
;
1206 trace
.prev
= tracehead
; tracehead
= &trace
;
1207 trace
.file
= LOCATE_string
;
1209 variable
[1] = param0
;
1210 variable
[3] = variable
[0];
1211 variable
[3] = ((abstract_collection___Collection___is_empty_t
)CALL(variable
[3],COLOR_abstract_collection___Collection___is_empty
))(variable
[3]) /*Collection::is_empty*/;
1212 if (UNTAG_Bool(variable
[3])) { /*if*/
1213 variable
[3] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1214 variable
[2] = variable
[3];
1215 goto return_label57
;
1217 variable
[4] = NEW_String_string___String___init(); /*new String*/
1218 variable
[3] = variable
[4];
1219 variable
[5] = variable
[0];
1220 variable
[5] = ((abstract_collection___Collection___iterator_t
)CALL(variable
[5],COLOR_abstract_collection___Collection___iterator
))(variable
[5]) /*Collection::iterator*/;
1221 variable
[4] = variable
[5];
1222 variable
[6] = ((abstract_collection___Iterator___item_t
)CALL( variable
[4] /*i*/,COLOR_abstract_collection___Iterator___item
))( variable
[4] /*i*/) /*Iterator::item*/;
1223 variable
[5] = variable
[6];
1224 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*e*/ == NIT_NULL
/*null*/) || (( variable
[5] /*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1225 if (UNTAG_Bool(variable
[6])) { /*if*/
1226 variable
[6] = ((string___Object___to_s_t
)CALL( variable
[5] /*e*/,COLOR_string___Object___to_s
))( variable
[5] /*e*/) /*Object::to_s*/;
1227 ((string___String___append_t
)CALL( variable
[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*s*/, variable
[6]) /*String::append*/;
1229 ((abstract_collection___Iterator___next_t
)CALL( variable
[4] /*i*/,COLOR_abstract_collection___Iterator___next
))( variable
[4] /*i*/) /*Iterator::next*/;
1230 while (true) { /*while*/
1231 variable
[6] = ((abstract_collection___Iterator___is_ok_t
)CALL( variable
[4] /*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable
[4] /*i*/) /*Iterator::is_ok*/;
1232 if (!UNTAG_Bool(variable
[6])) break; /* while*/
1233 ((string___String___append_t
)CALL( variable
[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*s*/, variable
[1] /*sep*/) /*String::append*/;
1234 variable
[6] = ((abstract_collection___Iterator___item_t
)CALL( variable
[4] /*i*/,COLOR_abstract_collection___Iterator___item
))( variable
[4] /*i*/) /*Iterator::item*/;
1235 variable
[5] = variable
[6] /*e=*/;
1236 variable
[6] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[5] /*e*/ == NIT_NULL
/*null*/) || (( variable
[5] /*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[5] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[5] /*e*/,COLOR_kernel___Object_____eqeq
))( variable
[5] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1237 if (UNTAG_Bool(variable
[6])) { /*if*/
1238 variable
[6] = ((string___Object___to_s_t
)CALL( variable
[5] /*e*/,COLOR_string___Object___to_s
))( variable
[5] /*e*/) /*Object::to_s*/;
1239 ((string___String___append_t
)CALL( variable
[3] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[3] /*s*/, variable
[6]) /*String::append*/;
1241 ((abstract_collection___Iterator___next_t
)CALL( variable
[4] /*i*/,COLOR_abstract_collection___Iterator___next
))( variable
[4] /*i*/) /*Iterator::next*/;
1242 continue_58
: while(0);
1245 variable
[2] = variable
[3] /*s*/;
1246 goto return_label57
;
1247 return_label57
: while(false);
1248 tracehead
= trace
.prev
;
1251 val_t
string___Map___map_join(val_t self
, val_t param0
, val_t param1
) {
1252 struct trace_t trace
= {NULL
, NULL
, 476, LOCATE_string___Map___map_join
};
1254 void **closurevariable
= NULL
;
1255 trace
.prev
= tracehead
; tracehead
= &trace
;
1256 trace
.file
= LOCATE_string
;
1258 variable
[1] = param0
;
1259 variable
[2] = param1
;
1260 variable
[4] = variable
[0];
1261 variable
[4] = ((abstract_collection___Collection___is_empty_t
)CALL(variable
[4],COLOR_abstract_collection___Collection___is_empty
))(variable
[4]) /*Collection::is_empty*/;
1262 if (UNTAG_Bool(variable
[4])) { /*if*/
1263 variable
[4] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1264 variable
[3] = variable
[4];
1265 goto return_label59
;
1267 variable
[5] = NEW_String_string___String___init(); /*new String*/
1268 variable
[4] = variable
[5];
1269 variable
[6] = variable
[0];
1270 variable
[6] = ((abstract_collection___Map___iterator_t
)CALL(variable
[6],COLOR_abstract_collection___Collection___iterator
))(variable
[6]) /*Map::iterator*/;
1271 variable
[5] = variable
[6];
1272 variable
[7] = ((abstract_collection___MapIterator___key_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___MapIterator___key
))( variable
[5] /*i*/) /*MapIterator::key*/;
1273 variable
[6] = variable
[7];
1274 variable
[8] = ((abstract_collection___Iterator___item_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___Iterator___item
))( variable
[5] /*i*/) /*Iterator::item*/;
1275 variable
[7] = variable
[8];
1276 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[7] /*e*/ == NIT_NULL
/*null*/) || (( variable
[7] /*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[7] /*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[7] /*e*/,COLOR_kernel___Object_____eqeq
))( variable
[7] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1277 if (UNTAG_Bool(variable
[8])) { /*if*/
1278 variable
[8] = NEW_String_string___String___init(); /*new String*/
1279 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1280 variable
[10] = variable
[9];
1281 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[10]) /*String::append*/;
1282 variable
[11] = variable
[6] /*k*/;
1283 variable
[11] = ((string___String___to_s_t
)CALL(variable
[11],COLOR_string___Object___to_s
))(variable
[11]) /*String::to_s*/;
1284 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[11]) /*String::append*/;
1285 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1286 variable
[13] = variable
[12];
1287 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[13]) /*String::append*/;
1288 variable
[14] = variable
[2] /*couple_sep*/;
1289 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[14]) /*String::append*/;
1290 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1291 variable
[16] = variable
[15];
1292 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[16]) /*String::append*/;
1293 variable
[17] = variable
[7] /*e*/;
1294 variable
[17] = ((string___String___to_s_t
)CALL(variable
[17],COLOR_string___Object___to_s
))(variable
[17]) /*String::to_s*/;
1295 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[17]) /*String::append*/;
1296 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1297 variable
[19] = variable
[18];
1298 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[19]) /*String::append*/;
1299 ((string___String___append_t
)CALL( variable
[4] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[4] /*s*/, variable
[8]) /*String::append*/;
1301 ((abstract_collection___Iterator___next_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___Iterator___next
))( variable
[5] /*i*/) /*Iterator::next*/;
1302 while (true) { /*while*/
1303 variable
[8] = ((abstract_collection___Iterator___is_ok_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___Iterator___is_ok
))( variable
[5] /*i*/) /*Iterator::is_ok*/;
1304 if (!UNTAG_Bool(variable
[8])) break; /* while*/
1305 ((string___String___append_t
)CALL( variable
[4] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[4] /*s*/, variable
[1] /*sep*/) /*String::append*/;
1306 variable
[8] = ((abstract_collection___MapIterator___key_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___MapIterator___key
))( variable
[5] /*i*/) /*MapIterator::key*/;
1307 variable
[6] = variable
[8] /*k=*/;
1308 variable
[8] = ((abstract_collection___Iterator___item_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___Iterator___item
))( variable
[5] /*i*/) /*Iterator::item*/;
1309 variable
[7] = variable
[8] /*e=*/;
1310 variable
[8] = TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable
[7] /*e*/ == NIT_NULL
/*null*/) || (( variable
[7] /*e*/ != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( variable
[7] /*e*/,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( variable
[7] /*e*/, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( variable
[7] /*e*/,COLOR_kernel___Object_____eqeq
))( variable
[7] /*e*/, NIT_NULL
/*null*/) /*Object::==*/)))))));
1311 if (UNTAG_Bool(variable
[8])) { /*if*/
1312 variable
[8] = NEW_String_string___String___init(); /*new String*/
1313 variable
[9] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1314 variable
[10] = variable
[9];
1315 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[10]) /*String::append*/;
1316 variable
[11] = variable
[6] /*k*/;
1317 variable
[11] = ((string___String___to_s_t
)CALL(variable
[11],COLOR_string___Object___to_s
))(variable
[11]) /*String::to_s*/;
1318 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[11]) /*String::append*/;
1319 variable
[12] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1320 variable
[13] = variable
[12];
1321 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[13]) /*String::append*/;
1322 variable
[14] = variable
[2] /*couple_sep*/;
1323 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[14]) /*String::append*/;
1324 variable
[15] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1325 variable
[16] = variable
[15];
1326 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[16]) /*String::append*/;
1327 variable
[17] = variable
[7] /*e*/;
1328 variable
[17] = ((string___String___to_s_t
)CALL(variable
[17],COLOR_string___Object___to_s
))(variable
[17]) /*String::to_s*/;
1329 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[17]) /*String::append*/;
1330 variable
[18] = NEW_String_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
1331 variable
[19] = variable
[18];
1332 ((string___String___append_t
)CALL(variable
[8],COLOR_abstract_collection___IndexedCollection___append
))(variable
[8], variable
[19]) /*String::append*/;
1333 ((string___String___append_t
)CALL( variable
[4] /*s*/,COLOR_abstract_collection___IndexedCollection___append
))( variable
[4] /*s*/, variable
[8]) /*String::append*/;
1335 ((abstract_collection___Iterator___next_t
)CALL( variable
[5] /*i*/,COLOR_abstract_collection___Iterator___next
))( variable
[5] /*i*/) /*Iterator::next*/;
1336 continue_60
: while(0);
1339 variable
[3] = variable
[4] /*s*/;
1340 goto return_label59
;
1341 return_label59
: while(false);
1342 tracehead
= trace
.prev
;
1345 val_t
string___NativeString_____bra(val_t self
, val_t param0
) {
1346 struct trace_t trace
= {NULL
, NULL
, 508, LOCATE_string___NativeString_____bra
};
1347 val_t
*variable
= NULL
;
1348 void **closurevariable
= NULL
;
1349 trace
.prev
= tracehead
; tracehead
= &trace
;
1350 trace
.file
= LOCATE_string
;
1351 tracehead
= trace
.prev
;
1352 return TAG_Char(UNBOX_NativeString( self
)[UNTAG_Int( param0
)]);
1354 void string___NativeString_____braeq(val_t self
, val_t param0
, val_t param1
) {
1355 struct trace_t trace
= {NULL
, NULL
, 509, LOCATE_string___NativeString_____braeq
};
1356 val_t
*variable
= NULL
;
1357 void **closurevariable
= NULL
;
1358 trace
.prev
= tracehead
; tracehead
= &trace
;
1359 trace
.file
= LOCATE_string
;
1360 UNBOX_NativeString( self
)[UNTAG_Int( param0
)]=UNTAG_Char( param1
);
1361 tracehead
= trace
.prev
;
1364 void string___NativeString___copy_to(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
) {
1365 struct trace_t trace
= {NULL
, NULL
, 510, LOCATE_string___NativeString___copy_to
};
1366 val_t
*variable
= NULL
;
1367 void **closurevariable
= NULL
;
1368 trace
.prev
= tracehead
; tracehead
= &trace
;
1369 trace
.file
= LOCATE_string
;
1370 (void)memcpy(UNBOX_NativeString( param0
)+UNTAG_Int( param3
), UNBOX_NativeString( self
)+UNTAG_Int( param2
), UNTAG_Int( param1
));
1371 tracehead
= trace
.prev
;
1374 val_t
string___NativeString___cstring_length(val_t self
) {
1375 struct trace_t trace
= {NULL
, NULL
, 512, LOCATE_string___NativeString___cstring_length
};
1377 void **closurevariable
= NULL
;
1378 trace
.prev
= tracehead
; tracehead
= &trace
;
1379 trace
.file
= LOCATE_string
;
1381 variable
[2] = TAG_Int(0);
1382 while (true) { /*while*/
1383 variable
[3] = variable
[0];
1384 variable
[3] = TAG_Char(UNBOX_NativeString(variable
[3])[UNTAG_Int( variable
[2] /*l*/)]);
1385 variable
[3] = TAG_Bool((variable
[3])!=( TAG_Char('\0')));
1386 if (!UNTAG_Bool(variable
[3])) break; /* while*/
1387 variable
[2] = TAG_Int(UNTAG_Int(variable
[2])+UNTAG_Int( TAG_Int(1))) /*l*/;
1388 continue_62
: while(0);
1391 variable
[1] = variable
[2] /*l*/;
1392 goto return_label61
;
1393 return_label61
: while(false);
1394 tracehead
= trace
.prev
;
1397 val_t
string___NativeString___atoi(val_t self
) {
1398 struct trace_t trace
= {NULL
, NULL
, 519, LOCATE_string___NativeString___atoi
};
1399 val_t
*variable
= NULL
;
1400 void **closurevariable
= NULL
;
1401 trace
.prev
= tracehead
; tracehead
= &trace
;
1402 trace
.file
= LOCATE_string
;
1403 tracehead
= trace
.prev
;
1404 return TAG_Int(atoi(UNBOX_NativeString( self
)));
1406 void string___NativeString___init(val_t self
, int* init_table
) {
1407 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_string___NativeString___init
};
1408 val_t
*variable
= NULL
;
1409 void **closurevariable
= NULL
;
1410 trace
.prev
= tracehead
; tracehead
= &trace
;
1411 trace
.file
= LOCATE_string
;
1412 tracehead
= trace
.prev
;
1415 val_t
string___StringCapable___calloc_string(val_t self
, val_t param0
) {
1416 struct trace_t trace
= {NULL
, NULL
, 524, LOCATE_string___StringCapable___calloc_string
};
1417 val_t
*variable
= NULL
;
1418 void **closurevariable
= NULL
;
1419 trace
.prev
= tracehead
; tracehead
= &trace
;
1420 trace
.file
= LOCATE_string
;
1421 tracehead
= trace
.prev
;
1422 return BOX_NativeString((char*)malloc((UNTAG_Int( param0
) * sizeof(char))));
1424 void string___StringCapable___init(val_t self
, int* init_table
) {
1425 struct trace_t trace
= {NULL
, NULL
, 0, LOCATE_string___StringCapable___init
};
1426 val_t
*variable
= NULL
;
1427 void **closurevariable
= NULL
;
1428 trace
.prev
= tracehead
; tracehead
= &trace
;
1429 trace
.file
= LOCATE_string
;
1430 tracehead
= trace
.prev
;
1433 val_t
string___Sys___args(val_t self
) {
1434 struct trace_t trace
= {NULL
, NULL
, 530, LOCATE_string___Sys___args
};
1436 void **closurevariable
= NULL
;
1437 trace
.prev
= tracehead
; tracehead
= &trace
;
1438 trace
.file
= LOCATE_string
;
1440 variable
[2] = variable
[0];
1441 variable
[2] = ATTR_string___Sys____args_cache(variable
[2]) /*Sys::_args_cache*/;
1442 variable
[2] = TAG_Bool((variable
[2] == NIT_NULL
/*null*/) || ((variable
[2] != NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable
[2], NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable
[2],COLOR_kernel___Object_____eqeq
))(variable
[2], NIT_NULL
/*null*/) /*Object::==*/)))));
1443 if (UNTAG_Bool(variable
[2])) { /*if*/
1444 variable
[2] = variable
[0];
1445 ((string___Sys___init_args_t
)CALL(variable
[2],COLOR_string___Sys___init_args
))(variable
[2]) /*Sys::init_args*/;
1447 variable
[2] = variable
[0];
1448 variable
[2] = ATTR_string___Sys____args_cache(variable
[2]) /*Sys::_args_cache*/;
1449 variable
[1] = variable
[2];
1450 goto return_label63
;
1451 return_label63
: while(false);
1452 tracehead
= trace
.prev
;
1455 val_t
string___Sys___program_name(val_t self
) {
1456 struct trace_t trace
= {NULL
, NULL
, 536, LOCATE_string___Sys___program_name
};
1458 void **closurevariable
= NULL
;
1459 trace
.prev
= tracehead
; tracehead
= &trace
;
1460 trace
.file
= LOCATE_string
;
1462 variable
[2] = variable
[0];
1463 variable
[2] = ((string___Sys___native_argv_t
)CALL(variable
[2],COLOR_string___Sys___native_argv
))(variable
[2], TAG_Int(0)) /*Sys::native_argv*/;
1464 variable
[3] = NEW_String_string___String___from_cstring(variable
[2]); /*new String*/
1465 variable
[2] = variable
[3];
1466 variable
[1] = variable
[2];
1467 goto return_label64
;
1468 return_label64
: while(false);
1469 tracehead
= trace
.prev
;
1472 void string___Sys___init_args(val_t self
) {
1473 struct trace_t trace
= {NULL
, NULL
, 542, LOCATE_string___Sys___init_args
};
1475 void **closurevariable
= NULL
;
1476 trace
.prev
= tracehead
; tracehead
= &trace
;
1477 trace
.file
= LOCATE_string
;
1479 variable
[3] = variable
[0];
1480 variable
[3] = ((string___Sys___native_argc_t
)CALL(variable
[3],COLOR_string___Sys___native_argc
))(variable
[3]) /*Sys::native_argc*/;
1481 variable
[2] = variable
[3];
1482 variable
[4] = NEW_Array_array___Array___with_capacity( TAG_Int(0)); /*new Array[String]*/
1483 variable
[3] = variable
[4];
1484 variable
[4] = TAG_Int(1);
1485 while (true) { /*while*/
1486 variable
[5] = TAG_Bool(UNTAG_Int( variable
[4] /*i*/)<UNTAG_Int( variable
[2] /*argc*/));
1487 if (!UNTAG_Bool(variable
[5])) break; /* while*/
1488 variable
[5] = TAG_Int(UNTAG_Int( variable
[4] /*i*/)-UNTAG_Int( TAG_Int(1)));
1489 variable
[6] = variable
[0];
1490 variable
[6] = ((string___Sys___native_argv_t
)CALL(variable
[6],COLOR_string___Sys___native_argv
))(variable
[6], variable
[4] /*i*/) /*Sys::native_argv*/;
1491 variable
[7] = NEW_String_string___String___from_cstring(variable
[6]); /*new String*/
1492 variable
[6] = variable
[7];
1493 ((array___Array_____braeq_t
)CALL( variable
[3] /*args*/,COLOR_abstract_collection___Map_____braeq
))( variable
[3] /*args*/, variable
[5], variable
[6]) /*Array::[]=*/;
1494 variable
[4] = TAG_Int(UNTAG_Int(variable
[4])+UNTAG_Int( TAG_Int(1))) /*i*/;
1495 continue_66
: while(0);
1498 variable
[5] = variable
[0];
1499 ATTR_string___Sys____args_cache(variable
[5]) /*Sys::_args_cache*/ = variable
[3] /*args*/;
1500 return_label65
: while(false);
1501 tracehead
= trace
.prev
;
1504 val_t
string___Sys___native_argc(val_t self
) {
1505 struct trace_t trace
= {NULL
, NULL
, 555, LOCATE_string___Sys___native_argc
};
1506 val_t
*variable
= NULL
;
1507 void **closurevariable
= NULL
;
1508 trace
.prev
= tracehead
; tracehead
= &trace
;
1509 trace
.file
= LOCATE_string
;
1510 tracehead
= trace
.prev
;
1511 return TAG_Int(kernel_Sys_Sys_native_argc_0( self
));
1513 val_t
string___Sys___native_argv(val_t self
, val_t param0
) {
1514 struct trace_t trace
= {NULL
, NULL
, 557, LOCATE_string___Sys___native_argv
};
1515 val_t
*variable
= NULL
;
1516 void **closurevariable
= NULL
;
1517 trace
.prev
= tracehead
; tracehead
= &trace
;
1518 trace
.file
= LOCATE_string
;
1519 tracehead
= trace
.prev
;
1520 return BOX_NativeString(kernel_Sys_Sys_native_argv_1( self
, UNTAG_Int( param0
)));