1 /* This C file is generated by NIT to compile module string. */
2 #include "string._sep.h"
3 void string___AbstractString___output(val_t p0
){
4 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_string
;
11 fra
.me
.meth
= LOCATE_string___AbstractString___output
;
14 fra
.me
.REG
[0] = NIT_NULL
;
15 fra
.me
.REG
[1] = NIT_NULL
;
18 /* ./../lib/standard//string.nit:154 */
20 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
21 /* ./../lib/standard//collection//array.nit:23 */
22 if (UNTAG_Bool(REGB1
)) {
24 fprintf(stderr
, "Uninitialized attribute %s", "_length");
25 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
28 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
29 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
30 /* ./../lib/standard//string.nit:154 */
31 if (UNTAG_Bool(REGB1
)) {
32 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
33 /* ./../lib/standard//string.nit:155 */
34 if (UNTAG_Bool(REGB1
)) {
36 fprintf(stderr
, "Uninitialized attribute %s", "_items");
37 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 155);
40 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
41 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
42 /* ./../lib/standard//kernel.nit:327 */
43 printf("%c", (unsigned char)UNTAG_Char(REGB1
));;
45 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
47 /* ./../lib/standard//string.nit:156 */
49 /* ./../lib/standard//string.nit:154 */
54 stack_frame_head
= fra
.me
.prev
;
57 val_t
string___AbstractString_____bra(val_t p0
, val_t p1
){
58 struct {struct stack_frame_t me
;} fra
;
62 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
63 fra
.me
.file
= LOCATE_string
;
65 fra
.me
.meth
= LOCATE_string___AbstractString_____bra
;
68 fra
.me
.REG
[0] = NIT_NULL
;
71 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
72 /* ./../lib/standard//string.nit:28 */
73 if (UNTAG_Bool(REGB1
)) {
75 fprintf(stderr
, "Uninitialized attribute %s", "_items");
76 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 28);
79 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
80 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
81 /* ./../lib/standard//string.nit:28 */
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
string___AbstractString___items(val_t p0
){
88 struct {struct stack_frame_t me
;} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_string
;
94 fra
.me
.meth
= LOCATE_string___AbstractString___items
;
97 fra
.me
.REG
[0] = NIT_NULL
;
99 REGB0
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
100 /* ./../lib/standard//string.nit:26 */
101 if (UNTAG_Bool(REGB0
)) {
103 fprintf(stderr
, "Uninitialized attribute %s", "_items");
104 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 26);
107 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
108 stack_frame_head
= fra
.me
.prev
;
109 return fra
.me
.REG
[0];
111 val_t
string___AbstractString___substring(val_t p0
, val_t p1
, val_t p2
){
112 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
117 static val_t once_value_3
; /* Once value */
118 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
119 fra
.me
.file
= LOCATE_string
;
121 fra
.me
.meth
= LOCATE_string___AbstractString___substring
;
122 fra
.me
.has_broke
= 0;
124 fra
.me
.REG
[0] = NIT_NULL
;
125 fra
.me
.REG
[1] = NIT_NULL
;
126 fra
.me
.REG
[2] = NIT_NULL
;
131 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
132 /* ./../lib/standard//string.nit:38 */
133 if (UNTAG_Bool(REGB2
)) {
135 fprintf(stderr
, "Assert failed");
136 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 38);
139 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
142 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
143 /* ./../lib/standard//string.nit:40 */
144 if (UNTAG_Bool(REGB2
)) {
148 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
149 /* ./../lib/standard//collection//array.nit:23 */
150 if (UNTAG_Bool(REGB2
)) {
152 fprintf(stderr
, "Uninitialized attribute %s", "_length");
153 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
156 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
157 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
158 /* ./../lib/standard//string.nit:41 */
159 if (UNTAG_Bool(REGB2
)) {
160 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
161 /* ./../lib/standard//collection//array.nit:23 */
162 if (UNTAG_Bool(REGB2
)) {
164 fprintf(stderr
, "Uninitialized attribute %s", "_length");
165 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
168 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
170 /* ./../lib/standard//string.nit:41 */
172 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
173 /* ./../lib/standard//string.nit:42 */
174 if (UNTAG_Bool(REGB2
)) {
175 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
176 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___with_capacity(REGB2
);
177 /* ./../lib/standard//string.nit:44 */
179 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
180 /* ./../lib/standard//string.nit:44 */
181 if (UNTAG_Bool(REGB2
)) {
182 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
183 /* ./../lib/standard//string.nit:45 */
184 if (UNTAG_Bool(REGB2
)) {
186 fprintf(stderr
, "Uninitialized attribute %s", "_items");
187 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 45);
190 fra
.me
.REG
[2] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
191 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
192 /* ./../lib/standard//string.nit:45 */
193 CALL_abstract_collection___Sequence___push(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
195 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
197 /* ./../lib/standard//string.nit:46 */
199 /* ./../lib/standard//string.nit:44 */
204 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
205 /* ./../lib/standard//string.nit:48 */
208 /* ./../lib/standard//string.nit:50 */
210 fra
.me
.REG
[0] = BOX_NativeString("");
212 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
213 once_value_3
= fra
.me
.REG
[0];
214 register_static_object(&once_value_3
);
215 } else fra
.me
.REG
[0] = once_value_3
;
216 fra
.me
.REG
[1] = fra
.me
.REG
[0];
220 stack_frame_head
= fra
.me
.prev
;
221 return fra
.me
.REG
[1];
223 val_t
string___AbstractString___substring_from(val_t p0
, val_t p1
){
224 struct {struct stack_frame_t me
;} fra
;
228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
229 fra
.me
.file
= LOCATE_string
;
231 fra
.me
.meth
= LOCATE_string___AbstractString___substring_from
;
232 fra
.me
.has_broke
= 0;
234 fra
.me
.REG
[0] = NIT_NULL
;
237 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
238 /* ./../lib/standard//collection//array.nit:23 */
239 if (UNTAG_Bool(REGB1
)) {
241 fprintf(stderr
, "Uninitialized attribute %s", "_length");
242 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
245 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
246 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
247 /* ./../lib/standard//string.nit:61 */
248 if (UNTAG_Bool(REGB1
)) {
250 fprintf(stderr
, "Assert failed");
251 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 61);
254 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
255 /* ./../lib/standard//collection//array.nit:23 */
256 if (UNTAG_Bool(REGB1
)) {
258 fprintf(stderr
, "Uninitialized attribute %s", "_length");
259 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
262 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
263 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
264 fra
.me
.REG
[0] = CALL_string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
265 /* ./../lib/standard//string.nit:62 */
268 stack_frame_head
= fra
.me
.prev
;
269 return fra
.me
.REG
[0];
271 val_t
string___AbstractString___has_substring(val_t p0
, val_t p1
, val_t p2
){
272 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
280 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
281 fra
.me
.file
= LOCATE_string
;
283 fra
.me
.meth
= LOCATE_string___AbstractString___has_substring
;
284 fra
.me
.has_broke
= 0;
286 fra
.me
.REG
[0] = NIT_NULL
;
287 fra
.me
.REG
[1] = NIT_NULL
;
288 fra
.me
.REG
[2] = NIT_NULL
;
292 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
293 /* ./../lib/standard//collection//array.nit:23 */
294 if (UNTAG_Bool(REGB1
)) {
296 fprintf(stderr
, "Uninitialized attribute %s", "_length");
297 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
300 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
302 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
303 REGB0
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
304 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
305 /* ./../lib/standard//string.nit:73 */
306 if (UNTAG_Bool(REGB1
)) {
308 fprintf(stderr
, "Uninitialized attribute %s", "_items");
309 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 73);
312 fra
.me
.REG
[2] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
313 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
314 /* ./../lib/standard//string.nit:74 */
315 if (UNTAG_Bool(REGB1
)) {
317 fprintf(stderr
, "Uninitialized attribute %s", "_items");
318 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 74);
321 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[1]);
322 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
323 /* ./../lib/standard//collection//array.nit:23 */
324 if (UNTAG_Bool(REGB1
)) {
326 fprintf(stderr
, "Uninitialized attribute %s", "_length");
327 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
330 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
331 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
332 /* ./../lib/standard//string.nit:75 */
333 if (UNTAG_Bool(REGB1
)) {
334 REGB1
= TAG_Bool(true);
336 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
338 /* ./../lib/standard//string.nit:75 */
340 if (UNTAG_Bool(REGB1
)) {
341 REGB1
= TAG_Bool(false);
344 /* ./../lib/standard//string.nit:76 */
347 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
348 /* ./../lib/standard//string.nit:76 */
349 if (UNTAG_Bool(REGB3
)) {
350 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
351 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]);
352 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
353 /* ./../lib/standard//string.nit:77 */
354 if (UNTAG_Bool(REGB5
)) {
356 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
358 /* ./../lib/standard//string.nit:77 */
360 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
361 if (UNTAG_Bool(REGB5
)) {
362 REGB5
= TAG_Bool(false);
367 REGB5
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB5
));
370 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
372 /* ./../lib/standard//string.nit:79 */
374 /* ./../lib/standard//string.nit:76 */
379 REGB2
= TAG_Bool(true);
381 /* ./../lib/standard//string.nit:81 */
384 stack_frame_head
= fra
.me
.prev
;
387 val_t
string___AbstractString___has_prefix(val_t p0
, val_t p1
){
388 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
391 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
392 fra
.me
.file
= LOCATE_string
;
394 fra
.me
.meth
= LOCATE_string___AbstractString___has_prefix
;
395 fra
.me
.has_broke
= 0;
397 fra
.me
.REG
[0] = NIT_NULL
;
398 fra
.me
.REG
[1] = NIT_NULL
;
402 REGB0
= CALL_string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
403 /* ./../lib/standard//string.nit:88 */
406 stack_frame_head
= fra
.me
.prev
;
409 val_t
string___AbstractString___has_suffix(val_t p0
, val_t p1
){
410 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
414 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
415 fra
.me
.file
= LOCATE_string
;
417 fra
.me
.meth
= LOCATE_string___AbstractString___has_suffix
;
418 fra
.me
.has_broke
= 0;
420 fra
.me
.REG
[0] = NIT_NULL
;
421 fra
.me
.REG
[1] = NIT_NULL
;
424 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
425 /* ./../lib/standard//collection//array.nit:23 */
426 if (UNTAG_Bool(REGB0
)) {
428 fprintf(stderr
, "Uninitialized attribute %s", "_length");
429 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
432 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
433 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
434 if (UNTAG_Bool(REGB1
)) {
436 fprintf(stderr
, "Uninitialized attribute %s", "_length");
437 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
440 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
441 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
442 REGB1
= CALL_string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
443 /* ./../lib/standard//string.nit:94 */
446 stack_frame_head
= fra
.me
.prev
;
449 val_t
string___AbstractString___to_i(val_t p0
){
450 struct {struct stack_frame_t me
;} fra
;
453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
454 fra
.me
.file
= LOCATE_string
;
456 fra
.me
.meth
= LOCATE_string___AbstractString___to_i
;
457 fra
.me
.has_broke
= 0;
459 fra
.me
.REG
[0] = NIT_NULL
;
461 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
462 fra
.me
.REG
[0] = CALL_string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
463 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
464 /* ./../lib/standard//string.nit:100 */
467 stack_frame_head
= fra
.me
.prev
;
470 val_t
string___AbstractString___to_hex(val_t p0
){
471 struct {struct stack_frame_t me
;} fra
;
474 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
475 fra
.me
.file
= LOCATE_string
;
477 fra
.me
.meth
= LOCATE_string___AbstractString___to_hex
;
478 fra
.me
.has_broke
= 0;
480 fra
.me
.REG
[0] = NIT_NULL
;
483 REGB0
= CALL_string___AbstractString___a_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
484 /* ./../lib/standard//string.nit:104 */
487 stack_frame_head
= fra
.me
.prev
;
490 val_t
string___AbstractString___a_to(val_t p0
, val_t p1
){
491 struct {struct stack_frame_t me
;} fra
;
499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
500 fra
.me
.file
= LOCATE_string
;
502 fra
.me
.meth
= LOCATE_string___AbstractString___a_to
;
503 fra
.me
.has_broke
= 0;
505 fra
.me
.REG
[0] = NIT_NULL
;
509 REGB2
= TAG_Bool(false);
510 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
511 /* ./../lib/standard//string.nit:112 */
513 REGB3
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
514 if (UNTAG_Bool(REGB3
)) {
515 REGB3
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
516 REGB3
= CALL_kernel___Char___to_i(REGB3
)(REGB3
);
517 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)>UNTAG_Int(REGB0
));
518 /* ./../lib/standard//string.nit:115 */
519 if (UNTAG_Bool(REGB4
)) {
520 /* ./../lib/standard//string.nit:116 */
521 if (UNTAG_Bool(REGB2
)) {
522 REGB4
= TAG_Int(-UNTAG_Int(REGB1
));
523 /* ./../lib/standard//string.nit:117 */
527 /* ./../lib/standard//string.nit:119 */
532 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB5
));
533 /* ./../lib/standard//string.nit:121 */
534 if (UNTAG_Bool(REGB5
)) {
535 REGB5
= TAG_Bool(true);
537 /* ./../lib/standard//string.nit:122 */
539 REGB5
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB0
));
540 REGB3
= TAG_Int(UNTAG_Int(REGB5
)+UNTAG_Int(REGB3
));
542 /* ./../lib/standard//string.nit:124 */
546 /* ./../lib/standard//string.nit:112 */
549 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
552 /* ./../lib/standard//string.nit:127 */
553 if (UNTAG_Bool(REGB2
)) {
554 REGB2
= TAG_Int(-UNTAG_Int(REGB1
));
556 /* ./../lib/standard//string.nit:128 */
560 /* ./../lib/standard//string.nit:130 */
564 stack_frame_head
= fra
.me
.prev
;
567 val_t
string___AbstractString___to_upper(val_t p0
){
568 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
571 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
572 fra
.me
.file
= LOCATE_string
;
574 fra
.me
.meth
= LOCATE_string___AbstractString___to_upper
;
575 fra
.me
.has_broke
= 0;
577 fra
.me
.REG
[0] = NIT_NULL
;
578 fra
.me
.REG
[1] = NIT_NULL
;
580 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
581 /* ./../lib/standard//collection//array.nit:23 */
582 if (UNTAG_Bool(REGB0
)) {
584 fprintf(stderr
, "Uninitialized attribute %s", "_length");
585 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
588 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
589 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0
);
590 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
591 /* ./../lib/standard//string.nit:138 */
593 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
594 if (UNTAG_Bool(REGB0
)) {
595 REGB0
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
596 REGB0
= CALL_kernel___Char___to_upper(REGB0
)(REGB0
);
597 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
601 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
604 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
605 /* ./../lib/standard//string.nit:139 */
608 stack_frame_head
= fra
.me
.prev
;
609 return fra
.me
.REG
[1];
611 val_t
string___AbstractString___to_lower(val_t p0
){
612 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
615 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
616 fra
.me
.file
= LOCATE_string
;
618 fra
.me
.meth
= LOCATE_string___AbstractString___to_lower
;
619 fra
.me
.has_broke
= 0;
621 fra
.me
.REG
[0] = NIT_NULL
;
622 fra
.me
.REG
[1] = NIT_NULL
;
624 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
625 /* ./../lib/standard//collection//array.nit:23 */
626 if (UNTAG_Bool(REGB0
)) {
628 fprintf(stderr
, "Uninitialized attribute %s", "_length");
629 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
632 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
633 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___with_capacity(REGB0
);
634 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
635 /* ./../lib/standard//string.nit:146 */
637 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
638 if (UNTAG_Bool(REGB0
)) {
639 REGB0
= CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
640 REGB0
= CALL_kernel___Char___to_lower(REGB0
)(REGB0
);
641 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
645 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
648 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
649 /* ./../lib/standard//string.nit:147 */
652 stack_frame_head
= fra
.me
.prev
;
653 return fra
.me
.REG
[1];
655 val_t
string___String_____eqeq(val_t p0
, val_t p1
){
656 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
664 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
665 fra
.me
.file
= LOCATE_string
;
667 fra
.me
.meth
= LOCATE_string___String_____eqeq
;
668 fra
.me
.has_broke
= 0;
670 fra
.me
.REG
[0] = NIT_NULL
;
671 fra
.me
.REG
[1] = NIT_NULL
;
674 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_String
, ID_String
)) /*cast String*/;
675 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
676 /* ./../lib/standard//string.nit:191 */
677 if (UNTAG_Bool(REGB0
)) {
678 REGB0
= TAG_Bool(true);
680 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
683 if (UNTAG_Bool(REGB0
)) {
684 REGB0
= TAG_Bool(false);
687 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
688 /* ./../lib/standard//collection//array.nit:23 */
689 if (UNTAG_Bool(REGB1
)) {
691 fprintf(stderr
, "Uninitialized attribute %s", "_length");
692 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
695 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
696 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
697 /* ./../lib/standard//string.nit:193 */
698 if (UNTAG_Bool(REGB2
)) {
699 fprintf(stderr
, "Reciever is null");
700 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 193);
703 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
704 /* ./../lib/standard//collection//array.nit:23 */
705 if (UNTAG_Bool(REGB2
)) {
707 fprintf(stderr
, "Uninitialized attribute %s", "_length");
708 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
711 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
712 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
713 /* ./../lib/standard//string.nit:193 */
714 if (UNTAG_Bool(REGB3
)) {
716 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
718 /* ./../lib/standard//string.nit:193 */
720 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
721 if (UNTAG_Bool(REGB3
)) {
722 REGB3
= TAG_Bool(false);
727 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
728 /* ./../lib/standard//string.nit:195 */
729 if (UNTAG_Bool(REGB2
)) {
731 fprintf(stderr
, "Uninitialized attribute %s", "_items");
732 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 195);
735 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
736 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
737 /* ./../lib/standard//string.nit:196 */
738 if (UNTAG_Bool(REGB2
)) {
740 fprintf(stderr
, "Uninitialized attribute %s", "_items");
741 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 196);
744 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[1]);
745 /* ./../lib/standard//string.nit:197 */
747 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
748 /* ./../lib/standard//string.nit:197 */
749 if (UNTAG_Bool(REGB2
)) {
750 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB3
)]);
751 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]);
752 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
753 /* ./../lib/standard//string.nit:198 */
754 if (UNTAG_Bool(REGB5
)) {
756 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
758 /* ./../lib/standard//string.nit:198 */
760 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
761 if (UNTAG_Bool(REGB5
)) {
762 REGB5
= TAG_Bool(false);
767 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
769 /* ./../lib/standard//string.nit:199 */
771 /* ./../lib/standard//string.nit:197 */
776 REGB3
= TAG_Bool(true);
778 /* ./../lib/standard//string.nit:201 */
781 stack_frame_head
= fra
.me
.prev
;
784 val_t
string___String_____l(val_t p0
, val_t p1
){
785 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
793 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
794 fra
.me
.file
= LOCATE_string
;
796 fra
.me
.meth
= LOCATE_string___String_____l
;
797 fra
.me
.has_broke
= 0;
799 fra
.me
.REG
[0] = NIT_NULL
;
800 fra
.me
.REG
[1] = NIT_NULL
;
804 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
805 /* ./../lib/standard//collection//array.nit:23 */
806 if (UNTAG_Bool(REGB1
)) {
808 fprintf(stderr
, "Uninitialized attribute %s", "_length");
809 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
812 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
813 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
814 /* ./../lib/standard//collection//array.nit:23 */
815 if (UNTAG_Bool(REGB2
)) {
817 fprintf(stderr
, "Uninitialized attribute %s", "_length");
818 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
821 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
822 REGB3
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
823 /* ./../lib/standard//string.nit:209 */
824 if (UNTAG_Bool(REGB3
)) {
826 fprintf(stderr
, "Uninitialized attribute %s", "_items");
827 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 209);
830 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
831 REGB3
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
832 /* ./../lib/standard//string.nit:210 */
833 if (UNTAG_Bool(REGB3
)) {
835 fprintf(stderr
, "Uninitialized attribute %s", "_items");
836 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 210);
839 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[1]);
840 /* ./../lib/standard//string.nit:211 */
842 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
843 /* ./../lib/standard//string.nit:211 */
844 if (UNTAG_Bool(REGB3
)) {
845 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
846 /* ./../lib/standard//string.nit:211 */
848 REGB4
= TAG_Bool(false);
851 if (UNTAG_Bool(REGB3
)) {
852 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
853 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
854 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
855 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
856 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
857 /* ./../lib/standard//string.nit:214 */
858 if (UNTAG_Bool(REGB5
)) {
859 REGB5
= TAG_Bool(true);
860 /* ./../lib/standard//string.nit:215 */
863 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
864 /* ./../lib/standard//string.nit:216 */
865 if (UNTAG_Bool(REGB3
)) {
866 REGB3
= TAG_Bool(false);
868 /* ./../lib/standard//string.nit:217 */
873 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
875 /* ./../lib/standard//string.nit:219 */
877 /* ./../lib/standard//string.nit:211 */
882 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
883 /* ./../lib/standard//string.nit:221 */
884 if (UNTAG_Bool(REGB2
)) {
885 REGB2
= TAG_Bool(true);
887 /* ./../lib/standard//string.nit:222 */
890 REGB2
= TAG_Bool(false);
892 /* ./../lib/standard//string.nit:224 */
896 stack_frame_head
= fra
.me
.prev
;
899 val_t
string___String___hash(val_t p0
){
900 struct {struct stack_frame_t me
;} fra
;
906 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
907 fra
.me
.file
= LOCATE_string
;
909 fra
.me
.meth
= LOCATE_string___String___hash
;
910 fra
.me
.has_broke
= 0;
912 fra
.me
.REG
[0] = NIT_NULL
;
914 REGB0
= TAG_Int(5381);
915 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
916 /* ./../lib/standard//string.nit:255 */
917 if (UNTAG_Bool(REGB1
)) {
919 fprintf(stderr
, "Uninitialized attribute %s", "_length");
920 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 255);
923 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
925 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
926 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
927 /* ./../lib/standard//string.nit:256 */
928 if (UNTAG_Bool(REGB1
)) {
930 fprintf(stderr
, "Uninitialized attribute %s", "_items");
931 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 256);
934 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
935 /* ./../lib/standard//string.nit:257 */
938 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB1
));
939 /* ./../lib/standard//string.nit:257 */
940 if (UNTAG_Bool(REGB1
)) {
942 REGB1
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB1
));
943 REGB1
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
944 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB2
)]);
945 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
946 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
949 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
951 /* ./../lib/standard//string.nit:259 */
953 /* ./../lib/standard//string.nit:257 */
958 /* ./../lib/standard//string.nit:261 */
961 stack_frame_head
= fra
.me
.prev
;
964 val_t
string___String___to_s(val_t p0
){
965 struct {struct stack_frame_t me
;} fra
;
967 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
968 fra
.me
.file
= LOCATE_string
;
970 fra
.me
.meth
= LOCATE_string___String___to_s
;
971 fra
.me
.has_broke
= 0;
973 fra
.me
.REG
[0] = NIT_NULL
;
975 /* ./../lib/standard//string.nit:249 */
978 stack_frame_head
= fra
.me
.prev
;
979 return fra
.me
.REG
[0];
981 void string___String___with_native(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
982 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_String
].i
;
983 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
987 if (init_table
[itpos0
]) return;
988 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
989 fra
.me
.file
= LOCATE_string
;
991 fra
.me
.meth
= LOCATE_string___String___with_native
;
992 fra
.me
.has_broke
= 0;
994 fra
.me
.REG
[0] = NIT_NULL
;
995 fra
.me
.REG
[1] = NIT_NULL
;
1000 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1001 /* ./../lib/standard//string.nit:170 */
1002 if (UNTAG_Bool(REGB1
)) {
1004 fprintf(stderr
, "Assert failed");
1005 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 170);
1008 /* ./../lib/standard//string.nit:171 */
1009 ATTR_string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1010 /* ./../lib/standard//string.nit:172 */
1011 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1012 stack_frame_head
= fra
.me
.prev
;
1013 init_table
[itpos0
] = 1;
1016 void string___String___from_cstring(val_t p0
, val_t p1
, int* init_table
){
1017 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_String
].i
;
1018 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1021 if (init_table
[itpos1
]) return;
1022 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1023 fra
.me
.file
= LOCATE_string
;
1025 fra
.me
.meth
= LOCATE_string___String___from_cstring
;
1026 fra
.me
.has_broke
= 0;
1027 fra
.me
.REG_size
= 2;
1028 fra
.me
.REG
[0] = NIT_NULL
;
1029 fra
.me
.REG
[1] = NIT_NULL
;
1032 REGB0
= CALL_string___NativeString___cstring_length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1033 /* ./../lib/standard//string.nit:179 */
1034 ATTR_string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1035 /* ./../lib/standard//string.nit:180 */
1036 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
1037 stack_frame_head
= fra
.me
.prev
;
1038 init_table
[itpos1
] = 1;
1041 val_t
string___String___to_cstring(val_t p0
){
1042 struct {struct stack_frame_t me
;} fra
;
1045 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1046 fra
.me
.file
= LOCATE_string
;
1048 fra
.me
.meth
= LOCATE_string___String___to_cstring
;
1049 fra
.me
.has_broke
= 0;
1050 fra
.me
.REG_size
= 1;
1051 fra
.me
.REG
[0] = NIT_NULL
;
1053 REGB0
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1054 /* ./../lib/standard//string.nit:186 */
1055 if (UNTAG_Bool(REGB0
)) {
1057 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1058 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 186);
1061 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1064 stack_frame_head
= fra
.me
.prev
;
1065 return fra
.me
.REG
[0];
1067 val_t
string___String_____plus(val_t p0
, val_t p1
){
1068 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1072 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1073 fra
.me
.file
= LOCATE_string
;
1075 fra
.me
.meth
= LOCATE_string___String_____plus
;
1076 fra
.me
.has_broke
= 0;
1077 fra
.me
.REG_size
= 3;
1078 fra
.me
.REG
[0] = NIT_NULL
;
1079 fra
.me
.REG
[1] = NIT_NULL
;
1080 fra
.me
.REG
[2] = NIT_NULL
;
1083 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1084 /* ./../lib/standard//collection//array.nit:23 */
1085 if (UNTAG_Bool(REGB0
)) {
1087 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1088 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1091 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1092 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1093 if (UNTAG_Bool(REGB1
)) {
1095 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1096 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1099 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1100 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1101 fra
.me
.REG
[2] = NEW_Buffer_string___Buffer___with_capacity(REGB1
);
1102 /* ./../lib/standard//string.nit:232 */
1103 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1104 /* ./../lib/standard//string.nit:233 */
1105 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1106 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1107 /* ./../lib/standard//string.nit:234 */
1110 stack_frame_head
= fra
.me
.prev
;
1111 return fra
.me
.REG
[2];
1113 val_t
string___String_____star(val_t p0
, val_t p1
){
1114 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1118 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1119 fra
.me
.file
= LOCATE_string
;
1121 fra
.me
.meth
= LOCATE_string___String_____star
;
1122 fra
.me
.has_broke
= 0;
1123 fra
.me
.REG_size
= 2;
1124 fra
.me
.REG
[0] = NIT_NULL
;
1125 fra
.me
.REG
[1] = NIT_NULL
;
1129 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1130 /* ./../lib/standard//string.nit:240 */
1131 if (UNTAG_Bool(REGB1
)) {
1133 fprintf(stderr
, "Assert failed");
1134 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 240);
1137 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1138 /* ./../lib/standard//collection//array.nit:23 */
1139 if (UNTAG_Bool(REGB1
)) {
1141 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1142 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1145 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1146 REGB1
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB0
));
1147 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___with_capacity(REGB1
);
1148 /* ./../lib/standard//string.nit:242 */
1151 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1152 /* ./../lib/standard//string.nit:242 */
1153 if (UNTAG_Bool(REGB1
)) {
1154 /* ./../lib/standard//string.nit:243 */
1155 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1157 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1159 /* ./../lib/standard//string.nit:244 */
1161 /* ./../lib/standard//string.nit:242 */
1166 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1167 /* ./../lib/standard//string.nit:246 */
1170 stack_frame_head
= fra
.me
.prev
;
1171 return fra
.me
.REG
[1];
1173 val_t
string___Buffer_____eqeq(val_t p0
, val_t p1
){
1174 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1182 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1183 fra
.me
.file
= LOCATE_string
;
1185 fra
.me
.meth
= LOCATE_string___Buffer_____eqeq
;
1186 fra
.me
.has_broke
= 0;
1187 fra
.me
.REG_size
= 2;
1188 fra
.me
.REG
[0] = NIT_NULL
;
1189 fra
.me
.REG
[1] = NIT_NULL
;
1192 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_Buffer
, ID_Buffer
)) /*cast Buffer*/;
1193 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
1194 /* ./../lib/standard//string.nit:375 */
1195 if (UNTAG_Bool(REGB0
)) {
1196 REGB0
= TAG_Bool(true);
1198 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1201 if (UNTAG_Bool(REGB0
)) {
1202 REGB0
= TAG_Bool(false);
1205 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1206 /* ./../lib/standard//collection//array.nit:23 */
1207 if (UNTAG_Bool(REGB1
)) {
1209 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1210 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1213 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1214 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
1215 /* ./../lib/standard//string.nit:377 */
1216 if (UNTAG_Bool(REGB2
)) {
1217 fprintf(stderr
, "Reciever is null");
1218 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 377);
1221 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1222 /* ./../lib/standard//collection//array.nit:23 */
1223 if (UNTAG_Bool(REGB2
)) {
1225 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1226 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1229 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1230 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
1231 /* ./../lib/standard//string.nit:377 */
1232 if (UNTAG_Bool(REGB3
)) {
1234 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
1236 /* ./../lib/standard//string.nit:377 */
1238 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
1239 if (UNTAG_Bool(REGB3
)) {
1240 REGB3
= TAG_Bool(false);
1245 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1246 /* ./../lib/standard//string.nit:379 */
1247 if (UNTAG_Bool(REGB2
)) {
1249 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1250 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 379);
1253 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1254 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
1255 /* ./../lib/standard//string.nit:380 */
1256 if (UNTAG_Bool(REGB2
)) {
1258 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1259 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 380);
1262 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[1]);
1263 /* ./../lib/standard//string.nit:381 */
1265 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
1266 /* ./../lib/standard//string.nit:381 */
1267 if (UNTAG_Bool(REGB2
)) {
1268 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB3
)]);
1269 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]);
1270 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1271 /* ./../lib/standard//string.nit:382 */
1272 if (UNTAG_Bool(REGB5
)) {
1274 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1276 /* ./../lib/standard//string.nit:382 */
1278 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1279 if (UNTAG_Bool(REGB5
)) {
1280 REGB5
= TAG_Bool(false);
1285 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1287 /* ./../lib/standard//string.nit:383 */
1289 /* ./../lib/standard//string.nit:381 */
1294 REGB3
= TAG_Bool(true);
1296 /* ./../lib/standard//string.nit:385 */
1299 stack_frame_head
= fra
.me
.prev
;
1302 val_t
string___Buffer___to_s(val_t p0
){
1303 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1308 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1309 fra
.me
.file
= LOCATE_string
;
1311 fra
.me
.meth
= LOCATE_string___Buffer___to_s
;
1312 fra
.me
.has_broke
= 0;
1313 fra
.me
.REG_size
= 3;
1314 fra
.me
.REG
[0] = NIT_NULL
;
1315 fra
.me
.REG
[1] = NIT_NULL
;
1316 fra
.me
.REG
[2] = NIT_NULL
;
1318 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1319 /* ./../lib/standard//collection//array.nit:23 */
1320 if (UNTAG_Bool(REGB0
)) {
1322 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1323 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1326 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1328 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1329 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1330 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1331 /* ./../lib/standard//string.nit:319 */
1332 if (UNTAG_Bool(REGB1
)) {
1334 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1335 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 319);
1338 fra
.me
.REG
[2] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1341 /* ./../lib/standard//string.nit:587 */
1342 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
1343 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1344 /* ./../lib/standard//collection//array.nit:23 */
1345 if (UNTAG_Bool(REGB0
)) {
1347 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1348 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1351 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1352 REGB1
= TAG_Char('\0');
1353 /* ./../lib/standard//string.nit:586 */
1354 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
1355 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1356 /* ./../lib/standard//collection//array.nit:23 */
1357 if (UNTAG_Bool(REGB1
)) {
1359 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1360 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1363 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1364 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB1
);
1365 /* ./../lib/standard//string.nit:324 */
1368 stack_frame_head
= fra
.me
.prev
;
1369 return fra
.me
.REG
[1];
1371 val_t
string___Buffer_____l(val_t p0
, val_t p1
){
1372 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1380 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1381 fra
.me
.file
= LOCATE_string
;
1383 fra
.me
.meth
= LOCATE_string___Buffer_____l
;
1384 fra
.me
.has_broke
= 0;
1385 fra
.me
.REG_size
= 2;
1386 fra
.me
.REG
[0] = NIT_NULL
;
1387 fra
.me
.REG
[1] = NIT_NULL
;
1391 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1392 /* ./../lib/standard//collection//array.nit:23 */
1393 if (UNTAG_Bool(REGB1
)) {
1395 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1396 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1399 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1400 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1401 /* ./../lib/standard//collection//array.nit:23 */
1402 if (UNTAG_Bool(REGB2
)) {
1404 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1405 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1408 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1409 /* ./../lib/standard//string.nit:332 */
1411 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1412 /* ./../lib/standard//string.nit:332 */
1413 if (UNTAG_Bool(REGB3
)) {
1414 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1415 /* ./../lib/standard//string.nit:332 */
1417 REGB4
= TAG_Bool(false);
1420 if (UNTAG_Bool(REGB3
)) {
1421 REGB3
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1422 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
1423 REGB4
= CALL_abstract_collection___MapRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1424 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
1425 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1426 /* ./../lib/standard//string.nit:335 */
1427 if (UNTAG_Bool(REGB5
)) {
1428 REGB5
= TAG_Bool(true);
1429 /* ./../lib/standard//string.nit:336 */
1432 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1433 /* ./../lib/standard//string.nit:337 */
1434 if (UNTAG_Bool(REGB3
)) {
1435 REGB3
= TAG_Bool(false);
1437 /* ./../lib/standard//string.nit:338 */
1442 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1444 /* ./../lib/standard//string.nit:340 */
1446 /* ./../lib/standard//string.nit:332 */
1451 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1452 /* ./../lib/standard//string.nit:342 */
1453 if (UNTAG_Bool(REGB2
)) {
1454 REGB2
= TAG_Bool(true);
1456 /* ./../lib/standard//string.nit:343 */
1459 REGB2
= TAG_Bool(false);
1461 /* ./../lib/standard//string.nit:345 */
1465 stack_frame_head
= fra
.me
.prev
;
1468 void string___Buffer_____braeq(val_t p0
, val_t p1
, val_t p2
){
1469 struct {struct stack_frame_t me
;} fra
;
1475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1476 fra
.me
.file
= LOCATE_string
;
1478 fra
.me
.meth
= LOCATE_string___Buffer_____braeq
;
1479 fra
.me
.has_broke
= 0;
1480 fra
.me
.REG_size
= 1;
1481 fra
.me
.REG
[0] = NIT_NULL
;
1485 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1486 /* ./../lib/standard//collection//array.nit:23 */
1487 if (UNTAG_Bool(REGB2
)) {
1489 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1490 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1493 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1494 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
1495 /* ./../lib/standard//string.nit:277 */
1496 if (UNTAG_Bool(REGB3
)) {
1498 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
1500 /* ./../lib/standard//string.nit:277 */
1502 if (UNTAG_Bool(REGB3
)) {
1503 /* ./../lib/standard//string.nit:278 */
1504 CALL_abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1505 /* ./../lib/standard//string.nit:279 */
1509 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
1510 /* ./../lib/standard//string.nit:281 */
1511 if (UNTAG_Bool(REGB3
)) {
1512 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1513 /* ./../lib/standard//collection//array.nit:23 */
1514 if (UNTAG_Bool(REGB3
)) {
1516 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1517 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1520 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1521 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
1522 /* ./../lib/standard//string.nit:281 */
1524 REGB2
= TAG_Bool(false);
1527 if (UNTAG_Bool(REGB3
)) {
1529 fprintf(stderr
, "Assert failed");
1530 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 281);
1533 REGB3
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1534 /* ./../lib/standard//string.nit:282 */
1535 if (UNTAG_Bool(REGB3
)) {
1537 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1538 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 282);
1541 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1542 /* ./../lib/standard//string.nit:586 */
1543 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
1545 stack_frame_head
= fra
.me
.prev
;
1548 void string___Buffer___add(val_t p0
, val_t p1
){
1549 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1554 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1555 fra
.me
.file
= LOCATE_string
;
1557 fra
.me
.meth
= LOCATE_string___Buffer___add
;
1558 fra
.me
.has_broke
= 0;
1559 fra
.me
.REG_size
= 2;
1560 fra
.me
.REG
[0] = NIT_NULL
;
1561 fra
.me
.REG
[1] = NIT_NULL
;
1564 REGB1
= TAG_Bool(ATTR_string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1565 /* ./../lib/standard//string.nit:287 */
1566 if (UNTAG_Bool(REGB1
)) {
1568 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1569 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 287);
1572 REGB1
= ATTR_string___Buffer____capacity(fra
.me
.REG
[0]);
1573 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1574 /* ./../lib/standard//collection//array.nit:23 */
1575 if (UNTAG_Bool(REGB2
)) {
1577 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1578 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1581 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1582 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB2
));
1583 /* ./../lib/standard//string.nit:287 */
1584 if (UNTAG_Bool(REGB2
)) {
1585 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1586 /* ./../lib/standard//collection//array.nit:23 */
1587 if (UNTAG_Bool(REGB2
)) {
1589 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1590 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1593 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1595 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1596 /* ./../lib/standard//string.nit:287 */
1597 CALL_array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1599 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1600 /* ./../lib/standard//string.nit:288 */
1601 if (UNTAG_Bool(REGB1
)) {
1603 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1604 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 288);
1607 fra
.me
.REG
[1] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1608 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1609 /* ./../lib/standard//collection//array.nit:23 */
1610 if (UNTAG_Bool(REGB1
)) {
1612 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1613 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1616 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1617 /* ./../lib/standard//string.nit:586 */
1618 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB1
)]=UNTAG_Char(REGB0
);;
1619 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1621 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1622 /* ./../lib/standard//string.nit:289 */
1623 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
1624 stack_frame_head
= fra
.me
.prev
;
1627 void string___Buffer___append(val_t p0
, val_t p1
){
1628 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1633 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1634 fra
.me
.file
= LOCATE_string
;
1636 fra
.me
.meth
= LOCATE_string___Buffer___append
;
1637 fra
.me
.has_broke
= 0;
1638 fra
.me
.REG_size
= 5;
1639 fra
.me
.REG
[0] = NIT_NULL
;
1640 fra
.me
.REG
[1] = NIT_NULL
;
1641 fra
.me
.REG
[2] = NIT_NULL
;
1642 fra
.me
.REG
[3] = NIT_NULL
;
1643 fra
.me
.REG
[4] = NIT_NULL
;
1646 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1647 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1648 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_String
, ID_String
)) /*cast String*/;
1649 /* ./../lib/standard//string.nit:305 */
1650 if (UNTAG_Bool(REGB0
)) {
1651 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1652 /* ./../lib/standard//collection//array.nit:23 */
1653 if (UNTAG_Bool(REGB0
)) {
1655 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1656 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1659 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1660 REGB1
= TAG_Bool(ATTR_string___Buffer____capacity(fra
.me
.REG
[2])!=NIT_NULL
);
1661 /* ./../lib/standard//string.nit:307 */
1662 if (UNTAG_Bool(REGB1
)) {
1664 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1665 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 307);
1668 REGB1
= ATTR_string___Buffer____capacity(fra
.me
.REG
[2]);
1669 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1670 /* ./../lib/standard//collection//array.nit:23 */
1671 if (UNTAG_Bool(REGB2
)) {
1673 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1674 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1677 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1678 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1679 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1680 /* ./../lib/standard//string.nit:307 */
1681 if (UNTAG_Bool(REGB2
)) {
1682 REGB2
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1683 /* ./../lib/standard//collection//array.nit:23 */
1684 if (UNTAG_Bool(REGB2
)) {
1686 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1687 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1690 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1691 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1692 /* ./../lib/standard//string.nit:307 */
1693 CALL_array___AbstractArray___enlarge(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
1695 fra
.me
.REG
[3] = CALL_string___AbstractString___items(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1696 REGB2
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
1697 /* ./../lib/standard//string.nit:308 */
1698 if (UNTAG_Bool(REGB2
)) {
1700 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1701 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 308);
1704 fra
.me
.REG
[4] = ATTR_string___AbstractString____items(fra
.me
.REG
[2]);
1706 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1707 /* ./../lib/standard//collection//array.nit:23 */
1708 if (UNTAG_Bool(REGB1
)) {
1710 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1711 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1714 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1715 /* ./../lib/standard//string.nit:587 */
1716 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[4])+UNTAG_Int(REGB1
), UNBOX_NativeString(fra
.me
.REG
[3])+UNTAG_Int(REGB2
), UNTAG_Int(REGB0
));;
1717 REGB2
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1718 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1719 /* ./../lib/standard//string.nit:309 */
1720 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
1722 /* ./../lib/standard//string.nit:311 */
1723 CALL_SUPER_string___Buffer___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1725 stack_frame_head
= fra
.me
.prev
;
1728 void string___Buffer___enlarge(val_t p0
, val_t p1
){
1729 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1735 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1736 fra
.me
.file
= LOCATE_string
;
1738 fra
.me
.meth
= LOCATE_string___Buffer___enlarge
;
1739 fra
.me
.has_broke
= 0;
1740 fra
.me
.REG_size
= 3;
1741 fra
.me
.REG
[0] = NIT_NULL
;
1742 fra
.me
.REG
[1] = NIT_NULL
;
1743 fra
.me
.REG
[2] = NIT_NULL
;
1746 REGB1
= TAG_Bool(ATTR_string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1747 /* ./../lib/standard//string.nit:294 */
1748 if (UNTAG_Bool(REGB1
)) {
1750 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1751 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 294);
1754 REGB1
= ATTR_string___Buffer____capacity(fra
.me
.REG
[0]);
1755 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
1756 /* ./../lib/standard//string.nit:295 */
1757 if (UNTAG_Bool(REGB2
)) {
1760 /* ./../lib/standard//string.nit:296 */
1762 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
1763 /* ./../lib/standard//string.nit:296 */
1764 if (UNTAG_Bool(REGB2
)) {
1766 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
1768 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1770 /* ./../lib/standard//string.nit:296 */
1777 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1778 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
1779 REGB0
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1780 /* ./../lib/standard//string.nit:298 */
1781 if (UNTAG_Bool(REGB0
)) {
1783 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1784 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 298);
1787 fra
.me
.REG
[2] = ATTR_string___AbstractString____items(fra
.me
.REG
[0]);
1788 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1789 /* ./../lib/standard//collection//array.nit:23 */
1790 if (UNTAG_Bool(REGB0
)) {
1792 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1793 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1796 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1799 /* ./../lib/standard//string.nit:587 */
1800 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB3
), UNTAG_Int(REGB0
));;
1801 /* ./../lib/standard//string.nit:299 */
1802 ATTR_string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1803 /* ./../lib/standard//string.nit:300 */
1804 ATTR_string___Buffer____capacity(fra
.me
.REG
[0]) = REGB1
;
1806 stack_frame_head
= fra
.me
.prev
;
1809 void string___Buffer___init(val_t p0
, int* init_table
){
1810 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Buffer
].i
;
1811 struct {struct stack_frame_t me
;} fra
;
1814 if (init_table
[itpos2
]) return;
1815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1816 fra
.me
.file
= LOCATE_string
;
1818 fra
.me
.meth
= LOCATE_string___Buffer___init
;
1819 fra
.me
.has_broke
= 0;
1820 fra
.me
.REG_size
= 1;
1821 fra
.me
.REG
[0] = NIT_NULL
;
1824 /* ./../lib/standard//string.nit:352 */
1825 CALL_string___Buffer___with_capacity(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, init_table
);
1826 stack_frame_head
= fra
.me
.prev
;
1827 init_table
[itpos2
] = 1;
1830 void string___Buffer___from(val_t p0
, val_t p1
, int* init_table
){
1831 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Buffer
].i
;
1832 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1837 if (init_table
[itpos3
]) return;
1838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1839 fra
.me
.file
= LOCATE_string
;
1841 fra
.me
.meth
= LOCATE_string___Buffer___from
;
1842 fra
.me
.has_broke
= 0;
1843 fra
.me
.REG_size
= 3;
1844 fra
.me
.REG
[0] = NIT_NULL
;
1845 fra
.me
.REG
[1] = NIT_NULL
;
1846 fra
.me
.REG
[2] = NIT_NULL
;
1849 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1850 /* ./../lib/standard//string.nit:355 */
1851 CALL_string___StringCapable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1852 REGB0
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1853 /* ./../lib/standard//collection//array.nit:23 */
1854 if (UNTAG_Bool(REGB0
)) {
1856 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1857 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1860 REGB0
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1862 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1863 /* ./../lib/standard//string.nit:357 */
1864 ATTR_string___Buffer____capacity(fra
.me
.REG
[2]) = REGB1
;
1865 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1866 /* ./../lib/standard//collection//array.nit:23 */
1867 if (UNTAG_Bool(REGB1
)) {
1869 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1870 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
1873 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1874 /* ./../lib/standard//string.nit:358 */
1875 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB1
;
1876 REGB1
= TAG_Bool(ATTR_string___Buffer____capacity(fra
.me
.REG
[2])!=NIT_NULL
);
1877 /* ./../lib/standard//string.nit:359 */
1878 if (UNTAG_Bool(REGB1
)) {
1880 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1881 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 359);
1884 REGB1
= ATTR_string___Buffer____capacity(fra
.me
.REG
[2]);
1885 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1886 /* ./../lib/standard//string.nit:359 */
1887 ATTR_string___AbstractString____items(fra
.me
.REG
[2]) = fra
.me
.REG
[0];
1888 fra
.me
.REG
[1] = CALL_string___AbstractString___items(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1889 REGB1
= TAG_Bool(ATTR_string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
1890 /* ./../lib/standard//string.nit:360 */
1891 if (UNTAG_Bool(REGB1
)) {
1893 fprintf(stderr
, "Uninitialized attribute %s", "_items");
1894 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 360);
1897 fra
.me
.REG
[0] = ATTR_string___AbstractString____items(fra
.me
.REG
[2]);
1898 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1899 if (UNTAG_Bool(REGB1
)) {
1901 fprintf(stderr
, "Uninitialized attribute %s", "_length");
1902 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 360);
1905 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1908 /* ./../lib/standard//string.nit:587 */
1909 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB0
), UNTAG_Int(REGB1
));;
1910 stack_frame_head
= fra
.me
.prev
;
1911 init_table
[itpos3
] = 1;
1914 void string___Buffer___with_capacity(val_t p0
, val_t p1
, int* init_table
){
1915 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_Buffer
].i
;
1916 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1920 if (init_table
[itpos4
]) return;
1921 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1922 fra
.me
.file
= LOCATE_string
;
1924 fra
.me
.meth
= LOCATE_string___Buffer___with_capacity
;
1925 fra
.me
.has_broke
= 0;
1926 fra
.me
.REG_size
= 2;
1927 fra
.me
.REG
[0] = NIT_NULL
;
1928 fra
.me
.REG
[1] = NIT_NULL
;
1931 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1932 /* ./../lib/standard//string.nit:363 */
1933 CALL_string___StringCapable___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
1935 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1936 /* ./../lib/standard//string.nit:366 */
1937 if (UNTAG_Bool(REGB1
)) {
1939 fprintf(stderr
, "Assert failed");
1940 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 366);
1944 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1945 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1946 /* ./../lib/standard//string.nit:368 */
1947 ATTR_string___AbstractString____items(fra
.me
.REG
[1]) = fra
.me
.REG
[0];
1948 /* ./../lib/standard//string.nit:369 */
1949 ATTR_string___Buffer____capacity(fra
.me
.REG
[1]) = REGB0
;
1951 /* ./../lib/standard//string.nit:370 */
1952 ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]) = REGB0
;
1953 stack_frame_head
= fra
.me
.prev
;
1954 init_table
[itpos4
] = 1;
1957 val_t
string___Buffer___capacity(val_t p0
){
1958 struct {struct stack_frame_t me
;} fra
;
1961 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1962 fra
.me
.file
= LOCATE_string
;
1964 fra
.me
.meth
= LOCATE_string___Buffer___capacity
;
1965 fra
.me
.has_broke
= 0;
1966 fra
.me
.REG_size
= 1;
1967 fra
.me
.REG
[0] = NIT_NULL
;
1969 REGB0
= TAG_Bool(ATTR_string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1970 /* ./../lib/standard//string.nit:388 */
1971 if (UNTAG_Bool(REGB0
)) {
1973 fprintf(stderr
, "Uninitialized attribute %s", "_capacity");
1974 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 388);
1977 REGB0
= ATTR_string___Buffer____capacity(fra
.me
.REG
[0]);
1978 stack_frame_head
= fra
.me
.prev
;
1981 val_t
string___Object___to_s(val_t p0
){
1982 struct {struct stack_frame_t me
;} fra
;
1984 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1985 fra
.me
.file
= LOCATE_string
;
1987 fra
.me
.meth
= LOCATE_string___Object___to_s
;
1988 fra
.me
.has_broke
= 0;
1989 fra
.me
.REG_size
= 1;
1990 fra
.me
.REG
[0] = NIT_NULL
;
1992 fra
.me
.REG
[0] = CALL_string___Object___inspect(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1993 /* ./../lib/standard//string.nit:399 */
1996 stack_frame_head
= fra
.me
.prev
;
1997 return fra
.me
.REG
[0];
1999 val_t
string___Object___inspect(val_t p0
){
2000 struct {struct stack_frame_t me
;} fra
;
2002 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2003 fra
.me
.file
= LOCATE_string
;
2005 fra
.me
.meth
= LOCATE_string___Object___inspect
;
2006 fra
.me
.has_broke
= 0;
2007 fra
.me
.REG_size
= 1;
2008 fra
.me
.REG
[0] = NIT_NULL
;
2010 fra
.me
.REG
[0] = CALL_string___Object___inspect_head(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2011 /* ./../lib/standard//string.nit:407 */
2014 stack_frame_head
= fra
.me
.prev
;
2015 return fra
.me
.REG
[0];
2017 val_t
string___Object___inspect_head(val_t p0
){
2018 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2021 static val_t once_value_1
; /* Once value */
2022 static val_t once_value_2
; /* Once value */
2023 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2024 fra
.me
.file
= LOCATE_string
;
2026 fra
.me
.meth
= LOCATE_string___Object___inspect_head
;
2027 fra
.me
.has_broke
= 0;
2028 fra
.me
.REG_size
= 3;
2029 fra
.me
.REG
[0] = NIT_NULL
;
2030 fra
.me
.REG
[1] = NIT_NULL
;
2031 fra
.me
.REG
[2] = NIT_NULL
;
2034 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
2035 /* ./../lib/standard//string.nit:414 */
2036 if (!once_value_1
) {
2037 fra
.me
.REG
[2] = BOX_NativeString("<");
2039 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2040 once_value_1
= fra
.me
.REG
[2];
2041 register_static_object(&once_value_1
);
2042 } else fra
.me
.REG
[2] = once_value_1
;
2043 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2044 REGB0
= CALL_kernel___Object___object_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2045 fra
.me
.REG
[0] = CALL_string___Int___to_hex(REGB0
)(REGB0
);
2046 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2047 if (!once_value_2
) {
2048 fra
.me
.REG
[0] = BOX_NativeString("");
2050 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2051 once_value_2
= fra
.me
.REG
[0];
2052 register_static_object(&once_value_2
);
2053 } else fra
.me
.REG
[0] = once_value_2
;
2054 array___Array___add(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2055 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2058 stack_frame_head
= fra
.me
.prev
;
2059 return fra
.me
.REG
[1];
2061 val_t
string___Object___args(val_t p0
){
2062 struct {struct stack_frame_t me
;} fra
;
2064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2065 fra
.me
.file
= LOCATE_string
;
2067 fra
.me
.meth
= LOCATE_string___Object___args
;
2068 fra
.me
.has_broke
= 0;
2069 fra
.me
.REG_size
= 1;
2070 fra
.me
.REG
[0] = NIT_NULL
;
2072 fra
.me
.REG
[0] = CALL_kernel___Object___sys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2073 fra
.me
.REG
[0] = CALL_string___Object___args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2074 /* ./../lib/standard//string.nit:419 */
2077 stack_frame_head
= fra
.me
.prev
;
2078 return fra
.me
.REG
[0];
2080 val_t
string___Bool___to_s(val_t p0
){
2081 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2084 static val_t once_value_1
; /* Once value */
2085 static val_t once_value_2
; /* Once value */
2086 static val_t once_value_4
; /* Once value */
2087 static val_t once_value_5
; /* Once value */
2088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2089 fra
.me
.file
= LOCATE_string
;
2091 fra
.me
.meth
= LOCATE_string___Bool___to_s
;
2092 fra
.me
.has_broke
= 0;
2093 fra
.me
.REG_size
= 2;
2094 fra
.me
.REG
[0] = NIT_NULL
;
2095 fra
.me
.REG
[1] = NIT_NULL
;
2097 /* ./../lib/standard//string.nit:426 */
2098 if (UNTAG_Bool(REGB0
)) {
2099 /* ./../lib/standard//string.nit:427 */
2100 if (!once_value_1
) {
2101 if (!once_value_2
) {
2102 fra
.me
.REG
[0] = BOX_NativeString("true");
2104 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB0
);
2105 once_value_2
= fra
.me
.REG
[0];
2106 register_static_object(&once_value_2
);
2107 } else fra
.me
.REG
[0] = once_value_2
;
2108 once_value_1
= fra
.me
.REG
[0];
2109 register_static_object(&once_value_1
);
2110 } else fra
.me
.REG
[0] = once_value_1
;
2113 /* ./../lib/standard//string.nit:429 */
2114 if (!once_value_4
) {
2115 if (!once_value_5
) {
2116 fra
.me
.REG
[1] = BOX_NativeString("false");
2118 fra
.me
.REG
[1] = NEW_String_string___String___with_native(fra
.me
.REG
[1], REGB0
);
2119 once_value_5
= fra
.me
.REG
[1];
2120 register_static_object(&once_value_5
);
2121 } else fra
.me
.REG
[1] = once_value_5
;
2122 once_value_4
= fra
.me
.REG
[1];
2123 register_static_object(&once_value_4
);
2124 } else fra
.me
.REG
[1] = once_value_4
;
2125 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2129 stack_frame_head
= fra
.me
.prev
;
2130 return fra
.me
.REG
[0];
2132 val_t
string___Int___to_s(val_t p0
){
2133 struct {struct stack_frame_t me
;} fra
;
2138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2139 fra
.me
.file
= LOCATE_string
;
2141 fra
.me
.meth
= LOCATE_string___Int___to_s
;
2142 fra
.me
.has_broke
= 0;
2143 fra
.me
.REG_size
= 1;
2144 fra
.me
.REG
[0] = NIT_NULL
;
2146 REGB1
= TAG_Int(10);
2147 REGB2
= TAG_Bool(true);
2148 fra
.me
.REG
[0] = CALL_string___Int___to_base(REGB0
)(REGB0
, REGB1
, REGB2
);
2149 /* ./../lib/standard//string.nit:460 */
2152 stack_frame_head
= fra
.me
.prev
;
2153 return fra
.me
.REG
[0];
2155 void string___Int___fill_buffer(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2156 struct {struct stack_frame_t me
;} fra
;
2163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2164 fra
.me
.file
= LOCATE_string
;
2166 fra
.me
.meth
= LOCATE_string___Int___fill_buffer
;
2167 fra
.me
.has_broke
= 0;
2168 fra
.me
.REG_size
= 1;
2169 fra
.me
.REG
[0] = NIT_NULL
;
2175 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
2176 /* ./../lib/standard//string.nit:441 */
2177 if (UNTAG_Bool(REGB2
)) {
2178 REGB2
= TAG_Int(-UNTAG_Int(REGB0
));
2180 REGB4
= TAG_Char('-');
2181 /* ./../lib/standard//string.nit:443 */
2182 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
2185 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
2186 /* ./../lib/standard//string.nit:444 */
2187 if (UNTAG_Bool(REGB3
)) {
2189 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
2191 /* ./../lib/standard//string.nit:444 */
2193 if (UNTAG_Bool(REGB3
)) {
2195 REGB4
= TAG_Char('0');
2196 /* ./../lib/standard//string.nit:445 */
2197 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
2198 /* ./../lib/standard//string.nit:446 */
2202 /* ./../lib/standard//string.nit:448 */
2205 REGB0
= CALL_kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
2207 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
2208 /* ./../lib/standard//string.nit:452 */
2211 REGB0
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB0
));
2212 /* ./../lib/standard//string.nit:452 */
2213 if (UNTAG_Bool(REGB0
)) {
2215 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
2216 /* ./../lib/standard//string.nit:452 */
2218 REGB3
= TAG_Bool(false);
2221 if (UNTAG_Bool(REGB0
)) {
2222 REGB0
= TAG_Int(UNTAG_Int(REGB2
)%UNTAG_Int(REGB1
));
2223 REGB0
= CALL_kernel___Int___to_c(REGB0
)(REGB0
);
2224 /* ./../lib/standard//string.nit:453 */
2225 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
, REGB0
);
2226 REGB0
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
2229 REGB0
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB0
));
2231 /* ./../lib/standard//string.nit:455 */
2233 /* ./../lib/standard//string.nit:452 */
2239 stack_frame_head
= fra
.me
.prev
;
2242 val_t
string___Int___to_hex(val_t p0
){
2243 struct {struct stack_frame_t me
;} fra
;
2248 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2249 fra
.me
.file
= LOCATE_string
;
2251 fra
.me
.meth
= LOCATE_string___Int___to_hex
;
2252 fra
.me
.has_broke
= 0;
2253 fra
.me
.REG_size
= 1;
2254 fra
.me
.REG
[0] = NIT_NULL
;
2256 REGB1
= TAG_Int(16);
2257 REGB2
= TAG_Bool(false);
2258 fra
.me
.REG
[0] = CALL_string___Int___to_base(REGB0
)(REGB0
, REGB1
, REGB2
);
2259 /* ./../lib/standard//string.nit:463 */
2262 stack_frame_head
= fra
.me
.prev
;
2263 return fra
.me
.REG
[0];
2265 val_t
string___Int___to_base(val_t p0
, val_t p1
, val_t p2
){
2266 struct {struct stack_frame_t me
;} fra
;
2273 static val_t once_value_1
; /* Once value */
2274 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2275 fra
.me
.file
= LOCATE_string
;
2277 fra
.me
.meth
= LOCATE_string___Int___to_base
;
2278 fra
.me
.has_broke
= 0;
2279 fra
.me
.REG_size
= 1;
2280 fra
.me
.REG
[0] = NIT_NULL
;
2284 REGB3
= CALL_kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
2285 /* ./../lib/standard//string.nit:469 */
2286 if (!once_value_1
) {
2287 fra
.me
.REG
[0] = BOX_NativeString(" ");
2289 fra
.me
.REG
[0] = NEW_String_string___String___with_native(fra
.me
.REG
[0], REGB4
);
2290 once_value_1
= fra
.me
.REG
[0];
2291 register_static_object(&once_value_1
);
2292 } else fra
.me
.REG
[0] = once_value_1
;
2293 fra
.me
.REG
[0] = CALL_string___String_____star(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
2294 fra
.me
.REG
[0] = NEW_Buffer_string___Buffer___from(fra
.me
.REG
[0]);
2295 /* ./../lib/standard//string.nit:470 */
2296 CALL_string___Int___fill_buffer(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
, REGB2
);
2297 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2298 /* ./../lib/standard//string.nit:471 */
2301 stack_frame_head
= fra
.me
.prev
;
2302 return fra
.me
.REG
[0];
2304 val_t
string___Float___to_s(val_t p0
){
2305 struct {struct stack_frame_t me
;} fra
;
2308 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2309 fra
.me
.file
= LOCATE_string
;
2311 fra
.me
.meth
= LOCATE_string___Float___to_s
;
2312 fra
.me
.has_broke
= 0;
2313 fra
.me
.REG_size
= 1;
2314 fra
.me
.REG
[0] = NIT_NULL
;
2317 fra
.me
.REG
[0] = CALL_string___Float___to_precision(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2318 /* ./../lib/standard//string.nit:476 */
2321 stack_frame_head
= fra
.me
.prev
;
2322 return fra
.me
.REG
[0];
2324 val_t
string___Float___to_precision(val_t p0
, val_t p1
){
2325 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2330 static val_t once_value_3
; /* Once value */
2331 static val_t once_value_4
; /* Once value */
2332 static val_t once_value_5
; /* Once value */
2333 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2334 fra
.me
.file
= LOCATE_string
;
2336 fra
.me
.meth
= LOCATE_string___Float___to_precision
;
2337 fra
.me
.has_broke
= 0;
2338 fra
.me
.REG_size
= 4;
2339 fra
.me
.REG
[0] = NIT_NULL
;
2340 fra
.me
.REG
[1] = NIT_NULL
;
2341 fra
.me
.REG
[2] = NIT_NULL
;
2342 fra
.me
.REG
[3] = NIT_NULL
;
2346 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2347 /* ./../lib/standard//string.nit:481 */
2348 if (UNTAG_Bool(REGB2
)) {
2350 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2352 /* ./../lib/standard//string.nit:481 */
2354 if (UNTAG_Bool(REGB2
)) {
2355 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[0]));
2356 fra
.me
.REG
[1] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2357 /* ./../lib/standard//string.nit:481 */
2360 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[0]));
2361 fra
.me
.REG
[2] = BOX_Float(1.0);
2362 /* ./../lib/standard//string.nit:485 */
2365 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2366 /* ./../lib/standard//string.nit:485 */
2367 if (UNTAG_Bool(REGB1
)) {
2368 fra
.me
.REG
[3] = BOX_Float(10.0);
2369 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[2])*UNBOX_Float(fra
.me
.REG
[3]));
2370 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2372 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
2374 /* ./../lib/standard//string.nit:487 */
2376 /* ./../lib/standard//string.nit:485 */
2381 fra
.me
.REG
[3] = BOX_Float((float)UNTAG_Int(REGB2
));
2382 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[0])-UNBOX_Float(fra
.me
.REG
[3]));
2383 fra
.me
.REG
[2] = BOX_Float(UNBOX_Float(fra
.me
.REG
[3])*UNBOX_Float(fra
.me
.REG
[2]));
2384 REGB0
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[2]));
2386 fra
.me
.REG
[2] = NEW_Array_array___Array___with_capacity(REGB1
);
2387 /* ./../lib/standard//string.nit:490 */
2388 if (!once_value_3
) {
2389 fra
.me
.REG
[3] = BOX_NativeString("");
2391 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB1
);
2392 once_value_3
= fra
.me
.REG
[3];
2393 register_static_object(&once_value_3
);
2394 } else fra
.me
.REG
[3] = once_value_3
;
2395 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2396 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB2
)(REGB2
);
2397 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2398 if (!once_value_4
) {
2399 fra
.me
.REG
[3] = BOX_NativeString(".");
2401 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB2
);
2402 once_value_4
= fra
.me
.REG
[3];
2403 register_static_object(&once_value_4
);
2404 } else fra
.me
.REG
[3] = once_value_4
;
2405 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2406 fra
.me
.REG
[3] = CALL_string___Object___to_s(REGB0
)(REGB0
);
2407 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2408 if (!once_value_5
) {
2409 fra
.me
.REG
[3] = BOX_NativeString("");
2411 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2412 once_value_5
= fra
.me
.REG
[3];
2413 register_static_object(&once_value_5
);
2414 } else fra
.me
.REG
[3] = once_value_5
;
2415 array___Array___add(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2416 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2417 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2420 stack_frame_head
= fra
.me
.prev
;
2421 return fra
.me
.REG
[1];
2423 val_t
string___Char___to_s(val_t p0
){
2424 struct {struct stack_frame_t me
;} fra
;
2428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2429 fra
.me
.file
= LOCATE_string
;
2431 fra
.me
.meth
= LOCATE_string___Char___to_s
;
2432 fra
.me
.has_broke
= 0;
2433 fra
.me
.REG_size
= 1;
2434 fra
.me
.REG
[0] = NIT_NULL
;
2437 fra
.me
.REG
[0] = NEW_Buffer_string___Buffer___with_capacity(REGB1
);
2439 /* ./../lib/standard//string.nit:498 */
2440 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
2441 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2442 /* ./../lib/standard//string.nit:499 */
2445 stack_frame_head
= fra
.me
.prev
;
2446 return fra
.me
.REG
[0];
2448 val_t
string___Collection___to_s(val_t p0
){
2449 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2453 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2454 fra
.me
.file
= LOCATE_string
;
2456 fra
.me
.meth
= LOCATE_string___Collection___to_s
;
2457 fra
.me
.has_broke
= 0;
2458 fra
.me
.REG_size
= 3;
2459 fra
.me
.REG
[0] = NIT_NULL
;
2460 fra
.me
.REG
[1] = NIT_NULL
;
2461 fra
.me
.REG
[2] = NIT_NULL
;
2463 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___init();
2464 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2465 /* ./../lib/standard//string.nit:508 */
2467 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2468 if (UNTAG_Bool(REGB0
)) {
2469 fra
.me
.REG
[2] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2470 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2471 if (UNTAG_Bool(REGB0
)) {
2473 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2474 if (UNTAG_Bool(REGB1
)) {
2475 REGB1
= TAG_Bool(false);
2478 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2482 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2483 if (UNTAG_Bool(REGB0
)) {
2484 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2485 if (UNTAG_Bool(REGB0
)) {
2486 fprintf(stderr
, "Reciever is null");
2487 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 508);
2490 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2491 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2496 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2499 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2500 /* ./../lib/standard//string.nit:509 */
2503 stack_frame_head
= fra
.me
.prev
;
2504 return fra
.me
.REG
[1];
2506 val_t
string___Collection___join(val_t p0
, val_t p1
){
2507 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
2511 static val_t once_value_1
; /* Once value */
2512 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2513 fra
.me
.file
= LOCATE_string
;
2515 fra
.me
.meth
= LOCATE_string___Collection___join
;
2516 fra
.me
.has_broke
= 0;
2517 fra
.me
.REG_size
= 6;
2518 fra
.me
.REG
[0] = NIT_NULL
;
2519 fra
.me
.REG
[1] = NIT_NULL
;
2520 fra
.me
.REG
[2] = NIT_NULL
;
2521 fra
.me
.REG
[3] = NIT_NULL
;
2522 fra
.me
.REG
[4] = NIT_NULL
;
2523 fra
.me
.REG
[5] = NIT_NULL
;
2526 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2527 /* ./../lib/standard//string.nit:515 */
2528 if (UNTAG_Bool(REGB0
)) {
2529 if (!once_value_1
) {
2530 fra
.me
.REG
[2] = BOX_NativeString("");
2532 fra
.me
.REG
[2] = NEW_String_string___String___with_native(fra
.me
.REG
[2], REGB0
);
2533 once_value_1
= fra
.me
.REG
[2];
2534 register_static_object(&once_value_1
);
2535 } else fra
.me
.REG
[2] = once_value_1
;
2538 fra
.me
.REG
[3] = NEW_Buffer_string___Buffer___init();
2539 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2540 fra
.me
.REG
[4] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2541 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2542 /* ./../lib/standard//string.nit:522 */
2543 if (UNTAG_Bool(REGB0
)) {
2545 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2546 if (UNTAG_Bool(REGB1
)) {
2547 REGB1
= TAG_Bool(false);
2550 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2554 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2555 if (UNTAG_Bool(REGB0
)) {
2556 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2557 if (UNTAG_Bool(REGB0
)) {
2558 fprintf(stderr
, "Reciever is null");
2559 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 522);
2562 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2563 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2565 /* ./../lib/standard//string.nit:525 */
2566 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2567 /* ./../lib/standard//string.nit:526 */
2569 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2570 if (UNTAG_Bool(REGB0
)) {
2571 /* ./../lib/standard//string.nit:527 */
2572 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
2573 fra
.me
.REG
[5] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2574 fra
.me
.REG
[4] = fra
.me
.REG
[5];
2575 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2576 /* ./../lib/standard//string.nit:529 */
2577 if (UNTAG_Bool(REGB0
)) {
2579 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2580 if (UNTAG_Bool(REGB1
)) {
2581 REGB1
= TAG_Bool(false);
2584 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
2588 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2589 if (UNTAG_Bool(REGB0
)) {
2590 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
2591 if (UNTAG_Bool(REGB0
)) {
2592 fprintf(stderr
, "Reciever is null");
2593 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 529);
2596 fra
.me
.REG
[5] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2597 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
2599 /* ./../lib/standard//string.nit:530 */
2600 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2602 /* ./../lib/standard//string.nit:526 */
2607 fra
.me
.REG
[3] = CALL_string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
2608 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2609 /* ./../lib/standard//string.nit:532 */
2612 stack_frame_head
= fra
.me
.prev
;
2613 return fra
.me
.REG
[2];
2615 val_t
string___Array___to_s(val_t p0
){
2616 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2623 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2624 fra
.me
.file
= LOCATE_string
;
2626 fra
.me
.meth
= LOCATE_string___Array___to_s
;
2627 fra
.me
.has_broke
= 0;
2628 fra
.me
.REG_size
= 3;
2629 fra
.me
.REG
[0] = NIT_NULL
;
2630 fra
.me
.REG
[1] = NIT_NULL
;
2631 fra
.me
.REG
[2] = NIT_NULL
;
2633 fra
.me
.REG
[1] = NEW_Buffer_string___Buffer___init();
2635 REGB1
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2636 /* ./../lib/standard//collection//array.nit:23 */
2637 if (UNTAG_Bool(REGB1
)) {
2639 fprintf(stderr
, "Uninitialized attribute %s", "_length");
2640 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 23);
2643 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2644 /* ./../lib/standard//string.nit:543 */
2646 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
2647 /* ./../lib/standard//string.nit:543 */
2648 if (UNTAG_Bool(REGB2
)) {
2649 fra
.me
.REG
[2] = fra
.me
.REG
[0];
2652 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
2653 /* ./../lib/standard//collection//array.nit:233 */
2654 if (UNTAG_Bool(REGB3
)) {
2655 REGB3
= TAG_Bool(ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
2656 if (UNTAG_Bool(REGB3
)) {
2658 fprintf(stderr
, "Uninitialized attribute %s", "_length");
2659 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
2662 REGB3
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[2]);
2663 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
2664 /* ./../lib/standard//collection//array.nit:233 */
2666 REGB4
= TAG_Bool(false);
2669 if (UNTAG_Bool(REGB3
)) {
2671 fprintf(stderr
, "Assert %s failed", "'index'");
2672 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 233);
2675 fra
.me
.REG
[2] = ATTR_array___Array____items(fra
.me
.REG
[2]);
2676 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2677 /* ./../lib/standard//collection//array.nit:234 */
2678 if (UNTAG_Bool(REGB3
)) {
2679 fprintf(stderr
, "Reciever is null");
2680 fprintf(stderr
, " (%s:%d)\n", LOCATE_array
, 234);
2683 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
2684 /* ./../lib/standard//collection//array.nit:234 */
2687 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2688 /* ./../lib/standard//string.nit:545 */
2689 if (UNTAG_Bool(REGB2
)) {
2691 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2692 if (UNTAG_Bool(REGB3
)) {
2693 REGB3
= TAG_Bool(false);
2696 REGB3
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
2700 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2701 if (UNTAG_Bool(REGB2
)) {
2702 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
2703 if (UNTAG_Bool(REGB2
)) {
2704 fprintf(stderr
, "Reciever is null");
2705 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 545);
2708 fra
.me
.REG
[2] = CALL_string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2709 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2712 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2714 /* ./../lib/standard//string.nit:546 */
2716 /* ./../lib/standard//string.nit:543 */
2721 fra
.me
.REG
[1] = CALL_string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2722 /* ./../lib/standard//string.nit:548 */
2725 stack_frame_head
= fra
.me
.prev
;
2726 return fra
.me
.REG
[1];
2728 val_t
string___Map___map_join(val_t p0
, val_t p1
, val_t p2
){
2729 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
2733 static val_t once_value_1
; /* Once value */
2734 static val_t once_value_3
; /* Once value */
2735 static val_t once_value_4
; /* Once value */
2736 static val_t once_value_5
; /* Once value */
2737 static val_t once_value_6
; /* Once value */
2738 static val_t once_value_7
; /* Once value */
2739 static val_t once_value_8
; /* Once value */
2740 static val_t once_value_9
; /* Once value */
2741 static val_t once_value_10
; /* Once value */
2742 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2743 fra
.me
.file
= LOCATE_string
;
2745 fra
.me
.meth
= LOCATE_string___Map___map_join
;
2746 fra
.me
.has_broke
= 0;
2747 fra
.me
.REG_size
= 9;
2748 fra
.me
.REG
[0] = NIT_NULL
;
2749 fra
.me
.REG
[1] = NIT_NULL
;
2750 fra
.me
.REG
[2] = NIT_NULL
;
2751 fra
.me
.REG
[3] = NIT_NULL
;
2752 fra
.me
.REG
[4] = NIT_NULL
;
2753 fra
.me
.REG
[5] = NIT_NULL
;
2754 fra
.me
.REG
[6] = NIT_NULL
;
2755 fra
.me
.REG
[7] = NIT_NULL
;
2756 fra
.me
.REG
[8] = NIT_NULL
;
2760 REGB0
= CALL_abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2761 /* ./../lib/standard//string.nit:556 */
2762 if (UNTAG_Bool(REGB0
)) {
2763 if (!once_value_1
) {
2764 fra
.me
.REG
[3] = BOX_NativeString("");
2766 fra
.me
.REG
[3] = NEW_String_string___String___with_native(fra
.me
.REG
[3], REGB0
);
2767 once_value_1
= fra
.me
.REG
[3];
2768 register_static_object(&once_value_1
);
2769 } else fra
.me
.REG
[3] = once_value_1
;
2772 fra
.me
.REG
[4] = NEW_Buffer_string___Buffer___init();
2773 fra
.me
.REG
[0] = CALL_abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2774 fra
.me
.REG
[5] = CALL_abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2775 fra
.me
.REG
[6] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2776 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2777 /* ./../lib/standard//string.nit:564 */
2778 if (UNTAG_Bool(REGB0
)) {
2780 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2781 if (UNTAG_Bool(REGB1
)) {
2782 REGB1
= TAG_Bool(false);
2785 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2789 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2790 if (UNTAG_Bool(REGB0
)) {
2792 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
2793 if (!once_value_3
) {
2794 fra
.me
.REG
[8] = BOX_NativeString("");
2796 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2797 once_value_3
= fra
.me
.REG
[8];
2798 register_static_object(&once_value_3
);
2799 } else fra
.me
.REG
[8] = once_value_3
;
2800 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2801 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2802 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2803 if (!once_value_4
) {
2804 fra
.me
.REG
[8] = BOX_NativeString("");
2806 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2807 once_value_4
= fra
.me
.REG
[8];
2808 register_static_object(&once_value_4
);
2809 } else fra
.me
.REG
[8] = once_value_4
;
2810 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2811 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[2]);
2812 if (!once_value_5
) {
2813 fra
.me
.REG
[8] = BOX_NativeString("");
2815 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2816 once_value_5
= fra
.me
.REG
[8];
2817 register_static_object(&once_value_5
);
2818 } else fra
.me
.REG
[8] = once_value_5
;
2819 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2820 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2821 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2822 if (!once_value_6
) {
2823 fra
.me
.REG
[8] = BOX_NativeString("");
2825 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2826 once_value_6
= fra
.me
.REG
[8];
2827 register_static_object(&once_value_6
);
2828 } else fra
.me
.REG
[8] = once_value_6
;
2829 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2830 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2831 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
2833 /* ./../lib/standard//string.nit:567 */
2834 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2835 /* ./../lib/standard//string.nit:568 */
2837 REGB0
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2838 if (UNTAG_Bool(REGB0
)) {
2839 /* ./../lib/standard//string.nit:569 */
2840 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
2841 fra
.me
.REG
[7] = CALL_abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2842 fra
.me
.REG
[5] = fra
.me
.REG
[7];
2843 fra
.me
.REG
[7] = CALL_abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2844 fra
.me
.REG
[6] = fra
.me
.REG
[7];
2845 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2846 /* ./../lib/standard//string.nit:572 */
2847 if (UNTAG_Bool(REGB0
)) {
2849 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
2850 if (UNTAG_Bool(REGB1
)) {
2851 REGB1
= TAG_Bool(false);
2854 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
2858 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2859 if (UNTAG_Bool(REGB0
)) {
2861 fra
.me
.REG
[7] = NEW_Array_array___Array___with_capacity(REGB0
);
2862 if (!once_value_7
) {
2863 fra
.me
.REG
[8] = BOX_NativeString("");
2865 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2866 once_value_7
= fra
.me
.REG
[8];
2867 register_static_object(&once_value_7
);
2868 } else fra
.me
.REG
[8] = once_value_7
;
2869 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2870 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
2871 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2872 if (!once_value_8
) {
2873 fra
.me
.REG
[8] = BOX_NativeString("");
2875 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2876 once_value_8
= fra
.me
.REG
[8];
2877 register_static_object(&once_value_8
);
2878 } else fra
.me
.REG
[8] = once_value_8
;
2879 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2880 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[2]);
2881 if (!once_value_9
) {
2882 fra
.me
.REG
[8] = BOX_NativeString("");
2884 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2885 once_value_9
= fra
.me
.REG
[8];
2886 register_static_object(&once_value_9
);
2887 } else fra
.me
.REG
[8] = once_value_9
;
2888 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2889 fra
.me
.REG
[8] = CALL_string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
2890 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2891 if (!once_value_10
) {
2892 fra
.me
.REG
[8] = BOX_NativeString("");
2894 fra
.me
.REG
[8] = NEW_String_string___String___with_native(fra
.me
.REG
[8], REGB0
);
2895 once_value_10
= fra
.me
.REG
[8];
2896 register_static_object(&once_value_10
);
2897 } else fra
.me
.REG
[8] = once_value_10
;
2898 array___Array___add(fra
.me
.REG
[7], fra
.me
.REG
[8]);
2899 fra
.me
.REG
[7] = CALL_string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
2900 CALL_abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
2902 /* ./../lib/standard//string.nit:573 */
2903 CALL_abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2905 /* ./../lib/standard//string.nit:568 */
2910 fra
.me
.REG
[4] = CALL_string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
2911 fra
.me
.REG
[3] = fra
.me
.REG
[4];
2912 /* ./../lib/standard//string.nit:575 */
2915 stack_frame_head
= fra
.me
.prev
;
2916 return fra
.me
.REG
[3];
2918 val_t
string___NativeString_____bra(val_t p0
, val_t p1
){
2919 struct {struct stack_frame_t me
;} fra
;
2922 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2923 fra
.me
.file
= LOCATE_string
;
2925 fra
.me
.meth
= LOCATE_string___NativeString_____bra
;
2926 fra
.me
.has_broke
= 0;
2927 fra
.me
.REG_size
= 1;
2928 fra
.me
.REG
[0] = NIT_NULL
;
2931 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
2932 /* ./../lib/standard//string.nit:585 */
2933 stack_frame_head
= fra
.me
.prev
;
2936 void string___NativeString_____braeq(val_t p0
, val_t p1
, val_t p2
){
2937 struct {struct stack_frame_t me
;} fra
;
2941 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2942 fra
.me
.file
= LOCATE_string
;
2944 fra
.me
.meth
= LOCATE_string___NativeString_____braeq
;
2945 fra
.me
.has_broke
= 0;
2946 fra
.me
.REG_size
= 1;
2947 fra
.me
.REG
[0] = NIT_NULL
;
2951 /* ./../lib/standard//string.nit:586 */
2952 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
2953 stack_frame_head
= fra
.me
.prev
;
2956 void string___NativeString___copy_to(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
2957 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2962 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2963 fra
.me
.file
= LOCATE_string
;
2965 fra
.me
.meth
= LOCATE_string___NativeString___copy_to
;
2966 fra
.me
.has_broke
= 0;
2967 fra
.me
.REG_size
= 2;
2968 fra
.me
.REG
[0] = NIT_NULL
;
2969 fra
.me
.REG
[1] = NIT_NULL
;
2975 /* ./../lib/standard//string.nit:587 */
2976 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
2977 stack_frame_head
= fra
.me
.prev
;
2980 val_t
string___NativeString___cstring_length(val_t p0
){
2981 struct {struct stack_frame_t me
;} fra
;
2987 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2988 fra
.me
.file
= LOCATE_string
;
2990 fra
.me
.meth
= LOCATE_string___NativeString___cstring_length
;
2991 fra
.me
.has_broke
= 0;
2992 fra
.me
.REG_size
= 1;
2993 fra
.me
.REG
[0] = NIT_NULL
;
2996 /* ./../lib/standard//string.nit:593 */
2998 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
2999 REGB2
= TAG_Char('\0');
3000 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
3001 /* ./../lib/standard//string.nit:593 */
3002 if (UNTAG_Bool(REGB3
)) {
3004 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
3006 /* ./../lib/standard//string.nit:593 */
3008 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
3009 if (UNTAG_Bool(REGB3
)) {
3011 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
3013 /* ./../lib/standard//string.nit:593 */
3019 /* ./../lib/standard//string.nit:594 */
3022 stack_frame_head
= fra
.me
.prev
;
3025 val_t
string___NativeString___atoi(val_t p0
){
3026 struct {struct stack_frame_t me
;} fra
;
3029 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3030 fra
.me
.file
= LOCATE_string
;
3032 fra
.me
.meth
= LOCATE_string___NativeString___atoi
;
3033 fra
.me
.has_broke
= 0;
3034 fra
.me
.REG_size
= 1;
3035 fra
.me
.REG
[0] = NIT_NULL
;
3037 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
3038 /* ./../lib/standard//string.nit:596 */
3039 stack_frame_head
= fra
.me
.prev
;
3042 void string___NativeString___init(val_t p0
, int* init_table
){
3043 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_NativeString
].i
;
3044 struct {struct stack_frame_t me
;} fra
;
3046 if (init_table
[itpos5
]) return;
3047 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3048 fra
.me
.file
= LOCATE_string
;
3050 fra
.me
.meth
= LOCATE_string___NativeString___init
;
3051 fra
.me
.has_broke
= 0;
3052 fra
.me
.REG_size
= 0;
3053 stack_frame_head
= fra
.me
.prev
;
3054 init_table
[itpos5
] = 1;
3057 val_t
string___StringCapable___calloc_string(val_t p0
, val_t p1
){
3058 struct {struct stack_frame_t me
;} fra
;
3061 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3062 fra
.me
.file
= LOCATE_string
;
3064 fra
.me
.meth
= LOCATE_string___StringCapable___calloc_string
;
3065 fra
.me
.has_broke
= 0;
3066 fra
.me
.REG_size
= 1;
3067 fra
.me
.REG
[0] = NIT_NULL
;
3069 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
3070 /* ./../lib/standard//string.nit:601 */
3071 stack_frame_head
= fra
.me
.prev
;
3072 return fra
.me
.REG
[0];
3074 void string___StringCapable___init(val_t p0
, int* init_table
){
3075 int itpos6
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_StringCapable
].i
;
3076 struct {struct stack_frame_t me
;} fra
;
3078 if (init_table
[itpos6
]) return;
3079 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3080 fra
.me
.file
= LOCATE_string
;
3082 fra
.me
.meth
= LOCATE_string___StringCapable___init
;
3083 fra
.me
.has_broke
= 0;
3084 fra
.me
.REG_size
= 0;
3085 stack_frame_head
= fra
.me
.prev
;
3086 init_table
[itpos6
] = 1;
3089 val_t
string___Sys___args(val_t p0
){
3090 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3094 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3095 fra
.me
.file
= LOCATE_string
;
3097 fra
.me
.meth
= LOCATE_string___Sys___args
;
3098 fra
.me
.has_broke
= 0;
3099 fra
.me
.REG_size
= 2;
3100 fra
.me
.REG
[0] = NIT_NULL
;
3101 fra
.me
.REG
[1] = NIT_NULL
;
3103 fra
.me
.REG
[1] = ATTR_string___Sys____args_cache(fra
.me
.REG
[0]);
3104 REGB0
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3105 /* ./../lib/standard//string.nit:609 */
3106 if (UNTAG_Bool(REGB0
)) {
3108 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3109 if (UNTAG_Bool(REGB1
)) {
3110 REGB1
= TAG_Bool(false);
3113 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
);
3117 if (UNTAG_Bool(REGB0
)) {
3118 CALL_string___Sys___init_args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3120 fra
.me
.REG
[0] = ATTR_string___Sys____args_cache(fra
.me
.REG
[0]);
3121 REGB0
= TAG_Bool(fra
.me
.REG
[0]!=NIT_NULL
);
3122 /* ./../lib/standard//string.nit:610 */
3123 if (UNTAG_Bool(REGB0
)) {
3125 fprintf(stderr
, "Cast failed");
3126 fprintf(stderr
, " (%s:%d)\n", LOCATE_string
, 610);
3131 stack_frame_head
= fra
.me
.prev
;
3132 return fra
.me
.REG
[0];
3134 val_t
string___Sys___program_name(val_t p0
){
3135 struct {struct stack_frame_t me
;} fra
;
3138 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3139 fra
.me
.file
= LOCATE_string
;
3141 fra
.me
.meth
= LOCATE_string___Sys___program_name
;
3142 fra
.me
.has_broke
= 0;
3143 fra
.me
.REG_size
= 1;
3144 fra
.me
.REG
[0] = NIT_NULL
;
3147 fra
.me
.REG
[0] = CALL_string___Sys___native_argv(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3148 fra
.me
.REG
[0] = NEW_String_string___String___from_cstring(fra
.me
.REG
[0]);
3149 /* ./../lib/standard//string.nit:616 */
3152 stack_frame_head
= fra
.me
.prev
;
3153 return fra
.me
.REG
[0];
3155 void string___Sys___init_args(val_t p0
){
3156 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3161 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3162 fra
.me
.file
= LOCATE_string
;
3164 fra
.me
.meth
= LOCATE_string___Sys___init_args
;
3165 fra
.me
.has_broke
= 0;
3166 fra
.me
.REG_size
= 3;
3167 fra
.me
.REG
[0] = NIT_NULL
;
3168 fra
.me
.REG
[1] = NIT_NULL
;
3169 fra
.me
.REG
[2] = NIT_NULL
;
3171 REGB0
= CALL_string___Sys___native_argc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3173 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB1
);
3175 /* ./../lib/standard//string.nit:625 */
3177 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
3178 /* ./../lib/standard//string.nit:625 */
3179 if (UNTAG_Bool(REGB2
)) {
3181 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
3182 fra
.me
.REG
[2] = CALL_string___Sys___native_argv(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
3183 fra
.me
.REG
[2] = NEW_String_string___String___from_cstring(fra
.me
.REG
[2]);
3184 /* ./../lib/standard//string.nit:626 */
3185 CALL_abstract_collection___Map_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[2]);
3187 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
3189 /* ./../lib/standard//string.nit:627 */
3191 /* ./../lib/standard//string.nit:625 */
3196 /* ./../lib/standard//string.nit:629 */
3197 ATTR_string___Sys____args_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3198 stack_frame_head
= fra
.me
.prev
;
3201 val_t
string___Sys___native_argc(val_t p0
){
3202 struct {struct stack_frame_t me
;} fra
;
3205 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3206 fra
.me
.file
= LOCATE_string
;
3208 fra
.me
.meth
= LOCATE_string___Sys___native_argc
;
3209 fra
.me
.has_broke
= 0;
3210 fra
.me
.REG_size
= 1;
3211 fra
.me
.REG
[0] = NIT_NULL
;
3213 REGB0
= TAG_Int(kernel_Sys_Sys_native_argc_0(fra
.me
.REG
[0]));
3214 /* ./../lib/standard//string.nit:632 */
3215 stack_frame_head
= fra
.me
.prev
;
3218 val_t
string___Sys___native_argv(val_t p0
, val_t p1
){
3219 struct {struct stack_frame_t me
;} fra
;
3222 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3223 fra
.me
.file
= LOCATE_string
;
3225 fra
.me
.meth
= LOCATE_string___Sys___native_argv
;
3226 fra
.me
.has_broke
= 0;
3227 fra
.me
.REG_size
= 1;
3228 fra
.me
.REG
[0] = NIT_NULL
;
3231 fra
.me
.REG
[0] = BOX_NativeString(kernel_Sys_Sys_native_argv_1(fra
.me
.REG
[0], UNTAG_Int(REGB0
)));
3232 /* ./../lib/standard//string.nit:634 */
3233 stack_frame_head
= fra
.me
.prev
;
3234 return fra
.me
.REG
[0];