1 /* This C file is generated by NIT to compile module standard___string. */
2 #include "standard___string._sep.h"
3 static const char LOCATE_standard___string___AbstractString___items
[] = "string::AbstractString::items";
4 val_t
standard___string___AbstractString___items(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_standard___string
;
11 fra
.me
.meth
= LOCATE_standard___string___AbstractString___items
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* ../lib/standard/string.nit:28 */
18 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 28);
23 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_standard___string___AbstractString_____bra
[] = "string::AbstractString::(abstract_collection::SequenceRead::[])";
28 val_t
standard___string___AbstractString_____bra(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
;} fra
;
33 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
34 fra
.me
.file
= LOCATE_standard___string
;
36 fra
.me
.meth
= LOCATE_standard___string___AbstractString_____bra
;
39 fra
.me
.nitni_local_ref_head
= NULL
;
40 fra
.me
.REG
[0] = NIT_NULL
;
43 /* ../lib/standard/string.nit:30 */
44 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
45 if (UNTAG_Bool(REGB1
)) {
47 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 30);
49 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
50 /* ../lib/standard/string.nit:602 */
51 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
52 /* ../lib/standard/string.nit:30 */
55 stack_frame_head
= fra
.me
.prev
;
58 static const char LOCATE_standard___string___AbstractString___substring
[] = "string::AbstractString::substring";
59 val_t
standard___string___AbstractString___substring(val_t p0
, val_t p1
, val_t p2
){
60 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
66 static val_t once_value_3
; /* Once value */
67 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
68 fra
.me
.file
= LOCATE_standard___string
;
70 fra
.me
.meth
= LOCATE_standard___string___AbstractString___substring
;
73 fra
.me
.nitni_local_ref_head
= NULL
;
74 fra
.me
.REG
[0] = NIT_NULL
;
75 fra
.me
.REG
[1] = NIT_NULL
;
76 fra
.me
.REG
[2] = NIT_NULL
;
80 /* ../lib/standard/string.nit:40 */
82 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
83 if (UNTAG_Bool(REGB3
)) {
85 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
87 /* ../lib/standard/kernel.nit:236 */
88 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
89 /* ../lib/standard/string.nit:40 */
90 if (UNTAG_Bool(REGB2
)) {
92 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 40);
94 /* ../lib/standard/kernel.nit:238 */
95 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
96 /* ../lib/standard/string.nit:41 */
98 /* ../lib/standard/string.nit:42 */
100 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
101 if (UNTAG_Bool(REGB3
)) {
103 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
105 /* ../lib/standard/kernel.nit:235 */
106 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
107 /* ../lib/standard/string.nit:42 */
108 if (UNTAG_Bool(REGB2
)) {
112 /* ../lib/standard/collection/array.nit:24 */
113 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
114 if (UNTAG_Bool(REGB2
)) {
116 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
118 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
119 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
120 if (UNTAG_Bool(REGB3
)) {
122 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
124 /* ../lib/standard/kernel.nit:237 */
125 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
126 /* ../lib/standard/string.nit:43 */
127 if (UNTAG_Bool(REGB2
)) {
128 /* ../lib/standard/collection/array.nit:24 */
129 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
130 if (UNTAG_Bool(REGB2
)) {
132 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
134 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
135 /* ../lib/standard/string.nit:43 */
138 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
139 if (UNTAG_Bool(REGB2
)) {
141 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
143 /* ../lib/standard/kernel.nit:235 */
144 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
145 /* ../lib/standard/string.nit:44 */
146 if (UNTAG_Bool(REGB2
)) {
147 /* ../lib/standard/kernel.nit:240 */
148 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
149 /* ../lib/standard/string.nit:45 */
150 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB2
);
151 /* ../lib/standard/string.nit:46 */
153 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
154 if (UNTAG_Bool(REGB2
)) {
156 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
158 /* ../lib/standard/kernel.nit:235 */
159 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
160 /* ../lib/standard/string.nit:46 */
161 if (UNTAG_Bool(REGB2
)) {
162 /* ../lib/standard/string.nit:47 */
163 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
164 if (UNTAG_Bool(REGB2
)) {
166 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 47);
168 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
169 /* ../lib/standard/string.nit:602 */
170 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
171 /* ../lib/standard/string.nit:47 */
172 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
173 /* ../lib/standard/string.nit:48 */
175 /* ../lib/standard/kernel.nit:238 */
176 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
177 /* ../lib/standard/string.nit:48 */
180 /* ../lib/standard/string.nit:46 */
185 /* ../lib/standard/string.nit:50 */
186 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
189 /* ../lib/standard/string.nit:52 */
191 fra
.me
.REG
[0] = BOX_NativeString("");
193 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
194 once_value_3
= fra
.me
.REG
[0];
195 register_static_object(&once_value_3
);
196 } else fra
.me
.REG
[0] = once_value_3
;
197 fra
.me
.REG
[0] = fra
.me
.REG
[0];
198 fra
.me
.REG
[1] = fra
.me
.REG
[0];
202 stack_frame_head
= fra
.me
.prev
;
203 return fra
.me
.REG
[1];
205 static const char LOCATE_standard___string___AbstractString___substring_from
[] = "string::AbstractString::substring_from";
206 val_t
standard___string___AbstractString___substring_from(val_t p0
, val_t p1
){
207 struct {struct stack_frame_t me
;} fra
;
212 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
213 fra
.me
.file
= LOCATE_standard___string
;
215 fra
.me
.meth
= LOCATE_standard___string___AbstractString___substring_from
;
216 fra
.me
.has_broke
= 0;
218 fra
.me
.nitni_local_ref_head
= NULL
;
219 fra
.me
.REG
[0] = NIT_NULL
;
222 /* ../lib/standard/collection/array.nit:24 */
223 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
224 if (UNTAG_Bool(REGB1
)) {
226 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
228 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
229 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
230 if (UNTAG_Bool(REGB2
)) {
232 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
234 /* ../lib/standard/kernel.nit:235 */
235 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
236 /* ../lib/standard/string.nit:63 */
237 if (UNTAG_Bool(REGB1
)) {
239 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 63);
241 /* ../lib/standard/collection/array.nit:24 */
242 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
243 if (UNTAG_Bool(REGB1
)) {
245 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
247 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
248 /* ../lib/standard/kernel.nit:240 */
249 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
250 /* ../lib/standard/string.nit:64 */
251 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
254 stack_frame_head
= fra
.me
.prev
;
255 return fra
.me
.REG
[0];
257 static const char LOCATE_standard___string___AbstractString___has_substring
[] = "string::AbstractString::has_substring";
258 val_t
standard___string___AbstractString___has_substring(val_t p0
, val_t p1
, val_t p2
){
259 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
267 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
268 fra
.me
.file
= LOCATE_standard___string
;
270 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_substring
;
271 fra
.me
.has_broke
= 0;
273 fra
.me
.nitni_local_ref_head
= NULL
;
274 fra
.me
.REG
[0] = NIT_NULL
;
275 fra
.me
.REG
[1] = NIT_NULL
;
276 fra
.me
.REG
[2] = NIT_NULL
;
280 /* ../lib/standard/collection/array.nit:24 */
281 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
282 if (UNTAG_Bool(REGB1
)) {
284 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
286 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
287 /* ../lib/standard/string.nit:73 */
289 /* ../lib/standard/kernel.nit:240 */
290 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
291 /* ../lib/standard/kernel.nit:238 */
292 REGB0
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
293 /* ../lib/standard/string.nit:75 */
294 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
295 if (UNTAG_Bool(REGB1
)) {
297 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 75);
299 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
300 /* ../lib/standard/string.nit:76 */
301 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
302 if (UNTAG_Bool(REGB1
)) {
304 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 76);
306 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
307 /* ../lib/standard/collection/array.nit:24 */
308 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
309 if (UNTAG_Bool(REGB1
)) {
311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
313 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
314 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
315 if (UNTAG_Bool(REGB3
)) {
317 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
319 /* ../lib/standard/kernel.nit:237 */
320 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
321 /* ../lib/standard/string.nit:77 */
322 if (UNTAG_Bool(REGB1
)) {
325 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
326 if (UNTAG_Bool(REGB3
)) {
328 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
330 /* ../lib/standard/kernel.nit:237 */
331 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
332 /* ../lib/standard/string.nit:77 */
335 if (UNTAG_Bool(REGB1
)) {
339 /* ../lib/standard/string.nit:78 */
342 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
343 if (UNTAG_Bool(REGB4
)) {
345 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
347 /* ../lib/standard/kernel.nit:236 */
348 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
349 /* ../lib/standard/string.nit:78 */
350 if (UNTAG_Bool(REGB3
)) {
351 /* ../lib/standard/string.nit:602 */
352 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
353 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]);
354 /* ../lib/standard/string.nit:79 */
355 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB3
,REGB4
));
356 if (UNTAG_Bool(REGB5
)) {
358 /* ../lib/standard/kernel.nit:381 */
359 REGB4
= TAG_Bool((REGB3
)==(REGB4
));
360 /* ../lib/standard/string.nit:79 */
363 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
364 if (UNTAG_Bool(REGB5
)) {
369 /* ../lib/standard/string.nit:80 */
371 /* ../lib/standard/kernel.nit:240 */
372 REGB5
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB5
));
373 /* ../lib/standard/string.nit:80 */
375 /* ../lib/standard/string.nit:81 */
377 /* ../lib/standard/kernel.nit:240 */
378 REGB5
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB5
));
379 /* ../lib/standard/string.nit:81 */
382 /* ../lib/standard/string.nit:78 */
387 /* ../lib/standard/string.nit:83 */
392 stack_frame_head
= fra
.me
.prev
;
395 static const char LOCATE_standard___string___AbstractString___has_prefix
[] = "string::AbstractString::has_prefix";
396 val_t
standard___string___AbstractString___has_prefix(val_t p0
, val_t p1
){
397 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
400 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
401 fra
.me
.file
= LOCATE_standard___string
;
403 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_prefix
;
404 fra
.me
.has_broke
= 0;
406 fra
.me
.nitni_local_ref_head
= NULL
;
407 fra
.me
.REG
[0] = NIT_NULL
;
408 fra
.me
.REG
[1] = NIT_NULL
;
411 /* ../lib/standard/string.nit:90 */
413 REGB0
= CALL_standard___string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
416 stack_frame_head
= fra
.me
.prev
;
419 static const char LOCATE_standard___string___AbstractString___has_suffix
[] = "string::AbstractString::has_suffix";
420 val_t
standard___string___AbstractString___has_suffix(val_t p0
, val_t p1
){
421 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
425 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
426 fra
.me
.file
= LOCATE_standard___string
;
428 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_suffix
;
429 fra
.me
.has_broke
= 0;
431 fra
.me
.nitni_local_ref_head
= NULL
;
432 fra
.me
.REG
[0] = NIT_NULL
;
433 fra
.me
.REG
[1] = NIT_NULL
;
436 /* ../lib/standard/collection/array.nit:24 */
437 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
438 if (UNTAG_Bool(REGB0
)) {
440 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
442 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
443 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
444 if (UNTAG_Bool(REGB1
)) {
446 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
448 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
449 /* ../lib/standard/kernel.nit:240 */
450 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
451 /* ../lib/standard/string.nit:96 */
452 REGB1
= CALL_standard___string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
455 stack_frame_head
= fra
.me
.prev
;
458 static const char LOCATE_standard___string___AbstractString___to_i
[] = "string::AbstractString::to_i";
459 val_t
standard___string___AbstractString___to_i(val_t p0
){
460 struct {struct stack_frame_t me
;} fra
;
463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
464 fra
.me
.file
= LOCATE_standard___string
;
466 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_i
;
467 fra
.me
.has_broke
= 0;
469 fra
.me
.nitni_local_ref_head
= NULL
;
470 fra
.me
.REG
[0] = NIT_NULL
;
472 /* ../lib/standard/string.nit:102 */
473 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
474 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
475 /* ../lib/standard/string.nit:613 */
476 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
477 /* ../lib/standard/string.nit:102 */
480 stack_frame_head
= fra
.me
.prev
;
483 static const char LOCATE_standard___string___AbstractString___to_f
[] = "string::AbstractString::to_f";
484 val_t
standard___string___AbstractString___to_f(val_t p0
){
485 struct {struct stack_frame_t me
;} fra
;
487 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
488 fra
.me
.file
= LOCATE_standard___string
;
490 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_f
;
491 fra
.me
.has_broke
= 0;
493 fra
.me
.nitni_local_ref_head
= NULL
;
494 fra
.me
.REG
[0] = NIT_NULL
;
496 /* ../lib/standard/string.nit:109 */
497 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
498 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
499 fra
.me
.REG
[0] = CALL_standard___string___NativeString___atof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
502 stack_frame_head
= fra
.me
.prev
;
503 return fra
.me
.REG
[0];
505 static const char LOCATE_standard___string___AbstractString___to_hex
[] = "string::AbstractString::to_hex";
506 val_t
standard___string___AbstractString___to_hex(val_t p0
){
507 struct {struct stack_frame_t me
;} fra
;
510 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
511 fra
.me
.file
= LOCATE_standard___string
;
513 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_hex
;
514 fra
.me
.has_broke
= 0;
516 fra
.me
.nitni_local_ref_head
= NULL
;
517 fra
.me
.REG
[0] = NIT_NULL
;
519 /* ../lib/standard/string.nit:113 */
521 REGB0
= CALL_standard___string___AbstractString___a_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
524 stack_frame_head
= fra
.me
.prev
;
527 static const char LOCATE_standard___string___AbstractString___a_to
[] = "string::AbstractString::a_to";
528 val_t
standard___string___AbstractString___a_to(val_t p0
, val_t p1
){
529 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
532 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
533 fra
.me
.file
= LOCATE_standard___string
;
535 fra
.me
.meth
= LOCATE_standard___string___AbstractString___a_to
;
536 fra
.me
.has_broke
= 0;
538 fra
.me
.nitni_local_ref_head
= NULL
;
539 fra
.me
.REG
[0] = NIT_NULL
;
540 fra
.me
.REG
[1] = NIT_NULL
;
541 fra
.me
.REG
[2] = NIT_NULL
;
542 fra
.me
.REG
[3] = NIT_NULL
;
545 /* ../lib/standard/string.nit:115 */
546 fra
.me
.REG
[1] = REGB0
;
547 /* ../lib/standard/string.nit:118 */
549 fra
.me
.REG
[2] = REGB0
;
550 /* ../lib/standard/string.nit:119 */
552 fra
.me
.REG
[3] = REGB0
;
553 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___string___AbstractString___a_to_1
));
554 switch ((&(fra
.me
))->has_broke
) {
556 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
558 /* ../lib/standard/string.nit:136 */
559 if (UNTAG_Bool(fra
.me
.REG
[3])) {
560 /* ../lib/standard/kernel.nit:239 */
561 REGB0
= TAG_Int(-UNTAG_Int(fra
.me
.REG
[2]));
562 /* ../lib/standard/string.nit:137 */
563 fra
.me
.REG
[0] = REGB0
;
566 /* ../lib/standard/string.nit:139 */
567 fra
.me
.REG
[0] = fra
.me
.REG
[2];
571 stack_frame_head
= fra
.me
.prev
;
572 return fra
.me
.REG
[0];
574 void OC_standard___string___AbstractString___a_to_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
575 struct {struct stack_frame_t me
;} fra
;
581 /* ../lib/standard/string.nit:121 */
582 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
583 fra
.me
.file
= LOCATE_standard___string
;
585 fra
.me
.meth
= LOCATE_standard___string___AbstractString___a_to
;
586 fra
.me
.has_broke
= 0;
588 fra
.me
.nitni_local_ref_head
= NULL
;
589 fra
.me
.REG
[0] = NIT_NULL
;
590 fra
.me
.closure_ctx
= closctx_param
;
591 fra
.me
.closure_funs
= CREG
;
594 REGB0
= fra
.me
.REG
[0];
595 /* ../lib/standard/string.nit:123 */
596 REGB0
= CALL_standard___kernel___Char___to_i(REGB0
)(REGB0
);
597 REGB1
= TAG_Bool(VAL_ISA(closctx
->REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
598 if (UNTAG_Bool(REGB1
)) {
600 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
602 /* ../lib/standard/kernel.nit:237 */
603 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(closctx
->REG
[1]));
604 /* ../lib/standard/string.nit:124 */
605 if (UNTAG_Bool(REGB1
)) {
606 /* ../lib/standard/string.nit:125 */
607 if (UNTAG_Bool(closctx
->REG
[3])) {
608 /* ../lib/standard/kernel.nit:239 */
609 REGB1
= TAG_Int(-UNTAG_Int(closctx
->REG
[2]));
610 /* ../lib/standard/string.nit:126 */
611 closctx
->REG
[0] = REGB1
;
612 closctx
->has_broke
= 1;
615 /* ../lib/standard/string.nit:128 */
616 closctx
->REG
[0] = closctx
->REG
[2];
617 closctx
->has_broke
= 1;
621 /* ../lib/standard/string.nit:130 */
623 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
624 if (UNTAG_Bool(REGB2
)) {
626 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
628 /* ../lib/standard/kernel.nit:235 */
629 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
630 /* ../lib/standard/string.nit:130 */
631 if (UNTAG_Bool(REGB1
)) {
632 /* ../lib/standard/string.nit:131 */
634 closctx
->REG
[3] = REGB1
;
636 /* ../lib/standard/kernel.nit:241 */
637 REGB1
= TAG_Int(UNTAG_Int(closctx
->REG
[2])*UNTAG_Int(closctx
->REG
[1]));
638 /* ../lib/standard/kernel.nit:238 */
639 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
640 /* ../lib/standard/string.nit:133 */
641 closctx
->REG
[2] = REGB0
;
645 stack_frame_head
= fra
.me
.prev
;
648 static const char LOCATE_standard___string___AbstractString___to_upper
[] = "string::AbstractString::to_upper";
649 val_t
standard___string___AbstractString___to_upper(val_t p0
){
650 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
653 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
654 fra
.me
.file
= LOCATE_standard___string
;
656 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_upper
;
657 fra
.me
.has_broke
= 0;
659 fra
.me
.nitni_local_ref_head
= NULL
;
660 fra
.me
.REG
[0] = NIT_NULL
;
661 fra
.me
.REG
[1] = NIT_NULL
;
663 /* ../lib/standard/collection/array.nit:24 */
664 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
665 if (UNTAG_Bool(REGB0
)) {
667 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
669 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
670 /* ../lib/standard/string.nit:146 */
671 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB0
);
672 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___string___AbstractString___to_upper_1
));
673 /* ../lib/standard/string.nit:148 */
674 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
677 stack_frame_head
= fra
.me
.prev
;
678 return fra
.me
.REG
[1];
680 void OC_standard___string___AbstractString___to_upper_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
681 struct {struct stack_frame_t me
;} fra
;
685 /* ../lib/standard/string.nit:147 */
686 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
687 fra
.me
.file
= LOCATE_standard___string
;
689 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_upper
;
690 fra
.me
.has_broke
= 0;
692 fra
.me
.nitni_local_ref_head
= NULL
;
693 fra
.me
.REG
[0] = NIT_NULL
;
694 fra
.me
.closure_ctx
= closctx_param
;
695 fra
.me
.closure_funs
= CREG
;
698 REGB0
= fra
.me
.REG
[0];
699 REGB0
= CALL_standard___kernel___Char___to_upper(REGB0
)(REGB0
);
700 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], REGB0
);
701 stack_frame_head
= fra
.me
.prev
;
704 static const char LOCATE_standard___string___AbstractString___to_lower
[] = "string::AbstractString::to_lower";
705 val_t
standard___string___AbstractString___to_lower(val_t p0
){
706 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
709 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
710 fra
.me
.file
= LOCATE_standard___string
;
712 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_lower
;
713 fra
.me
.has_broke
= 0;
715 fra
.me
.nitni_local_ref_head
= NULL
;
716 fra
.me
.REG
[0] = NIT_NULL
;
717 fra
.me
.REG
[1] = NIT_NULL
;
719 /* ../lib/standard/collection/array.nit:24 */
720 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
721 if (UNTAG_Bool(REGB0
)) {
723 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
725 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
726 /* ../lib/standard/string.nit:154 */
727 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB0
);
728 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___string___AbstractString___to_lower_1
));
729 /* ../lib/standard/string.nit:156 */
730 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
733 stack_frame_head
= fra
.me
.prev
;
734 return fra
.me
.REG
[1];
736 void OC_standard___string___AbstractString___to_lower_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
737 struct {struct stack_frame_t me
;} fra
;
741 /* ../lib/standard/string.nit:155 */
742 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
743 fra
.me
.file
= LOCATE_standard___string
;
745 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_lower
;
746 fra
.me
.has_broke
= 0;
748 fra
.me
.nitni_local_ref_head
= NULL
;
749 fra
.me
.REG
[0] = NIT_NULL
;
750 fra
.me
.closure_ctx
= closctx_param
;
751 fra
.me
.closure_funs
= CREG
;
754 REGB0
= fra
.me
.REG
[0];
755 REGB0
= CALL_standard___kernel___Char___to_lower(REGB0
)(REGB0
);
756 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], REGB0
);
757 stack_frame_head
= fra
.me
.prev
;
760 static const char LOCATE_standard___string___AbstractString___output
[] = "string::AbstractString::(kernel::Object::output)";
761 void standard___string___AbstractString___output(val_t p0
){
762 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
767 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
768 fra
.me
.file
= LOCATE_standard___string
;
770 fra
.me
.meth
= LOCATE_standard___string___AbstractString___output
;
771 fra
.me
.has_broke
= 0;
773 fra
.me
.nitni_local_ref_head
= NULL
;
774 fra
.me
.REG
[0] = NIT_NULL
;
775 fra
.me
.REG
[1] = NIT_NULL
;
777 /* ../lib/standard/string.nit:162 */
779 /* ../lib/standard/string.nit:163 */
781 /* ../lib/standard/collection/array.nit:24 */
782 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
783 if (UNTAG_Bool(REGB1
)) {
785 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
787 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
788 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
789 if (UNTAG_Bool(REGB2
)) {
791 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
793 /* ../lib/standard/kernel.nit:235 */
794 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
795 /* ../lib/standard/string.nit:163 */
796 if (UNTAG_Bool(REGB1
)) {
797 /* ../lib/standard/string.nit:164 */
798 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
799 if (UNTAG_Bool(REGB1
)) {
801 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 164);
803 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
804 /* ../lib/standard/string.nit:602 */
805 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
806 /* ../lib/standard/kernel.nit:383 */
807 printf("%c", (unsigned char)UNTAG_Char(REGB1
));;
808 /* ../lib/standard/string.nit:165 */
810 /* ../lib/standard/kernel.nit:238 */
811 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
812 /* ../lib/standard/string.nit:165 */
815 /* ../lib/standard/string.nit:163 */
820 stack_frame_head
= fra
.me
.prev
;
823 static const char LOCATE_standard___string___String___with_native
[] = "string::String::with_native";
824 void standard___string___String___with_native(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
825 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___String
].i
;
826 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
831 if (init_table
[itpos0
]) return;
832 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
833 fra
.me
.file
= LOCATE_standard___string
;
835 fra
.me
.meth
= LOCATE_standard___string___String___with_native
;
836 fra
.me
.has_broke
= 0;
838 fra
.me
.nitni_local_ref_head
= NULL
;
839 fra
.me
.REG
[0] = NIT_NULL
;
840 fra
.me
.REG
[1] = NIT_NULL
;
844 /* ../lib/standard/string.nit:180 */
846 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
847 if (UNTAG_Bool(REGB2
)) {
849 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
851 /* ../lib/standard/kernel.nit:236 */
852 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
853 /* ../lib/standard/string.nit:180 */
854 if (UNTAG_Bool(REGB1
)) {
856 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 180);
858 /* ../lib/standard/string.nit:181 */
859 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
860 /* ../lib/standard/string.nit:182 */
861 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
862 stack_frame_head
= fra
.me
.prev
;
863 init_table
[itpos0
] = 1;
866 static const char LOCATE_standard___string___String___from_cstring
[] = "string::String::from_cstring";
867 void standard___string___String___from_cstring(val_t p0
, val_t p1
, int* init_table
){
868 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___String
].i
;
869 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
872 if (init_table
[itpos1
]) return;
873 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
874 fra
.me
.file
= LOCATE_standard___string
;
876 fra
.me
.meth
= LOCATE_standard___string___String___from_cstring
;
877 fra
.me
.has_broke
= 0;
879 fra
.me
.nitni_local_ref_head
= NULL
;
880 fra
.me
.REG
[0] = NIT_NULL
;
881 fra
.me
.REG
[1] = NIT_NULL
;
884 /* ../lib/standard/string.nit:188 */
885 REGB0
= CALL_standard___string___NativeString___cstring_length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
886 /* ../lib/standard/string.nit:189 */
887 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
888 /* ../lib/standard/string.nit:190 */
889 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
890 stack_frame_head
= fra
.me
.prev
;
891 init_table
[itpos1
] = 1;
894 static const char LOCATE_standard___string___String___to_cstring
[] = "string::String::to_cstring";
895 val_t
standard___string___String___to_cstring(val_t p0
){
896 struct {struct stack_frame_t me
;} fra
;
899 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
900 fra
.me
.file
= LOCATE_standard___string
;
902 fra
.me
.meth
= LOCATE_standard___string___String___to_cstring
;
903 fra
.me
.has_broke
= 0;
905 fra
.me
.nitni_local_ref_head
= NULL
;
906 fra
.me
.REG
[0] = NIT_NULL
;
908 /* ../lib/standard/string.nit:196 */
909 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
910 if (UNTAG_Bool(REGB0
)) {
912 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 196);
914 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
917 stack_frame_head
= fra
.me
.prev
;
918 return fra
.me
.REG
[0];
920 static const char LOCATE_standard___string___String_____eqeq
[] = "string::String::(kernel::Object::==)";
921 val_t
standard___string___String_____eqeq(val_t p0
, val_t p1
){
922 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
930 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
931 fra
.me
.file
= LOCATE_standard___string
;
933 fra
.me
.meth
= LOCATE_standard___string___String_____eqeq
;
934 fra
.me
.has_broke
= 0;
936 fra
.me
.nitni_local_ref_head
= NULL
;
937 fra
.me
.REG
[0] = NIT_NULL
;
938 fra
.me
.REG
[1] = NIT_NULL
;
941 /* ../lib/standard/string.nit:201 */
942 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
943 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
944 if (UNTAG_Bool(REGB0
)) {
947 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
950 if (UNTAG_Bool(REGB0
)) {
954 /* ../lib/standard/collection/array.nit:24 */
955 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
956 if (UNTAG_Bool(REGB1
)) {
958 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
960 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
961 /* ../lib/standard/string.nit:203 */
962 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
963 if (UNTAG_Bool(REGB2
)) {
964 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 203);
966 /* ../lib/standard/collection/array.nit:24 */
967 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
968 if (UNTAG_Bool(REGB2
)) {
970 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
972 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
973 /* ../lib/standard/string.nit:203 */
974 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
975 if (UNTAG_Bool(REGB3
)) {
977 /* ../lib/standard/kernel.nit:230 */
978 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
979 /* ../lib/standard/string.nit:203 */
982 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
983 if (UNTAG_Bool(REGB3
)) {
988 /* ../lib/standard/string.nit:204 */
990 /* ../lib/standard/string.nit:205 */
991 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
992 if (UNTAG_Bool(REGB2
)) {
994 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 205);
996 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
997 /* ../lib/standard/string.nit:206 */
998 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
999 if (UNTAG_Bool(REGB2
)) {
1001 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 206);
1003 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
1004 /* ../lib/standard/string.nit:207 */
1006 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1007 if (UNTAG_Bool(REGB2
)) {
1009 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1011 /* ../lib/standard/kernel.nit:235 */
1012 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
1013 /* ../lib/standard/string.nit:207 */
1014 if (UNTAG_Bool(REGB2
)) {
1015 /* ../lib/standard/string.nit:602 */
1016 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB3
)]);
1017 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]);
1018 /* ../lib/standard/string.nit:208 */
1019 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
1020 if (UNTAG_Bool(REGB5
)) {
1022 /* ../lib/standard/kernel.nit:381 */
1023 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
1024 /* ../lib/standard/string.nit:208 */
1027 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
1028 if (UNTAG_Bool(REGB5
)) {
1029 REGB5
= TAG_Bool(0);
1033 /* ../lib/standard/string.nit:209 */
1035 /* ../lib/standard/kernel.nit:238 */
1036 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1037 /* ../lib/standard/string.nit:209 */
1040 /* ../lib/standard/string.nit:207 */
1045 /* ../lib/standard/string.nit:211 */
1046 REGB3
= TAG_Bool(1);
1050 stack_frame_head
= fra
.me
.prev
;
1053 static const char LOCATE_standard___string___String_____l
[] = "string::String::(kernel::Comparable::<)";
1054 val_t
standard___string___String_____l(val_t p0
, val_t p1
){
1055 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1065 fra
.me
.file
= LOCATE_standard___string
;
1067 fra
.me
.meth
= LOCATE_standard___string___String_____l
;
1068 fra
.me
.has_broke
= 0;
1069 fra
.me
.REG_size
= 2;
1070 fra
.me
.nitni_local_ref_head
= NULL
;
1071 fra
.me
.REG
[0] = NIT_NULL
;
1072 fra
.me
.REG
[1] = NIT_NULL
;
1075 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]))) /*cast OTHER*/;
1076 if (UNTAG_Bool(REGB0
)) {
1078 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 0);
1080 /* ../lib/standard/string.nit:216 */
1082 /* ../lib/standard/collection/array.nit:24 */
1083 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1084 if (UNTAG_Bool(REGB1
)) {
1086 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1088 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1089 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1090 if (UNTAG_Bool(REGB2
)) {
1092 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1094 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1095 /* ../lib/standard/string.nit:219 */
1096 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1097 if (UNTAG_Bool(REGB3
)) {
1099 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 219);
1101 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1102 /* ../lib/standard/string.nit:220 */
1103 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
1104 if (UNTAG_Bool(REGB3
)) {
1106 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 220);
1108 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
1109 /* ../lib/standard/string.nit:221 */
1111 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1112 if (UNTAG_Bool(REGB3
)) {
1114 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1116 /* ../lib/standard/kernel.nit:235 */
1117 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1118 /* ../lib/standard/string.nit:221 */
1119 if (UNTAG_Bool(REGB3
)) {
1120 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1121 if (UNTAG_Bool(REGB3
)) {
1123 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1125 /* ../lib/standard/kernel.nit:235 */
1126 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1128 /* ../lib/standard/string.nit:221 */
1129 REGB4
= TAG_Bool(0);
1132 if (UNTAG_Bool(REGB3
)) {
1133 /* ../lib/standard/string.nit:602 */
1134 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
1135 /* ../lib/standard/kernel.nit:416 */
1136 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
1137 /* ../lib/standard/string.nit:602 */
1138 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
1139 /* ../lib/standard/kernel.nit:416 */
1140 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
1141 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1142 if (UNTAG_Bool(REGB5
)) {
1144 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1146 /* ../lib/standard/kernel.nit:235 */
1147 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1148 /* ../lib/standard/string.nit:224 */
1149 if (UNTAG_Bool(REGB5
)) {
1150 /* ../lib/standard/string.nit:225 */
1151 REGB5
= TAG_Bool(1);
1154 REGB6
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1155 if (UNTAG_Bool(REGB6
)) {
1157 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1159 /* ../lib/standard/kernel.nit:235 */
1160 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1161 /* ../lib/standard/string.nit:226 */
1162 if (UNTAG_Bool(REGB3
)) {
1163 /* ../lib/standard/string.nit:227 */
1164 REGB3
= TAG_Bool(0);
1169 /* ../lib/standard/string.nit:229 */
1171 /* ../lib/standard/kernel.nit:238 */
1172 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1173 /* ../lib/standard/string.nit:229 */
1176 /* ../lib/standard/string.nit:221 */
1181 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1182 if (UNTAG_Bool(REGB0
)) {
1184 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1186 /* ../lib/standard/kernel.nit:235 */
1187 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1188 /* ../lib/standard/string.nit:231 */
1189 if (UNTAG_Bool(REGB2
)) {
1190 /* ../lib/standard/string.nit:232 */
1191 REGB2
= TAG_Bool(1);
1195 /* ../lib/standard/string.nit:234 */
1196 REGB2
= TAG_Bool(0);
1201 stack_frame_head
= fra
.me
.prev
;
1204 static const char LOCATE_standard___string___String_____plus
[] = "string::String::+";
1205 val_t
standard___string___String_____plus(val_t p0
, val_t p1
){
1206 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1210 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1211 fra
.me
.file
= LOCATE_standard___string
;
1213 fra
.me
.meth
= LOCATE_standard___string___String_____plus
;
1214 fra
.me
.has_broke
= 0;
1215 fra
.me
.REG_size
= 3;
1216 fra
.me
.nitni_local_ref_head
= NULL
;
1217 fra
.me
.REG
[0] = NIT_NULL
;
1218 fra
.me
.REG
[1] = NIT_NULL
;
1219 fra
.me
.REG
[2] = NIT_NULL
;
1222 /* ../lib/standard/collection/array.nit:24 */
1223 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1224 if (UNTAG_Bool(REGB0
)) {
1226 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1228 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1229 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1230 if (UNTAG_Bool(REGB1
)) {
1232 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1234 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1235 /* ../lib/standard/kernel.nit:238 */
1236 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1237 /* ../lib/standard/string.nit:241 */
1238 fra
.me
.REG
[2] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB1
);
1239 /* ../lib/standard/string.nit:242 */
1240 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
1241 /* ../lib/standard/string.nit:243 */
1242 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
1243 /* ../lib/standard/string.nit:244 */
1244 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
1247 stack_frame_head
= fra
.me
.prev
;
1248 return fra
.me
.REG
[2];
1250 static const char LOCATE_standard___string___String_____star
[] = "string::String::*";
1251 val_t
standard___string___String_____star(val_t p0
, val_t p1
){
1252 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1257 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1258 fra
.me
.file
= LOCATE_standard___string
;
1260 fra
.me
.meth
= LOCATE_standard___string___String_____star
;
1261 fra
.me
.has_broke
= 0;
1262 fra
.me
.REG_size
= 2;
1263 fra
.me
.nitni_local_ref_head
= NULL
;
1264 fra
.me
.REG
[0] = NIT_NULL
;
1265 fra
.me
.REG
[1] = NIT_NULL
;
1268 /* ../lib/standard/string.nit:250 */
1270 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1271 if (UNTAG_Bool(REGB2
)) {
1273 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1275 /* ../lib/standard/kernel.nit:236 */
1276 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1277 /* ../lib/standard/string.nit:250 */
1278 if (UNTAG_Bool(REGB1
)) {
1280 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 250);
1282 /* ../lib/standard/collection/array.nit:24 */
1283 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1284 if (UNTAG_Bool(REGB1
)) {
1286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1288 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1289 /* ../lib/standard/kernel.nit:241 */
1290 REGB1
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB0
));
1291 /* ../lib/standard/string.nit:251 */
1292 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB1
);
1293 /* ../lib/standard/string.nit:252 */
1296 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1297 if (UNTAG_Bool(REGB2
)) {
1299 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1301 /* ../lib/standard/kernel.nit:237 */
1302 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1303 /* ../lib/standard/string.nit:252 */
1304 if (UNTAG_Bool(REGB1
)) {
1305 /* ../lib/standard/string.nit:253 */
1306 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
1307 /* ../lib/standard/string.nit:254 */
1309 /* ../lib/standard/kernel.nit:240 */
1310 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
1311 /* ../lib/standard/string.nit:254 */
1314 /* ../lib/standard/string.nit:252 */
1319 /* ../lib/standard/string.nit:256 */
1320 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1323 stack_frame_head
= fra
.me
.prev
;
1324 return fra
.me
.REG
[1];
1326 static const char LOCATE_standard___string___String___to_s
[] = "string::String::(string::Object::to_s)";
1327 val_t
standard___string___String___to_s(val_t p0
){
1328 struct {struct stack_frame_t me
;} fra
;
1330 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1331 fra
.me
.file
= LOCATE_standard___string
;
1333 fra
.me
.meth
= LOCATE_standard___string___String___to_s
;
1334 fra
.me
.has_broke
= 0;
1335 fra
.me
.REG_size
= 1;
1336 fra
.me
.nitni_local_ref_head
= NULL
;
1337 fra
.me
.REG
[0] = NIT_NULL
;
1339 /* ../lib/standard/string.nit:259 */
1342 stack_frame_head
= fra
.me
.prev
;
1343 return fra
.me
.REG
[0];
1345 static const char LOCATE_standard___string___String___hash
[] = "string::String::(hash::Object::hash)";
1346 val_t
standard___string___String___hash(val_t p0
){
1347 struct {struct stack_frame_t me
;} fra
;
1353 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1354 fra
.me
.file
= LOCATE_standard___string
;
1356 fra
.me
.meth
= LOCATE_standard___string___String___hash
;
1357 fra
.me
.has_broke
= 0;
1358 fra
.me
.REG_size
= 1;
1359 fra
.me
.nitni_local_ref_head
= NULL
;
1360 fra
.me
.REG
[0] = NIT_NULL
;
1362 /* ../lib/standard/string.nit:264 */
1363 REGB0
= TAG_Int(5381);
1364 /* ../lib/standard/string.nit:265 */
1365 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1366 if (UNTAG_Bool(REGB1
)) {
1368 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 265);
1370 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1372 /* ../lib/standard/kernel.nit:240 */
1373 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1374 /* ../lib/standard/string.nit:266 */
1375 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1376 if (UNTAG_Bool(REGB1
)) {
1378 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 266);
1380 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1381 /* ../lib/standard/string.nit:267 */
1384 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1385 if (UNTAG_Bool(REGB3
)) {
1387 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1389 /* ../lib/standard/kernel.nit:236 */
1390 REGB1
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB1
));
1391 /* ../lib/standard/string.nit:267 */
1392 if (UNTAG_Bool(REGB1
)) {
1393 /* ../lib/standard/string.nit:268 */
1394 REGB1
= TAG_Int(32);
1395 /* ../lib/standard/kernel.nit:241 */
1396 REGB1
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB1
));
1397 /* ../lib/standard/kernel.nit:238 */
1398 REGB1
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1399 /* ../lib/standard/string.nit:602 */
1400 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB2
)]);
1401 /* ../lib/standard/kernel.nit:416 */
1402 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
1403 /* ../lib/standard/kernel.nit:238 */
1404 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1405 /* ../lib/standard/string.nit:268 */
1407 /* ../lib/standard/string.nit:269 */
1409 /* ../lib/standard/kernel.nit:240 */
1410 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
1411 /* ../lib/standard/string.nit:269 */
1414 /* ../lib/standard/string.nit:267 */
1419 /* ../lib/standard/string.nit:271 */
1422 stack_frame_head
= fra
.me
.prev
;
1425 static const char LOCATE_standard___string___Buffer_____braeq
[] = "string::Buffer::(abstract_collection::Sequence::[]=)";
1426 void standard___string___Buffer_____braeq(val_t p0
, val_t p1
, val_t p2
){
1427 struct {struct stack_frame_t me
;} fra
;
1433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1434 fra
.me
.file
= LOCATE_standard___string
;
1436 fra
.me
.meth
= LOCATE_standard___string___Buffer_____braeq
;
1437 fra
.me
.has_broke
= 0;
1438 fra
.me
.REG_size
= 1;
1439 fra
.me
.nitni_local_ref_head
= NULL
;
1440 fra
.me
.REG
[0] = NIT_NULL
;
1444 /* ../lib/standard/collection/array.nit:24 */
1445 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1446 if (UNTAG_Bool(REGB2
)) {
1448 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1450 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1451 /* ../lib/standard/string.nit:287 */
1452 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
1453 if (UNTAG_Bool(REGB3
)) {
1455 /* ../lib/standard/kernel.nit:230 */
1456 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
1457 /* ../lib/standard/string.nit:287 */
1460 if (UNTAG_Bool(REGB3
)) {
1461 /* ../lib/standard/string.nit:288 */
1462 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1463 /* ../lib/standard/string.nit:289 */
1466 /* ../lib/standard/string.nit:291 */
1468 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1469 if (UNTAG_Bool(REGB2
)) {
1471 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1473 /* ../lib/standard/kernel.nit:236 */
1474 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
1475 /* ../lib/standard/string.nit:291 */
1476 if (UNTAG_Bool(REGB3
)) {
1477 /* ../lib/standard/collection/array.nit:24 */
1478 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1479 if (UNTAG_Bool(REGB3
)) {
1481 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1483 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1484 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1485 if (UNTAG_Bool(REGB2
)) {
1487 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1489 /* ../lib/standard/kernel.nit:235 */
1490 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
1492 /* ../lib/standard/string.nit:291 */
1493 REGB2
= TAG_Bool(0);
1496 if (UNTAG_Bool(REGB3
)) {
1498 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 291);
1500 /* ../lib/standard/string.nit:292 */
1501 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1502 if (UNTAG_Bool(REGB3
)) {
1504 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 292);
1506 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1507 /* ../lib/standard/string.nit:603 */
1508 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
1510 stack_frame_head
= fra
.me
.prev
;
1513 static const char LOCATE_standard___string___Buffer___add
[] = "string::Buffer::(abstract_collection::SimpleCollection::add)";
1514 void standard___string___Buffer___add(val_t p0
, val_t p1
){
1515 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1521 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1522 fra
.me
.file
= LOCATE_standard___string
;
1524 fra
.me
.meth
= LOCATE_standard___string___Buffer___add
;
1525 fra
.me
.has_broke
= 0;
1526 fra
.me
.REG_size
= 2;
1527 fra
.me
.nitni_local_ref_head
= NULL
;
1528 fra
.me
.REG
[0] = NIT_NULL
;
1529 fra
.me
.REG
[1] = NIT_NULL
;
1532 /* ../lib/standard/string.nit:297 */
1533 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1534 if (UNTAG_Bool(REGB1
)) {
1536 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 297);
1538 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
1539 /* ../lib/standard/collection/array.nit:24 */
1540 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1541 if (UNTAG_Bool(REGB2
)) {
1543 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1545 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1546 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1547 if (UNTAG_Bool(REGB3
)) {
1549 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1551 /* ../lib/standard/kernel.nit:234 */
1552 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB2
));
1553 /* ../lib/standard/string.nit:297 */
1554 if (UNTAG_Bool(REGB2
)) {
1555 /* ../lib/standard/collection/array.nit:24 */
1556 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1557 if (UNTAG_Bool(REGB2
)) {
1559 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1561 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1562 /* ../lib/standard/string.nit:297 */
1564 /* ../lib/standard/kernel.nit:238 */
1565 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
1566 /* ../lib/standard/string.nit:297 */
1567 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
1569 /* ../lib/standard/string.nit:298 */
1570 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1571 if (UNTAG_Bool(REGB1
)) {
1573 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 298);
1575 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1576 /* ../lib/standard/collection/array.nit:24 */
1577 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1578 if (UNTAG_Bool(REGB1
)) {
1580 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1582 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1583 /* ../lib/standard/string.nit:603 */
1584 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB1
)]=UNTAG_Char(REGB0
);;
1585 /* ../lib/standard/string.nit:299 */
1586 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1588 /* ../lib/standard/kernel.nit:238 */
1589 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1590 /* ../lib/standard/string.nit:299 */
1591 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
1592 stack_frame_head
= fra
.me
.prev
;
1595 static const char LOCATE_standard___string___Buffer___enlarge
[] = "string::Buffer::(array::AbstractArray::enlarge)";
1596 void standard___string___Buffer___enlarge(val_t p0
, val_t p1
){
1597 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1603 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1604 fra
.me
.file
= LOCATE_standard___string
;
1606 fra
.me
.meth
= LOCATE_standard___string___Buffer___enlarge
;
1607 fra
.me
.has_broke
= 0;
1608 fra
.me
.REG_size
= 3;
1609 fra
.me
.nitni_local_ref_head
= NULL
;
1610 fra
.me
.REG
[0] = NIT_NULL
;
1611 fra
.me
.REG
[1] = NIT_NULL
;
1612 fra
.me
.REG
[2] = NIT_NULL
;
1615 /* ../lib/standard/string.nit:304 */
1616 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
1617 if (UNTAG_Bool(REGB1
)) {
1619 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 304);
1621 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
1622 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1623 if (UNTAG_Bool(REGB2
)) {
1625 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1627 /* ../lib/standard/kernel.nit:234 */
1628 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
1629 /* ../lib/standard/string.nit:305 */
1630 if (UNTAG_Bool(REGB2
)) {
1633 /* ../lib/standard/string.nit:306 */
1635 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1636 if (UNTAG_Bool(REGB2
)) {
1638 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1640 /* ../lib/standard/kernel.nit:234 */
1641 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
1642 /* ../lib/standard/string.nit:306 */
1643 if (UNTAG_Bool(REGB2
)) {
1645 /* ../lib/standard/kernel.nit:241 */
1646 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
1647 /* ../lib/standard/string.nit:306 */
1649 /* ../lib/standard/kernel.nit:238 */
1650 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1651 /* ../lib/standard/string.nit:306 */
1658 /* ../lib/standard/string.nit:307 */
1660 /* ../lib/standard/kernel.nit:238 */
1661 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1662 /* ../lib/standard/string.nit:619 */
1663 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
1664 /* ../lib/standard/string.nit:308 */
1665 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1666 if (UNTAG_Bool(REGB0
)) {
1668 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 308);
1670 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1671 /* ../lib/standard/collection/array.nit:24 */
1672 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1673 if (UNTAG_Bool(REGB0
)) {
1675 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1677 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1678 /* ../lib/standard/string.nit:308 */
1681 /* ../lib/standard/string.nit:604 */
1682 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB3
), UNTAG_Int(REGB0
));;
1683 /* ../lib/standard/string.nit:309 */
1684 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
1685 /* ../lib/standard/string.nit:310 */
1686 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB1
;
1688 stack_frame_head
= fra
.me
.prev
;
1691 static const char LOCATE_standard___string___Buffer___append
[] = "string::Buffer::(abstract_collection::Sequence::append)";
1692 void standard___string___Buffer___append(val_t p0
, val_t p1
){
1693 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
1699 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1700 fra
.me
.file
= LOCATE_standard___string
;
1702 fra
.me
.meth
= LOCATE_standard___string___Buffer___append
;
1703 fra
.me
.has_broke
= 0;
1704 fra
.me
.REG_size
= 5;
1705 fra
.me
.nitni_local_ref_head
= NULL
;
1706 fra
.me
.REG
[0] = NIT_NULL
;
1707 fra
.me
.REG
[1] = NIT_NULL
;
1708 fra
.me
.REG
[2] = NIT_NULL
;
1709 fra
.me
.REG
[3] = NIT_NULL
;
1710 fra
.me
.REG
[4] = NIT_NULL
;
1713 /* ../lib/standard/string.nit:313 */
1714 fra
.me
.REG
[2] = fra
.me
.REG
[0];
1715 fra
.me
.REG
[3] = fra
.me
.REG
[1];
1716 /* ../lib/standard/string.nit:315 */
1717 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
1718 if (UNTAG_Bool(REGB0
)) {
1719 /* ../lib/standard/collection/array.nit:24 */
1720 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
1721 if (UNTAG_Bool(REGB0
)) {
1723 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1725 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
1726 /* ../lib/standard/string.nit:317 */
1727 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[2])!=NIT_NULL
);
1728 if (UNTAG_Bool(REGB1
)) {
1730 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 317);
1732 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[2]);
1733 /* ../lib/standard/collection/array.nit:24 */
1734 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1735 if (UNTAG_Bool(REGB2
)) {
1737 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1739 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1740 /* ../lib/standard/kernel.nit:238 */
1741 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1742 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1743 if (UNTAG_Bool(REGB3
)) {
1745 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1747 /* ../lib/standard/kernel.nit:235 */
1748 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1749 /* ../lib/standard/string.nit:317 */
1750 if (UNTAG_Bool(REGB2
)) {
1751 /* ../lib/standard/collection/array.nit:24 */
1752 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1753 if (UNTAG_Bool(REGB2
)) {
1755 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1757 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1758 /* ../lib/standard/kernel.nit:238 */
1759 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1760 /* ../lib/standard/string.nit:317 */
1761 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
1763 /* ../lib/standard/string.nit:318 */
1764 fra
.me
.REG
[3] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
1765 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
1766 if (UNTAG_Bool(REGB2
)) {
1768 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 318);
1770 fra
.me
.REG
[4] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2]);
1772 /* ../lib/standard/collection/array.nit:24 */
1773 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
1774 if (UNTAG_Bool(REGB1
)) {
1776 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1778 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1779 /* ../lib/standard/string.nit:604 */
1780 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[4])+UNTAG_Int(REGB1
), UNBOX_NativeString(fra
.me
.REG
[3])+UNTAG_Int(REGB2
), UNTAG_Int(REGB0
));;
1781 /* ../lib/standard/string.nit:319 */
1782 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
1783 /* ../lib/standard/kernel.nit:238 */
1784 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1785 /* ../lib/standard/string.nit:319 */
1786 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
1788 /* ../lib/standard/string.nit:321 */
1789 CALL_SUPER_standard___string___Buffer___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
1791 stack_frame_head
= fra
.me
.prev
;
1794 static const char LOCATE_standard___string___Buffer___to_s
[] = "string::Buffer::(string::Object::to_s)";
1795 val_t
standard___string___Buffer___to_s(val_t p0
){
1796 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1801 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1802 fra
.me
.file
= LOCATE_standard___string
;
1804 fra
.me
.meth
= LOCATE_standard___string___Buffer___to_s
;
1805 fra
.me
.has_broke
= 0;
1806 fra
.me
.REG_size
= 3;
1807 fra
.me
.nitni_local_ref_head
= NULL
;
1808 fra
.me
.REG
[0] = NIT_NULL
;
1809 fra
.me
.REG
[1] = NIT_NULL
;
1810 fra
.me
.REG
[2] = NIT_NULL
;
1812 /* ../lib/standard/collection/array.nit:24 */
1813 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1814 if (UNTAG_Bool(REGB0
)) {
1816 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1818 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1819 /* ../lib/standard/string.nit:328 */
1821 /* ../lib/standard/kernel.nit:238 */
1822 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1823 /* ../lib/standard/string.nit:619 */
1824 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1825 /* ../lib/standard/string.nit:329 */
1826 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1827 if (UNTAG_Bool(REGB1
)) {
1829 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 329);
1831 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1834 /* ../lib/standard/string.nit:604 */
1835 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
1836 /* ../lib/standard/collection/array.nit:24 */
1837 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1838 if (UNTAG_Bool(REGB2
)) {
1840 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1842 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1843 /* ../lib/standard/string.nit:332 */
1844 REGB1
= TAG_Char('\0');
1845 /* ../lib/standard/string.nit:603 */
1846 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]=UNTAG_Char(REGB1
);;
1847 /* ../lib/standard/collection/array.nit:24 */
1848 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1849 if (UNTAG_Bool(REGB1
)) {
1851 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1853 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1854 /* ../lib/standard/string.nit:334 */
1855 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB1
);
1858 stack_frame_head
= fra
.me
.prev
;
1859 return fra
.me
.REG
[1];
1861 static const char LOCATE_standard___string___Buffer_____l
[] = "string::Buffer::(kernel::Comparable::<)";
1862 val_t
standard___string___Buffer_____l(val_t p0
, val_t p1
){
1863 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1872 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1873 fra
.me
.file
= LOCATE_standard___string
;
1875 fra
.me
.meth
= LOCATE_standard___string___Buffer_____l
;
1876 fra
.me
.has_broke
= 0;
1877 fra
.me
.REG_size
= 2;
1878 fra
.me
.nitni_local_ref_head
= NULL
;
1879 fra
.me
.REG
[0] = NIT_NULL
;
1880 fra
.me
.REG
[1] = NIT_NULL
;
1883 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]), VTID_standard___kernel___Comparable___OTHER(fra
.me
.REG
[0]))) /*cast OTHER*/;
1884 if (UNTAG_Bool(REGB0
)) {
1886 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 0);
1888 /* ../lib/standard/string.nit:339 */
1890 /* ../lib/standard/collection/array.nit:24 */
1891 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1892 if (UNTAG_Bool(REGB1
)) {
1894 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1896 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1897 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1898 if (UNTAG_Bool(REGB2
)) {
1900 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1902 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1903 /* ../lib/standard/string.nit:342 */
1905 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1906 if (UNTAG_Bool(REGB3
)) {
1908 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1910 /* ../lib/standard/kernel.nit:235 */
1911 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1912 /* ../lib/standard/string.nit:342 */
1913 if (UNTAG_Bool(REGB3
)) {
1914 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1915 if (UNTAG_Bool(REGB3
)) {
1917 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1919 /* ../lib/standard/kernel.nit:235 */
1920 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1922 /* ../lib/standard/string.nit:342 */
1923 REGB4
= TAG_Bool(0);
1926 if (UNTAG_Bool(REGB3
)) {
1927 /* ../lib/standard/string.nit:343 */
1928 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
1929 /* ../lib/standard/kernel.nit:416 */
1930 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
1931 /* ../lib/standard/string.nit:344 */
1932 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
1933 /* ../lib/standard/kernel.nit:416 */
1934 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
1935 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
1936 if (UNTAG_Bool(REGB5
)) {
1938 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1940 /* ../lib/standard/kernel.nit:235 */
1941 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
1942 /* ../lib/standard/string.nit:345 */
1943 if (UNTAG_Bool(REGB5
)) {
1944 /* ../lib/standard/string.nit:346 */
1945 REGB5
= TAG_Bool(1);
1948 REGB6
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
1949 if (UNTAG_Bool(REGB6
)) {
1951 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1953 /* ../lib/standard/kernel.nit:235 */
1954 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
1955 /* ../lib/standard/string.nit:347 */
1956 if (UNTAG_Bool(REGB3
)) {
1957 /* ../lib/standard/string.nit:348 */
1958 REGB3
= TAG_Bool(0);
1963 /* ../lib/standard/string.nit:350 */
1965 /* ../lib/standard/kernel.nit:238 */
1966 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1967 /* ../lib/standard/string.nit:350 */
1970 /* ../lib/standard/string.nit:342 */
1975 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1976 if (UNTAG_Bool(REGB0
)) {
1978 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1980 /* ../lib/standard/kernel.nit:235 */
1981 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1982 /* ../lib/standard/string.nit:352 */
1983 if (UNTAG_Bool(REGB2
)) {
1984 /* ../lib/standard/string.nit:353 */
1985 REGB2
= TAG_Bool(1);
1989 /* ../lib/standard/string.nit:355 */
1990 REGB2
= TAG_Bool(0);
1995 stack_frame_head
= fra
.me
.prev
;
1998 static const char LOCATE_standard___string___Buffer___init
[] = "string::Buffer::init";
1999 void standard___string___Buffer___init(val_t p0
, int* init_table
){
2000 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
2001 struct {struct stack_frame_t me
;} fra
;
2004 if (init_table
[itpos2
]) return;
2005 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2006 fra
.me
.file
= LOCATE_standard___string
;
2008 fra
.me
.meth
= LOCATE_standard___string___Buffer___init
;
2009 fra
.me
.has_broke
= 0;
2010 fra
.me
.REG_size
= 1;
2011 fra
.me
.nitni_local_ref_head
= NULL
;
2012 fra
.me
.REG
[0] = NIT_NULL
;
2014 /* ../lib/standard/string.nit:362 */
2016 CALL_standard___string___Buffer___with_capacity(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, init_table
);
2017 stack_frame_head
= fra
.me
.prev
;
2018 init_table
[itpos2
] = 1;
2021 static const char LOCATE_standard___string___Buffer___from
[] = "string::Buffer::from";
2022 void standard___string___Buffer___from(val_t p0
, val_t p1
, int* init_table
){
2023 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
2024 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2029 if (init_table
[itpos3
]) return;
2030 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2031 fra
.me
.file
= LOCATE_standard___string
;
2033 fra
.me
.meth
= LOCATE_standard___string___Buffer___from
;
2034 fra
.me
.has_broke
= 0;
2035 fra
.me
.REG_size
= 3;
2036 fra
.me
.nitni_local_ref_head
= NULL
;
2037 fra
.me
.REG
[0] = NIT_NULL
;
2038 fra
.me
.REG
[1] = NIT_NULL
;
2039 fra
.me
.REG
[2] = NIT_NULL
;
2042 /* ../lib/standard/collection/array.nit:24 */
2043 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2044 if (UNTAG_Bool(REGB0
)) {
2046 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2048 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2049 /* ../lib/standard/string.nit:367 */
2051 /* ../lib/standard/kernel.nit:238 */
2052 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2053 /* ../lib/standard/string.nit:367 */
2054 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB1
;
2055 /* ../lib/standard/collection/array.nit:24 */
2056 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2057 if (UNTAG_Bool(REGB1
)) {
2059 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2061 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2062 /* ../lib/standard/string.nit:368 */
2063 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
2064 /* ../lib/standard/string.nit:369 */
2065 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
2066 if (UNTAG_Bool(REGB1
)) {
2068 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 369);
2070 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
2071 /* ../lib/standard/string.nit:619 */
2072 fra
.me
.REG
[2] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
2073 /* ../lib/standard/string.nit:369 */
2074 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
2075 /* ../lib/standard/string.nit:370 */
2076 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2077 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2078 if (UNTAG_Bool(REGB1
)) {
2080 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 370);
2082 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2083 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2084 if (UNTAG_Bool(REGB1
)) {
2086 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 370);
2088 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2091 /* ../lib/standard/string.nit:604 */
2092 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB0
), UNTAG_Int(REGB1
));;
2093 stack_frame_head
= fra
.me
.prev
;
2094 init_table
[itpos3
] = 1;
2097 static const char LOCATE_standard___string___Buffer___with_capacity
[] = "string::Buffer::with_capacity";
2098 void standard___string___Buffer___with_capacity(val_t p0
, val_t p1
, int* init_table
){
2099 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
2100 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2105 if (init_table
[itpos4
]) return;
2106 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2107 fra
.me
.file
= LOCATE_standard___string
;
2109 fra
.me
.meth
= LOCATE_standard___string___Buffer___with_capacity
;
2110 fra
.me
.has_broke
= 0;
2111 fra
.me
.REG_size
= 2;
2112 fra
.me
.nitni_local_ref_head
= NULL
;
2113 fra
.me
.REG
[0] = NIT_NULL
;
2114 fra
.me
.REG
[1] = NIT_NULL
;
2117 /* ../lib/standard/string.nit:376 */
2119 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2120 if (UNTAG_Bool(REGB2
)) {
2122 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2124 /* ../lib/standard/kernel.nit:236 */
2125 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2126 /* ../lib/standard/string.nit:376 */
2127 if (UNTAG_Bool(REGB1
)) {
2129 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 376);
2131 /* ../lib/standard/string.nit:378 */
2133 /* ../lib/standard/kernel.nit:238 */
2134 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2135 /* ../lib/standard/string.nit:619 */
2136 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
2137 /* ../lib/standard/string.nit:378 */
2138 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2139 /* ../lib/standard/string.nit:379 */
2140 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB0
;
2141 /* ../lib/standard/string.nit:380 */
2143 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
2144 stack_frame_head
= fra
.me
.prev
;
2145 init_table
[itpos4
] = 1;
2148 static const char LOCATE_standard___string___Buffer_____eqeq
[] = "string::Buffer::(kernel::Object::==)";
2149 val_t
standard___string___Buffer_____eqeq(val_t p0
, val_t p1
){
2150 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2158 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2159 fra
.me
.file
= LOCATE_standard___string
;
2161 fra
.me
.meth
= LOCATE_standard___string___Buffer_____eqeq
;
2162 fra
.me
.has_broke
= 0;
2163 fra
.me
.REG_size
= 2;
2164 fra
.me
.nitni_local_ref_head
= NULL
;
2165 fra
.me
.REG
[0] = NIT_NULL
;
2166 fra
.me
.REG
[1] = NIT_NULL
;
2169 /* ../lib/standard/string.nit:385 */
2170 REGB0
= TAG_Bool((fra
.me
.REG
[1]!=NIT_NULL
) && VAL_ISA(fra
.me
.REG
[1], COLOR_standard___string___Buffer
, ID_standard___string___Buffer
)) /*cast Buffer*/;
2171 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2172 if (UNTAG_Bool(REGB0
)) {
2173 REGB0
= TAG_Bool(1);
2175 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2178 if (UNTAG_Bool(REGB0
)) {
2179 REGB0
= TAG_Bool(0);
2182 /* ../lib/standard/collection/array.nit:24 */
2183 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2184 if (UNTAG_Bool(REGB1
)) {
2186 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2188 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2189 /* ../lib/standard/string.nit:387 */
2190 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2191 if (UNTAG_Bool(REGB2
)) {
2192 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 387);
2194 /* ../lib/standard/collection/array.nit:24 */
2195 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2196 if (UNTAG_Bool(REGB2
)) {
2198 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2200 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2201 /* ../lib/standard/string.nit:387 */
2202 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
2203 if (UNTAG_Bool(REGB3
)) {
2205 /* ../lib/standard/kernel.nit:230 */
2206 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
2207 /* ../lib/standard/string.nit:387 */
2210 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
2211 if (UNTAG_Bool(REGB3
)) {
2212 REGB3
= TAG_Bool(0);
2216 /* ../lib/standard/string.nit:388 */
2218 /* ../lib/standard/string.nit:389 */
2219 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2220 if (UNTAG_Bool(REGB2
)) {
2222 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 389);
2224 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2225 /* ../lib/standard/string.nit:390 */
2226 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
2227 if (UNTAG_Bool(REGB2
)) {
2229 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 390);
2231 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
2232 /* ../lib/standard/string.nit:391 */
2234 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2235 if (UNTAG_Bool(REGB2
)) {
2237 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2239 /* ../lib/standard/kernel.nit:235 */
2240 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
2241 /* ../lib/standard/string.nit:391 */
2242 if (UNTAG_Bool(REGB2
)) {
2243 /* ../lib/standard/string.nit:602 */
2244 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB3
)]);
2245 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]);
2246 /* ../lib/standard/string.nit:392 */
2247 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
2248 if (UNTAG_Bool(REGB5
)) {
2250 /* ../lib/standard/kernel.nit:381 */
2251 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
2252 /* ../lib/standard/string.nit:392 */
2255 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
2256 if (UNTAG_Bool(REGB5
)) {
2257 REGB5
= TAG_Bool(0);
2261 /* ../lib/standard/string.nit:393 */
2263 /* ../lib/standard/kernel.nit:238 */
2264 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
2265 /* ../lib/standard/string.nit:393 */
2268 /* ../lib/standard/string.nit:391 */
2273 /* ../lib/standard/string.nit:395 */
2274 REGB3
= TAG_Bool(1);
2278 stack_frame_head
= fra
.me
.prev
;
2281 static const char LOCATE_standard___string___Buffer___capacity
[] = "string::Buffer::capacity";
2282 val_t
standard___string___Buffer___capacity(val_t p0
){
2283 struct {struct stack_frame_t me
;} fra
;
2286 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2287 fra
.me
.file
= LOCATE_standard___string
;
2289 fra
.me
.meth
= LOCATE_standard___string___Buffer___capacity
;
2290 fra
.me
.has_broke
= 0;
2291 fra
.me
.REG_size
= 1;
2292 fra
.me
.nitni_local_ref_head
= NULL
;
2293 fra
.me
.REG
[0] = NIT_NULL
;
2295 /* ../lib/standard/string.nit:398 */
2296 REGB0
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
2297 if (UNTAG_Bool(REGB0
)) {
2299 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 398);
2301 REGB0
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
2302 stack_frame_head
= fra
.me
.prev
;
2305 static const char LOCATE_standard___string___Object___to_s
[] = "string::Object::to_s";
2306 val_t
standard___string___Object___to_s(val_t p0
){
2307 struct {struct stack_frame_t me
;} fra
;
2309 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2310 fra
.me
.file
= LOCATE_standard___string
;
2312 fra
.me
.meth
= LOCATE_standard___string___Object___to_s
;
2313 fra
.me
.has_broke
= 0;
2314 fra
.me
.REG_size
= 1;
2315 fra
.me
.nitni_local_ref_head
= NULL
;
2316 fra
.me
.REG
[0] = NIT_NULL
;
2318 /* ../lib/standard/string.nit:407 */
2319 fra
.me
.REG
[0] = CALL_standard___string___Object___inspect(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2322 stack_frame_head
= fra
.me
.prev
;
2323 return fra
.me
.REG
[0];
2325 static const char LOCATE_standard___string___Object___native_class_name
[] = "string::Object::native_class_name";
2326 val_t
standard___string___Object___native_class_name(val_t p0
){
2327 struct {struct stack_frame_t me
;} fra
;
2329 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2330 fra
.me
.file
= LOCATE_standard___string
;
2332 fra
.me
.meth
= LOCATE_standard___string___Object___native_class_name
;
2333 fra
.me
.has_broke
= 0;
2334 fra
.me
.REG_size
= 1;
2335 fra
.me
.nitni_local_ref_head
= NULL
;
2336 fra
.me
.REG
[0] = NIT_NULL
;
2338 /* ../lib/standard/string.nit:409 */
2339 fra
.me
.REG
[0] = BOX_NativeString(VAL2VFT(fra
.me
.REG
[0])[2].cname
);;
2340 stack_frame_head
= fra
.me
.prev
;
2341 return fra
.me
.REG
[0];
2343 static const char LOCATE_standard___string___Object___class_name
[] = "string::Object::class_name";
2344 val_t
standard___string___Object___class_name(val_t p0
){
2345 struct {struct stack_frame_t me
;} fra
;
2347 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2348 fra
.me
.file
= LOCATE_standard___string
;
2350 fra
.me
.meth
= LOCATE_standard___string___Object___class_name
;
2351 fra
.me
.has_broke
= 0;
2352 fra
.me
.REG_size
= 1;
2353 fra
.me
.nitni_local_ref_head
= NULL
;
2354 fra
.me
.REG
[0] = NIT_NULL
;
2356 /* ../lib/standard/string.nit:416 */
2357 fra
.me
.REG
[0] = CALL_standard___string___Object___native_class_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2358 fra
.me
.REG
[0] = NEW_String_standard___string___String___from_cstring(fra
.me
.REG
[0]);
2361 stack_frame_head
= fra
.me
.prev
;
2362 return fra
.me
.REG
[0];
2364 static const char LOCATE_standard___string___Object___inspect
[] = "string::Object::inspect";
2365 val_t
standard___string___Object___inspect(val_t p0
){
2366 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2369 static val_t once_value_1
; /* Once value */
2370 static val_t once_value_2
; /* Once value */
2371 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2372 fra
.me
.file
= LOCATE_standard___string
;
2374 fra
.me
.meth
= LOCATE_standard___string___Object___inspect
;
2375 fra
.me
.has_broke
= 0;
2376 fra
.me
.REG_size
= 3;
2377 fra
.me
.nitni_local_ref_head
= NULL
;
2378 fra
.me
.REG
[0] = NIT_NULL
;
2379 fra
.me
.REG
[1] = NIT_NULL
;
2380 fra
.me
.REG
[2] = NIT_NULL
;
2382 /* ../lib/standard/string.nit:422 */
2384 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2385 if (!once_value_1
) {
2386 fra
.me
.REG
[2] = BOX_NativeString("<");
2388 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2389 once_value_1
= fra
.me
.REG
[2];
2390 register_static_object(&once_value_1
);
2391 } else fra
.me
.REG
[2] = once_value_1
;
2392 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2393 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2394 fra
.me
.REG
[0] = CALL_standard___string___Object___inspect_head(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2395 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2396 if (!once_value_2
) {
2397 fra
.me
.REG
[0] = BOX_NativeString(">");
2399 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2400 once_value_2
= fra
.me
.REG
[0];
2401 register_static_object(&once_value_2
);
2402 } else fra
.me
.REG
[0] = once_value_2
;
2403 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2404 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2405 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2408 stack_frame_head
= fra
.me
.prev
;
2409 return fra
.me
.REG
[1];
2411 static const char LOCATE_standard___string___Object___inspect_head
[] = "string::Object::inspect_head";
2412 val_t
standard___string___Object___inspect_head(val_t p0
){
2413 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2416 static val_t once_value_1
; /* Once value */
2417 static val_t once_value_2
; /* Once value */
2418 static val_t once_value_3
; /* Once value */
2419 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2420 fra
.me
.file
= LOCATE_standard___string
;
2422 fra
.me
.meth
= LOCATE_standard___string___Object___inspect_head
;
2423 fra
.me
.has_broke
= 0;
2424 fra
.me
.REG_size
= 3;
2425 fra
.me
.nitni_local_ref_head
= NULL
;
2426 fra
.me
.REG
[0] = NIT_NULL
;
2427 fra
.me
.REG
[1] = NIT_NULL
;
2428 fra
.me
.REG
[2] = NIT_NULL
;
2430 /* ../lib/standard/string.nit:429 */
2432 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
2433 if (!once_value_1
) {
2434 fra
.me
.REG
[2] = BOX_NativeString("");
2436 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2437 once_value_1
= fra
.me
.REG
[2];
2438 register_static_object(&once_value_1
);
2439 } else fra
.me
.REG
[2] = once_value_1
;
2440 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2441 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2442 fra
.me
.REG
[2] = CALL_standard___string___Object___class_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2443 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2444 if (!once_value_2
) {
2445 fra
.me
.REG
[2] = BOX_NativeString(":#");
2447 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
2448 once_value_2
= fra
.me
.REG
[2];
2449 register_static_object(&once_value_2
);
2450 } else fra
.me
.REG
[2] = once_value_2
;
2451 fra
.me
.REG
[2] = fra
.me
.REG
[2];
2452 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
2453 REGB0
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2454 fra
.me
.REG
[0] = CALL_standard___string___Int___to_hex(REGB0
)(REGB0
);
2455 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2456 if (!once_value_3
) {
2457 fra
.me
.REG
[0] = BOX_NativeString("");
2459 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2460 once_value_3
= fra
.me
.REG
[0];
2461 register_static_object(&once_value_3
);
2462 } else fra
.me
.REG
[0] = once_value_3
;
2463 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2464 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
2465 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2468 stack_frame_head
= fra
.me
.prev
;
2469 return fra
.me
.REG
[1];
2471 static const char LOCATE_standard___string___Object___args
[] = "string::Object::args";
2472 val_t
standard___string___Object___args(val_t p0
){
2473 struct {struct stack_frame_t me
;} fra
;
2475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2476 fra
.me
.file
= LOCATE_standard___string
;
2478 fra
.me
.meth
= LOCATE_standard___string___Object___args
;
2479 fra
.me
.has_broke
= 0;
2480 fra
.me
.REG_size
= 1;
2481 fra
.me
.nitni_local_ref_head
= NULL
;
2482 fra
.me
.REG
[0] = NIT_NULL
;
2484 /* ../lib/standard/string.nit:434 */
2485 fra
.me
.REG
[0] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2486 fra
.me
.REG
[0] = CALL_standard___string___Object___args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2489 stack_frame_head
= fra
.me
.prev
;
2490 return fra
.me
.REG
[0];
2492 static const char LOCATE_standard___string___Bool___to_s
[] = "string::Bool::(string::Object::to_s)";
2493 val_t
standard___string___Bool___to_s(val_t p0
){
2494 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2497 static val_t once_value_1
; /* Once value */
2498 static val_t once_value_2
; /* Once value */
2499 static val_t once_value_4
; /* Once value */
2500 static val_t once_value_5
; /* Once value */
2501 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2502 fra
.me
.file
= LOCATE_standard___string
;
2504 fra
.me
.meth
= LOCATE_standard___string___Bool___to_s
;
2505 fra
.me
.has_broke
= 0;
2506 fra
.me
.REG_size
= 2;
2507 fra
.me
.nitni_local_ref_head
= NULL
;
2508 fra
.me
.REG
[0] = NIT_NULL
;
2509 fra
.me
.REG
[1] = NIT_NULL
;
2511 /* ../lib/standard/string.nit:441 */
2512 if (UNTAG_Bool(REGB0
)) {
2513 /* ../lib/standard/string.nit:442 */
2514 if (!once_value_1
) {
2515 if (!once_value_2
) {
2516 fra
.me
.REG
[0] = BOX_NativeString("true");
2518 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
2519 once_value_2
= fra
.me
.REG
[0];
2520 register_static_object(&once_value_2
);
2521 } else fra
.me
.REG
[0] = once_value_2
;
2522 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2523 once_value_1
= fra
.me
.REG
[0];
2524 register_static_object(&once_value_1
);
2525 } else fra
.me
.REG
[0] = once_value_1
;
2526 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2529 /* ../lib/standard/string.nit:444 */
2530 if (!once_value_4
) {
2531 if (!once_value_5
) {
2532 fra
.me
.REG
[1] = BOX_NativeString("false");
2534 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[1], REGB0
);
2535 once_value_5
= fra
.me
.REG
[1];
2536 register_static_object(&once_value_5
);
2537 } else fra
.me
.REG
[1] = once_value_5
;
2538 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2539 once_value_4
= fra
.me
.REG
[1];
2540 register_static_object(&once_value_4
);
2541 } else fra
.me
.REG
[1] = once_value_4
;
2542 fra
.me
.REG
[1] = fra
.me
.REG
[1];
2543 fra
.me
.REG
[0] = fra
.me
.REG
[1];
2547 stack_frame_head
= fra
.me
.prev
;
2548 return fra
.me
.REG
[0];
2550 static const char LOCATE_standard___string___Int___fill_buffer
[] = "string::Int::fill_buffer";
2551 void standard___string___Int___fill_buffer(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
2552 struct {struct stack_frame_t me
;} fra
;
2559 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2560 fra
.me
.file
= LOCATE_standard___string
;
2562 fra
.me
.meth
= LOCATE_standard___string___Int___fill_buffer
;
2563 fra
.me
.has_broke
= 0;
2564 fra
.me
.REG_size
= 1;
2565 fra
.me
.nitni_local_ref_head
= NULL
;
2566 fra
.me
.REG
[0] = NIT_NULL
;
2571 /* ../lib/standard/string.nit:456 */
2573 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2574 if (UNTAG_Bool(REGB3
)) {
2576 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2578 /* ../lib/standard/kernel.nit:235 */
2579 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
2580 /* ../lib/standard/string.nit:456 */
2581 if (UNTAG_Bool(REGB2
)) {
2582 /* ../lib/standard/kernel.nit:239 */
2583 REGB2
= TAG_Int(-UNTAG_Int(REGB0
));
2584 /* ../lib/standard/string.nit:458 */
2586 REGB4
= TAG_Char('-');
2587 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
2589 /* ../lib/standard/string.nit:459 */
2591 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
2592 if (UNTAG_Bool(REGB3
)) {
2594 /* ../lib/standard/kernel.nit:230 */
2595 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
2596 /* ../lib/standard/string.nit:459 */
2599 if (UNTAG_Bool(REGB3
)) {
2600 /* ../lib/standard/string.nit:460 */
2602 REGB4
= TAG_Char('0');
2603 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
2604 /* ../lib/standard/string.nit:461 */
2607 /* ../lib/standard/string.nit:463 */
2611 /* ../lib/standard/string.nit:466 */
2612 REGB0
= CALL_standard___kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
2614 /* ../lib/standard/kernel.nit:240 */
2615 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
2616 /* ../lib/standard/string.nit:467 */
2619 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2620 if (UNTAG_Bool(REGB3
)) {
2622 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2624 /* ../lib/standard/kernel.nit:236 */
2625 REGB0
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB0
));
2626 /* ../lib/standard/string.nit:467 */
2627 if (UNTAG_Bool(REGB0
)) {
2629 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2630 if (UNTAG_Bool(REGB3
)) {
2632 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2634 /* ../lib/standard/kernel.nit:237 */
2635 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
2637 /* ../lib/standard/string.nit:467 */
2638 REGB3
= TAG_Bool(0);
2641 if (UNTAG_Bool(REGB0
)) {
2642 /* ../lib/standard/kernel.nit:243 */
2643 REGB0
= TAG_Int(UNTAG_Int(REGB2
)%UNTAG_Int(REGB1
));
2644 /* ../lib/standard/string.nit:468 */
2645 REGB0
= CALL_standard___kernel___Int___to_c(REGB0
)(REGB0
);
2646 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
, REGB0
);
2647 /* ../lib/standard/kernel.nit:242 */
2648 REGB0
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
2649 /* ../lib/standard/string.nit:469 */
2651 /* ../lib/standard/string.nit:470 */
2653 /* ../lib/standard/kernel.nit:240 */
2654 REGB0
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB0
));
2655 /* ../lib/standard/string.nit:470 */
2658 /* ../lib/standard/string.nit:467 */
2664 stack_frame_head
= fra
.me
.prev
;
2667 static const char LOCATE_standard___string___Int___to_s
[] = "string::Int::(string::Object::to_s)";
2668 val_t
standard___string___Int___to_s(val_t p0
){
2669 struct {struct stack_frame_t me
;} fra
;
2674 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2675 fra
.me
.file
= LOCATE_standard___string
;
2677 fra
.me
.meth
= LOCATE_standard___string___Int___to_s
;
2678 fra
.me
.has_broke
= 0;
2679 fra
.me
.REG_size
= 1;
2680 fra
.me
.nitni_local_ref_head
= NULL
;
2681 fra
.me
.REG
[0] = NIT_NULL
;
2683 /* ../lib/standard/string.nit:475 */
2684 REGB1
= TAG_Int(10);
2685 REGB2
= TAG_Bool(1);
2686 fra
.me
.REG
[0] = CALL_standard___string___Int___to_base(REGB0
)(REGB0
, REGB1
, REGB2
);
2689 stack_frame_head
= fra
.me
.prev
;
2690 return fra
.me
.REG
[0];
2692 static const char LOCATE_standard___string___Int___to_hex
[] = "string::Int::to_hex";
2693 val_t
standard___string___Int___to_hex(val_t p0
){
2694 struct {struct stack_frame_t me
;} fra
;
2699 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2700 fra
.me
.file
= LOCATE_standard___string
;
2702 fra
.me
.meth
= LOCATE_standard___string___Int___to_hex
;
2703 fra
.me
.has_broke
= 0;
2704 fra
.me
.REG_size
= 1;
2705 fra
.me
.nitni_local_ref_head
= NULL
;
2706 fra
.me
.REG
[0] = NIT_NULL
;
2708 /* ../lib/standard/string.nit:478 */
2709 REGB1
= TAG_Int(16);
2710 REGB2
= TAG_Bool(0);
2711 fra
.me
.REG
[0] = CALL_standard___string___Int___to_base(REGB0
)(REGB0
, REGB1
, REGB2
);
2714 stack_frame_head
= fra
.me
.prev
;
2715 return fra
.me
.REG
[0];
2717 static const char LOCATE_standard___string___Int___to_base
[] = "string::Int::to_base";
2718 val_t
standard___string___Int___to_base(val_t p0
, val_t p1
, val_t p2
){
2719 struct {struct stack_frame_t me
;} fra
;
2726 static val_t once_value_1
; /* Once value */
2727 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2728 fra
.me
.file
= LOCATE_standard___string
;
2730 fra
.me
.meth
= LOCATE_standard___string___Int___to_base
;
2731 fra
.me
.has_broke
= 0;
2732 fra
.me
.REG_size
= 1;
2733 fra
.me
.nitni_local_ref_head
= NULL
;
2734 fra
.me
.REG
[0] = NIT_NULL
;
2738 /* ../lib/standard/string.nit:483 */
2739 REGB3
= CALL_standard___kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
2740 /* ../lib/standard/string.nit:484 */
2741 if (!once_value_1
) {
2742 fra
.me
.REG
[0] = BOX_NativeString(" ");
2744 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB4
);
2745 once_value_1
= fra
.me
.REG
[0];
2746 register_static_object(&once_value_1
);
2747 } else fra
.me
.REG
[0] = once_value_1
;
2748 fra
.me
.REG
[0] = fra
.me
.REG
[0];
2749 fra
.me
.REG
[0] = CALL_standard___string___String_____star(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
2750 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___from(fra
.me
.REG
[0]);
2751 /* ../lib/standard/string.nit:485 */
2752 CALL_standard___string___Int___fill_buffer(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
, REGB2
);
2753 /* ../lib/standard/string.nit:486 */
2754 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2757 stack_frame_head
= fra
.me
.prev
;
2758 return fra
.me
.REG
[0];
2760 static const char LOCATE_standard___string___Float___to_s
[] = "string::Float::(string::Object::to_s)";
2761 val_t
standard___string___Float___to_s(val_t p0
){
2762 struct {struct stack_frame_t me
;} fra
;
2765 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2766 fra
.me
.file
= LOCATE_standard___string
;
2768 fra
.me
.meth
= LOCATE_standard___string___Float___to_s
;
2769 fra
.me
.has_broke
= 0;
2770 fra
.me
.REG_size
= 1;
2771 fra
.me
.nitni_local_ref_head
= NULL
;
2772 fra
.me
.REG
[0] = NIT_NULL
;
2774 /* ../lib/standard/string.nit:491 */
2776 fra
.me
.REG
[0] = CALL_standard___string___Float___to_precision(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
2779 stack_frame_head
= fra
.me
.prev
;
2780 return fra
.me
.REG
[0];
2782 static const char LOCATE_standard___string___Float___to_precision
[] = "string::Float::to_precision";
2783 val_t
standard___string___Float___to_precision(val_t p0
, val_t p1
){
2784 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2790 static val_t once_value_3
; /* Once value */
2791 static val_t once_value_4
; /* Once value */
2792 static val_t once_value_5
; /* Once value */
2793 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2794 fra
.me
.file
= LOCATE_standard___string
;
2796 fra
.me
.meth
= LOCATE_standard___string___Float___to_precision
;
2797 fra
.me
.has_broke
= 0;
2798 fra
.me
.REG_size
= 4;
2799 fra
.me
.nitni_local_ref_head
= NULL
;
2800 fra
.me
.REG
[0] = NIT_NULL
;
2801 fra
.me
.REG
[1] = NIT_NULL
;
2802 fra
.me
.REG
[2] = NIT_NULL
;
2803 fra
.me
.REG
[3] = NIT_NULL
;
2806 /* ../lib/standard/string.nit:496 */
2808 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2809 if (UNTAG_Bool(REGB2
)) {
2811 /* ../lib/standard/kernel.nit:230 */
2812 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2813 /* ../lib/standard/string.nit:496 */
2816 if (UNTAG_Bool(REGB2
)) {
2817 /* ../lib/standard/kernel.nit:219 */
2818 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[0]));
2819 /* ../lib/standard/string.nit:496 */
2820 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2823 /* ../lib/standard/kernel.nit:219 */
2824 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[0]));
2825 /* ../lib/standard/string.nit:499 */
2826 fra
.me
.REG
[2] = BOX_Float(1.0);
2827 /* ../lib/standard/string.nit:500 */
2830 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2831 if (UNTAG_Bool(REGB3
)) {
2833 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2835 /* ../lib/standard/kernel.nit:237 */
2836 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2837 /* ../lib/standard/string.nit:500 */
2838 if (UNTAG_Bool(REGB1
)) {
2839 /* ../lib/standard/string.nit:501 */
2840 fra
.me
.REG
[3] = BOX_Float(10.0);
2841 /* ../lib/standard/kernel.nit:216 */
2842 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[2])*UNBOX_Float(fra
.me
.REG
[3]));
2843 /* ../lib/standard/string.nit:501 */
2844 fra
.me
.REG
[2] = fra
.me
.REG
[3];
2845 /* ../lib/standard/string.nit:502 */
2847 /* ../lib/standard/kernel.nit:240 */
2848 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
2849 /* ../lib/standard/string.nit:502 */
2852 /* ../lib/standard/string.nit:500 */
2857 /* ../lib/standard/kernel.nit:247 */
2858 fra
.me
.REG
[3] = BOX_Float((float)UNTAG_Int(REGB2
));
2859 /* ../lib/standard/kernel.nit:215 */
2860 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[0])-UNBOX_Float(fra
.me
.REG
[3]));
2861 /* ../lib/standard/kernel.nit:216 */
2862 fra
.me
.REG
[2] = BOX_Float(UNBOX_Float(fra
.me
.REG
[3])*UNBOX_Float(fra
.me
.REG
[2]));
2863 /* ../lib/standard/kernel.nit:219 */
2864 REGB0
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[2]));
2865 /* ../lib/standard/string.nit:505 */
2867 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
2868 if (!once_value_3
) {
2869 fra
.me
.REG
[3] = BOX_NativeString("");
2871 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB1
);
2872 once_value_3
= fra
.me
.REG
[3];
2873 register_static_object(&once_value_3
);
2874 } else fra
.me
.REG
[3] = once_value_3
;
2875 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2876 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2877 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
2878 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2879 if (!once_value_4
) {
2880 fra
.me
.REG
[3] = BOX_NativeString(".");
2882 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB2
);
2883 once_value_4
= fra
.me
.REG
[3];
2884 register_static_object(&once_value_4
);
2885 } else fra
.me
.REG
[3] = once_value_4
;
2886 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2887 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2888 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(REGB0
)(REGB0
);
2889 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2890 if (!once_value_5
) {
2891 fra
.me
.REG
[3] = BOX_NativeString("");
2893 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
2894 once_value_5
= fra
.me
.REG
[3];
2895 register_static_object(&once_value_5
);
2896 } else fra
.me
.REG
[3] = once_value_5
;
2897 fra
.me
.REG
[3] = fra
.me
.REG
[3];
2898 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
2899 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
2900 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2903 stack_frame_head
= fra
.me
.prev
;
2904 return fra
.me
.REG
[1];
2906 static const char LOCATE_standard___string___Char___to_s
[] = "string::Char::(string::Object::to_s)";
2907 val_t
standard___string___Char___to_s(val_t p0
){
2908 struct {struct stack_frame_t me
;} fra
;
2912 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2913 fra
.me
.file
= LOCATE_standard___string
;
2915 fra
.me
.meth
= LOCATE_standard___string___Char___to_s
;
2916 fra
.me
.has_broke
= 0;
2917 fra
.me
.REG_size
= 1;
2918 fra
.me
.nitni_local_ref_head
= NULL
;
2919 fra
.me
.REG
[0] = NIT_NULL
;
2921 /* ../lib/standard/string.nit:512 */
2923 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB1
);
2924 /* ../lib/standard/string.nit:513 */
2926 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
2927 /* ../lib/standard/string.nit:514 */
2928 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2931 stack_frame_head
= fra
.me
.prev
;
2932 return fra
.me
.REG
[0];
2934 static const char LOCATE_standard___string___Collection___to_s
[] = "string::Collection::(string::Object::to_s)";
2935 val_t
standard___string___Collection___to_s(val_t p0
){
2936 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2938 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2939 fra
.me
.file
= LOCATE_standard___string
;
2941 fra
.me
.meth
= LOCATE_standard___string___Collection___to_s
;
2942 fra
.me
.has_broke
= 0;
2943 fra
.me
.REG_size
= 2;
2944 fra
.me
.nitni_local_ref_head
= NULL
;
2945 fra
.me
.REG
[0] = NIT_NULL
;
2946 fra
.me
.REG
[1] = NIT_NULL
;
2948 /* ../lib/standard/string.nit:522 */
2949 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
2950 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___string___Collection___to_s_1
));
2951 /* ../lib/standard/string.nit:524 */
2952 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2955 stack_frame_head
= fra
.me
.prev
;
2956 return fra
.me
.REG
[1];
2958 void OC_standard___string___Collection___to_s_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
2959 struct {struct stack_frame_t me
;} fra
;
2964 /* ../lib/standard/string.nit:523 */
2965 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2966 fra
.me
.file
= LOCATE_standard___string
;
2968 fra
.me
.meth
= LOCATE_standard___string___Collection___to_s
;
2969 fra
.me
.has_broke
= 0;
2970 fra
.me
.REG_size
= 1;
2971 fra
.me
.nitni_local_ref_head
= NULL
;
2972 fra
.me
.REG
[0] = NIT_NULL
;
2973 fra
.me
.closure_ctx
= closctx_param
;
2974 fra
.me
.closure_funs
= CREG
;
2976 CREG
[0] = clos_fun0
;
2977 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2978 if (UNTAG_Bool(REGB0
)) {
2980 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2981 if (UNTAG_Bool(REGB1
)) {
2982 REGB1
= TAG_Bool(0);
2985 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
2989 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2990 if (UNTAG_Bool(REGB0
)) {
2991 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
2992 if (UNTAG_Bool(REGB0
)) {
2993 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 523);
2995 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2996 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
2998 stack_frame_head
= fra
.me
.prev
;
3001 static const char LOCATE_standard___string___Collection___join
[] = "string::Collection::join";
3002 val_t
standard___string___Collection___join(val_t p0
, val_t p1
){
3003 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3007 static val_t once_value_1
; /* Once value */
3008 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3009 fra
.me
.file
= LOCATE_standard___string
;
3011 fra
.me
.meth
= LOCATE_standard___string___Collection___join
;
3012 fra
.me
.has_broke
= 0;
3013 fra
.me
.REG_size
= 6;
3014 fra
.me
.nitni_local_ref_head
= NULL
;
3015 fra
.me
.REG
[0] = NIT_NULL
;
3016 fra
.me
.REG
[1] = NIT_NULL
;
3017 fra
.me
.REG
[2] = NIT_NULL
;
3018 fra
.me
.REG
[3] = NIT_NULL
;
3019 fra
.me
.REG
[4] = NIT_NULL
;
3020 fra
.me
.REG
[5] = NIT_NULL
;
3023 /* ../lib/standard/string.nit:530 */
3024 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3025 if (UNTAG_Bool(REGB0
)) {
3026 if (!once_value_1
) {
3027 fra
.me
.REG
[2] = BOX_NativeString("");
3029 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
3030 once_value_1
= fra
.me
.REG
[2];
3031 register_static_object(&once_value_1
);
3032 } else fra
.me
.REG
[2] = once_value_1
;
3033 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3036 /* ../lib/standard/string.nit:532 */
3037 fra
.me
.REG
[3] = NEW_Buffer_standard___string___Buffer___init();
3038 /* ../lib/standard/string.nit:535 */
3039 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3040 /* ../lib/standard/string.nit:536 */
3041 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3042 /* ../lib/standard/string.nit:537 */
3043 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3044 if (UNTAG_Bool(REGB0
)) {
3046 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3047 if (UNTAG_Bool(REGB1
)) {
3048 REGB1
= TAG_Bool(0);
3051 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3055 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3056 if (UNTAG_Bool(REGB0
)) {
3057 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3058 if (UNTAG_Bool(REGB0
)) {
3059 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 537);
3061 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3062 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3064 /* ../lib/standard/string.nit:540 */
3065 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3066 /* ../lib/standard/string.nit:541 */
3068 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3069 if (UNTAG_Bool(REGB0
)) {
3070 /* ../lib/standard/string.nit:542 */
3071 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
3072 /* ../lib/standard/string.nit:543 */
3073 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3074 fra
.me
.REG
[4] = fra
.me
.REG
[5];
3075 /* ../lib/standard/string.nit:544 */
3076 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3077 if (UNTAG_Bool(REGB0
)) {
3079 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3080 if (UNTAG_Bool(REGB1
)) {
3081 REGB1
= TAG_Bool(0);
3084 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
3088 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3089 if (UNTAG_Bool(REGB0
)) {
3090 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
3091 if (UNTAG_Bool(REGB0
)) {
3092 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 544);
3094 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3095 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
3097 /* ../lib/standard/string.nit:545 */
3098 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3100 /* ../lib/standard/string.nit:541 */
3105 /* ../lib/standard/string.nit:547 */
3106 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3107 fra
.me
.REG
[2] = fra
.me
.REG
[3];
3110 stack_frame_head
= fra
.me
.prev
;
3111 return fra
.me
.REG
[2];
3113 static const char LOCATE_standard___string___Array___to_s
[] = "string::Array::(string::Object::to_s)";
3114 val_t
standard___string___Array___to_s(val_t p0
){
3115 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3122 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3123 fra
.me
.file
= LOCATE_standard___string
;
3125 fra
.me
.meth
= LOCATE_standard___string___Array___to_s
;
3126 fra
.me
.has_broke
= 0;
3127 fra
.me
.REG_size
= 3;
3128 fra
.me
.nitni_local_ref_head
= NULL
;
3129 fra
.me
.REG
[0] = NIT_NULL
;
3130 fra
.me
.REG
[1] = NIT_NULL
;
3131 fra
.me
.REG
[2] = NIT_NULL
;
3133 /* ../lib/standard/string.nit:555 */
3134 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
3135 /* ../lib/standard/string.nit:556 */
3137 /* ../lib/standard/collection/array.nit:24 */
3138 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3139 if (UNTAG_Bool(REGB1
)) {
3141 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3143 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3144 /* ../lib/standard/string.nit:558 */
3146 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3147 if (UNTAG_Bool(REGB2
)) {
3149 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3151 /* ../lib/standard/kernel.nit:235 */
3152 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3153 /* ../lib/standard/string.nit:558 */
3154 if (UNTAG_Bool(REGB2
)) {
3155 /* ../lib/standard/collection/array.nit:278 */
3156 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3158 /* ../lib/standard/collection/array.nit:280 */
3160 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3161 if (UNTAG_Bool(REGB4
)) {
3163 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3165 /* ../lib/standard/kernel.nit:236 */
3166 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
3167 /* ../lib/standard/collection/array.nit:280 */
3168 if (UNTAG_Bool(REGB3
)) {
3169 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3170 if (UNTAG_Bool(REGB3
)) {
3172 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 280);
3174 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3175 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
3176 if (UNTAG_Bool(REGB4
)) {
3178 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3180 /* ../lib/standard/kernel.nit:235 */
3181 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
3183 /* ../lib/standard/collection/array.nit:280 */
3184 REGB4
= TAG_Bool(0);
3187 if (UNTAG_Bool(REGB3
)) {
3189 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 280);
3191 /* ../lib/standard/collection/array.nit:281 */
3192 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
3193 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3194 if (UNTAG_Bool(REGB3
)) {
3195 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 281);
3197 /* ../lib/standard/collection/array.nit:718 */
3198 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
3199 /* ../lib/standard/collection/array.nit:281 */
3202 /* ../lib/standard/string.nit:560 */
3203 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3204 if (UNTAG_Bool(REGB2
)) {
3206 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3207 if (UNTAG_Bool(REGB3
)) {
3208 REGB3
= TAG_Bool(0);
3211 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3215 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
3216 if (UNTAG_Bool(REGB2
)) {
3217 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3218 if (UNTAG_Bool(REGB2
)) {
3219 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 560);
3221 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
3222 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3224 /* ../lib/standard/string.nit:561 */
3226 /* ../lib/standard/kernel.nit:238 */
3227 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
3228 /* ../lib/standard/string.nit:561 */
3231 /* ../lib/standard/string.nit:558 */
3236 /* ../lib/standard/string.nit:563 */
3237 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3240 stack_frame_head
= fra
.me
.prev
;
3241 return fra
.me
.REG
[1];
3243 static const char LOCATE_standard___string___Map___join
[] = "string::Map::join";
3244 val_t
standard___string___Map___join(val_t p0
, val_t p1
, val_t p2
){
3245 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
3249 static val_t once_value_1
; /* Once value */
3250 static val_t once_value_3
; /* Once value */
3251 static val_t once_value_4
; /* Once value */
3252 static val_t once_value_5
; /* Once value */
3253 static val_t once_value_6
; /* Once value */
3254 static val_t once_value_7
; /* Once value */
3255 static val_t once_value_8
; /* Once value */
3256 static val_t once_value_9
; /* Once value */
3257 static val_t once_value_10
; /* Once value */
3258 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3259 fra
.me
.file
= LOCATE_standard___string
;
3261 fra
.me
.meth
= LOCATE_standard___string___Map___join
;
3262 fra
.me
.has_broke
= 0;
3263 fra
.me
.REG_size
= 9;
3264 fra
.me
.nitni_local_ref_head
= NULL
;
3265 fra
.me
.REG
[0] = NIT_NULL
;
3266 fra
.me
.REG
[1] = NIT_NULL
;
3267 fra
.me
.REG
[2] = NIT_NULL
;
3268 fra
.me
.REG
[3] = NIT_NULL
;
3269 fra
.me
.REG
[4] = NIT_NULL
;
3270 fra
.me
.REG
[5] = NIT_NULL
;
3271 fra
.me
.REG
[6] = NIT_NULL
;
3272 fra
.me
.REG
[7] = NIT_NULL
;
3273 fra
.me
.REG
[8] = NIT_NULL
;
3277 /* ../lib/standard/string.nit:573 */
3278 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3279 if (UNTAG_Bool(REGB0
)) {
3280 if (!once_value_1
) {
3281 fra
.me
.REG
[3] = BOX_NativeString("");
3283 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
3284 once_value_1
= fra
.me
.REG
[3];
3285 register_static_object(&once_value_1
);
3286 } else fra
.me
.REG
[3] = once_value_1
;
3287 fra
.me
.REG
[3] = fra
.me
.REG
[3];
3290 /* ../lib/standard/string.nit:575 */
3291 fra
.me
.REG
[4] = NEW_Buffer_standard___string___Buffer___init();
3292 /* ../lib/standard/string.nit:578 */
3293 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3294 /* ../lib/standard/string.nit:579 */
3295 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3296 /* ../lib/standard/string.nit:580 */
3297 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3298 /* ../lib/standard/string.nit:581 */
3299 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3300 if (UNTAG_Bool(REGB0
)) {
3302 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3303 if (UNTAG_Bool(REGB1
)) {
3304 REGB1
= TAG_Bool(0);
3307 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3311 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3312 if (UNTAG_Bool(REGB0
)) {
3314 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3315 if (!once_value_3
) {
3316 fra
.me
.REG
[8] = BOX_NativeString("");
3318 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3319 once_value_3
= fra
.me
.REG
[8];
3320 register_static_object(&once_value_3
);
3321 } else fra
.me
.REG
[8] = once_value_3
;
3322 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3323 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3324 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3325 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3326 if (!once_value_4
) {
3327 fra
.me
.REG
[8] = BOX_NativeString("");
3329 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3330 once_value_4
= fra
.me
.REG
[8];
3331 register_static_object(&once_value_4
);
3332 } else fra
.me
.REG
[8] = once_value_4
;
3333 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3334 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3335 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3336 if (!once_value_5
) {
3337 fra
.me
.REG
[8] = BOX_NativeString("");
3339 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3340 once_value_5
= fra
.me
.REG
[8];
3341 register_static_object(&once_value_5
);
3342 } else fra
.me
.REG
[8] = once_value_5
;
3343 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3344 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3345 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3346 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3347 if (!once_value_6
) {
3348 fra
.me
.REG
[8] = BOX_NativeString("");
3350 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3351 once_value_6
= fra
.me
.REG
[8];
3352 register_static_object(&once_value_6
);
3353 } else fra
.me
.REG
[8] = once_value_6
;
3354 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3355 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3356 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3357 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3359 /* ../lib/standard/string.nit:584 */
3360 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3361 /* ../lib/standard/string.nit:585 */
3363 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3364 if (UNTAG_Bool(REGB0
)) {
3365 /* ../lib/standard/string.nit:586 */
3366 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
3367 /* ../lib/standard/string.nit:587 */
3368 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3369 fra
.me
.REG
[5] = fra
.me
.REG
[7];
3370 /* ../lib/standard/string.nit:588 */
3371 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3372 fra
.me
.REG
[6] = fra
.me
.REG
[7];
3373 /* ../lib/standard/string.nit:589 */
3374 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3375 if (UNTAG_Bool(REGB0
)) {
3377 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
3378 if (UNTAG_Bool(REGB1
)) {
3379 REGB1
= TAG_Bool(0);
3382 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
3386 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3387 if (UNTAG_Bool(REGB0
)) {
3389 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3390 if (!once_value_7
) {
3391 fra
.me
.REG
[8] = BOX_NativeString("");
3393 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3394 once_value_7
= fra
.me
.REG
[8];
3395 register_static_object(&once_value_7
);
3396 } else fra
.me
.REG
[8] = once_value_7
;
3397 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3398 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3399 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
3400 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3401 if (!once_value_8
) {
3402 fra
.me
.REG
[8] = BOX_NativeString("");
3404 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3405 once_value_8
= fra
.me
.REG
[8];
3406 register_static_object(&once_value_8
);
3407 } else fra
.me
.REG
[8] = once_value_8
;
3408 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3409 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3410 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
3411 if (!once_value_9
) {
3412 fra
.me
.REG
[8] = BOX_NativeString("");
3414 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3415 once_value_9
= fra
.me
.REG
[8];
3416 register_static_object(&once_value_9
);
3417 } else fra
.me
.REG
[8] = once_value_9
;
3418 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3419 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3420 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
3421 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3422 if (!once_value_10
) {
3423 fra
.me
.REG
[8] = BOX_NativeString("");
3425 fra
.me
.REG
[8] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[8], REGB0
);
3426 once_value_10
= fra
.me
.REG
[8];
3427 register_static_object(&once_value_10
);
3428 } else fra
.me
.REG
[8] = once_value_10
;
3429 fra
.me
.REG
[8] = fra
.me
.REG
[8];
3430 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
3431 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
3432 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
3434 /* ../lib/standard/string.nit:590 */
3435 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3437 /* ../lib/standard/string.nit:585 */
3442 /* ../lib/standard/string.nit:592 */
3443 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
3444 fra
.me
.REG
[3] = fra
.me
.REG
[4];
3447 stack_frame_head
= fra
.me
.prev
;
3448 return fra
.me
.REG
[3];
3450 static const char LOCATE_standard___string___NativeString_____bra
[] = "string::NativeString::[]";
3451 val_t
standard___string___NativeString_____bra(val_t p0
, val_t p1
){
3452 struct {struct stack_frame_t me
;} fra
;
3455 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3456 fra
.me
.file
= LOCATE_standard___string
;
3458 fra
.me
.meth
= LOCATE_standard___string___NativeString_____bra
;
3459 fra
.me
.has_broke
= 0;
3460 fra
.me
.REG_size
= 1;
3461 fra
.me
.nitni_local_ref_head
= NULL
;
3462 fra
.me
.REG
[0] = NIT_NULL
;
3465 /* ../lib/standard/string.nit:602 */
3466 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
3467 stack_frame_head
= fra
.me
.prev
;
3470 static const char LOCATE_standard___string___NativeString_____braeq
[] = "string::NativeString::[]=";
3471 void standard___string___NativeString_____braeq(val_t p0
, val_t p1
, val_t p2
){
3472 struct {struct stack_frame_t me
;} fra
;
3476 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3477 fra
.me
.file
= LOCATE_standard___string
;
3479 fra
.me
.meth
= LOCATE_standard___string___NativeString_____braeq
;
3480 fra
.me
.has_broke
= 0;
3481 fra
.me
.REG_size
= 1;
3482 fra
.me
.nitni_local_ref_head
= NULL
;
3483 fra
.me
.REG
[0] = NIT_NULL
;
3487 /* ../lib/standard/string.nit:603 */
3488 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
3489 stack_frame_head
= fra
.me
.prev
;
3492 static const char LOCATE_standard___string___NativeString___copy_to
[] = "string::NativeString::copy_to";
3493 void standard___string___NativeString___copy_to(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
3494 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3500 fra
.me
.file
= LOCATE_standard___string
;
3502 fra
.me
.meth
= LOCATE_standard___string___NativeString___copy_to
;
3503 fra
.me
.has_broke
= 0;
3504 fra
.me
.REG_size
= 2;
3505 fra
.me
.nitni_local_ref_head
= NULL
;
3506 fra
.me
.REG
[0] = NIT_NULL
;
3507 fra
.me
.REG
[1] = NIT_NULL
;
3513 /* ../lib/standard/string.nit:604 */
3514 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
3515 stack_frame_head
= fra
.me
.prev
;
3518 static const char LOCATE_standard___string___NativeString___cstring_length
[] = "string::NativeString::cstring_length";
3519 val_t
standard___string___NativeString___cstring_length(val_t p0
){
3520 struct {struct stack_frame_t me
;} fra
;
3526 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3527 fra
.me
.file
= LOCATE_standard___string
;
3529 fra
.me
.meth
= LOCATE_standard___string___NativeString___cstring_length
;
3530 fra
.me
.has_broke
= 0;
3531 fra
.me
.REG_size
= 1;
3532 fra
.me
.nitni_local_ref_head
= NULL
;
3533 fra
.me
.REG
[0] = NIT_NULL
;
3535 /* ../lib/standard/string.nit:609 */
3537 /* ../lib/standard/string.nit:610 */
3539 /* ../lib/standard/string.nit:602 */
3540 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
3541 /* ../lib/standard/string.nit:610 */
3542 REGB2
= TAG_Char('\0');
3543 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
3544 if (UNTAG_Bool(REGB3
)) {
3546 /* ../lib/standard/kernel.nit:381 */
3547 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
3548 /* ../lib/standard/string.nit:610 */
3551 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
3552 if (UNTAG_Bool(REGB3
)) {
3554 /* ../lib/standard/kernel.nit:238 */
3555 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
3556 /* ../lib/standard/string.nit:610 */
3563 /* ../lib/standard/string.nit:611 */
3566 stack_frame_head
= fra
.me
.prev
;
3569 static const char LOCATE_standard___string___NativeString___atoi
[] = "string::NativeString::atoi";
3570 val_t
standard___string___NativeString___atoi(val_t p0
){
3571 struct {struct stack_frame_t me
;} fra
;
3574 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3575 fra
.me
.file
= LOCATE_standard___string
;
3577 fra
.me
.meth
= LOCATE_standard___string___NativeString___atoi
;
3578 fra
.me
.has_broke
= 0;
3579 fra
.me
.REG_size
= 1;
3580 fra
.me
.nitni_local_ref_head
= NULL
;
3581 fra
.me
.REG
[0] = NIT_NULL
;
3583 /* ../lib/standard/string.nit:613 */
3584 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
3585 stack_frame_head
= fra
.me
.prev
;
3588 static const char LOCATE_standard___string___NativeString___atof
[] = "string::NativeString::atof";
3589 val_t
standard___string___NativeString___atof(val_t p0
){
3590 struct {struct stack_frame_t me
;} fra
;
3592 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3593 fra
.me
.file
= LOCATE_standard___string
;
3595 fra
.me
.meth
= LOCATE_standard___string___NativeString___atof
;
3596 fra
.me
.has_broke
= 0;
3597 fra
.me
.REG_size
= 1;
3598 fra
.me
.nitni_local_ref_head
= NULL
;
3599 fra
.me
.REG
[0] = NIT_NULL
;
3601 /* ../lib/standard/string.nit:614 */
3602 fra
.me
.REG
[0] = NativeString_atof___out(fra
.me
.REG
[0]);
3603 stack_frame_head
= fra
.me
.prev
;
3604 return fra
.me
.REG
[0];
3606 static const char LOCATE_standard___string___NativeString___init
[] = "string::NativeString::init";
3607 void standard___string___NativeString___init(val_t p0
, int* init_table
){
3608 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___NativeString
].i
;
3609 struct {struct stack_frame_t me
;} fra
;
3611 if (init_table
[itpos5
]) return;
3612 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3613 fra
.me
.file
= LOCATE_standard___string
;
3615 fra
.me
.meth
= LOCATE_standard___string___NativeString___init
;
3616 fra
.me
.has_broke
= 0;
3617 fra
.me
.REG_size
= 0;
3618 fra
.me
.nitni_local_ref_head
= NULL
;
3619 stack_frame_head
= fra
.me
.prev
;
3620 init_table
[itpos5
] = 1;
3623 static const char LOCATE_standard___string___StringCapable___calloc_string
[] = "string::StringCapable::calloc_string";
3624 val_t
standard___string___StringCapable___calloc_string(val_t p0
, val_t p1
){
3625 struct {struct stack_frame_t me
;} fra
;
3628 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3629 fra
.me
.file
= LOCATE_standard___string
;
3631 fra
.me
.meth
= LOCATE_standard___string___StringCapable___calloc_string
;
3632 fra
.me
.has_broke
= 0;
3633 fra
.me
.REG_size
= 1;
3634 fra
.me
.nitni_local_ref_head
= NULL
;
3635 fra
.me
.REG
[0] = NIT_NULL
;
3638 /* ../lib/standard/string.nit:619 */
3639 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
3640 stack_frame_head
= fra
.me
.prev
;
3641 return fra
.me
.REG
[0];
3643 static const char LOCATE_standard___string___Sys___args
[] = "string::Sys::(string::Object::args)";
3644 val_t
standard___string___Sys___args(val_t p0
){
3645 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3649 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3650 fra
.me
.file
= LOCATE_standard___string
;
3652 fra
.me
.meth
= LOCATE_standard___string___Sys___args
;
3653 fra
.me
.has_broke
= 0;
3654 fra
.me
.REG_size
= 3;
3655 fra
.me
.nitni_local_ref_head
= NULL
;
3656 fra
.me
.REG
[0] = NIT_NULL
;
3657 fra
.me
.REG
[1] = NIT_NULL
;
3658 fra
.me
.REG
[2] = NIT_NULL
;
3660 /* ../lib/standard/string.nit:625 */
3661 fra
.me
.REG
[1] = fra
.me
.REG
[0];
3662 /* ../lib/standard/string.nit:627 */
3663 fra
.me
.REG
[2] = ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[1]);
3664 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3665 if (UNTAG_Bool(REGB0
)) {
3667 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
3668 if (UNTAG_Bool(REGB1
)) {
3669 REGB1
= TAG_Bool(0);
3672 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
3676 if (UNTAG_Bool(REGB0
)) {
3677 CALL_standard___string___Sys___init_args(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3679 /* ../lib/standard/string.nit:628 */
3680 fra
.me
.REG
[1] = ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[1]);
3681 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
3682 if (UNTAG_Bool(REGB0
)) {
3684 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 628);
3688 stack_frame_head
= fra
.me
.prev
;
3689 return fra
.me
.REG
[1];
3691 static const char LOCATE_standard___string___Sys___program_name
[] = "string::Sys::program_name";
3692 val_t
standard___string___Sys___program_name(val_t p0
){
3693 struct {struct stack_frame_t me
;} fra
;
3696 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3697 fra
.me
.file
= LOCATE_standard___string
;
3699 fra
.me
.meth
= LOCATE_standard___string___Sys___program_name
;
3700 fra
.me
.has_broke
= 0;
3701 fra
.me
.REG_size
= 1;
3702 fra
.me
.nitni_local_ref_head
= NULL
;
3703 fra
.me
.REG
[0] = NIT_NULL
;
3705 /* ../lib/standard/string.nit:634 */
3707 fra
.me
.REG
[0] = CALL_standard___string___Sys___native_argv(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3708 fra
.me
.REG
[0] = NEW_String_standard___string___String___from_cstring(fra
.me
.REG
[0]);
3711 stack_frame_head
= fra
.me
.prev
;
3712 return fra
.me
.REG
[0];
3714 static const char LOCATE_standard___string___Sys___init_args
[] = "string::Sys::init_args";
3715 void standard___string___Sys___init_args(val_t p0
){
3716 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3721 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3722 fra
.me
.file
= LOCATE_standard___string
;
3724 fra
.me
.meth
= LOCATE_standard___string___Sys___init_args
;
3725 fra
.me
.has_broke
= 0;
3726 fra
.me
.REG_size
= 3;
3727 fra
.me
.nitni_local_ref_head
= NULL
;
3728 fra
.me
.REG
[0] = NIT_NULL
;
3729 fra
.me
.REG
[1] = NIT_NULL
;
3730 fra
.me
.REG
[2] = NIT_NULL
;
3732 /* ../lib/standard/string.nit:640 */
3733 REGB0
= CALL_standard___string___Sys___native_argc(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3734 /* ../lib/standard/string.nit:641 */
3736 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
3737 /* ../lib/standard/string.nit:642 */
3739 /* ../lib/standard/string.nit:643 */
3741 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3742 if (UNTAG_Bool(REGB2
)) {
3744 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3746 /* ../lib/standard/kernel.nit:235 */
3747 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
3748 /* ../lib/standard/string.nit:643 */
3749 if (UNTAG_Bool(REGB2
)) {
3750 /* ../lib/standard/string.nit:644 */
3752 /* ../lib/standard/kernel.nit:240 */
3753 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
3754 /* ../lib/standard/string.nit:644 */
3755 fra
.me
.REG
[2] = CALL_standard___string___Sys___native_argv(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
3756 fra
.me
.REG
[2] = NEW_String_standard___string___String___from_cstring(fra
.me
.REG
[2]);
3757 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[2]);
3758 /* ../lib/standard/string.nit:645 */
3760 /* ../lib/standard/kernel.nit:238 */
3761 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
3762 /* ../lib/standard/string.nit:645 */
3765 /* ../lib/standard/string.nit:643 */
3770 /* ../lib/standard/string.nit:647 */
3771 ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3772 stack_frame_head
= fra
.me
.prev
;
3775 static const char LOCATE_standard___string___Sys___native_argc
[] = "string::Sys::native_argc";
3776 val_t
standard___string___Sys___native_argc(val_t p0
){
3777 struct {struct stack_frame_t me
;} fra
;
3780 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3781 fra
.me
.file
= LOCATE_standard___string
;
3783 fra
.me
.meth
= LOCATE_standard___string___Sys___native_argc
;
3784 fra
.me
.has_broke
= 0;
3785 fra
.me
.REG_size
= 1;
3786 fra
.me
.nitni_local_ref_head
= NULL
;
3787 fra
.me
.REG
[0] = NIT_NULL
;
3789 /* ../lib/standard/string.nit:650 */
3790 REGB0
= Sys_native_argc___out(fra
.me
.REG
[0]);
3791 stack_frame_head
= fra
.me
.prev
;
3794 static const char LOCATE_standard___string___Sys___native_argv
[] = "string::Sys::native_argv";
3795 val_t
standard___string___Sys___native_argv(val_t p0
, val_t p1
){
3796 struct {struct stack_frame_t me
;} fra
;
3799 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3800 fra
.me
.file
= LOCATE_standard___string
;
3802 fra
.me
.meth
= LOCATE_standard___string___Sys___native_argv
;
3803 fra
.me
.has_broke
= 0;
3804 fra
.me
.REG_size
= 1;
3805 fra
.me
.nitni_local_ref_head
= NULL
;
3806 fra
.me
.REG
[0] = NIT_NULL
;
3809 /* ../lib/standard/string.nit:652 */
3810 fra
.me
.REG
[0] = Sys_native_argv___out(fra
.me
.REG
[0], REGB0
);
3811 stack_frame_head
= fra
.me
.prev
;
3812 return fra
.me
.REG
[0];