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:32 */
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
, 32);
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:37 */
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
, 37);
49 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
50 /* ../lib/standard/string.nit:970 */
51 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
52 /* ../lib/standard/string.nit:37 */
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:51 */
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:243 */
88 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
89 /* ../lib/standard/string.nit:51 */
90 if (UNTAG_Bool(REGB2
)) {
92 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 51);
94 /* ../lib/standard/kernel.nit:245 */
95 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
96 /* ../lib/standard/string.nit:52 */
98 /* ../lib/standard/string.nit:53 */
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:242 */
106 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
107 /* ../lib/standard/string.nit:53 */
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:244 */
125 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
126 /* ../lib/standard/string.nit:54 */
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:54 */
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:242 */
144 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
145 /* ../lib/standard/string.nit:55 */
146 if (UNTAG_Bool(REGB2
)) {
147 /* ../lib/standard/kernel.nit:247 */
148 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
149 /* ../lib/standard/string.nit:56 */
150 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB2
);
151 /* ../lib/standard/string.nit:57 */
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:242 */
159 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
160 /* ../lib/standard/string.nit:57 */
161 if (UNTAG_Bool(REGB2
)) {
162 /* ../lib/standard/string.nit:58 */
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
, 58);
168 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
169 /* ../lib/standard/string.nit:970 */
170 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
171 /* ../lib/standard/string.nit:58 */
172 CALL_standard___collection___abstract_collection___Sequence___push(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
);
173 /* ../lib/standard/string.nit:59 */
175 /* ../lib/standard/kernel.nit:245 */
176 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
177 /* ../lib/standard/string.nit:59 */
180 /* ../lib/standard/string.nit:57 */
185 /* ../lib/standard/string.nit:61 */
186 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
189 /* ../lib/standard/string.nit:63 */
191 fra
.me
.REG
[0] = BOX_NativeString("");
193 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(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:242 */
235 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
236 /* ../lib/standard/string.nit:76 */
237 if (UNTAG_Bool(REGB1
)) {
239 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 76);
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:247 */
249 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
250 /* ../lib/standard/string.nit:77 */
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
[3];} fra
;
268 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
269 fra
.me
.file
= LOCATE_standard___string
;
271 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_substring
;
272 fra
.me
.has_broke
= 0;
274 fra
.me
.nitni_local_ref_head
= NULL
;
275 fra
.me
.REG
[0] = NIT_NULL
;
276 fra
.me
.REG
[1] = NIT_NULL
;
277 fra
.me
.REG
[2] = NIT_NULL
;
278 fra
.me
.REG
[3] = NIT_NULL
;
282 /* ../lib/standard/collection/array.nit:24 */
283 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
284 if (UNTAG_Bool(REGB1
)) {
286 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
288 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
289 /* ../lib/standard/string.nit:86 */
291 /* ../lib/standard/kernel.nit:247 */
292 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
293 /* ../lib/standard/kernel.nit:245 */
294 REGB0
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
295 /* ../lib/standard/string.nit:88 */
296 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
297 if (UNTAG_Bool(REGB1
)) {
299 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 88);
301 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
302 /* ../lib/standard/string.nit:89 */
303 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
304 if (UNTAG_Bool(REGB1
)) {
306 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 89);
308 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
309 /* ../lib/standard/collection/array.nit:24 */
310 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
311 if (UNTAG_Bool(REGB1
)) {
313 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
315 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
316 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
317 if (UNTAG_Bool(REGB3
)) {
319 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
321 /* ../lib/standard/kernel.nit:244 */
322 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
323 /* ../lib/standard/string.nit:90 */
324 if (UNTAG_Bool(REGB1
)) {
327 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
328 if (UNTAG_Bool(REGB3
)) {
330 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
332 /* ../lib/standard/kernel.nit:244 */
333 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
334 /* ../lib/standard/string.nit:90 */
337 if (UNTAG_Bool(REGB1
)) {
341 /* ../lib/standard/string.nit:91 */
342 REGB3
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[1])!=NIT_NULL
);
343 if (UNTAG_Bool(REGB3
)) {
345 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 91);
347 REGB3
= ATTR_standard___string___String____index_from(fra
.me
.REG
[1]);
348 /* ../lib/standard/kernel.nit:245 */
349 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
350 /* ../lib/standard/string.nit:92 */
352 /* ../lib/standard/string.nit:93 */
354 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
355 if (UNTAG_Bool(REGB4
)) {
357 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
359 /* ../lib/standard/kernel.nit:243 */
360 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
361 /* ../lib/standard/string.nit:93 */
362 if (UNTAG_Bool(REGB4
)) {
363 /* ../lib/standard/string.nit:970 */
364 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
365 REGB5
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[3])[UNTAG_Int(REGB2
)]);
366 /* ../lib/standard/string.nit:94 */
367 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB5
));
368 if (UNTAG_Bool(REGB6
)) {
370 /* ../lib/standard/kernel.nit:434 */
371 REGB5
= TAG_Bool((REGB4
)==(REGB5
));
372 /* ../lib/standard/string.nit:94 */
375 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
376 if (UNTAG_Bool(REGB6
)) {
381 /* ../lib/standard/string.nit:95 */
383 /* ../lib/standard/kernel.nit:247 */
384 REGB6
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB6
));
385 /* ../lib/standard/string.nit:95 */
387 /* ../lib/standard/string.nit:96 */
389 /* ../lib/standard/kernel.nit:247 */
390 REGB6
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB6
));
391 /* ../lib/standard/string.nit:96 */
394 /* ../lib/standard/string.nit:93 */
399 /* ../lib/standard/string.nit:98 */
404 stack_frame_head
= fra
.me
.prev
;
407 static const char LOCATE_standard___string___AbstractString___has_prefix
[] = "string::AbstractString::has_prefix";
408 val_t
standard___string___AbstractString___has_prefix(val_t p0
, val_t p1
){
409 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
412 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
413 fra
.me
.file
= LOCATE_standard___string
;
415 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_prefix
;
416 fra
.me
.has_broke
= 0;
418 fra
.me
.nitni_local_ref_head
= NULL
;
419 fra
.me
.REG
[0] = NIT_NULL
;
420 fra
.me
.REG
[1] = NIT_NULL
;
423 /* ../lib/standard/string.nit:105 */
425 REGB0
= CALL_standard___string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB0
);
428 stack_frame_head
= fra
.me
.prev
;
431 static const char LOCATE_standard___string___AbstractString___has_suffix
[] = "string::AbstractString::has_suffix";
432 val_t
standard___string___AbstractString___has_suffix(val_t p0
, val_t p1
){
433 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
437 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
438 fra
.me
.file
= LOCATE_standard___string
;
440 fra
.me
.meth
= LOCATE_standard___string___AbstractString___has_suffix
;
441 fra
.me
.has_broke
= 0;
443 fra
.me
.nitni_local_ref_head
= NULL
;
444 fra
.me
.REG
[0] = NIT_NULL
;
445 fra
.me
.REG
[1] = NIT_NULL
;
448 /* ../lib/standard/collection/array.nit:24 */
449 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
450 if (UNTAG_Bool(REGB0
)) {
452 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
454 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
455 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
456 if (UNTAG_Bool(REGB1
)) {
458 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
460 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
461 /* ../lib/standard/kernel.nit:247 */
462 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
463 /* ../lib/standard/string.nit:111 */
464 REGB1
= CALL_standard___string___AbstractString___has_substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1], REGB1
);
467 stack_frame_head
= fra
.me
.prev
;
470 static const char LOCATE_standard___string___AbstractString___to_i
[] = "string::AbstractString::to_i";
471 val_t
standard___string___AbstractString___to_i(val_t p0
){
472 struct {struct stack_frame_t me
;} fra
;
475 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
476 fra
.me
.file
= LOCATE_standard___string
;
478 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_i
;
479 fra
.me
.has_broke
= 0;
481 fra
.me
.nitni_local_ref_head
= NULL
;
482 fra
.me
.REG
[0] = NIT_NULL
;
484 /* ../lib/standard/string.nit:120 */
485 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
486 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
487 /* ../lib/standard/string.nit:981 */
488 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
489 /* ../lib/standard/string.nit:120 */
492 stack_frame_head
= fra
.me
.prev
;
495 static const char LOCATE_standard___string___AbstractString___to_f
[] = "string::AbstractString::to_f";
496 val_t
standard___string___AbstractString___to_f(val_t p0
){
497 struct {struct stack_frame_t me
;} fra
;
499 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
500 fra
.me
.file
= LOCATE_standard___string
;
502 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_f
;
503 fra
.me
.has_broke
= 0;
505 fra
.me
.nitni_local_ref_head
= NULL
;
506 fra
.me
.REG
[0] = NIT_NULL
;
508 /* ../lib/standard/string.nit:131 */
509 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
510 fra
.me
.REG
[0] = CALL_standard___string___String___to_cstring(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
511 fra
.me
.REG
[0] = CALL_standard___string___NativeString___atof(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
514 stack_frame_head
= fra
.me
.prev
;
515 return fra
.me
.REG
[0];
517 static const char LOCATE_standard___string___AbstractString___to_hex
[] = "string::AbstractString::to_hex";
518 val_t
standard___string___AbstractString___to_hex(val_t p0
){
519 struct {struct stack_frame_t me
;} fra
;
522 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
523 fra
.me
.file
= LOCATE_standard___string
;
525 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_hex
;
526 fra
.me
.has_broke
= 0;
528 fra
.me
.nitni_local_ref_head
= NULL
;
529 fra
.me
.REG
[0] = NIT_NULL
;
531 /* ../lib/standard/string.nit:135 */
533 REGB0
= CALL_standard___string___AbstractString___a_to(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
536 stack_frame_head
= fra
.me
.prev
;
539 static const char LOCATE_standard___string___AbstractString___a_to
[] = "string::AbstractString::a_to";
540 val_t
standard___string___AbstractString___a_to(val_t p0
, val_t p1
){
541 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
544 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
545 fra
.me
.file
= LOCATE_standard___string
;
547 fra
.me
.meth
= LOCATE_standard___string___AbstractString___a_to
;
548 fra
.me
.has_broke
= 0;
550 fra
.me
.nitni_local_ref_head
= NULL
;
551 fra
.me
.REG
[0] = NIT_NULL
;
552 fra
.me
.REG
[1] = NIT_NULL
;
553 fra
.me
.REG
[2] = NIT_NULL
;
554 fra
.me
.REG
[3] = NIT_NULL
;
557 /* ../lib/standard/string.nit:137 */
558 fra
.me
.REG
[1] = REGB0
;
559 /* ../lib/standard/string.nit:142 */
561 fra
.me
.REG
[2] = REGB0
;
562 /* ../lib/standard/string.nit:143 */
564 fra
.me
.REG
[3] = REGB0
;
565 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
));
566 switch ((&(fra
.me
))->has_broke
) {
568 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
570 /* ../lib/standard/string.nit:160 */
571 if (UNTAG_Bool(fra
.me
.REG
[3])) {
572 /* ../lib/standard/kernel.nit:246 */
573 REGB0
= TAG_Int(-UNTAG_Int(fra
.me
.REG
[2]));
574 /* ../lib/standard/string.nit:161 */
575 fra
.me
.REG
[0] = REGB0
;
578 /* ../lib/standard/string.nit:163 */
579 fra
.me
.REG
[0] = fra
.me
.REG
[2];
583 stack_frame_head
= fra
.me
.prev
;
584 return fra
.me
.REG
[0];
586 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
){
587 struct {struct stack_frame_t me
;} fra
;
593 /* ../lib/standard/string.nit:145 */
594 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
595 fra
.me
.file
= LOCATE_standard___string
;
597 fra
.me
.meth
= LOCATE_standard___string___AbstractString___a_to
;
598 fra
.me
.has_broke
= 0;
600 fra
.me
.nitni_local_ref_head
= NULL
;
601 fra
.me
.REG
[0] = NIT_NULL
;
602 fra
.me
.closure_ctx
= closctx_param
;
603 fra
.me
.closure_funs
= CREG
;
606 REGB0
= fra
.me
.REG
[0];
607 /* ../lib/standard/string.nit:147 */
608 REGB0
= CALL_standard___kernel___Char___to_i(REGB0
)(REGB0
);
609 REGB1
= TAG_Bool(VAL_ISA(closctx
->REG
[1], VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
610 if (UNTAG_Bool(REGB1
)) {
612 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
614 /* ../lib/standard/kernel.nit:244 */
615 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(closctx
->REG
[1]));
616 /* ../lib/standard/string.nit:148 */
617 if (UNTAG_Bool(REGB1
)) {
618 /* ../lib/standard/string.nit:149 */
619 if (UNTAG_Bool(closctx
->REG
[3])) {
620 /* ../lib/standard/kernel.nit:246 */
621 REGB1
= TAG_Int(-UNTAG_Int(closctx
->REG
[2]));
622 /* ../lib/standard/string.nit:150 */
623 closctx
->REG
[0] = REGB1
;
624 closctx
->has_broke
= 1;
627 /* ../lib/standard/string.nit:152 */
628 closctx
->REG
[0] = closctx
->REG
[2];
629 closctx
->has_broke
= 1;
633 /* ../lib/standard/string.nit:154 */
635 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
636 if (UNTAG_Bool(REGB2
)) {
638 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
640 /* ../lib/standard/kernel.nit:242 */
641 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
642 /* ../lib/standard/string.nit:154 */
643 if (UNTAG_Bool(REGB1
)) {
644 /* ../lib/standard/string.nit:155 */
646 closctx
->REG
[3] = REGB1
;
648 /* ../lib/standard/kernel.nit:248 */
649 REGB1
= TAG_Int(UNTAG_Int(closctx
->REG
[2])*UNTAG_Int(closctx
->REG
[1]));
650 /* ../lib/standard/kernel.nit:245 */
651 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
652 /* ../lib/standard/string.nit:157 */
653 closctx
->REG
[2] = REGB0
;
657 stack_frame_head
= fra
.me
.prev
;
660 static const char LOCATE_standard___string___AbstractString___is_numeric
[] = "string::AbstractString::is_numeric";
661 val_t
standard___string___AbstractString___is_numeric(val_t p0
){
662 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
665 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
666 fra
.me
.file
= LOCATE_standard___string
;
668 fra
.me
.meth
= LOCATE_standard___string___AbstractString___is_numeric
;
669 fra
.me
.has_broke
= 0;
671 fra
.me
.nitni_local_ref_head
= NULL
;
672 fra
.me
.REG
[0] = NIT_NULL
;
673 fra
.me
.REG
[1] = NIT_NULL
;
675 /* ../lib/standard/string.nit:175 */
677 fra
.me
.REG
[1] = REGB0
;
678 CALL_standard___collection___abstract_collection___Collection___iterate(fra
.me
.REG
[0])(fra
.me
.REG
[0], (&(fra
.me
)), ((fun_t
)OC_standard___string___AbstractString___is_numeric_1
));
679 switch ((&(fra
.me
))->has_broke
) {
681 case 1: (&(fra
.me
))->has_broke
= 0; goto label3
;
683 /* ../lib/standard/string.nit:188 */
685 fra
.me
.REG
[0] = REGB0
;
688 stack_frame_head
= fra
.me
.prev
;
689 return fra
.me
.REG
[0];
691 void OC_standard___string___AbstractString___is_numeric_1(struct stack_frame_t
*closctx
, val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
692 struct {struct stack_frame_t me
;} fra
;
699 /* ../lib/standard/string.nit:176 */
700 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
701 fra
.me
.file
= LOCATE_standard___string
;
703 fra
.me
.meth
= LOCATE_standard___string___AbstractString___is_numeric
;
704 fra
.me
.has_broke
= 0;
706 fra
.me
.nitni_local_ref_head
= NULL
;
707 fra
.me
.REG
[0] = NIT_NULL
;
708 fra
.me
.closure_ctx
= closctx_param
;
709 fra
.me
.closure_funs
= CREG
;
712 REGB0
= fra
.me
.REG
[0];
713 /* ../lib/standard/string.nit:178 */
714 REGB1
= CALL_standard___string___Char___is_numeric(REGB0
)(REGB0
);
715 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
716 if (UNTAG_Bool(REGB1
)) {
717 /* ../lib/standard/string.nit:180 */
718 REGB1
= TAG_Char('.');
719 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
720 if (UNTAG_Bool(REGB2
)) {
722 /* ../lib/standard/kernel.nit:434 */
723 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
724 /* ../lib/standard/string.nit:180 */
727 if (UNTAG_Bool(REGB2
)) {
730 REGB1
= TAG_Char(',');
731 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
732 if (UNTAG_Bool(REGB3
)) {
734 /* ../lib/standard/kernel.nit:434 */
735 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
736 /* ../lib/standard/string.nit:180 */
741 if (UNTAG_Bool(REGB2
)) {
742 REGB2
= TAG_Bool(!UNTAG_Bool(closctx
->REG
[1]));
747 if (UNTAG_Bool(REGB2
)) {
748 /* ../lib/standard/string.nit:182 */
750 closctx
->REG
[1] = REGB2
;
752 /* ../lib/standard/string.nit:184 */
754 closctx
->REG
[0] = REGB2
;
755 closctx
->has_broke
= 1;
760 stack_frame_head
= fra
.me
.prev
;
763 static const char LOCATE_standard___string___AbstractString___to_upper
[] = "string::AbstractString::to_upper";
764 val_t
standard___string___AbstractString___to_upper(val_t p0
){
765 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
768 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
769 fra
.me
.file
= LOCATE_standard___string
;
771 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_upper
;
772 fra
.me
.has_broke
= 0;
774 fra
.me
.nitni_local_ref_head
= NULL
;
775 fra
.me
.REG
[0] = NIT_NULL
;
776 fra
.me
.REG
[1] = NIT_NULL
;
778 /* ../lib/standard/collection/array.nit:24 */
779 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
780 if (UNTAG_Bool(REGB0
)) {
782 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
784 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
785 /* ../lib/standard/string.nit:196 */
786 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB0
);
787 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
));
788 /* ../lib/standard/string.nit:198 */
789 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
792 stack_frame_head
= fra
.me
.prev
;
793 return fra
.me
.REG
[1];
795 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
){
796 struct {struct stack_frame_t me
;} fra
;
800 /* ../lib/standard/string.nit:197 */
801 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
802 fra
.me
.file
= LOCATE_standard___string
;
804 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_upper
;
805 fra
.me
.has_broke
= 0;
807 fra
.me
.nitni_local_ref_head
= NULL
;
808 fra
.me
.REG
[0] = NIT_NULL
;
809 fra
.me
.closure_ctx
= closctx_param
;
810 fra
.me
.closure_funs
= CREG
;
813 REGB0
= fra
.me
.REG
[0];
814 REGB0
= CALL_standard___kernel___Char___to_upper(REGB0
)(REGB0
);
815 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], REGB0
);
816 stack_frame_head
= fra
.me
.prev
;
819 static const char LOCATE_standard___string___AbstractString___to_lower
[] = "string::AbstractString::to_lower";
820 val_t
standard___string___AbstractString___to_lower(val_t p0
){
821 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
824 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
825 fra
.me
.file
= LOCATE_standard___string
;
827 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_lower
;
828 fra
.me
.has_broke
= 0;
830 fra
.me
.nitni_local_ref_head
= NULL
;
831 fra
.me
.REG
[0] = NIT_NULL
;
832 fra
.me
.REG
[1] = NIT_NULL
;
834 /* ../lib/standard/collection/array.nit:24 */
835 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
836 if (UNTAG_Bool(REGB0
)) {
838 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
840 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
841 /* ../lib/standard/string.nit:206 */
842 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB0
);
843 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
));
844 /* ../lib/standard/string.nit:208 */
845 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
848 stack_frame_head
= fra
.me
.prev
;
849 return fra
.me
.REG
[1];
851 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
){
852 struct {struct stack_frame_t me
;} fra
;
856 /* ../lib/standard/string.nit:207 */
857 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
858 fra
.me
.file
= LOCATE_standard___string
;
860 fra
.me
.meth
= LOCATE_standard___string___AbstractString___to_lower
;
861 fra
.me
.has_broke
= 0;
863 fra
.me
.nitni_local_ref_head
= NULL
;
864 fra
.me
.REG
[0] = NIT_NULL
;
865 fra
.me
.closure_ctx
= closctx_param
;
866 fra
.me
.closure_funs
= CREG
;
869 REGB0
= fra
.me
.REG
[0];
870 REGB0
= CALL_standard___kernel___Char___to_lower(REGB0
)(REGB0
);
871 CALL_standard___collection___abstract_collection___SimpleCollection___add(closctx
->REG
[1])(closctx
->REG
[1], REGB0
);
872 stack_frame_head
= fra
.me
.prev
;
875 static const char LOCATE_standard___string___AbstractString___trim
[] = "string::AbstractString::trim";
876 val_t
standard___string___AbstractString___trim(val_t p0
){
877 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
884 static val_t once_value_2
; /* Once value */
885 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
886 fra
.me
.file
= LOCATE_standard___string
;
888 fra
.me
.meth
= LOCATE_standard___string___AbstractString___trim
;
889 fra
.me
.has_broke
= 0;
891 fra
.me
.nitni_local_ref_head
= NULL
;
892 fra
.me
.REG
[0] = NIT_NULL
;
893 fra
.me
.REG
[1] = NIT_NULL
;
894 fra
.me
.REG
[2] = NIT_NULL
;
896 /* ../lib/standard/string.nit:218 */
897 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
898 if (UNTAG_Bool(REGB0
)) {
900 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 218);
902 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
904 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
905 if (UNTAG_Bool(REGB2
)) {
907 /* ../lib/standard/kernel.nit:237 */
908 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
909 /* ../lib/standard/string.nit:218 */
912 if (UNTAG_Bool(REGB2
)) {
913 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
916 /* ../lib/standard/string.nit:220 */
918 /* ../lib/standard/string.nit:221 */
920 REGB1
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
921 /* ../lib/standard/kernel.nit:471 */
922 REGB1
= TAG_Int((unsigned char)UNTAG_Char(REGB1
));
923 /* ../lib/standard/string.nit:221 */
925 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
926 if (UNTAG_Bool(REGB3
)) {
928 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
930 /* ../lib/standard/kernel.nit:241 */
931 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
932 /* ../lib/standard/string.nit:221 */
933 if (UNTAG_Bool(REGB0
)) {
934 /* ../lib/standard/string.nit:222 */
936 /* ../lib/standard/kernel.nit:245 */
937 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
938 /* ../lib/standard/string.nit:222 */
940 /* ../lib/standard/string.nit:223 */
941 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
942 if (UNTAG_Bool(REGB0
)) {
944 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 223);
946 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
947 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB0
));
948 if (UNTAG_Bool(REGB1
)) {
950 /* ../lib/standard/kernel.nit:237 */
951 REGB0
= TAG_Bool((REGB2
)==(REGB0
));
952 /* ../lib/standard/string.nit:223 */
955 if (UNTAG_Bool(REGB1
)) {
957 fra
.me
.REG
[2] = BOX_NativeString("");
959 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
);
960 once_value_2
= fra
.me
.REG
[2];
961 register_static_object(&once_value_2
);
962 } else fra
.me
.REG
[2] = once_value_2
;
963 fra
.me
.REG
[2] = fra
.me
.REG
[2];
964 fra
.me
.REG
[1] = fra
.me
.REG
[2];
968 /* ../lib/standard/string.nit:221 */
973 /* ../lib/standard/collection/array.nit:24 */
974 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
975 if (UNTAG_Bool(REGB1
)) {
977 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
979 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
980 /* ../lib/standard/string.nit:226 */
982 /* ../lib/standard/kernel.nit:247 */
983 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
984 /* ../lib/standard/string.nit:227 */
986 REGB1
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
987 /* ../lib/standard/kernel.nit:471 */
988 REGB1
= TAG_Int((unsigned char)UNTAG_Char(REGB1
));
989 /* ../lib/standard/string.nit:227 */
991 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
992 if (UNTAG_Bool(REGB4
)) {
994 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
996 /* ../lib/standard/kernel.nit:241 */
997 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB3
));
998 /* ../lib/standard/string.nit:227 */
999 if (UNTAG_Bool(REGB3
)) {
1000 /* ../lib/standard/string.nit:228 */
1002 /* ../lib/standard/kernel.nit:247 */
1003 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
1004 /* ../lib/standard/string.nit:228 */
1006 /* ../lib/standard/string.nit:229 */
1007 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
1008 if (UNTAG_Bool(REGB3
)) {
1010 /* ../lib/standard/kernel.nit:237 */
1011 REGB1
= TAG_Bool((REGB0
)==(REGB2
));
1012 /* ../lib/standard/string.nit:229 */
1015 if (UNTAG_Bool(REGB3
)) {
1016 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
1017 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
1018 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1022 /* ../lib/standard/string.nit:227 */
1027 /* ../lib/standard/kernel.nit:247 */
1028 REGB0
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
1029 /* ../lib/standard/string.nit:231 */
1031 /* ../lib/standard/kernel.nit:245 */
1032 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1033 /* ../lib/standard/string.nit:231 */
1034 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, REGB3
);
1035 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1038 stack_frame_head
= fra
.me
.prev
;
1039 return fra
.me
.REG
[1];
1041 static const char LOCATE_standard___string___AbstractString___output
[] = "string::AbstractString::(kernel::Object::output)";
1042 void standard___string___AbstractString___output(val_t p0
){
1043 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1048 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1049 fra
.me
.file
= LOCATE_standard___string
;
1051 fra
.me
.meth
= LOCATE_standard___string___AbstractString___output
;
1052 fra
.me
.has_broke
= 0;
1053 fra
.me
.REG_size
= 2;
1054 fra
.me
.nitni_local_ref_head
= NULL
;
1055 fra
.me
.REG
[0] = NIT_NULL
;
1056 fra
.me
.REG
[1] = NIT_NULL
;
1058 /* ../lib/standard/string.nit:236 */
1060 /* ../lib/standard/string.nit:237 */
1062 /* ../lib/standard/collection/array.nit:24 */
1063 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1064 if (UNTAG_Bool(REGB1
)) {
1066 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1068 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1069 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1070 if (UNTAG_Bool(REGB2
)) {
1072 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1074 /* ../lib/standard/kernel.nit:242 */
1075 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1076 /* ../lib/standard/string.nit:237 */
1077 if (UNTAG_Bool(REGB1
)) {
1078 /* ../lib/standard/string.nit:238 */
1079 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1080 if (UNTAG_Bool(REGB1
)) {
1082 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 238);
1084 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1085 /* ../lib/standard/string.nit:970 */
1086 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
1087 /* ../lib/standard/kernel.nit:436 */
1088 printf("%c", (unsigned char)UNTAG_Char(REGB1
));;
1089 /* ../lib/standard/string.nit:239 */
1091 /* ../lib/standard/kernel.nit:245 */
1092 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1093 /* ../lib/standard/string.nit:239 */
1096 /* ../lib/standard/string.nit:237 */
1101 stack_frame_head
= fra
.me
.prev
;
1104 static const char LOCATE_standard___string___String___index_from
[] = "string::String::index_from";
1105 val_t
standard___string___String___index_from(val_t p0
){
1106 struct {struct stack_frame_t me
;} fra
;
1109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1110 fra
.me
.file
= LOCATE_standard___string
;
1112 fra
.me
.meth
= LOCATE_standard___string___String___index_from
;
1113 fra
.me
.has_broke
= 0;
1114 fra
.me
.REG_size
= 1;
1115 fra
.me
.nitni_local_ref_head
= NULL
;
1116 fra
.me
.REG
[0] = NIT_NULL
;
1118 /* ../lib/standard/string.nit:252 */
1119 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1120 if (UNTAG_Bool(REGB0
)) {
1122 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 252);
1124 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1125 stack_frame_head
= fra
.me
.prev
;
1128 static const char LOCATE_standard___string___String___index_to
[] = "string::String::index_to";
1129 val_t
standard___string___String___index_to(val_t p0
){
1130 struct {struct stack_frame_t me
;} fra
;
1133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1134 fra
.me
.file
= LOCATE_standard___string
;
1136 fra
.me
.meth
= LOCATE_standard___string___String___index_to
;
1137 fra
.me
.has_broke
= 0;
1138 fra
.me
.REG_size
= 1;
1139 fra
.me
.nitni_local_ref_head
= NULL
;
1140 fra
.me
.REG
[0] = NIT_NULL
;
1142 /* ../lib/standard/string.nit:255 */
1143 REGB0
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1144 if (UNTAG_Bool(REGB0
)) {
1146 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 255);
1148 REGB0
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1149 stack_frame_head
= fra
.me
.prev
;
1152 static const char LOCATE_standard___string___String_____bra
[] = "string::String::(abstract_collection::SequenceRead::[])";
1153 val_t
standard___string___String_____bra(val_t p0
, val_t p1
){
1154 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1160 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1161 fra
.me
.file
= LOCATE_standard___string
;
1163 fra
.me
.meth
= LOCATE_standard___string___String_____bra
;
1164 fra
.me
.has_broke
= 0;
1165 fra
.me
.REG_size
= 2;
1166 fra
.me
.nitni_local_ref_head
= NULL
;
1167 fra
.me
.REG
[0] = NIT_NULL
;
1168 fra
.me
.REG
[1] = NIT_NULL
;
1171 /* ../lib/standard/string.nit:263 */
1173 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1174 if (UNTAG_Bool(REGB2
)) {
1176 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1178 /* ../lib/standard/kernel.nit:243 */
1179 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
1180 /* ../lib/standard/string.nit:263 */
1181 if (UNTAG_Bool(REGB1
)) {
1183 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 263);
1185 /* ../lib/standard/string.nit:266 */
1186 REGB1
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1187 if (UNTAG_Bool(REGB1
)) {
1189 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 266);
1191 REGB1
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1192 /* ../lib/standard/kernel.nit:245 */
1193 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1194 /* ../lib/standard/string.nit:266 */
1195 REGB2
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1196 if (UNTAG_Bool(REGB2
)) {
1198 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 266);
1200 REGB2
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1201 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1202 if (UNTAG_Bool(REGB3
)) {
1204 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1206 /* ../lib/standard/kernel.nit:241 */
1207 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB2
));
1208 /* ../lib/standard/string.nit:266 */
1209 if (UNTAG_Bool(REGB2
)) {
1211 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 266);
1213 /* ../lib/standard/string.nit:267 */
1214 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1215 if (UNTAG_Bool(REGB2
)) {
1217 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 267);
1219 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1220 REGB2
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1221 if (UNTAG_Bool(REGB2
)) {
1223 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 267);
1225 REGB2
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1226 /* ../lib/standard/kernel.nit:245 */
1227 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1228 /* ../lib/standard/string.nit:970 */
1229 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]);
1230 /* ../lib/standard/string.nit:267 */
1233 stack_frame_head
= fra
.me
.prev
;
1236 static const char LOCATE_standard___string___String___substring
[] = "string::String::(string::AbstractString::substring)";
1237 val_t
standard___string___String___substring(val_t p0
, val_t p1
, val_t p2
){
1238 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1245 static val_t once_value_2
; /* Once value */
1246 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1247 fra
.me
.file
= LOCATE_standard___string
;
1249 fra
.me
.meth
= LOCATE_standard___string___String___substring
;
1250 fra
.me
.has_broke
= 0;
1251 fra
.me
.REG_size
= 3;
1252 fra
.me
.nitni_local_ref_head
= NULL
;
1253 fra
.me
.REG
[0] = NIT_NULL
;
1254 fra
.me
.REG
[1] = NIT_NULL
;
1255 fra
.me
.REG
[2] = NIT_NULL
;
1259 /* ../lib/standard/string.nit:272 */
1261 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1262 if (UNTAG_Bool(REGB3
)) {
1264 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1266 /* ../lib/standard/kernel.nit:243 */
1267 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>=UNTAG_Int(REGB2
));
1268 /* ../lib/standard/string.nit:272 */
1269 if (UNTAG_Bool(REGB2
)) {
1271 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 272);
1273 /* ../lib/standard/string.nit:274 */
1275 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1276 if (UNTAG_Bool(REGB3
)) {
1278 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1280 /* ../lib/standard/kernel.nit:242 */
1281 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
1282 /* ../lib/standard/string.nit:274 */
1283 if (UNTAG_Bool(REGB2
)) {
1284 /* ../lib/standard/kernel.nit:245 */
1285 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
1286 /* ../lib/standard/string.nit:275 */
1288 /* ../lib/standard/string.nit:276 */
1290 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1291 if (UNTAG_Bool(REGB3
)) {
1293 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1295 /* ../lib/standard/kernel.nit:242 */
1296 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
1297 /* ../lib/standard/string.nit:276 */
1298 if (UNTAG_Bool(REGB2
)) {
1302 /* ../lib/standard/string.nit:277 */
1306 /* ../lib/standard/string.nit:280 */
1307 REGB2
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1308 if (UNTAG_Bool(REGB2
)) {
1310 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 280);
1312 REGB2
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1313 /* ../lib/standard/kernel.nit:245 */
1314 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1315 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1316 /* ../lib/standard/string.nit:282 */
1317 REGB3
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1318 if (UNTAG_Bool(REGB3
)) {
1320 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 282);
1322 REGB3
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1323 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1324 if (UNTAG_Bool(REGB4
)) {
1326 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1328 /* ../lib/standard/kernel.nit:244 */
1329 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB3
));
1330 /* ../lib/standard/string.nit:282 */
1331 if (UNTAG_Bool(REGB3
)) {
1332 REGB3
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1333 if (UNTAG_Bool(REGB3
)) {
1335 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 282);
1337 REGB3
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1338 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1339 if (UNTAG_Bool(REGB2
)) {
1341 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 282);
1343 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1344 fra
.me
.REG
[1] = NEW_String_standard___string___String___from_substring(REGB0
, REGB3
, fra
.me
.REG
[1]);
1347 /* ../lib/standard/string.nit:284 */
1349 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB3
));
1350 if (UNTAG_Bool(REGB2
)) {
1352 /* ../lib/standard/kernel.nit:237 */
1353 REGB3
= TAG_Bool((REGB1
)==(REGB3
));
1354 /* ../lib/standard/string.nit:284 */
1357 if (UNTAG_Bool(REGB2
)) {
1358 if (!once_value_2
) {
1359 fra
.me
.REG
[2] = BOX_NativeString("");
1361 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
1362 once_value_2
= fra
.me
.REG
[2];
1363 register_static_object(&once_value_2
);
1364 } else fra
.me
.REG
[2] = once_value_2
;
1365 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1366 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1369 /* ../lib/standard/kernel.nit:245 */
1370 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1371 /* ../lib/standard/string.nit:286 */
1373 /* ../lib/standard/kernel.nit:247 */
1374 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1375 /* ../lib/standard/string.nit:286 */
1376 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1377 if (UNTAG_Bool(REGB1
)) {
1379 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 286);
1381 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1382 fra
.me
.REG
[0] = NEW_String_standard___string___String___from_substring(REGB0
, REGB2
, fra
.me
.REG
[0]);
1383 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1386 stack_frame_head
= fra
.me
.prev
;
1387 return fra
.me
.REG
[1];
1389 static const char LOCATE_standard___string___String___substring_from
[] = "string::String::(string::AbstractString::substring_from)";
1390 val_t
standard___string___String___substring_from(val_t p0
, val_t p1
){
1391 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1396 static val_t once_value_1
; /* Once value */
1397 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1398 fra
.me
.file
= LOCATE_standard___string
;
1400 fra
.me
.meth
= LOCATE_standard___string___String___substring_from
;
1401 fra
.me
.has_broke
= 0;
1402 fra
.me
.REG_size
= 2;
1403 fra
.me
.nitni_local_ref_head
= NULL
;
1404 fra
.me
.REG
[0] = NIT_NULL
;
1405 fra
.me
.REG
[1] = NIT_NULL
;
1408 /* ../lib/standard/string.nit:291 */
1409 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1410 if (UNTAG_Bool(REGB1
)) {
1412 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 291);
1414 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1415 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1416 if (UNTAG_Bool(REGB2
)) {
1418 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1420 /* ../lib/standard/kernel.nit:244 */
1421 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1422 /* ../lib/standard/string.nit:291 */
1423 if (UNTAG_Bool(REGB1
)) {
1424 if (!once_value_1
) {
1425 fra
.me
.REG
[1] = BOX_NativeString("");
1427 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1428 once_value_1
= fra
.me
.REG
[1];
1429 register_static_object(&once_value_1
);
1430 } else fra
.me
.REG
[1] = once_value_1
;
1431 fra
.me
.REG
[1] = fra
.me
.REG
[1];
1434 /* ../lib/standard/string.nit:292 */
1436 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1437 if (UNTAG_Bool(REGB2
)) {
1439 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1441 /* ../lib/standard/kernel.nit:242 */
1442 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
1443 /* ../lib/standard/string.nit:292 */
1444 if (UNTAG_Bool(REGB1
)) {
1448 /* ../lib/standard/string.nit:293 */
1449 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1450 if (UNTAG_Bool(REGB1
)) {
1452 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 293);
1454 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1455 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, REGB1
);
1456 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1459 stack_frame_head
= fra
.me
.prev
;
1460 return fra
.me
.REG
[1];
1462 static const char LOCATE_standard___string___String___has_substring
[] = "string::String::(string::AbstractString::has_substring)";
1463 val_t
standard___string___String___has_substring(val_t p0
, val_t p1
, val_t p2
){
1464 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
1473 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1474 fra
.me
.file
= LOCATE_standard___string
;
1476 fra
.me
.meth
= LOCATE_standard___string___String___has_substring
;
1477 fra
.me
.has_broke
= 0;
1478 fra
.me
.REG_size
= 4;
1479 fra
.me
.nitni_local_ref_head
= NULL
;
1480 fra
.me
.REG
[0] = NIT_NULL
;
1481 fra
.me
.REG
[1] = NIT_NULL
;
1482 fra
.me
.REG
[2] = NIT_NULL
;
1483 fra
.me
.REG
[3] = NIT_NULL
;
1487 /* ../lib/standard/string.nit:298 */
1488 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
1489 if (UNTAG_Bool(REGB1
)) {
1491 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 298);
1493 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
1495 /* ../lib/standard/kernel.nit:247 */
1496 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
1497 /* ../lib/standard/kernel.nit:245 */
1498 REGB0
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
1499 /* ../lib/standard/string.nit:301 */
1500 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1501 if (UNTAG_Bool(REGB1
)) {
1503 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 301);
1505 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1506 /* ../lib/standard/string.nit:303 */
1507 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
1508 if (UNTAG_Bool(REGB1
)) {
1510 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 303);
1512 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
1513 /* ../lib/standard/string.nit:305 */
1514 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1515 if (UNTAG_Bool(REGB1
)) {
1517 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 305);
1519 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1520 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1521 if (UNTAG_Bool(REGB3
)) {
1523 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1525 /* ../lib/standard/kernel.nit:244 */
1526 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
1527 /* ../lib/standard/string.nit:305 */
1528 if (UNTAG_Bool(REGB1
)) {
1529 REGB1
= TAG_Bool(1);
1531 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1532 if (UNTAG_Bool(REGB3
)) {
1534 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1536 /* ../lib/standard/kernel.nit:244 */
1537 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
1538 /* ../lib/standard/string.nit:305 */
1541 if (UNTAG_Bool(REGB1
)) {
1542 REGB1
= TAG_Bool(0);
1545 /* ../lib/standard/string.nit:307 */
1546 REGB3
= CALL_standard___string___String___index_from(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1547 /* ../lib/standard/kernel.nit:245 */
1548 REGB4
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
1549 /* ../lib/standard/string.nit:308 */
1551 /* ../lib/standard/string.nit:309 */
1552 REGB4
= CALL_standard___string___String___index_from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
1553 /* ../lib/standard/kernel.nit:245 */
1554 REGB4
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB4
));
1555 /* ../lib/standard/string.nit:309 */
1557 /* ../lib/standard/string.nit:311 */
1559 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
1560 if (UNTAG_Bool(REGB4
)) {
1562 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1564 /* ../lib/standard/kernel.nit:243 */
1565 REGB4
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
1566 /* ../lib/standard/string.nit:311 */
1567 if (UNTAG_Bool(REGB4
)) {
1568 /* ../lib/standard/string.nit:970 */
1569 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
1570 REGB5
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[3])[UNTAG_Int(REGB2
)]);
1571 /* ../lib/standard/string.nit:312 */
1572 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB5
));
1573 if (UNTAG_Bool(REGB6
)) {
1575 /* ../lib/standard/kernel.nit:434 */
1576 REGB5
= TAG_Bool((REGB4
)==(REGB5
));
1577 /* ../lib/standard/string.nit:312 */
1580 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
1581 if (UNTAG_Bool(REGB6
)) {
1582 REGB6
= TAG_Bool(0);
1586 /* ../lib/standard/string.nit:313 */
1588 /* ../lib/standard/kernel.nit:247 */
1589 REGB6
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB6
));
1590 /* ../lib/standard/string.nit:313 */
1592 /* ../lib/standard/string.nit:314 */
1594 /* ../lib/standard/kernel.nit:247 */
1595 REGB6
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB6
));
1596 /* ../lib/standard/string.nit:314 */
1599 /* ../lib/standard/string.nit:311 */
1604 /* ../lib/standard/string.nit:317 */
1605 REGB2
= TAG_Bool(1);
1609 stack_frame_head
= fra
.me
.prev
;
1612 static const char LOCATE_standard___string___String___to_upper
[] = "string::String::(string::AbstractString::to_upper)";
1613 val_t
standard___string___String___to_upper(val_t p0
){
1614 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1620 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1621 fra
.me
.file
= LOCATE_standard___string
;
1623 fra
.me
.meth
= LOCATE_standard___string___String___to_upper
;
1624 fra
.me
.has_broke
= 0;
1625 fra
.me
.REG_size
= 3;
1626 fra
.me
.nitni_local_ref_head
= NULL
;
1627 fra
.me
.REG
[0] = NIT_NULL
;
1628 fra
.me
.REG
[1] = NIT_NULL
;
1629 fra
.me
.REG
[2] = NIT_NULL
;
1631 /* ../lib/standard/string.nit:322 */
1632 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1633 if (UNTAG_Bool(REGB0
)) {
1635 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 322);
1637 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1639 /* ../lib/standard/kernel.nit:245 */
1640 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1641 /* ../lib/standard/string.nit:1007 */
1642 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1643 /* ../lib/standard/string.nit:323 */
1645 /* ../lib/standard/string.nit:325 */
1646 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1647 if (UNTAG_Bool(REGB0
)) {
1649 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 325);
1651 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1652 /* ../lib/standard/string.nit:326 */
1653 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1654 if (UNTAG_Bool(REGB0
)) {
1656 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 326);
1658 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1659 /* ../lib/standard/string.nit:327 */
1660 REGB2
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1661 if (UNTAG_Bool(REGB2
)) {
1663 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 327);
1665 REGB2
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1666 /* ../lib/standard/string.nit:329 */
1668 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1669 if (UNTAG_Bool(REGB3
)) {
1671 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1673 /* ../lib/standard/kernel.nit:241 */
1674 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1675 /* ../lib/standard/string.nit:329 */
1676 if (UNTAG_Bool(REGB3
)) {
1677 /* ../lib/standard/string.nit:970 */
1678 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
1679 /* ../lib/standard/string.nit:330 */
1680 REGB3
= CALL_standard___kernel___Char___to_upper(REGB3
)(REGB3
);
1681 /* ../lib/standard/string.nit:971 */
1682 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB1
)]=UNTAG_Char(REGB3
);;
1683 /* ../lib/standard/string.nit:331 */
1685 /* ../lib/standard/kernel.nit:245 */
1686 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1687 /* ../lib/standard/string.nit:331 */
1689 /* ../lib/standard/string.nit:332 */
1691 /* ../lib/standard/kernel.nit:245 */
1692 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1693 /* ../lib/standard/string.nit:332 */
1696 /* ../lib/standard/string.nit:329 */
1701 /* ../lib/standard/collection/array.nit:24 */
1702 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1703 if (UNTAG_Bool(REGB0
)) {
1705 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1707 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1708 /* ../lib/standard/string.nit:335 */
1709 REGB1
= TAG_Char('\0');
1710 /* ../lib/standard/string.nit:971 */
1711 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
1712 /* ../lib/standard/string.nit:337 */
1713 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1714 if (UNTAG_Bool(REGB1
)) {
1716 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 337);
1718 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1719 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1722 stack_frame_head
= fra
.me
.prev
;
1723 return fra
.me
.REG
[1];
1725 static const char LOCATE_standard___string___String___to_lower
[] = "string::String::(string::AbstractString::to_lower)";
1726 val_t
standard___string___String___to_lower(val_t p0
){
1727 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1733 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1734 fra
.me
.file
= LOCATE_standard___string
;
1736 fra
.me
.meth
= LOCATE_standard___string___String___to_lower
;
1737 fra
.me
.has_broke
= 0;
1738 fra
.me
.REG_size
= 3;
1739 fra
.me
.nitni_local_ref_head
= NULL
;
1740 fra
.me
.REG
[0] = NIT_NULL
;
1741 fra
.me
.REG
[1] = NIT_NULL
;
1742 fra
.me
.REG
[2] = NIT_NULL
;
1744 /* ../lib/standard/string.nit:342 */
1745 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1746 if (UNTAG_Bool(REGB0
)) {
1748 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 342);
1750 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1752 /* ../lib/standard/kernel.nit:245 */
1753 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1754 /* ../lib/standard/string.nit:1007 */
1755 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
1756 /* ../lib/standard/string.nit:343 */
1758 /* ../lib/standard/string.nit:345 */
1759 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1760 if (UNTAG_Bool(REGB0
)) {
1762 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 345);
1764 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1765 /* ../lib/standard/string.nit:346 */
1766 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1767 if (UNTAG_Bool(REGB0
)) {
1769 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 346);
1771 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1772 /* ../lib/standard/string.nit:347 */
1773 REGB2
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1774 if (UNTAG_Bool(REGB2
)) {
1776 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 347);
1778 REGB2
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1779 /* ../lib/standard/string.nit:349 */
1781 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
1782 if (UNTAG_Bool(REGB3
)) {
1784 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1786 /* ../lib/standard/kernel.nit:241 */
1787 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB2
));
1788 /* ../lib/standard/string.nit:349 */
1789 if (UNTAG_Bool(REGB3
)) {
1790 /* ../lib/standard/string.nit:970 */
1791 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
1792 /* ../lib/standard/string.nit:350 */
1793 REGB3
= CALL_standard___kernel___Char___to_lower(REGB3
)(REGB3
);
1794 /* ../lib/standard/string.nit:971 */
1795 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB1
)]=UNTAG_Char(REGB3
);;
1796 /* ../lib/standard/string.nit:351 */
1798 /* ../lib/standard/kernel.nit:245 */
1799 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
1800 /* ../lib/standard/string.nit:351 */
1802 /* ../lib/standard/string.nit:352 */
1804 /* ../lib/standard/kernel.nit:245 */
1805 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
1806 /* ../lib/standard/string.nit:352 */
1809 /* ../lib/standard/string.nit:349 */
1814 /* ../lib/standard/collection/array.nit:24 */
1815 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1816 if (UNTAG_Bool(REGB0
)) {
1818 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
1820 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1821 /* ../lib/standard/string.nit:355 */
1822 REGB1
= TAG_Char('\0');
1823 /* ../lib/standard/string.nit:971 */
1824 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
1825 /* ../lib/standard/string.nit:357 */
1826 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1827 if (UNTAG_Bool(REGB1
)) {
1829 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 357);
1831 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1832 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
1835 stack_frame_head
= fra
.me
.prev
;
1836 return fra
.me
.REG
[1];
1838 static const char LOCATE_standard___string___String___trim
[] = "string::String::(string::AbstractString::trim)";
1839 val_t
standard___string___String___trim(val_t p0
){
1840 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
1847 static val_t once_value_2
; /* Once value */
1848 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1849 fra
.me
.file
= LOCATE_standard___string
;
1851 fra
.me
.meth
= LOCATE_standard___string___String___trim
;
1852 fra
.me
.has_broke
= 0;
1853 fra
.me
.REG_size
= 3;
1854 fra
.me
.nitni_local_ref_head
= NULL
;
1855 fra
.me
.REG
[0] = NIT_NULL
;
1856 fra
.me
.REG
[1] = NIT_NULL
;
1857 fra
.me
.REG
[2] = NIT_NULL
;
1859 /* ../lib/standard/string.nit:362 */
1860 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
1861 if (UNTAG_Bool(REGB0
)) {
1863 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 362);
1865 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
1867 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
1868 if (UNTAG_Bool(REGB2
)) {
1870 /* ../lib/standard/kernel.nit:237 */
1871 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
1872 /* ../lib/standard/string.nit:362 */
1875 if (UNTAG_Bool(REGB2
)) {
1876 fra
.me
.REG
[1] = fra
.me
.REG
[0];
1879 /* ../lib/standard/string.nit:364 */
1880 REGB2
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
1881 if (UNTAG_Bool(REGB2
)) {
1883 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 364);
1885 REGB2
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
1886 /* ../lib/standard/string.nit:365 */
1888 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1889 if (UNTAG_Bool(REGB1
)) {
1891 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 365);
1893 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1894 /* ../lib/standard/string.nit:970 */
1895 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB2
)]);
1896 /* ../lib/standard/kernel.nit:471 */
1897 REGB1
= TAG_Int((unsigned char)UNTAG_Char(REGB1
));
1898 /* ../lib/standard/string.nit:365 */
1899 REGB0
= TAG_Int(32);
1900 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1901 if (UNTAG_Bool(REGB3
)) {
1903 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1905 /* ../lib/standard/kernel.nit:241 */
1906 REGB0
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
1907 /* ../lib/standard/string.nit:365 */
1908 if (UNTAG_Bool(REGB0
)) {
1909 /* ../lib/standard/string.nit:366 */
1911 /* ../lib/standard/kernel.nit:245 */
1912 REGB0
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
1913 /* ../lib/standard/string.nit:366 */
1915 /* ../lib/standard/string.nit:367 */
1916 REGB0
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1917 if (UNTAG_Bool(REGB0
)) {
1919 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 367);
1921 REGB0
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1923 /* ../lib/standard/kernel.nit:245 */
1924 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1925 /* ../lib/standard/string.nit:367 */
1926 REGB0
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
1927 if (UNTAG_Bool(REGB0
)) {
1929 /* ../lib/standard/kernel.nit:237 */
1930 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
1931 /* ../lib/standard/string.nit:367 */
1934 if (UNTAG_Bool(REGB0
)) {
1935 if (!once_value_2
) {
1936 fra
.me
.REG
[2] = BOX_NativeString("");
1938 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
1939 once_value_2
= fra
.me
.REG
[2];
1940 register_static_object(&once_value_2
);
1941 } else fra
.me
.REG
[2] = once_value_2
;
1942 fra
.me
.REG
[2] = fra
.me
.REG
[2];
1943 fra
.me
.REG
[1] = fra
.me
.REG
[2];
1947 /* ../lib/standard/string.nit:365 */
1952 /* ../lib/standard/string.nit:370 */
1953 REGB0
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
1954 if (UNTAG_Bool(REGB0
)) {
1956 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 370);
1958 REGB0
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
1959 /* ../lib/standard/string.nit:371 */
1961 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1962 if (UNTAG_Bool(REGB1
)) {
1964 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 371);
1966 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
1967 /* ../lib/standard/string.nit:970 */
1968 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB0
)]);
1969 /* ../lib/standard/kernel.nit:471 */
1970 REGB1
= TAG_Int((unsigned char)UNTAG_Char(REGB1
));
1971 /* ../lib/standard/string.nit:371 */
1972 REGB3
= TAG_Int(32);
1973 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
1974 if (UNTAG_Bool(REGB4
)) {
1976 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
1978 /* ../lib/standard/kernel.nit:241 */
1979 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB3
));
1980 /* ../lib/standard/string.nit:371 */
1981 if (UNTAG_Bool(REGB3
)) {
1982 /* ../lib/standard/string.nit:372 */
1984 /* ../lib/standard/kernel.nit:247 */
1985 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
1986 /* ../lib/standard/string.nit:372 */
1988 /* ../lib/standard/string.nit:373 */
1989 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
1990 if (UNTAG_Bool(REGB3
)) {
1992 /* ../lib/standard/kernel.nit:237 */
1993 REGB1
= TAG_Bool((REGB0
)==(REGB2
));
1994 /* ../lib/standard/string.nit:373 */
1997 if (UNTAG_Bool(REGB3
)) {
1998 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
1999 if (UNTAG_Bool(REGB3
)) {
2001 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 373);
2003 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2004 /* ../lib/standard/string.nit:970 */
2005 REGB3
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB2
)]);
2006 /* ../lib/standard/string.nit:373 */
2007 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB3
)(REGB3
);
2008 fra
.me
.REG
[1] = fra
.me
.REG
[2];
2012 /* ../lib/standard/string.nit:371 */
2017 /* ../lib/standard/string.nit:375 */
2018 REGB3
= CALL_standard___string___String___index_from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2019 /* ../lib/standard/kernel.nit:247 */
2020 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
2021 /* ../lib/standard/string.nit:375 */
2023 /* ../lib/standard/string.nit:376 */
2024 REGB3
= CALL_standard___string___String___index_from(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2025 /* ../lib/standard/kernel.nit:247 */
2026 REGB3
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB3
));
2027 /* ../lib/standard/string.nit:376 */
2029 /* ../lib/standard/kernel.nit:247 */
2030 REGB0
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
2031 /* ../lib/standard/string.nit:377 */
2033 /* ../lib/standard/kernel.nit:245 */
2034 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
2035 /* ../lib/standard/string.nit:377 */
2036 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
, REGB3
);
2037 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2040 stack_frame_head
= fra
.me
.prev
;
2041 return fra
.me
.REG
[1];
2043 static const char LOCATE_standard___string___String___output
[] = "string::String::(kernel::Object::output)";
2044 void standard___string___String___output(val_t p0
){
2045 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2050 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2051 fra
.me
.file
= LOCATE_standard___string
;
2053 fra
.me
.meth
= LOCATE_standard___string___String___output
;
2054 fra
.me
.has_broke
= 0;
2055 fra
.me
.REG_size
= 2;
2056 fra
.me
.nitni_local_ref_head
= NULL
;
2057 fra
.me
.REG
[0] = NIT_NULL
;
2058 fra
.me
.REG
[1] = NIT_NULL
;
2060 /* ../lib/standard/string.nit:382 */
2061 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2062 if (UNTAG_Bool(REGB0
)) {
2064 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 382);
2066 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2067 /* ../lib/standard/string.nit:383 */
2068 REGB1
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
2069 if (UNTAG_Bool(REGB1
)) {
2071 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 383);
2073 REGB1
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
2074 /* ../lib/standard/string.nit:384 */
2076 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2077 if (UNTAG_Bool(REGB2
)) {
2079 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2081 /* ../lib/standard/kernel.nit:241 */
2082 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
2083 /* ../lib/standard/string.nit:384 */
2084 if (UNTAG_Bool(REGB2
)) {
2085 /* ../lib/standard/string.nit:385 */
2086 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2087 if (UNTAG_Bool(REGB2
)) {
2089 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 385);
2091 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2092 /* ../lib/standard/string.nit:970 */
2093 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB0
)]);
2094 /* ../lib/standard/kernel.nit:436 */
2095 printf("%c", (unsigned char)UNTAG_Char(REGB2
));;
2096 /* ../lib/standard/string.nit:386 */
2098 /* ../lib/standard/kernel.nit:245 */
2099 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
2100 /* ../lib/standard/string.nit:386 */
2103 /* ../lib/standard/string.nit:384 */
2108 stack_frame_head
= fra
.me
.prev
;
2111 static const char LOCATE_standard___string___String___from_substring
[] = "string::String::from_substring";
2112 void standard___string___String___from_substring(val_t p0
, val_t p1
, val_t p2
, val_t p3
, int* init_table
){
2113 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___String
].i
;
2114 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2118 if (init_table
[itpos0
]) return;
2119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2120 fra
.me
.file
= LOCATE_standard___string
;
2122 fra
.me
.meth
= LOCATE_standard___string___String___from_substring
;
2123 fra
.me
.has_broke
= 0;
2124 fra
.me
.REG_size
= 2;
2125 fra
.me
.nitni_local_ref_head
= NULL
;
2126 fra
.me
.REG
[0] = NIT_NULL
;
2127 fra
.me
.REG
[1] = NIT_NULL
;
2132 /* ../lib/standard/string.nit:402 */
2133 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2134 /* ../lib/standard/string.nit:403 */
2135 ATTR_standard___string___String____index_from(fra
.me
.REG
[0]) = REGB0
;
2136 /* ../lib/standard/string.nit:404 */
2137 ATTR_standard___string___String____index_to(fra
.me
.REG
[0]) = REGB1
;
2138 /* ../lib/standard/kernel.nit:247 */
2139 REGB0
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
2140 /* ../lib/standard/string.nit:405 */
2142 /* ../lib/standard/kernel.nit:245 */
2143 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2144 /* ../lib/standard/string.nit:405 */
2145 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
2146 stack_frame_head
= fra
.me
.prev
;
2147 init_table
[itpos0
] = 1;
2150 static const char LOCATE_standard___string___String___with_infos
[] = "string::String::with_infos";
2151 void standard___string___String___with_infos(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
, int* init_table
){
2152 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___String
].i
;
2153 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2158 if (init_table
[itpos1
]) return;
2159 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2160 fra
.me
.file
= LOCATE_standard___string
;
2162 fra
.me
.meth
= LOCATE_standard___string___String___with_infos
;
2163 fra
.me
.has_broke
= 0;
2164 fra
.me
.REG_size
= 2;
2165 fra
.me
.nitni_local_ref_head
= NULL
;
2166 fra
.me
.REG
[0] = NIT_NULL
;
2167 fra
.me
.REG
[1] = NIT_NULL
;
2173 /* ../lib/standard/string.nit:410 */
2174 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
2175 /* ../lib/standard/string.nit:411 */
2176 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
2177 /* ../lib/standard/string.nit:412 */
2178 ATTR_standard___string___String____index_from(fra
.me
.REG
[0]) = REGB1
;
2179 /* ../lib/standard/string.nit:413 */
2180 ATTR_standard___string___String____index_to(fra
.me
.REG
[0]) = REGB2
;
2181 stack_frame_head
= fra
.me
.prev
;
2182 init_table
[itpos1
] = 1;
2185 static const char LOCATE_standard___string___String___to_cstring
[] = "string::String::to_cstring";
2186 val_t
standard___string___String___to_cstring(val_t p0
){
2187 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
2193 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2194 fra
.me
.file
= LOCATE_standard___string
;
2196 fra
.me
.meth
= LOCATE_standard___string___String___to_cstring
;
2197 fra
.me
.has_broke
= 0;
2198 fra
.me
.REG_size
= 3;
2199 fra
.me
.nitni_local_ref_head
= NULL
;
2200 fra
.me
.REG
[0] = NIT_NULL
;
2201 fra
.me
.REG
[1] = NIT_NULL
;
2202 fra
.me
.REG
[2] = NIT_NULL
;
2204 /* ../lib/standard/string.nit:419 */
2205 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2206 if (UNTAG_Bool(REGB0
)) {
2208 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 419);
2210 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2212 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2213 if (UNTAG_Bool(REGB2
)) {
2215 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2217 /* ../lib/standard/kernel.nit:244 */
2218 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
2219 /* ../lib/standard/string.nit:419 */
2220 if (UNTAG_Bool(REGB1
)) {
2221 REGB1
= TAG_Bool(1);
2223 REGB0
= TAG_Bool(ATTR_standard___string___String____index_to(fra
.me
.REG
[0])!=NIT_NULL
);
2224 if (UNTAG_Bool(REGB0
)) {
2226 nit_abort("Uninitialized attribute %s", "_index_to", LOCATE_standard___string
, 419);
2228 REGB0
= ATTR_standard___string___String____index_to(fra
.me
.REG
[0]);
2229 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2230 REGB2
= CALL_standard___string___NativeString___cstring_length(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2232 /* ../lib/standard/kernel.nit:247 */
2233 REGB3
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB3
));
2234 /* ../lib/standard/string.nit:419 */
2235 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB3
));
2236 if (UNTAG_Bool(REGB2
)) {
2238 /* ../lib/standard/kernel.nit:237 */
2239 REGB3
= TAG_Bool((REGB0
)==(REGB3
));
2240 /* ../lib/standard/string.nit:419 */
2243 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
2246 if (UNTAG_Bool(REGB1
)) {
2247 /* ../lib/standard/string.nit:420 */
2248 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2249 if (UNTAG_Bool(REGB1
)) {
2251 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 420);
2253 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2255 /* ../lib/standard/kernel.nit:245 */
2256 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
2257 /* ../lib/standard/string.nit:1007 */
2258 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB2
) * sizeof(char))));
2259 /* ../lib/standard/string.nit:421 */
2260 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2261 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2262 if (UNTAG_Bool(REGB2
)) {
2264 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 421);
2266 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2267 REGB1
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2268 if (UNTAG_Bool(REGB1
)) {
2270 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 421);
2272 REGB1
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2274 /* ../lib/standard/string.nit:972 */
2275 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB3
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB1
), UNTAG_Int(REGB2
));;
2276 /* ../lib/standard/collection/array.nit:24 */
2277 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2278 if (UNTAG_Bool(REGB3
)) {
2280 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2282 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2283 /* ../lib/standard/string.nit:422 */
2284 REGB1
= TAG_Char('\0');
2285 /* ../lib/standard/string.nit:971 */
2286 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]=UNTAG_Char(REGB1
);;
2287 /* ../lib/standard/string.nit:423 */
2290 /* ../lib/standard/string.nit:425 */
2291 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2292 if (UNTAG_Bool(REGB1
)) {
2294 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 425);
2296 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2297 fra
.me
.REG
[1] = fra
.me
.REG
[0];
2300 stack_frame_head
= fra
.me
.prev
;
2301 return fra
.me
.REG
[1];
2303 static const char LOCATE_standard___string___String_____eqeq
[] = "string::String::(kernel::Object::==)";
2304 val_t
standard___string___String_____eqeq(val_t p0
, val_t p1
){
2305 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2314 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2315 fra
.me
.file
= LOCATE_standard___string
;
2317 fra
.me
.meth
= LOCATE_standard___string___String_____eqeq
;
2318 fra
.me
.has_broke
= 0;
2319 fra
.me
.REG_size
= 2;
2320 fra
.me
.nitni_local_ref_head
= NULL
;
2321 fra
.me
.REG
[0] = NIT_NULL
;
2322 fra
.me
.REG
[1] = NIT_NULL
;
2325 /* ../lib/standard/string.nit:430 */
2326 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*/;
2327 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
2328 if (UNTAG_Bool(REGB0
)) {
2329 REGB0
= TAG_Bool(1);
2331 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2334 if (UNTAG_Bool(REGB0
)) {
2335 REGB0
= TAG_Bool(0);
2338 /* ../lib/standard/string.nit:432 */
2339 REGB1
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2340 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
2341 if (UNTAG_Bool(REGB2
)) {
2342 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 432);
2344 REGB2
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2345 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
2346 if (UNTAG_Bool(REGB3
)) {
2348 /* ../lib/standard/kernel.nit:237 */
2349 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
2350 /* ../lib/standard/string.nit:432 */
2353 if (UNTAG_Bool(REGB3
)) {
2354 REGB3
= TAG_Bool(1);
2358 /* ../lib/standard/string.nit:434 */
2359 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2360 if (UNTAG_Bool(REGB3
)) {
2362 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 434);
2364 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2365 /* ../lib/standard/string.nit:436 */
2366 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2367 if (UNTAG_Bool(REGB2
)) {
2369 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 436);
2371 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2372 REGB1
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB3
));
2373 if (UNTAG_Bool(REGB1
)) {
2375 /* ../lib/standard/kernel.nit:237 */
2376 REGB2
= TAG_Bool((REGB2
)==(REGB3
));
2377 /* ../lib/standard/string.nit:436 */
2380 REGB1
= TAG_Bool(!UNTAG_Bool(REGB1
));
2381 if (UNTAG_Bool(REGB1
)) {
2382 REGB1
= TAG_Bool(0);
2386 /* ../lib/standard/string.nit:438 */
2387 REGB1
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2388 if (UNTAG_Bool(REGB1
)) {
2390 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 438);
2392 REGB1
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2393 /* ../lib/standard/string.nit:439 */
2394 REGB2
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[1])!=NIT_NULL
);
2395 if (UNTAG_Bool(REGB2
)) {
2397 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 439);
2399 REGB2
= ATTR_standard___string___String____index_from(fra
.me
.REG
[1]);
2400 /* ../lib/standard/kernel.nit:245 */
2401 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2402 /* ../lib/standard/string.nit:443 */
2403 REGB4
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
2404 if (UNTAG_Bool(REGB4
)) {
2406 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 443);
2408 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
2409 /* ../lib/standard/string.nit:444 */
2410 REGB4
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2411 if (UNTAG_Bool(REGB4
)) {
2413 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 444);
2415 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2416 /* ../lib/standard/string.nit:446 */
2418 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2419 if (UNTAG_Bool(REGB4
)) {
2421 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2423 /* ../lib/standard/kernel.nit:242 */
2424 REGB4
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB3
));
2425 /* ../lib/standard/string.nit:446 */
2426 if (UNTAG_Bool(REGB4
)) {
2427 /* ../lib/standard/string.nit:970 */
2428 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB1
)]);
2429 REGB5
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]);
2430 /* ../lib/standard/string.nit:447 */
2431 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB5
));
2432 if (UNTAG_Bool(REGB6
)) {
2434 /* ../lib/standard/kernel.nit:434 */
2435 REGB5
= TAG_Bool((REGB4
)==(REGB5
));
2436 /* ../lib/standard/string.nit:447 */
2439 REGB6
= TAG_Bool(!UNTAG_Bool(REGB6
));
2440 if (UNTAG_Bool(REGB6
)) {
2441 REGB6
= TAG_Bool(0);
2445 /* ../lib/standard/string.nit:448 */
2447 /* ../lib/standard/kernel.nit:245 */
2448 REGB6
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB6
));
2449 /* ../lib/standard/string.nit:448 */
2451 /* ../lib/standard/string.nit:449 */
2453 /* ../lib/standard/kernel.nit:245 */
2454 REGB6
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB6
));
2455 /* ../lib/standard/string.nit:449 */
2458 /* ../lib/standard/string.nit:446 */
2463 /* ../lib/standard/string.nit:452 */
2464 REGB2
= TAG_Bool(1);
2468 stack_frame_head
= fra
.me
.prev
;
2471 static const char LOCATE_standard___string___String_____l
[] = "string::String::(kernel::Comparable::<)";
2472 val_t
standard___string___String_____l(val_t p0
, val_t p1
){
2473 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2485 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2486 fra
.me
.file
= LOCATE_standard___string
;
2488 fra
.me
.meth
= LOCATE_standard___string___String_____l
;
2489 fra
.me
.has_broke
= 0;
2490 fra
.me
.REG_size
= 4;
2491 fra
.me
.nitni_local_ref_head
= NULL
;
2492 fra
.me
.REG
[0] = NIT_NULL
;
2493 fra
.me
.REG
[1] = NIT_NULL
;
2494 fra
.me
.REG
[2] = NIT_NULL
;
2495 fra
.me
.REG
[3] = NIT_NULL
;
2498 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*/;
2499 if (UNTAG_Bool(REGB0
)) {
2501 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 0);
2503 /* ../lib/standard/string.nit:460 */
2504 REGB0
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
2505 REGB1
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
2506 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
2507 if (UNTAG_Bool(REGB2
)) {
2509 /* ../lib/standard/kernel.nit:237 */
2510 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
2511 /* ../lib/standard/string.nit:460 */
2514 if (UNTAG_Bool(REGB2
)) {
2515 REGB2
= TAG_Bool(0);
2518 /* ../lib/standard/string.nit:465 */
2519 REGB1
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2520 if (UNTAG_Bool(REGB1
)) {
2522 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 465);
2524 REGB1
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2525 /* ../lib/standard/string.nit:466 */
2526 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[1])!=NIT_NULL
);
2527 if (UNTAG_Bool(REGB0
)) {
2529 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 466);
2531 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[1]);
2532 /* ../lib/standard/string.nit:468 */
2533 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2534 if (UNTAG_Bool(REGB3
)) {
2536 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 468);
2538 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2539 /* ../lib/standard/string.nit:469 */
2540 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
2541 if (UNTAG_Bool(REGB3
)) {
2543 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 469);
2545 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
2546 /* ../lib/standard/string.nit:471 */
2547 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2548 if (UNTAG_Bool(REGB3
)) {
2550 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 471);
2552 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2553 /* ../lib/standard/string.nit:472 */
2554 REGB4
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2555 if (UNTAG_Bool(REGB4
)) {
2557 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 472);
2559 REGB4
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2560 /* ../lib/standard/kernel.nit:245 */
2561 REGB5
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
2562 /* ../lib/standard/string.nit:476 */
2564 REGB6
= TAG_Bool(VAL_ISA(REGB5
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
2565 if (UNTAG_Bool(REGB6
)) {
2567 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2569 /* ../lib/standard/kernel.nit:242 */
2570 REGB6
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB5
));
2571 /* ../lib/standard/string.nit:476 */
2572 if (UNTAG_Bool(REGB6
)) {
2573 /* ../lib/standard/string.nit:970 */
2574 REGB6
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB1
)]);
2575 REGB7
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[3])[UNTAG_Int(REGB0
)]);
2576 /* ../lib/standard/string.nit:480 */
2577 REGB8
= TAG_Bool(IS_EQUAL_OO(REGB6
,REGB7
));
2578 if (UNTAG_Bool(REGB8
)) {
2580 /* ../lib/standard/kernel.nit:434 */
2581 REGB9
= TAG_Bool((REGB6
)==(REGB7
));
2582 /* ../lib/standard/string.nit:480 */
2585 REGB8
= TAG_Bool(!UNTAG_Bool(REGB8
));
2586 if (UNTAG_Bool(REGB8
)) {
2587 REGB8
= TAG_Bool(VAL_ISA(REGB7
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB6
), VTID_standard___kernel___Comparable___OTHER(REGB6
))) /*cast OTHER*/;
2588 if (UNTAG_Bool(REGB8
)) {
2590 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2592 /* ../lib/standard/kernel.nit:439 */
2593 REGB7
= TAG_Bool(UNTAG_Char(REGB6
)<UNTAG_Char(REGB7
));
2594 /* ../lib/standard/string.nit:481 */
2595 if (UNTAG_Bool(REGB7
)) {
2596 REGB7
= TAG_Bool(1);
2600 /* ../lib/standard/string.nit:482 */
2601 REGB7
= TAG_Bool(0);
2605 /* ../lib/standard/string.nit:485 */
2607 /* ../lib/standard/kernel.nit:245 */
2608 REGB7
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB7
));
2609 /* ../lib/standard/string.nit:485 */
2611 /* ../lib/standard/string.nit:486 */
2613 /* ../lib/standard/kernel.nit:245 */
2614 REGB7
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB7
));
2615 /* ../lib/standard/string.nit:486 */
2618 /* ../lib/standard/string.nit:476 */
2623 REGB0
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
2624 if (UNTAG_Bool(REGB0
)) {
2626 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2628 /* ../lib/standard/kernel.nit:242 */
2629 REGB4
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
2630 /* ../lib/standard/string.nit:489 */
2634 stack_frame_head
= fra
.me
.prev
;
2637 static const char LOCATE_standard___string___String_____plus
[] = "string::String::+";
2638 val_t
standard___string___String_____plus(val_t p0
, val_t p1
){
2639 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
2646 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2647 fra
.me
.file
= LOCATE_standard___string
;
2649 fra
.me
.meth
= LOCATE_standard___string___String_____plus
;
2650 fra
.me
.has_broke
= 0;
2651 fra
.me
.REG_size
= 4;
2652 fra
.me
.nitni_local_ref_head
= NULL
;
2653 fra
.me
.REG
[0] = NIT_NULL
;
2654 fra
.me
.REG
[1] = NIT_NULL
;
2655 fra
.me
.REG
[2] = NIT_NULL
;
2656 fra
.me
.REG
[3] = NIT_NULL
;
2659 /* ../lib/standard/string.nit:497 */
2660 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2661 if (UNTAG_Bool(REGB0
)) {
2663 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 497);
2665 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2666 /* ../lib/standard/string.nit:498 */
2667 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
2668 if (UNTAG_Bool(REGB1
)) {
2670 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 498);
2672 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
2673 /* ../lib/standard/kernel.nit:245 */
2674 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2675 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
2676 /* ../lib/standard/string.nit:502 */
2678 /* ../lib/standard/kernel.nit:245 */
2679 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
2680 /* ../lib/standard/string.nit:1007 */
2681 fra
.me
.REG
[2] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB4
) * sizeof(char))));
2682 /* ../lib/standard/string.nit:504 */
2683 REGB4
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2684 if (UNTAG_Bool(REGB4
)) {
2686 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 504);
2688 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2689 REGB4
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2690 if (UNTAG_Bool(REGB4
)) {
2692 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 504);
2694 REGB4
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2696 /* ../lib/standard/string.nit:972 */
2697 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB3
), UNBOX_NativeString(fra
.me
.REG
[3])+UNTAG_Int(REGB4
), UNTAG_Int(REGB0
));;
2698 /* ../lib/standard/string.nit:505 */
2699 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
2700 if (UNTAG_Bool(REGB3
)) {
2702 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 505);
2704 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
2705 REGB3
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[1])!=NIT_NULL
);
2706 if (UNTAG_Bool(REGB3
)) {
2708 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 505);
2710 REGB3
= ATTR_standard___string___String____index_from(fra
.me
.REG
[1]);
2711 /* ../lib/standard/string.nit:972 */
2712 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB0
), UNBOX_NativeString(fra
.me
.REG
[3])+UNTAG_Int(REGB3
), UNTAG_Int(REGB1
));;
2713 /* ../lib/standard/string.nit:507 */
2714 REGB0
= TAG_Char('\0');
2715 /* ../lib/standard/string.nit:971 */
2716 UNBOX_NativeString(fra
.me
.REG
[2])[UNTAG_Int(REGB2
)]=UNTAG_Char(REGB0
);;
2717 /* ../lib/standard/string.nit:509 */
2718 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
2721 stack_frame_head
= fra
.me
.prev
;
2722 return fra
.me
.REG
[2];
2724 static const char LOCATE_standard___string___String_____star
[] = "string::String::*";
2725 val_t
standard___string___String_____star(val_t p0
, val_t p1
){
2726 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2734 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2735 fra
.me
.file
= LOCATE_standard___string
;
2737 fra
.me
.meth
= LOCATE_standard___string___String_____star
;
2738 fra
.me
.has_broke
= 0;
2739 fra
.me
.REG_size
= 2;
2740 fra
.me
.nitni_local_ref_head
= NULL
;
2741 fra
.me
.REG
[0] = NIT_NULL
;
2742 fra
.me
.REG
[1] = NIT_NULL
;
2745 /* ../lib/standard/string.nit:519 */
2747 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2748 if (UNTAG_Bool(REGB2
)) {
2750 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2752 /* ../lib/standard/kernel.nit:243 */
2753 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
2754 /* ../lib/standard/string.nit:519 */
2755 if (UNTAG_Bool(REGB1
)) {
2757 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 519);
2759 /* ../lib/standard/string.nit:521 */
2760 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2761 if (UNTAG_Bool(REGB1
)) {
2763 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 521);
2765 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2766 /* ../lib/standard/kernel.nit:248 */
2767 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB0
));
2768 /* ../lib/standard/string.nit:525 */
2769 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2770 if (UNTAG_Bool(REGB3
)) {
2772 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 525);
2774 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2775 /* ../lib/standard/string.nit:527 */
2777 /* ../lib/standard/kernel.nit:245 */
2778 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
2779 /* ../lib/standard/string.nit:1007 */
2780 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB3
) * sizeof(char))));
2781 /* ../lib/standard/string.nit:529 */
2782 REGB3
= TAG_Char('\0');
2783 /* ../lib/standard/string.nit:971 */
2784 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB2
)]=UNTAG_Char(REGB3
);;
2785 /* ../lib/standard/string.nit:531 */
2787 /* ../lib/standard/string.nit:533 */
2789 /* ../lib/standard/kernel.nit:393 */
2791 REGB5
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
2792 if (UNTAG_Bool(REGB5
)) {
2794 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2796 /* ../lib/standard/kernel.nit:241 */
2797 REGB5
= TAG_Bool(UNTAG_Int(REGB4
)<=UNTAG_Int(REGB0
));
2798 /* ../lib/standard/kernel.nit:393 */
2799 if (UNTAG_Bool(REGB5
)) {
2800 /* ../lib/standard/string.nit:534 */
2802 /* ../lib/standard/string.nit:972 */
2803 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB3
), UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB5
), UNTAG_Int(REGB1
));;
2804 /* ../lib/standard/kernel.nit:245 */
2805 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB1
));
2806 /* ../lib/standard/string.nit:535 */
2808 /* ../lib/standard/kernel.nit:395 */
2810 /* ../lib/standard/kernel.nit:245 */
2811 REGB5
= TAG_Int(UNTAG_Int(REGB4
)+UNTAG_Int(REGB5
));
2812 /* ../lib/standard/kernel.nit:395 */
2815 /* ../lib/standard/kernel.nit:393 */
2820 /* ../lib/standard/string.nit:538 */
2821 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB2
);
2824 stack_frame_head
= fra
.me
.prev
;
2825 return fra
.me
.REG
[0];
2827 static const char LOCATE_standard___string___String___to_s
[] = "string::String::(string::Object::to_s)";
2828 val_t
standard___string___String___to_s(val_t p0
){
2829 struct {struct stack_frame_t me
;} fra
;
2831 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2832 fra
.me
.file
= LOCATE_standard___string
;
2834 fra
.me
.meth
= LOCATE_standard___string___String___to_s
;
2835 fra
.me
.has_broke
= 0;
2836 fra
.me
.REG_size
= 1;
2837 fra
.me
.nitni_local_ref_head
= NULL
;
2838 fra
.me
.REG
[0] = NIT_NULL
;
2840 /* ../lib/standard/string.nit:541 */
2843 stack_frame_head
= fra
.me
.prev
;
2844 return fra
.me
.REG
[0];
2846 static const char LOCATE_standard___string___String___hash
[] = "string::String::(hash::Object::hash)";
2847 val_t
standard___string___String___hash(val_t p0
){
2848 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
2855 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2856 fra
.me
.file
= LOCATE_standard___string
;
2858 fra
.me
.meth
= LOCATE_standard___string___String___hash
;
2859 fra
.me
.has_broke
= 0;
2860 fra
.me
.REG_size
= 2;
2861 fra
.me
.nitni_local_ref_head
= NULL
;
2862 fra
.me
.REG
[0] = NIT_NULL
;
2863 fra
.me
.REG
[1] = NIT_NULL
;
2865 /* ../lib/standard/string.nit:546 */
2866 REGB0
= TAG_Int(5381);
2867 /* ../lib/standard/string.nit:547 */
2868 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2869 if (UNTAG_Bool(REGB1
)) {
2871 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 547);
2873 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2875 /* ../lib/standard/kernel.nit:247 */
2876 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
2877 /* ../lib/standard/string.nit:549 */
2878 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2879 if (UNTAG_Bool(REGB1
)) {
2881 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 549);
2883 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2884 /* ../lib/standard/string.nit:550 */
2885 REGB1
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[0])!=NIT_NULL
);
2886 if (UNTAG_Bool(REGB1
)) {
2888 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 550);
2890 REGB1
= ATTR_standard___string___String____index_from(fra
.me
.REG
[0]);
2891 /* ../lib/standard/kernel.nit:245 */
2892 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
2893 /* ../lib/standard/string.nit:552 */
2895 /* ../lib/standard/string.nit:554 */
2897 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
2898 if (UNTAG_Bool(REGB3
)) {
2900 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2902 /* ../lib/standard/kernel.nit:243 */
2903 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB1
));
2904 /* ../lib/standard/string.nit:554 */
2905 if (UNTAG_Bool(REGB3
)) {
2906 /* ../lib/standard/string.nit:555 */
2907 REGB3
= TAG_Int(32);
2908 /* ../lib/standard/kernel.nit:248 */
2909 REGB3
= TAG_Int(UNTAG_Int(REGB0
)*UNTAG_Int(REGB3
));
2910 /* ../lib/standard/kernel.nit:245 */
2911 REGB3
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB0
));
2912 /* ../lib/standard/string.nit:555 */
2913 REGB4
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
2914 if (UNTAG_Bool(REGB4
)) {
2916 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 555);
2918 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
2919 /* ../lib/standard/string.nit:970 */
2920 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]);
2921 /* ../lib/standard/kernel.nit:471 */
2922 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
2923 /* ../lib/standard/kernel.nit:245 */
2924 REGB4
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB4
));
2925 /* ../lib/standard/string.nit:555 */
2927 /* ../lib/standard/string.nit:556 */
2929 /* ../lib/standard/kernel.nit:247 */
2930 REGB4
= TAG_Int(UNTAG_Int(REGB2
)-UNTAG_Int(REGB4
));
2931 /* ../lib/standard/string.nit:556 */
2934 /* ../lib/standard/string.nit:554 */
2939 /* ../lib/standard/string.nit:559 */
2942 stack_frame_head
= fra
.me
.prev
;
2945 static const char LOCATE_standard___string___Buffer_____braeq
[] = "string::Buffer::(abstract_collection::Sequence::[]=)";
2946 void standard___string___Buffer_____braeq(val_t p0
, val_t p1
, val_t p2
){
2947 struct {struct stack_frame_t me
;} fra
;
2953 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
2954 fra
.me
.file
= LOCATE_standard___string
;
2956 fra
.me
.meth
= LOCATE_standard___string___Buffer_____braeq
;
2957 fra
.me
.has_broke
= 0;
2958 fra
.me
.REG_size
= 1;
2959 fra
.me
.nitni_local_ref_head
= NULL
;
2960 fra
.me
.REG
[0] = NIT_NULL
;
2964 /* ../lib/standard/collection/array.nit:24 */
2965 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2966 if (UNTAG_Bool(REGB2
)) {
2968 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
2970 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
2971 /* ../lib/standard/string.nit:574 */
2972 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB2
));
2973 if (UNTAG_Bool(REGB3
)) {
2975 /* ../lib/standard/kernel.nit:237 */
2976 REGB2
= TAG_Bool((REGB0
)==(REGB2
));
2977 /* ../lib/standard/string.nit:574 */
2980 if (UNTAG_Bool(REGB3
)) {
2981 /* ../lib/standard/string.nit:575 */
2982 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
2983 /* ../lib/standard/string.nit:576 */
2986 /* ../lib/standard/string.nit:578 */
2988 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
2989 if (UNTAG_Bool(REGB2
)) {
2991 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
2993 /* ../lib/standard/kernel.nit:243 */
2994 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB3
));
2995 /* ../lib/standard/string.nit:578 */
2996 if (UNTAG_Bool(REGB3
)) {
2997 /* ../lib/standard/collection/array.nit:24 */
2998 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
2999 if (UNTAG_Bool(REGB3
)) {
3001 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3003 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3004 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3005 if (UNTAG_Bool(REGB2
)) {
3007 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3009 /* ../lib/standard/kernel.nit:242 */
3010 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB3
));
3012 /* ../lib/standard/string.nit:578 */
3013 REGB2
= TAG_Bool(0);
3016 if (UNTAG_Bool(REGB3
)) {
3018 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 578);
3020 /* ../lib/standard/string.nit:579 */
3021 REGB3
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3022 if (UNTAG_Bool(REGB3
)) {
3024 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 579);
3026 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3027 /* ../lib/standard/string.nit:971 */
3028 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
3030 stack_frame_head
= fra
.me
.prev
;
3033 static const char LOCATE_standard___string___Buffer___add
[] = "string::Buffer::(abstract_collection::SimpleCollection::add)";
3034 void standard___string___Buffer___add(val_t p0
, val_t p1
){
3035 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3041 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3042 fra
.me
.file
= LOCATE_standard___string
;
3044 fra
.me
.meth
= LOCATE_standard___string___Buffer___add
;
3045 fra
.me
.has_broke
= 0;
3046 fra
.me
.REG_size
= 2;
3047 fra
.me
.nitni_local_ref_head
= NULL
;
3048 fra
.me
.REG
[0] = NIT_NULL
;
3049 fra
.me
.REG
[1] = NIT_NULL
;
3052 /* ../lib/standard/string.nit:584 */
3053 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
3054 if (UNTAG_Bool(REGB1
)) {
3056 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 584);
3058 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
3059 /* ../lib/standard/collection/array.nit:24 */
3060 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3061 if (UNTAG_Bool(REGB2
)) {
3063 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3065 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3066 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3067 if (UNTAG_Bool(REGB3
)) {
3069 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3071 /* ../lib/standard/kernel.nit:241 */
3072 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB2
));
3073 /* ../lib/standard/string.nit:584 */
3074 if (UNTAG_Bool(REGB2
)) {
3075 /* ../lib/standard/collection/array.nit:24 */
3076 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3077 if (UNTAG_Bool(REGB2
)) {
3079 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3081 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3082 /* ../lib/standard/string.nit:584 */
3084 /* ../lib/standard/kernel.nit:245 */
3085 REGB1
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB1
));
3086 /* ../lib/standard/string.nit:584 */
3087 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
3089 /* ../lib/standard/string.nit:585 */
3090 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3091 if (UNTAG_Bool(REGB1
)) {
3093 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 585);
3095 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3096 /* ../lib/standard/collection/array.nit:24 */
3097 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3098 if (UNTAG_Bool(REGB1
)) {
3100 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3102 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3103 /* ../lib/standard/string.nit:971 */
3104 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB1
)]=UNTAG_Char(REGB0
);;
3105 /* ../lib/standard/string.nit:586 */
3106 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3108 /* ../lib/standard/kernel.nit:245 */
3109 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3110 /* ../lib/standard/string.nit:586 */
3111 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
3112 stack_frame_head
= fra
.me
.prev
;
3115 static const char LOCATE_standard___string___Buffer___enlarge
[] = "string::Buffer::(array::AbstractArray::enlarge)";
3116 void standard___string___Buffer___enlarge(val_t p0
, val_t p1
){
3117 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3123 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3124 fra
.me
.file
= LOCATE_standard___string
;
3126 fra
.me
.meth
= LOCATE_standard___string___Buffer___enlarge
;
3127 fra
.me
.has_broke
= 0;
3128 fra
.me
.REG_size
= 3;
3129 fra
.me
.nitni_local_ref_head
= NULL
;
3130 fra
.me
.REG
[0] = NIT_NULL
;
3131 fra
.me
.REG
[1] = NIT_NULL
;
3132 fra
.me
.REG
[2] = NIT_NULL
;
3135 /* ../lib/standard/string.nit:591 */
3136 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
3137 if (UNTAG_Bool(REGB1
)) {
3139 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 591);
3141 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
3142 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3143 if (UNTAG_Bool(REGB2
)) {
3145 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3147 /* ../lib/standard/kernel.nit:241 */
3148 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<=UNTAG_Int(REGB1
));
3149 /* ../lib/standard/string.nit:592 */
3150 if (UNTAG_Bool(REGB2
)) {
3153 /* ../lib/standard/string.nit:593 */
3155 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3156 if (UNTAG_Bool(REGB2
)) {
3158 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3160 /* ../lib/standard/kernel.nit:241 */
3161 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB0
));
3162 /* ../lib/standard/string.nit:593 */
3163 if (UNTAG_Bool(REGB2
)) {
3165 /* ../lib/standard/kernel.nit:248 */
3166 REGB2
= TAG_Int(UNTAG_Int(REGB1
)*UNTAG_Int(REGB2
));
3167 /* ../lib/standard/string.nit:593 */
3169 /* ../lib/standard/kernel.nit:245 */
3170 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
3171 /* ../lib/standard/string.nit:593 */
3178 /* ../lib/standard/string.nit:594 */
3180 /* ../lib/standard/kernel.nit:245 */
3181 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
3182 /* ../lib/standard/string.nit:1007 */
3183 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
3184 /* ../lib/standard/string.nit:595 */
3185 REGB0
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3186 if (UNTAG_Bool(REGB0
)) {
3188 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 595);
3190 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3191 /* ../lib/standard/collection/array.nit:24 */
3192 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3193 if (UNTAG_Bool(REGB0
)) {
3195 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3197 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3198 /* ../lib/standard/string.nit:595 */
3201 /* ../lib/standard/string.nit:972 */
3202 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB3
), UNTAG_Int(REGB0
));;
3203 /* ../lib/standard/string.nit:596 */
3204 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3205 /* ../lib/standard/string.nit:597 */
3206 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB1
;
3208 stack_frame_head
= fra
.me
.prev
;
3211 static const char LOCATE_standard___string___Buffer___append
[] = "string::Buffer::(abstract_collection::Sequence::append)";
3212 void standard___string___Buffer___append(val_t p0
, val_t p1
){
3213 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
3219 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3220 fra
.me
.file
= LOCATE_standard___string
;
3222 fra
.me
.meth
= LOCATE_standard___string___Buffer___append
;
3223 fra
.me
.has_broke
= 0;
3224 fra
.me
.REG_size
= 6;
3225 fra
.me
.nitni_local_ref_head
= NULL
;
3226 fra
.me
.REG
[0] = NIT_NULL
;
3227 fra
.me
.REG
[1] = NIT_NULL
;
3228 fra
.me
.REG
[2] = NIT_NULL
;
3229 fra
.me
.REG
[3] = NIT_NULL
;
3230 fra
.me
.REG
[4] = NIT_NULL
;
3231 fra
.me
.REG
[5] = NIT_NULL
;
3234 /* ../lib/standard/string.nit:600 */
3235 fra
.me
.REG
[2] = fra
.me
.REG
[0];
3236 fra
.me
.REG
[3] = fra
.me
.REG
[1];
3237 /* ../lib/standard/string.nit:602 */
3238 REGB0
= TAG_Bool(VAL_ISA(fra
.me
.REG
[3], COLOR_standard___string___String
, ID_standard___string___String
)) /*cast String*/;
3239 if (UNTAG_Bool(REGB0
)) {
3240 /* ../lib/standard/collection/array.nit:24 */
3241 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
3242 if (UNTAG_Bool(REGB0
)) {
3244 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3246 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
3247 /* ../lib/standard/string.nit:604 */
3248 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[2])!=NIT_NULL
);
3249 if (UNTAG_Bool(REGB1
)) {
3251 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 604);
3253 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[2]);
3254 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3255 if (UNTAG_Bool(REGB2
)) {
3257 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 604);
3259 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3260 /* ../lib/standard/kernel.nit:245 */
3261 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3262 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3263 if (UNTAG_Bool(REGB3
)) {
3265 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3267 /* ../lib/standard/kernel.nit:242 */
3268 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
3269 /* ../lib/standard/string.nit:604 */
3270 if (UNTAG_Bool(REGB2
)) {
3271 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3272 if (UNTAG_Bool(REGB2
)) {
3274 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 604);
3276 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3277 /* ../lib/standard/kernel.nit:245 */
3278 REGB2
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB0
));
3279 /* ../lib/standard/string.nit:604 */
3280 CALL_standard___collection___array___AbstractArray___enlarge(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB2
);
3282 /* ../lib/standard/string.nit:605 */
3283 fra
.me
.REG
[4] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
3284 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2])!=NIT_NULL
);
3285 if (UNTAG_Bool(REGB2
)) {
3287 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 605);
3289 fra
.me
.REG
[5] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[2]);
3290 REGB2
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[3])!=NIT_NULL
);
3291 if (UNTAG_Bool(REGB2
)) {
3293 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 605);
3295 REGB2
= ATTR_standard___string___String____index_from(fra
.me
.REG
[3]);
3296 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
3297 if (UNTAG_Bool(REGB1
)) {
3299 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 605);
3301 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3302 /* ../lib/standard/string.nit:972 */
3303 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[5])+UNTAG_Int(REGB1
), UNBOX_NativeString(fra
.me
.REG
[4])+UNTAG_Int(REGB2
), UNTAG_Int(REGB0
));;
3304 /* ../lib/standard/string.nit:606 */
3305 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
3306 /* ../lib/standard/kernel.nit:245 */
3307 REGB0
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB0
));
3308 /* ../lib/standard/string.nit:606 */
3309 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]) = REGB0
;
3311 /* ../lib/standard/string.nit:608 */
3312 CALL_SUPER_standard___string___Buffer___append(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
3314 stack_frame_head
= fra
.me
.prev
;
3317 static const char LOCATE_standard___string___Buffer___to_s
[] = "string::Buffer::(string::Object::to_s)";
3318 val_t
standard___string___Buffer___to_s(val_t p0
){
3319 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3324 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3325 fra
.me
.file
= LOCATE_standard___string
;
3327 fra
.me
.meth
= LOCATE_standard___string___Buffer___to_s
;
3328 fra
.me
.has_broke
= 0;
3329 fra
.me
.REG_size
= 3;
3330 fra
.me
.nitni_local_ref_head
= NULL
;
3331 fra
.me
.REG
[0] = NIT_NULL
;
3332 fra
.me
.REG
[1] = NIT_NULL
;
3333 fra
.me
.REG
[2] = NIT_NULL
;
3335 /* ../lib/standard/collection/array.nit:24 */
3336 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3337 if (UNTAG_Bool(REGB0
)) {
3339 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3341 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3342 /* ../lib/standard/string.nit:615 */
3344 /* ../lib/standard/kernel.nit:245 */
3345 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3346 /* ../lib/standard/string.nit:1007 */
3347 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
3348 /* ../lib/standard/string.nit:616 */
3349 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3350 if (UNTAG_Bool(REGB1
)) {
3352 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 616);
3354 fra
.me
.REG
[2] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3357 /* ../lib/standard/string.nit:972 */
3358 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
3359 /* ../lib/standard/collection/array.nit:24 */
3360 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3361 if (UNTAG_Bool(REGB2
)) {
3363 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3365 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3366 /* ../lib/standard/string.nit:619 */
3367 REGB1
= TAG_Char('\0');
3368 /* ../lib/standard/string.nit:971 */
3369 UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB2
)]=UNTAG_Char(REGB1
);;
3370 /* ../lib/standard/collection/array.nit:24 */
3371 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3372 if (UNTAG_Bool(REGB1
)) {
3374 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3376 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3377 /* ../lib/standard/string.nit:621 */
3378 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB1
);
3381 stack_frame_head
= fra
.me
.prev
;
3382 return fra
.me
.REG
[1];
3384 static const char LOCATE_standard___string___Buffer_____l
[] = "string::Buffer::(kernel::Comparable::<)";
3385 val_t
standard___string___Buffer_____l(val_t p0
, val_t p1
){
3386 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3395 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3396 fra
.me
.file
= LOCATE_standard___string
;
3398 fra
.me
.meth
= LOCATE_standard___string___Buffer_____l
;
3399 fra
.me
.has_broke
= 0;
3400 fra
.me
.REG_size
= 2;
3401 fra
.me
.nitni_local_ref_head
= NULL
;
3402 fra
.me
.REG
[0] = NIT_NULL
;
3403 fra
.me
.REG
[1] = NIT_NULL
;
3406 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*/;
3407 if (UNTAG_Bool(REGB0
)) {
3409 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 0);
3411 /* ../lib/standard/string.nit:626 */
3413 /* ../lib/standard/collection/array.nit:24 */
3414 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3415 if (UNTAG_Bool(REGB1
)) {
3417 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3419 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3420 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
3421 if (UNTAG_Bool(REGB2
)) {
3423 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3425 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
3426 /* ../lib/standard/string.nit:629 */
3428 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3429 if (UNTAG_Bool(REGB3
)) {
3431 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3433 /* ../lib/standard/kernel.nit:242 */
3434 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
3435 /* ../lib/standard/string.nit:629 */
3436 if (UNTAG_Bool(REGB3
)) {
3437 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3438 if (UNTAG_Bool(REGB3
)) {
3440 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3442 /* ../lib/standard/kernel.nit:242 */
3443 REGB3
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
3445 /* ../lib/standard/string.nit:629 */
3446 REGB4
= TAG_Bool(0);
3449 if (UNTAG_Bool(REGB3
)) {
3450 /* ../lib/standard/string.nit:630 */
3451 REGB3
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3452 /* ../lib/standard/kernel.nit:471 */
3453 REGB3
= TAG_Int((unsigned char)UNTAG_Char(REGB3
));
3454 /* ../lib/standard/string.nit:631 */
3455 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
3456 /* ../lib/standard/kernel.nit:471 */
3457 REGB4
= TAG_Int((unsigned char)UNTAG_Char(REGB4
));
3458 REGB5
= TAG_Bool(VAL_ISA(REGB4
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
3459 if (UNTAG_Bool(REGB5
)) {
3461 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3463 /* ../lib/standard/kernel.nit:242 */
3464 REGB5
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB4
));
3465 /* ../lib/standard/string.nit:632 */
3466 if (UNTAG_Bool(REGB5
)) {
3467 /* ../lib/standard/string.nit:633 */
3468 REGB5
= TAG_Bool(1);
3471 REGB6
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
3472 if (UNTAG_Bool(REGB6
)) {
3474 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3476 /* ../lib/standard/kernel.nit:242 */
3477 REGB3
= TAG_Bool(UNTAG_Int(REGB4
)<UNTAG_Int(REGB3
));
3478 /* ../lib/standard/string.nit:634 */
3479 if (UNTAG_Bool(REGB3
)) {
3480 /* ../lib/standard/string.nit:635 */
3481 REGB3
= TAG_Bool(0);
3486 /* ../lib/standard/string.nit:637 */
3488 /* ../lib/standard/kernel.nit:245 */
3489 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
3490 /* ../lib/standard/string.nit:637 */
3493 /* ../lib/standard/string.nit:629 */
3498 REGB0
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
3499 if (UNTAG_Bool(REGB0
)) {
3501 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3503 /* ../lib/standard/kernel.nit:242 */
3504 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
3505 /* ../lib/standard/string.nit:639 */
3506 if (UNTAG_Bool(REGB2
)) {
3507 /* ../lib/standard/string.nit:640 */
3508 REGB2
= TAG_Bool(1);
3512 /* ../lib/standard/string.nit:642 */
3513 REGB2
= TAG_Bool(0);
3518 stack_frame_head
= fra
.me
.prev
;
3521 static const char LOCATE_standard___string___Buffer___init
[] = "string::Buffer::init";
3522 void standard___string___Buffer___init(val_t p0
, int* init_table
){
3523 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
3524 struct {struct stack_frame_t me
;} fra
;
3527 if (init_table
[itpos2
]) return;
3528 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3529 fra
.me
.file
= LOCATE_standard___string
;
3531 fra
.me
.meth
= LOCATE_standard___string___Buffer___init
;
3532 fra
.me
.has_broke
= 0;
3533 fra
.me
.REG_size
= 1;
3534 fra
.me
.nitni_local_ref_head
= NULL
;
3535 fra
.me
.REG
[0] = NIT_NULL
;
3537 /* ../lib/standard/string.nit:649 */
3539 CALL_standard___string___Buffer___with_capacity(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
, init_table
);
3540 stack_frame_head
= fra
.me
.prev
;
3541 init_table
[itpos2
] = 1;
3544 static const char LOCATE_standard___string___Buffer___from
[] = "string::Buffer::from";
3545 void standard___string___Buffer___from(val_t p0
, val_t p1
, int* init_table
){
3546 int itpos3
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
3547 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
3552 if (init_table
[itpos3
]) return;
3553 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3554 fra
.me
.file
= LOCATE_standard___string
;
3556 fra
.me
.meth
= LOCATE_standard___string___Buffer___from
;
3557 fra
.me
.has_broke
= 0;
3558 fra
.me
.REG_size
= 4;
3559 fra
.me
.nitni_local_ref_head
= NULL
;
3560 fra
.me
.REG
[0] = NIT_NULL
;
3561 fra
.me
.REG
[1] = NIT_NULL
;
3562 fra
.me
.REG
[2] = NIT_NULL
;
3563 fra
.me
.REG
[3] = NIT_NULL
;
3566 /* ../lib/standard/collection/array.nit:24 */
3567 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
3568 if (UNTAG_Bool(REGB0
)) {
3570 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3572 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
3573 /* ../lib/standard/string.nit:654 */
3575 /* ../lib/standard/kernel.nit:245 */
3576 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3577 /* ../lib/standard/string.nit:654 */
3578 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB1
;
3579 /* ../lib/standard/collection/array.nit:24 */
3580 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
3581 if (UNTAG_Bool(REGB1
)) {
3583 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3585 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
3586 /* ../lib/standard/string.nit:655 */
3587 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB1
;
3588 /* ../lib/standard/string.nit:656 */
3589 REGB1
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
3590 if (UNTAG_Bool(REGB1
)) {
3592 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 656);
3594 REGB1
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
3595 /* ../lib/standard/string.nit:1007 */
3596 fra
.me
.REG
[2] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
3597 /* ../lib/standard/string.nit:656 */
3598 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
3599 /* ../lib/standard/string.nit:657 */
3600 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___items(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3601 REGB1
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3602 if (UNTAG_Bool(REGB1
)) {
3604 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 657);
3606 fra
.me
.REG
[3] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3607 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3608 if (UNTAG_Bool(REGB1
)) {
3610 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___string
, 657);
3612 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3613 REGB0
= TAG_Bool(ATTR_standard___string___String____index_from(fra
.me
.REG
[1])!=NIT_NULL
);
3614 if (UNTAG_Bool(REGB0
)) {
3616 nit_abort("Uninitialized attribute %s", "_index_from", LOCATE_standard___string
, 657);
3618 REGB0
= ATTR_standard___string___String____index_from(fra
.me
.REG
[1]);
3620 /* ../lib/standard/string.nit:972 */
3621 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[3])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[2])+UNTAG_Int(REGB0
), UNTAG_Int(REGB1
));;
3622 stack_frame_head
= fra
.me
.prev
;
3623 init_table
[itpos3
] = 1;
3626 static const char LOCATE_standard___string___Buffer___with_capacity
[] = "string::Buffer::with_capacity";
3627 void standard___string___Buffer___with_capacity(val_t p0
, val_t p1
, int* init_table
){
3628 int itpos4
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___Buffer
].i
;
3629 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3634 if (init_table
[itpos4
]) return;
3635 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3636 fra
.me
.file
= LOCATE_standard___string
;
3638 fra
.me
.meth
= LOCATE_standard___string___Buffer___with_capacity
;
3639 fra
.me
.has_broke
= 0;
3640 fra
.me
.REG_size
= 2;
3641 fra
.me
.nitni_local_ref_head
= NULL
;
3642 fra
.me
.REG
[0] = NIT_NULL
;
3643 fra
.me
.REG
[1] = NIT_NULL
;
3646 /* ../lib/standard/string.nit:663 */
3648 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
3649 if (UNTAG_Bool(REGB2
)) {
3651 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3653 /* ../lib/standard/kernel.nit:243 */
3654 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
3655 /* ../lib/standard/string.nit:663 */
3656 if (UNTAG_Bool(REGB1
)) {
3658 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 663);
3660 /* ../lib/standard/string.nit:665 */
3662 /* ../lib/standard/kernel.nit:245 */
3663 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
3664 /* ../lib/standard/string.nit:1007 */
3665 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
3666 /* ../lib/standard/string.nit:665 */
3667 ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
3668 /* ../lib/standard/string.nit:666 */
3669 ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]) = REGB0
;
3670 /* ../lib/standard/string.nit:667 */
3672 ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]) = REGB0
;
3673 stack_frame_head
= fra
.me
.prev
;
3674 init_table
[itpos4
] = 1;
3677 static const char LOCATE_standard___string___Buffer_____eqeq
[] = "string::Buffer::(kernel::Object::==)";
3678 val_t
standard___string___Buffer_____eqeq(val_t p0
, val_t p1
){
3679 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
3687 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3688 fra
.me
.file
= LOCATE_standard___string
;
3690 fra
.me
.meth
= LOCATE_standard___string___Buffer_____eqeq
;
3691 fra
.me
.has_broke
= 0;
3692 fra
.me
.REG_size
= 2;
3693 fra
.me
.nitni_local_ref_head
= NULL
;
3694 fra
.me
.REG
[0] = NIT_NULL
;
3695 fra
.me
.REG
[1] = NIT_NULL
;
3698 /* ../lib/standard/string.nit:672 */
3699 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*/;
3700 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
3701 if (UNTAG_Bool(REGB0
)) {
3702 REGB0
= TAG_Bool(1);
3704 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3707 if (UNTAG_Bool(REGB0
)) {
3708 REGB0
= TAG_Bool(0);
3711 /* ../lib/standard/collection/array.nit:24 */
3712 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
3713 if (UNTAG_Bool(REGB1
)) {
3715 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3717 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
3718 /* ../lib/standard/string.nit:674 */
3719 REGB2
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
3720 if (UNTAG_Bool(REGB2
)) {
3721 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 674);
3723 /* ../lib/standard/collection/array.nit:24 */
3724 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
3725 if (UNTAG_Bool(REGB2
)) {
3727 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
3729 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
3730 /* ../lib/standard/string.nit:674 */
3731 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
3732 if (UNTAG_Bool(REGB3
)) {
3734 /* ../lib/standard/kernel.nit:237 */
3735 REGB2
= TAG_Bool((REGB2
)==(REGB1
));
3736 /* ../lib/standard/string.nit:674 */
3739 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
3740 if (UNTAG_Bool(REGB3
)) {
3741 REGB3
= TAG_Bool(0);
3745 /* ../lib/standard/string.nit:675 */
3747 /* ../lib/standard/string.nit:676 */
3748 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0])!=NIT_NULL
);
3749 if (UNTAG_Bool(REGB2
)) {
3751 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 676);
3753 fra
.me
.REG
[0] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[0]);
3754 /* ../lib/standard/string.nit:677 */
3755 REGB2
= TAG_Bool(ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1])!=NIT_NULL
);
3756 if (UNTAG_Bool(REGB2
)) {
3758 nit_abort("Uninitialized attribute %s", "_items", LOCATE_standard___string
, 677);
3760 fra
.me
.REG
[1] = ATTR_standard___string___AbstractString____items(fra
.me
.REG
[1]);
3761 /* ../lib/standard/string.nit:678 */
3763 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB3
), VTID_standard___kernel___Comparable___OTHER(REGB3
))) /*cast OTHER*/;
3764 if (UNTAG_Bool(REGB2
)) {
3766 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
3768 /* ../lib/standard/kernel.nit:242 */
3769 REGB2
= TAG_Bool(UNTAG_Int(REGB3
)<UNTAG_Int(REGB1
));
3770 /* ../lib/standard/string.nit:678 */
3771 if (UNTAG_Bool(REGB2
)) {
3772 /* ../lib/standard/string.nit:970 */
3773 REGB2
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB3
)]);
3774 REGB4
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[1])[UNTAG_Int(REGB3
)]);
3775 /* ../lib/standard/string.nit:679 */
3776 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB4
));
3777 if (UNTAG_Bool(REGB5
)) {
3779 /* ../lib/standard/kernel.nit:434 */
3780 REGB4
= TAG_Bool((REGB2
)==(REGB4
));
3781 /* ../lib/standard/string.nit:679 */
3784 REGB5
= TAG_Bool(!UNTAG_Bool(REGB5
));
3785 if (UNTAG_Bool(REGB5
)) {
3786 REGB5
= TAG_Bool(0);
3790 /* ../lib/standard/string.nit:680 */
3792 /* ../lib/standard/kernel.nit:245 */
3793 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
3794 /* ../lib/standard/string.nit:680 */
3797 /* ../lib/standard/string.nit:678 */
3802 /* ../lib/standard/string.nit:682 */
3803 REGB3
= TAG_Bool(1);
3807 stack_frame_head
= fra
.me
.prev
;
3810 static const char LOCATE_standard___string___Buffer___capacity
[] = "string::Buffer::capacity";
3811 val_t
standard___string___Buffer___capacity(val_t p0
){
3812 struct {struct stack_frame_t me
;} fra
;
3815 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3816 fra
.me
.file
= LOCATE_standard___string
;
3818 fra
.me
.meth
= LOCATE_standard___string___Buffer___capacity
;
3819 fra
.me
.has_broke
= 0;
3820 fra
.me
.REG_size
= 1;
3821 fra
.me
.nitni_local_ref_head
= NULL
;
3822 fra
.me
.REG
[0] = NIT_NULL
;
3824 /* ../lib/standard/string.nit:685 */
3825 REGB0
= TAG_Bool(ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0])!=NIT_NULL
);
3826 if (UNTAG_Bool(REGB0
)) {
3828 nit_abort("Uninitialized attribute %s", "_capacity", LOCATE_standard___string
, 685);
3830 REGB0
= ATTR_standard___string___Buffer____capacity(fra
.me
.REG
[0]);
3831 stack_frame_head
= fra
.me
.prev
;
3834 static const char LOCATE_standard___string___Object___to_s
[] = "string::Object::to_s";
3835 val_t
standard___string___Object___to_s(val_t p0
){
3836 struct {struct stack_frame_t me
;} fra
;
3838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3839 fra
.me
.file
= LOCATE_standard___string
;
3841 fra
.me
.meth
= LOCATE_standard___string___Object___to_s
;
3842 fra
.me
.has_broke
= 0;
3843 fra
.me
.REG_size
= 1;
3844 fra
.me
.nitni_local_ref_head
= NULL
;
3845 fra
.me
.REG
[0] = NIT_NULL
;
3847 /* ../lib/standard/string.nit:694 */
3848 fra
.me
.REG
[0] = CALL_standard___string___Object___inspect(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3851 stack_frame_head
= fra
.me
.prev
;
3852 return fra
.me
.REG
[0];
3854 static const char LOCATE_standard___string___Object___native_class_name
[] = "string::Object::native_class_name";
3855 val_t
standard___string___Object___native_class_name(val_t p0
){
3856 struct {struct stack_frame_t me
;} fra
;
3858 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3859 fra
.me
.file
= LOCATE_standard___string
;
3861 fra
.me
.meth
= LOCATE_standard___string___Object___native_class_name
;
3862 fra
.me
.has_broke
= 0;
3863 fra
.me
.REG_size
= 1;
3864 fra
.me
.nitni_local_ref_head
= NULL
;
3865 fra
.me
.REG
[0] = NIT_NULL
;
3867 /* ../lib/standard/string.nit:696 */
3868 fra
.me
.REG
[0] = BOX_NativeString(VAL2VFT(fra
.me
.REG
[0])[2].cname
);;
3869 stack_frame_head
= fra
.me
.prev
;
3870 return fra
.me
.REG
[0];
3872 static const char LOCATE_standard___string___Object___class_name
[] = "string::Object::class_name";
3873 val_t
standard___string___Object___class_name(val_t p0
){
3874 struct {struct stack_frame_t me
;} fra
;
3876 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3877 fra
.me
.file
= LOCATE_standard___string
;
3879 fra
.me
.meth
= LOCATE_standard___string___Object___class_name
;
3880 fra
.me
.has_broke
= 0;
3881 fra
.me
.REG_size
= 1;
3882 fra
.me
.nitni_local_ref_head
= NULL
;
3883 fra
.me
.REG
[0] = NIT_NULL
;
3885 /* ../lib/standard/string.nit:702 */
3886 fra
.me
.REG
[0] = CALL_standard___string___Object___native_class_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3887 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3890 stack_frame_head
= fra
.me
.prev
;
3891 return fra
.me
.REG
[0];
3893 static const char LOCATE_standard___string___Object___inspect
[] = "string::Object::inspect";
3894 val_t
standard___string___Object___inspect(val_t p0
){
3895 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3898 static val_t once_value_1
; /* Once value */
3899 static val_t once_value_2
; /* Once value */
3900 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3901 fra
.me
.file
= LOCATE_standard___string
;
3903 fra
.me
.meth
= LOCATE_standard___string___Object___inspect
;
3904 fra
.me
.has_broke
= 0;
3905 fra
.me
.REG_size
= 3;
3906 fra
.me
.nitni_local_ref_head
= NULL
;
3907 fra
.me
.REG
[0] = NIT_NULL
;
3908 fra
.me
.REG
[1] = NIT_NULL
;
3909 fra
.me
.REG
[2] = NIT_NULL
;
3911 /* ../lib/standard/string.nit:708 */
3913 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3914 if (!once_value_1
) {
3915 fra
.me
.REG
[2] = BOX_NativeString("<");
3917 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3918 once_value_1
= fra
.me
.REG
[2];
3919 register_static_object(&once_value_1
);
3920 } else fra
.me
.REG
[2] = once_value_1
;
3921 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3922 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3923 fra
.me
.REG
[0] = CALL_standard___string___Object___inspect_head(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3924 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3925 if (!once_value_2
) {
3926 fra
.me
.REG
[0] = BOX_NativeString(">");
3928 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3929 once_value_2
= fra
.me
.REG
[0];
3930 register_static_object(&once_value_2
);
3931 } else fra
.me
.REG
[0] = once_value_2
;
3932 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3933 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3934 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3937 stack_frame_head
= fra
.me
.prev
;
3938 return fra
.me
.REG
[1];
3940 static const char LOCATE_standard___string___Object___inspect_head
[] = "string::Object::inspect_head";
3941 val_t
standard___string___Object___inspect_head(val_t p0
){
3942 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
3945 static val_t once_value_1
; /* Once value */
3946 static val_t once_value_2
; /* Once value */
3947 static val_t once_value_3
; /* Once value */
3948 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
3949 fra
.me
.file
= LOCATE_standard___string
;
3951 fra
.me
.meth
= LOCATE_standard___string___Object___inspect_head
;
3952 fra
.me
.has_broke
= 0;
3953 fra
.me
.REG_size
= 3;
3954 fra
.me
.nitni_local_ref_head
= NULL
;
3955 fra
.me
.REG
[0] = NIT_NULL
;
3956 fra
.me
.REG
[1] = NIT_NULL
;
3957 fra
.me
.REG
[2] = NIT_NULL
;
3959 /* ../lib/standard/string.nit:715 */
3961 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
3962 if (!once_value_1
) {
3963 fra
.me
.REG
[2] = BOX_NativeString("");
3965 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3966 once_value_1
= fra
.me
.REG
[2];
3967 register_static_object(&once_value_1
);
3968 } else fra
.me
.REG
[2] = once_value_1
;
3969 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3970 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3971 fra
.me
.REG
[2] = CALL_standard___string___Object___class_name(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3972 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3973 if (!once_value_2
) {
3974 fra
.me
.REG
[2] = BOX_NativeString(":#");
3976 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
3977 once_value_2
= fra
.me
.REG
[2];
3978 register_static_object(&once_value_2
);
3979 } else fra
.me
.REG
[2] = once_value_2
;
3980 fra
.me
.REG
[2] = fra
.me
.REG
[2];
3981 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
3982 REGB0
= CALL_standard___kernel___Object___object_id(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
3983 fra
.me
.REG
[0] = CALL_standard___string___Int___to_hex(REGB0
)(REGB0
);
3984 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3985 if (!once_value_3
) {
3986 fra
.me
.REG
[0] = BOX_NativeString("");
3988 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
3989 once_value_3
= fra
.me
.REG
[0];
3990 register_static_object(&once_value_3
);
3991 } else fra
.me
.REG
[0] = once_value_3
;
3992 fra
.me
.REG
[0] = fra
.me
.REG
[0];
3993 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
3994 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
3997 stack_frame_head
= fra
.me
.prev
;
3998 return fra
.me
.REG
[1];
4000 static const char LOCATE_standard___string___Object___args
[] = "string::Object::args";
4001 val_t
standard___string___Object___args(val_t p0
){
4002 struct {struct stack_frame_t me
;} fra
;
4004 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4005 fra
.me
.file
= LOCATE_standard___string
;
4007 fra
.me
.meth
= LOCATE_standard___string___Object___args
;
4008 fra
.me
.has_broke
= 0;
4009 fra
.me
.REG_size
= 1;
4010 fra
.me
.nitni_local_ref_head
= NULL
;
4011 fra
.me
.REG
[0] = NIT_NULL
;
4013 /* ../lib/standard/string.nit:720 */
4014 fra
.me
.REG
[0] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4015 fra
.me
.REG
[0] = CALL_standard___string___Object___args(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4018 stack_frame_head
= fra
.me
.prev
;
4019 return fra
.me
.REG
[0];
4021 static const char LOCATE_standard___string___Bool___to_s
[] = "string::Bool::(string::Object::to_s)";
4022 val_t
standard___string___Bool___to_s(val_t p0
){
4023 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4026 static val_t once_value_1
; /* Once value */
4027 static val_t once_value_2
; /* Once value */
4028 static val_t once_value_4
; /* Once value */
4029 static val_t once_value_5
; /* Once value */
4030 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4031 fra
.me
.file
= LOCATE_standard___string
;
4033 fra
.me
.meth
= LOCATE_standard___string___Bool___to_s
;
4034 fra
.me
.has_broke
= 0;
4035 fra
.me
.REG_size
= 2;
4036 fra
.me
.nitni_local_ref_head
= NULL
;
4037 fra
.me
.REG
[0] = NIT_NULL
;
4038 fra
.me
.REG
[1] = NIT_NULL
;
4040 /* ../lib/standard/string.nit:729 */
4041 if (UNTAG_Bool(REGB0
)) {
4042 /* ../lib/standard/string.nit:730 */
4043 if (!once_value_1
) {
4044 if (!once_value_2
) {
4045 fra
.me
.REG
[0] = BOX_NativeString("true");
4047 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4048 once_value_2
= fra
.me
.REG
[0];
4049 register_static_object(&once_value_2
);
4050 } else fra
.me
.REG
[0] = once_value_2
;
4051 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4052 once_value_1
= fra
.me
.REG
[0];
4053 register_static_object(&once_value_1
);
4054 } else fra
.me
.REG
[0] = once_value_1
;
4055 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4058 /* ../lib/standard/string.nit:732 */
4059 if (!once_value_4
) {
4060 if (!once_value_5
) {
4061 fra
.me
.REG
[1] = BOX_NativeString("false");
4063 fra
.me
.REG
[1] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
4064 once_value_5
= fra
.me
.REG
[1];
4065 register_static_object(&once_value_5
);
4066 } else fra
.me
.REG
[1] = once_value_5
;
4067 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4068 once_value_4
= fra
.me
.REG
[1];
4069 register_static_object(&once_value_4
);
4070 } else fra
.me
.REG
[1] = once_value_4
;
4071 fra
.me
.REG
[1] = fra
.me
.REG
[1];
4072 fra
.me
.REG
[0] = fra
.me
.REG
[1];
4076 stack_frame_head
= fra
.me
.prev
;
4077 return fra
.me
.REG
[0];
4079 static const char LOCATE_standard___string___Int___fill_buffer
[] = "string::Int::fill_buffer";
4080 void standard___string___Int___fill_buffer(val_t p0
, val_t p1
, val_t p2
, val_t p3
){
4081 struct {struct stack_frame_t me
;} fra
;
4088 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4089 fra
.me
.file
= LOCATE_standard___string
;
4091 fra
.me
.meth
= LOCATE_standard___string___Int___fill_buffer
;
4092 fra
.me
.has_broke
= 0;
4093 fra
.me
.REG_size
= 1;
4094 fra
.me
.nitni_local_ref_head
= NULL
;
4095 fra
.me
.REG
[0] = NIT_NULL
;
4100 /* ../lib/standard/string.nit:744 */
4102 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4103 if (UNTAG_Bool(REGB3
)) {
4105 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4107 /* ../lib/standard/kernel.nit:242 */
4108 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB2
));
4109 /* ../lib/standard/string.nit:744 */
4110 if (UNTAG_Bool(REGB2
)) {
4111 /* ../lib/standard/kernel.nit:246 */
4112 REGB2
= TAG_Int(-UNTAG_Int(REGB0
));
4113 /* ../lib/standard/string.nit:746 */
4115 REGB4
= TAG_Char('-');
4116 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
4118 /* ../lib/standard/string.nit:747 */
4120 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB4
));
4121 if (UNTAG_Bool(REGB3
)) {
4123 /* ../lib/standard/kernel.nit:237 */
4124 REGB4
= TAG_Bool((REGB0
)==(REGB4
));
4125 /* ../lib/standard/string.nit:747 */
4128 if (UNTAG_Bool(REGB3
)) {
4129 /* ../lib/standard/string.nit:748 */
4131 REGB4
= TAG_Char('0');
4132 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
, REGB4
);
4133 /* ../lib/standard/string.nit:749 */
4136 /* ../lib/standard/string.nit:751 */
4140 /* ../lib/standard/string.nit:754 */
4141 REGB0
= CALL_standard___kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
4143 /* ../lib/standard/kernel.nit:247 */
4144 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
4145 /* ../lib/standard/string.nit:755 */
4148 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB4
), VTID_standard___kernel___Comparable___OTHER(REGB4
))) /*cast OTHER*/;
4149 if (UNTAG_Bool(REGB3
)) {
4151 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4153 /* ../lib/standard/kernel.nit:243 */
4154 REGB0
= TAG_Bool(UNTAG_Int(REGB4
)>=UNTAG_Int(REGB0
));
4155 /* ../lib/standard/string.nit:755 */
4156 if (UNTAG_Bool(REGB0
)) {
4158 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
4159 if (UNTAG_Bool(REGB3
)) {
4161 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4163 /* ../lib/standard/kernel.nit:244 */
4164 REGB0
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
4166 /* ../lib/standard/string.nit:755 */
4167 REGB3
= TAG_Bool(0);
4170 if (UNTAG_Bool(REGB0
)) {
4171 /* ../lib/standard/kernel.nit:250 */
4172 REGB0
= TAG_Int(UNTAG_Int(REGB2
)%UNTAG_Int(REGB1
));
4173 /* ../lib/standard/string.nit:756 */
4174 REGB0
= CALL_standard___kernel___Int___to_c(REGB0
)(REGB0
);
4175 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
, REGB0
);
4176 /* ../lib/standard/kernel.nit:249 */
4177 REGB0
= TAG_Int(UNTAG_Int(REGB2
)/UNTAG_Int(REGB1
));
4178 /* ../lib/standard/string.nit:757 */
4180 /* ../lib/standard/string.nit:758 */
4182 /* ../lib/standard/kernel.nit:247 */
4183 REGB0
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB0
));
4184 /* ../lib/standard/string.nit:758 */
4187 /* ../lib/standard/string.nit:755 */
4193 stack_frame_head
= fra
.me
.prev
;
4196 static const char LOCATE_standard___string___Int___native_int_to_s
[] = "string::Int::native_int_to_s";
4197 val_t
standard___string___Int___native_int_to_s(val_t p0
, val_t p1
){
4198 struct {struct stack_frame_t me
;} fra
;
4202 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4203 fra
.me
.file
= LOCATE_standard___string
;
4205 fra
.me
.meth
= LOCATE_standard___string___Int___native_int_to_s
;
4206 fra
.me
.has_broke
= 0;
4207 fra
.me
.REG_size
= 1;
4208 fra
.me
.nitni_local_ref_head
= NULL
;
4209 fra
.me
.REG
[0] = NIT_NULL
;
4212 /* ../lib/standard/string.nit:762 */
4213 fra
.me
.REG
[0] = Int_native_int_to_s___out(REGB0
, REGB1
);
4214 stack_frame_head
= fra
.me
.prev
;
4215 return fra
.me
.REG
[0];
4217 static const char LOCATE_standard___string___Int___to_s
[] = "string::Int::(string::Object::to_s)";
4218 val_t
standard___string___Int___to_s(val_t p0
){
4219 struct {struct stack_frame_t me
;} fra
;
4223 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4224 fra
.me
.file
= LOCATE_standard___string
;
4226 fra
.me
.meth
= LOCATE_standard___string___Int___to_s
;
4227 fra
.me
.has_broke
= 0;
4228 fra
.me
.REG_size
= 1;
4229 fra
.me
.nitni_local_ref_head
= NULL
;
4230 fra
.me
.REG
[0] = NIT_NULL
;
4232 /* ../lib/standard/string.nit:770 */
4233 REGB1
= TAG_Int(10);
4234 REGB1
= CALL_standard___kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
4235 /* ../lib/standard/string.nit:771 */
4236 fra
.me
.REG
[0] = CALL_standard___string___Int___native_int_to_s(REGB0
)(REGB0
, REGB1
);
4237 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
4240 stack_frame_head
= fra
.me
.prev
;
4241 return fra
.me
.REG
[0];
4243 static const char LOCATE_standard___string___Int___to_hex
[] = "string::Int::to_hex";
4244 val_t
standard___string___Int___to_hex(val_t p0
){
4245 struct {struct stack_frame_t me
;} fra
;
4250 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4251 fra
.me
.file
= LOCATE_standard___string
;
4253 fra
.me
.meth
= LOCATE_standard___string___Int___to_hex
;
4254 fra
.me
.has_broke
= 0;
4255 fra
.me
.REG_size
= 1;
4256 fra
.me
.nitni_local_ref_head
= NULL
;
4257 fra
.me
.REG
[0] = NIT_NULL
;
4259 /* ../lib/standard/string.nit:775 */
4260 REGB1
= TAG_Int(16);
4261 REGB2
= TAG_Bool(0);
4262 fra
.me
.REG
[0] = CALL_standard___string___Int___to_base(REGB0
)(REGB0
, REGB1
, REGB2
);
4265 stack_frame_head
= fra
.me
.prev
;
4266 return fra
.me
.REG
[0];
4268 static const char LOCATE_standard___string___Int___to_base
[] = "string::Int::to_base";
4269 val_t
standard___string___Int___to_base(val_t p0
, val_t p1
, val_t p2
){
4270 struct {struct stack_frame_t me
;} fra
;
4277 static val_t once_value_1
; /* Once value */
4278 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4279 fra
.me
.file
= LOCATE_standard___string
;
4281 fra
.me
.meth
= LOCATE_standard___string___Int___to_base
;
4282 fra
.me
.has_broke
= 0;
4283 fra
.me
.REG_size
= 1;
4284 fra
.me
.nitni_local_ref_head
= NULL
;
4285 fra
.me
.REG
[0] = NIT_NULL
;
4289 /* ../lib/standard/string.nit:780 */
4290 REGB3
= CALL_standard___kernel___Int___digit_count(REGB0
)(REGB0
, REGB1
);
4291 /* ../lib/standard/string.nit:781 */
4292 if (!once_value_1
) {
4293 fra
.me
.REG
[0] = BOX_NativeString(" ");
4295 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB4
);
4296 once_value_1
= fra
.me
.REG
[0];
4297 register_static_object(&once_value_1
);
4298 } else fra
.me
.REG
[0] = once_value_1
;
4299 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4300 fra
.me
.REG
[0] = CALL_standard___string___String_____star(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
4301 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___from(fra
.me
.REG
[0]);
4302 /* ../lib/standard/string.nit:782 */
4303 CALL_standard___string___Int___fill_buffer(REGB0
)(REGB0
, fra
.me
.REG
[0], REGB1
, REGB2
);
4304 /* ../lib/standard/string.nit:783 */
4305 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4308 stack_frame_head
= fra
.me
.prev
;
4309 return fra
.me
.REG
[0];
4311 static const char LOCATE_standard___string___Float___to_s
[] = "string::Float::(string::Object::to_s)";
4312 val_t
standard___string___Float___to_s(val_t p0
){
4313 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
4322 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4323 fra
.me
.file
= LOCATE_standard___string
;
4325 fra
.me
.meth
= LOCATE_standard___string___Float___to_s
;
4326 fra
.me
.has_broke
= 0;
4327 fra
.me
.REG_size
= 3;
4328 fra
.me
.nitni_local_ref_head
= NULL
;
4329 fra
.me
.REG
[0] = NIT_NULL
;
4330 fra
.me
.REG
[1] = NIT_NULL
;
4331 fra
.me
.REG
[2] = NIT_NULL
;
4333 /* ../lib/standard/string.nit:790 */
4335 fra
.me
.REG
[0] = CALL_standard___string___Float___to_precision(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
4336 /* ../lib/standard/collection/array.nit:24 */
4337 REGB0
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
4338 if (UNTAG_Bool(REGB0
)) {
4340 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4342 REGB0
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
4343 /* ../lib/standard/string.nit:792 */
4346 /* ../lib/standard/kernel.nit:247 */
4347 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
4348 /* ../lib/standard/kernel.nit:393 */
4350 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
4351 if (UNTAG_Bool(REGB3
)) {
4353 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4355 /* ../lib/standard/kernel.nit:241 */
4356 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)<=UNTAG_Int(REGB2
));
4357 /* ../lib/standard/kernel.nit:393 */
4358 if (UNTAG_Bool(REGB3
)) {
4359 /* ../lib/standard/string.nit:792 */
4361 /* ../lib/standard/string.nit:793 */
4363 /* ../lib/standard/kernel.nit:247 */
4364 REGB4
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB4
));
4365 REGB3
= TAG_Int(UNTAG_Int(REGB4
)-UNTAG_Int(REGB3
));
4366 /* ../lib/standard/string.nit:794 */
4367 REGB4
= CALL_standard___collection___abstract_collection___SequenceRead_____bra(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB3
);
4368 /* ../lib/standard/string.nit:795 */
4369 REGB5
= TAG_Char('0');
4370 REGB6
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB5
));
4371 if (UNTAG_Bool(REGB6
)) {
4373 /* ../lib/standard/kernel.nit:434 */
4374 REGB5
= TAG_Bool((REGB4
)==(REGB5
));
4375 /* ../lib/standard/string.nit:795 */
4378 if (UNTAG_Bool(REGB6
)) {
4379 /* ../lib/standard/string.nit:796 */
4382 /* ../lib/standard/string.nit:797 */
4383 REGB6
= TAG_Char('.');
4384 REGB5
= TAG_Bool(IS_EQUAL_OO(REGB4
,REGB6
));
4385 if (UNTAG_Bool(REGB5
)) {
4387 /* ../lib/standard/kernel.nit:434 */
4388 REGB6
= TAG_Bool((REGB4
)==(REGB6
));
4389 /* ../lib/standard/string.nit:797 */
4392 if (UNTAG_Bool(REGB5
)) {
4393 /* ../lib/standard/string.nit:798 */
4396 /* ../lib/standard/kernel.nit:245 */
4397 REGB6
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB6
));
4398 /* ../lib/standard/string.nit:798 */
4399 fra
.me
.REG
[1] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB5
, REGB6
);
4402 /* ../lib/standard/string.nit:800 */
4405 /* ../lib/standard/kernel.nit:245 */
4406 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
4407 /* ../lib/standard/string.nit:800 */
4408 fra
.me
.REG
[2] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB6
, REGB5
);
4409 fra
.me
.REG
[1] = fra
.me
.REG
[2];
4414 /* ../lib/standard/kernel.nit:395 */
4416 /* ../lib/standard/kernel.nit:245 */
4417 REGB5
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB5
));
4418 /* ../lib/standard/kernel.nit:395 */
4421 /* ../lib/standard/kernel.nit:393 */
4426 /* ../lib/standard/string.nit:803 */
4427 fra
.me
.REG
[1] = fra
.me
.REG
[0];
4430 stack_frame_head
= fra
.me
.prev
;
4431 return fra
.me
.REG
[1];
4433 static const char LOCATE_standard___string___Float___to_precision
[] = "string::Float::to_precision";
4434 val_t
standard___string___Float___to_precision(val_t p0
, val_t p1
){
4435 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
4441 static val_t once_value_3
; /* Once value */
4442 static val_t once_value_4
; /* Once value */
4443 static val_t once_value_5
; /* Once value */
4444 static val_t once_value_6
; /* Once value */
4445 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4446 fra
.me
.file
= LOCATE_standard___string
;
4448 fra
.me
.meth
= LOCATE_standard___string___Float___to_precision
;
4449 fra
.me
.has_broke
= 0;
4450 fra
.me
.REG_size
= 5;
4451 fra
.me
.nitni_local_ref_head
= NULL
;
4452 fra
.me
.REG
[0] = NIT_NULL
;
4453 fra
.me
.REG
[1] = NIT_NULL
;
4454 fra
.me
.REG
[2] = NIT_NULL
;
4455 fra
.me
.REG
[3] = NIT_NULL
;
4456 fra
.me
.REG
[4] = NIT_NULL
;
4459 /* ../lib/standard/string.nit:809 */
4461 REGB2
= TAG_Bool(IS_EQUAL_OO(REGB0
,REGB1
));
4462 if (UNTAG_Bool(REGB2
)) {
4464 /* ../lib/standard/kernel.nit:237 */
4465 REGB1
= TAG_Bool((REGB0
)==(REGB1
));
4466 /* ../lib/standard/string.nit:809 */
4469 if (UNTAG_Bool(REGB2
)) {
4470 /* ../lib/standard/kernel.nit:220 */
4471 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[0]));
4472 /* ../lib/standard/string.nit:809 */
4473 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4476 /* ../lib/standard/string.nit:810 */
4477 fra
.me
.REG
[2] = fra
.me
.REG
[0];
4478 /* ../lib/standard/string.nit:811 */
4480 /* ../lib/standard/kernel.nit:399 */
4482 /* ../lib/standard/kernel.nit:404 */
4484 REGB3
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
4485 if (UNTAG_Bool(REGB3
)) {
4487 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4489 /* ../lib/standard/kernel.nit:242 */
4490 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB1
));
4491 /* ../lib/standard/kernel.nit:404 */
4492 if (UNTAG_Bool(REGB3
)) {
4493 /* ../lib/standard/string.nit:811 */
4494 fra
.me
.REG
[3] = BOX_Float(10.0);
4495 /* ../lib/standard/kernel.nit:217 */
4496 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[2])*UNBOX_Float(fra
.me
.REG
[3]));
4497 /* ../lib/standard/string.nit:811 */
4498 fra
.me
.REG
[2] = fra
.me
.REG
[3];
4499 /* ../lib/standard/kernel.nit:406 */
4501 /* ../lib/standard/kernel.nit:245 */
4502 REGB3
= TAG_Int(UNTAG_Int(REGB2
)+UNTAG_Int(REGB3
));
4503 /* ../lib/standard/kernel.nit:406 */
4506 /* ../lib/standard/kernel.nit:404 */
4511 /* ../lib/standard/string.nit:812 */
4512 fra
.me
.REG
[3] = BOX_Float(0.0);
4513 /* ../lib/standard/kernel.nit:213 */
4514 REGB2
= TAG_Bool(UNBOX_Float(fra
.me
.REG
[0])>UNBOX_Float(fra
.me
.REG
[3]));
4515 /* ../lib/standard/string.nit:812 */
4516 if (UNTAG_Bool(REGB2
)) {
4517 /* ../lib/standard/string.nit:813 */
4518 fra
.me
.REG
[3] = BOX_Float(0.5);
4519 /* ../lib/standard/kernel.nit:214 */
4520 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[2])+UNBOX_Float(fra
.me
.REG
[3]));
4521 /* ../lib/standard/string.nit:813 */
4522 fra
.me
.REG
[2] = fra
.me
.REG
[3];
4524 /* ../lib/standard/string.nit:815 */
4525 fra
.me
.REG
[3] = BOX_Float(0.5);
4526 /* ../lib/standard/kernel.nit:216 */
4527 fra
.me
.REG
[3] = BOX_Float(UNBOX_Float(fra
.me
.REG
[2])-UNBOX_Float(fra
.me
.REG
[3]));
4528 /* ../lib/standard/string.nit:815 */
4529 fra
.me
.REG
[2] = fra
.me
.REG
[3];
4531 /* ../lib/standard/kernel.nit:220 */
4532 REGB2
= TAG_Int((bigint
)UNBOX_Float(fra
.me
.REG
[2]));
4533 /* ../lib/standard/string.nit:818 */
4535 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB2
,REGB1
));
4536 if (UNTAG_Bool(REGB3
)) {
4538 /* ../lib/standard/kernel.nit:237 */
4539 REGB1
= TAG_Bool((REGB2
)==(REGB1
));
4540 /* ../lib/standard/string.nit:818 */
4543 if (UNTAG_Bool(REGB3
)) {
4544 if (!once_value_3
) {
4545 fra
.me
.REG
[2] = BOX_NativeString("0.0");
4547 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB3
);
4548 once_value_3
= fra
.me
.REG
[2];
4549 register_static_object(&once_value_3
);
4550 } else fra
.me
.REG
[2] = once_value_3
;
4551 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4552 fra
.me
.REG
[1] = fra
.me
.REG
[2];
4555 /* ../lib/standard/string.nit:819 */
4556 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(REGB2
)(REGB2
);
4557 /* ../lib/standard/collection/array.nit:24 */
4558 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4559 if (UNTAG_Bool(REGB2
)) {
4561 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4563 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4564 REGB3
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
4565 if (UNTAG_Bool(REGB3
)) {
4567 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4569 /* ../lib/standard/kernel.nit:244 */
4570 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB0
));
4571 /* ../lib/standard/string.nit:821 */
4572 if (UNTAG_Bool(REGB3
)) {
4573 /* ../lib/standard/string.nit:822 */
4575 /* ../lib/standard/collection/array.nit:24 */
4576 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4577 if (UNTAG_Bool(REGB1
)) {
4579 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4581 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4582 /* ../lib/standard/kernel.nit:247 */
4583 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
4584 /* ../lib/standard/string.nit:822 */
4585 fra
.me
.REG
[3] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB3
, REGB1
);
4586 /* ../lib/standard/collection/array.nit:24 */
4587 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
4588 if (UNTAG_Bool(REGB1
)) {
4590 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
4592 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
4593 /* ../lib/standard/kernel.nit:247 */
4594 REGB1
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB0
));
4595 /* ../lib/standard/string.nit:823 */
4596 fra
.me
.REG
[0] = CALL_standard___string___AbstractString___substring(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB1
, REGB0
);
4597 /* ../lib/standard/string.nit:824 */
4598 if (!once_value_4
) {
4599 fra
.me
.REG
[4] = BOX_NativeString(".");
4601 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
4602 once_value_4
= fra
.me
.REG
[4];
4603 register_static_object(&once_value_4
);
4604 } else fra
.me
.REG
[4] = once_value_4
;
4605 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4606 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
4607 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[0]);
4608 fra
.me
.REG
[1] = fra
.me
.REG
[0];
4611 /* ../lib/standard/string.nit:826 */
4612 if (!once_value_5
) {
4613 fra
.me
.REG
[0] = BOX_NativeString("0.");
4615 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
);
4616 once_value_5
= fra
.me
.REG
[0];
4617 register_static_object(&once_value_5
);
4618 } else fra
.me
.REG
[0] = once_value_5
;
4619 fra
.me
.REG
[0] = fra
.me
.REG
[0];
4620 if (!once_value_6
) {
4621 fra
.me
.REG
[4] = BOX_NativeString("0");
4623 fra
.me
.REG
[4] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
4624 once_value_6
= fra
.me
.REG
[4];
4625 register_static_object(&once_value_6
);
4626 } else fra
.me
.REG
[4] = once_value_6
;
4627 fra
.me
.REG
[4] = fra
.me
.REG
[4];
4628 /* ../lib/standard/kernel.nit:247 */
4629 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
4630 /* ../lib/standard/string.nit:826 */
4631 fra
.me
.REG
[4] = CALL_standard___string___String_____star(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB2
);
4632 fra
.me
.REG
[4] = CALL_standard___string___String_____plus(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[4]);
4633 fra
.me
.REG
[2] = CALL_standard___string___String_____plus(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[2]);
4634 fra
.me
.REG
[1] = fra
.me
.REG
[2];
4638 stack_frame_head
= fra
.me
.prev
;
4639 return fra
.me
.REG
[1];
4641 static const char LOCATE_standard___string___Float___to_precision_native
[] = "string::Float::to_precision_native";
4642 val_t
standard___string___Float___to_precision_native(val_t p0
, val_t p1
){
4643 struct {struct stack_frame_t me
;} fra
;
4646 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4647 fra
.me
.file
= LOCATE_standard___string
;
4649 fra
.me
.meth
= LOCATE_standard___string___Float___to_precision_native
;
4650 fra
.me
.has_broke
= 0;
4651 fra
.me
.REG_size
= 1;
4652 fra
.me
.nitni_local_ref_head
= NULL
;
4653 fra
.me
.REG
[0] = NIT_NULL
;
4656 /* ../lib/standard/string.nit:830 */
4657 fra
.me
.REG
[0] = Float_to_precision_native___out(fra
.me
.REG
[0], REGB0
);
4659 stack_frame_head
= fra
.me
.prev
;
4660 return fra
.me
.REG
[0];
4662 static const char LOCATE_standard___string___Char___to_s
[] = "string::Char::(string::Object::to_s)";
4663 val_t
standard___string___Char___to_s(val_t p0
){
4664 struct {struct stack_frame_t me
;} fra
;
4668 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4669 fra
.me
.file
= LOCATE_standard___string
;
4671 fra
.me
.meth
= LOCATE_standard___string___Char___to_s
;
4672 fra
.me
.has_broke
= 0;
4673 fra
.me
.REG_size
= 1;
4674 fra
.me
.nitni_local_ref_head
= NULL
;
4675 fra
.me
.REG
[0] = NIT_NULL
;
4677 /* ../lib/standard/string.nit:846 */
4679 fra
.me
.REG
[0] = NEW_Buffer_standard___string___Buffer___with_capacity(REGB1
);
4680 /* ../lib/standard/string.nit:847 */
4682 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB1
, REGB0
);
4683 /* ../lib/standard/string.nit:848 */
4684 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4687 stack_frame_head
= fra
.me
.prev
;
4688 return fra
.me
.REG
[0];
4690 static const char LOCATE_standard___string___Char___is_numeric
[] = "string::Char::is_numeric";
4691 val_t
standard___string___Char___is_numeric(val_t p0
){
4692 struct {struct stack_frame_t me
;} fra
;
4697 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4698 fra
.me
.file
= LOCATE_standard___string
;
4700 fra
.me
.meth
= LOCATE_standard___string___Char___is_numeric
;
4701 fra
.me
.has_broke
= 0;
4702 fra
.me
.REG_size
= 0;
4703 fra
.me
.nitni_local_ref_head
= NULL
;
4705 /* ../lib/standard/string.nit:854 */
4706 REGB1
= TAG_Char('0');
4707 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4708 if (UNTAG_Bool(REGB2
)) {
4710 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4712 /* ../lib/standard/kernel.nit:440 */
4713 REGB1
= TAG_Bool(UNTAG_Char(REGB0
)>=UNTAG_Char(REGB1
));
4714 /* ../lib/standard/string.nit:854 */
4715 if (UNTAG_Bool(REGB1
)) {
4716 REGB1
= TAG_Char('9');
4717 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4718 if (UNTAG_Bool(REGB2
)) {
4720 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4722 /* ../lib/standard/kernel.nit:438 */
4723 REGB1
= TAG_Bool(UNTAG_Char(REGB0
)<=UNTAG_Char(REGB1
));
4725 /* ../lib/standard/string.nit:854 */
4726 REGB0
= TAG_Bool(0);
4729 if (UNTAG_Bool(REGB1
)) {
4730 /* ../lib/standard/string.nit:856 */
4731 REGB1
= TAG_Bool(1);
4734 /* ../lib/standard/string.nit:858 */
4735 REGB0
= TAG_Bool(0);
4739 stack_frame_head
= fra
.me
.prev
;
4742 static const char LOCATE_standard___string___Char___is_alpha
[] = "string::Char::is_alpha";
4743 val_t
standard___string___Char___is_alpha(val_t p0
){
4744 struct {struct stack_frame_t me
;} fra
;
4750 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4751 fra
.me
.file
= LOCATE_standard___string
;
4753 fra
.me
.meth
= LOCATE_standard___string___Char___is_alpha
;
4754 fra
.me
.has_broke
= 0;
4755 fra
.me
.REG_size
= 0;
4756 fra
.me
.nitni_local_ref_head
= NULL
;
4758 /* ../lib/standard/string.nit:864 */
4759 REGB1
= TAG_Char('a');
4760 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4761 if (UNTAG_Bool(REGB2
)) {
4763 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4765 /* ../lib/standard/kernel.nit:440 */
4766 REGB1
= TAG_Bool(UNTAG_Char(REGB0
)>=UNTAG_Char(REGB1
));
4767 /* ../lib/standard/string.nit:864 */
4768 if (UNTAG_Bool(REGB1
)) {
4769 REGB1
= TAG_Char('z');
4770 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4771 if (UNTAG_Bool(REGB2
)) {
4773 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4775 /* ../lib/standard/kernel.nit:438 */
4776 REGB1
= TAG_Bool(UNTAG_Char(REGB0
)<=UNTAG_Char(REGB1
));
4778 /* ../lib/standard/string.nit:864 */
4779 REGB2
= TAG_Bool(0);
4782 if (UNTAG_Bool(REGB1
)) {
4783 REGB1
= TAG_Bool(1);
4785 REGB2
= TAG_Char('A');
4786 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4787 if (UNTAG_Bool(REGB3
)) {
4789 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4791 /* ../lib/standard/kernel.nit:440 */
4792 REGB2
= TAG_Bool(UNTAG_Char(REGB0
)>=UNTAG_Char(REGB2
));
4793 /* ../lib/standard/string.nit:864 */
4794 if (UNTAG_Bool(REGB2
)) {
4795 REGB2
= TAG_Char('Z');
4796 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
4797 if (UNTAG_Bool(REGB3
)) {
4799 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
4801 /* ../lib/standard/kernel.nit:438 */
4802 REGB2
= TAG_Bool(UNTAG_Char(REGB0
)<=UNTAG_Char(REGB2
));
4804 /* ../lib/standard/string.nit:864 */
4805 REGB0
= TAG_Bool(0);
4810 if (UNTAG_Bool(REGB1
)) {
4811 REGB1
= TAG_Bool(1);
4814 /* ../lib/standard/string.nit:865 */
4815 REGB2
= TAG_Bool(0);
4819 stack_frame_head
= fra
.me
.prev
;
4822 static const char LOCATE_standard___string___Char___is_alphanumeric
[] = "string::Char::is_alphanumeric";
4823 val_t
standard___string___Char___is_alphanumeric(val_t p0
){
4824 struct {struct stack_frame_t me
;} fra
;
4828 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4829 fra
.me
.file
= LOCATE_standard___string
;
4831 fra
.me
.meth
= LOCATE_standard___string___Char___is_alphanumeric
;
4832 fra
.me
.has_broke
= 0;
4833 fra
.me
.REG_size
= 0;
4834 fra
.me
.nitni_local_ref_head
= NULL
;
4836 /* ../lib/standard/string.nit:871 */
4837 REGB1
= CALL_standard___string___Char___is_numeric(REGB0
)(REGB0
);
4838 if (UNTAG_Bool(REGB1
)) {
4839 REGB1
= TAG_Bool(1);
4841 REGB0
= CALL_standard___string___Char___is_alpha(REGB0
)(REGB0
);
4844 if (UNTAG_Bool(REGB1
)) {
4845 REGB1
= TAG_Bool(1);
4848 /* ../lib/standard/string.nit:872 */
4849 REGB0
= TAG_Bool(0);
4853 stack_frame_head
= fra
.me
.prev
;
4856 static const char LOCATE_standard___string___Collection___to_s
[] = "string::Collection::(string::Object::to_s)";
4857 val_t
standard___string___Collection___to_s(val_t p0
){
4858 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
4860 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4861 fra
.me
.file
= LOCATE_standard___string
;
4863 fra
.me
.meth
= LOCATE_standard___string___Collection___to_s
;
4864 fra
.me
.has_broke
= 0;
4865 fra
.me
.REG_size
= 2;
4866 fra
.me
.nitni_local_ref_head
= NULL
;
4867 fra
.me
.REG
[0] = NIT_NULL
;
4868 fra
.me
.REG
[1] = NIT_NULL
;
4870 /* ../lib/standard/string.nit:880 */
4871 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
4872 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
));
4873 /* ../lib/standard/string.nit:882 */
4874 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
4877 stack_frame_head
= fra
.me
.prev
;
4878 return fra
.me
.REG
[1];
4880 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
){
4881 struct {struct stack_frame_t me
;} fra
;
4886 /* ../lib/standard/string.nit:881 */
4887 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4888 fra
.me
.file
= LOCATE_standard___string
;
4890 fra
.me
.meth
= LOCATE_standard___string___Collection___to_s
;
4891 fra
.me
.has_broke
= 0;
4892 fra
.me
.REG_size
= 1;
4893 fra
.me
.nitni_local_ref_head
= NULL
;
4894 fra
.me
.REG
[0] = NIT_NULL
;
4895 fra
.me
.closure_ctx
= closctx_param
;
4896 fra
.me
.closure_funs
= CREG
;
4898 CREG
[0] = clos_fun0
;
4899 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4900 if (UNTAG_Bool(REGB0
)) {
4902 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4903 if (UNTAG_Bool(REGB1
)) {
4904 REGB1
= TAG_Bool(0);
4907 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
4911 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4912 if (UNTAG_Bool(REGB0
)) {
4913 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
4914 if (UNTAG_Bool(REGB0
)) {
4915 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 881);
4917 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4918 CALL_standard___collection___abstract_collection___Sequence___append(closctx
->REG
[1])(closctx
->REG
[1], fra
.me
.REG
[0]);
4920 stack_frame_head
= fra
.me
.prev
;
4923 static const char LOCATE_standard___string___Collection___join
[] = "string::Collection::join";
4924 val_t
standard___string___Collection___join(val_t p0
, val_t p1
){
4925 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
4929 static val_t once_value_1
; /* Once value */
4930 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
4931 fra
.me
.file
= LOCATE_standard___string
;
4933 fra
.me
.meth
= LOCATE_standard___string___Collection___join
;
4934 fra
.me
.has_broke
= 0;
4935 fra
.me
.REG_size
= 6;
4936 fra
.me
.nitni_local_ref_head
= NULL
;
4937 fra
.me
.REG
[0] = NIT_NULL
;
4938 fra
.me
.REG
[1] = NIT_NULL
;
4939 fra
.me
.REG
[2] = NIT_NULL
;
4940 fra
.me
.REG
[3] = NIT_NULL
;
4941 fra
.me
.REG
[4] = NIT_NULL
;
4942 fra
.me
.REG
[5] = NIT_NULL
;
4945 /* ../lib/standard/string.nit:891 */
4946 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4947 if (UNTAG_Bool(REGB0
)) {
4948 if (!once_value_1
) {
4949 fra
.me
.REG
[2] = BOX_NativeString("");
4951 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
4952 once_value_1
= fra
.me
.REG
[2];
4953 register_static_object(&once_value_1
);
4954 } else fra
.me
.REG
[2] = once_value_1
;
4955 fra
.me
.REG
[2] = fra
.me
.REG
[2];
4958 /* ../lib/standard/string.nit:893 */
4959 fra
.me
.REG
[3] = NEW_Buffer_standard___string___Buffer___init();
4960 /* ../lib/standard/string.nit:896 */
4961 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___Collection___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4962 /* ../lib/standard/string.nit:897 */
4963 fra
.me
.REG
[4] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4964 /* ../lib/standard/string.nit:898 */
4965 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4966 if (UNTAG_Bool(REGB0
)) {
4968 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4969 if (UNTAG_Bool(REGB1
)) {
4970 REGB1
= TAG_Bool(0);
4973 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
4977 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
4978 if (UNTAG_Bool(REGB0
)) {
4979 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4980 if (UNTAG_Bool(REGB0
)) {
4981 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 898);
4983 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
4984 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
4986 /* ../lib/standard/string.nit:901 */
4987 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4988 /* ../lib/standard/string.nit:902 */
4990 REGB0
= CALL_standard___collection___abstract_collection___Iterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4991 if (UNTAG_Bool(REGB0
)) {
4992 /* ../lib/standard/string.nit:903 */
4993 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[1]);
4994 /* ../lib/standard/string.nit:904 */
4995 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___Iterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
4996 fra
.me
.REG
[4] = fra
.me
.REG
[5];
4997 /* ../lib/standard/string.nit:905 */
4998 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
4999 if (UNTAG_Bool(REGB0
)) {
5001 REGB1
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5002 if (UNTAG_Bool(REGB1
)) {
5003 REGB1
= TAG_Bool(0);
5006 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[4])(fra
.me
.REG
[4], NIT_NULL
);
5010 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5011 if (UNTAG_Bool(REGB0
)) {
5012 REGB0
= TAG_Bool(fra
.me
.REG
[4]==NIT_NULL
);
5013 if (UNTAG_Bool(REGB0
)) {
5014 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 905);
5016 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5017 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
5019 /* ../lib/standard/string.nit:906 */
5020 CALL_standard___collection___abstract_collection___Iterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5022 /* ../lib/standard/string.nit:902 */
5027 /* ../lib/standard/string.nit:908 */
5028 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
5029 fra
.me
.REG
[2] = fra
.me
.REG
[3];
5032 stack_frame_head
= fra
.me
.prev
;
5033 return fra
.me
.REG
[2];
5035 static const char LOCATE_standard___string___Array___to_s
[] = "string::Array::(string::Object::to_s)";
5036 val_t
standard___string___Array___to_s(val_t p0
){
5037 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5044 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5045 fra
.me
.file
= LOCATE_standard___string
;
5047 fra
.me
.meth
= LOCATE_standard___string___Array___to_s
;
5048 fra
.me
.has_broke
= 0;
5049 fra
.me
.REG_size
= 3;
5050 fra
.me
.nitni_local_ref_head
= NULL
;
5051 fra
.me
.REG
[0] = NIT_NULL
;
5052 fra
.me
.REG
[1] = NIT_NULL
;
5053 fra
.me
.REG
[2] = NIT_NULL
;
5055 /* ../lib/standard/string.nit:916 */
5056 fra
.me
.REG
[1] = NEW_Buffer_standard___string___Buffer___init();
5057 /* ../lib/standard/string.nit:917 */
5059 /* ../lib/standard/collection/array.nit:24 */
5060 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0])!=NIT_NULL
);
5061 if (UNTAG_Bool(REGB1
)) {
5063 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
5065 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[0]);
5066 /* ../lib/standard/string.nit:919 */
5068 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5069 if (UNTAG_Bool(REGB2
)) {
5071 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5073 /* ../lib/standard/kernel.nit:242 */
5074 REGB2
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
5075 /* ../lib/standard/string.nit:919 */
5076 if (UNTAG_Bool(REGB2
)) {
5077 /* ../lib/standard/collection/array.nit:279 */
5078 fra
.me
.REG
[2] = fra
.me
.REG
[0];
5080 /* ../lib/standard/collection/array.nit:281 */
5082 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5083 if (UNTAG_Bool(REGB4
)) {
5085 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5087 /* ../lib/standard/kernel.nit:243 */
5088 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>=UNTAG_Int(REGB3
));
5089 /* ../lib/standard/collection/array.nit:281 */
5090 if (UNTAG_Bool(REGB3
)) {
5091 REGB3
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2])!=NIT_NULL
);
5092 if (UNTAG_Bool(REGB3
)) {
5094 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 281);
5096 REGB3
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[2]);
5097 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
5098 if (UNTAG_Bool(REGB4
)) {
5100 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5102 /* ../lib/standard/kernel.nit:242 */
5103 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)<UNTAG_Int(REGB3
));
5105 /* ../lib/standard/collection/array.nit:281 */
5106 REGB4
= TAG_Bool(0);
5109 if (UNTAG_Bool(REGB3
)) {
5111 nit_abort("Assert '%s' failed", "index", LOCATE_standard___collection___array
, 281);
5113 /* ../lib/standard/collection/array.nit:282 */
5114 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[2]);
5115 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5116 if (UNTAG_Bool(REGB3
)) {
5117 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 282);
5119 /* ../lib/standard/collection/array.nit:725 */
5120 fra
.me
.REG
[2] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB2
)];
5121 /* ../lib/standard/collection/array.nit:282 */
5124 /* ../lib/standard/string.nit:921 */
5125 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5126 if (UNTAG_Bool(REGB2
)) {
5128 REGB3
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5129 if (UNTAG_Bool(REGB3
)) {
5130 REGB3
= TAG_Bool(0);
5133 REGB3
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
5137 REGB2
= TAG_Bool(!UNTAG_Bool(REGB2
));
5138 if (UNTAG_Bool(REGB2
)) {
5139 REGB2
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5140 if (UNTAG_Bool(REGB2
)) {
5141 nit_abort("Reciever is null", NULL
, LOCATE_standard___string
, 921);
5143 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5144 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
5146 /* ../lib/standard/string.nit:922 */
5148 /* ../lib/standard/kernel.nit:245 */
5149 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
5150 /* ../lib/standard/string.nit:922 */
5153 /* ../lib/standard/string.nit:919 */
5158 /* ../lib/standard/string.nit:924 */
5159 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5162 stack_frame_head
= fra
.me
.prev
;
5163 return fra
.me
.REG
[1];
5165 static const char LOCATE_standard___string___Map___join
[] = "string::Map::join";
5166 val_t
standard___string___Map___join(val_t p0
, val_t p1
, val_t p2
){
5167 struct {struct stack_frame_t me
; val_t MORE_REG
[8];} fra
;
5171 static val_t once_value_1
; /* Once value */
5172 static val_t once_value_3
; /* Once value */
5173 static val_t once_value_4
; /* Once value */
5174 static val_t once_value_5
; /* Once value */
5175 static val_t once_value_6
; /* Once value */
5176 static val_t once_value_7
; /* Once value */
5177 static val_t once_value_8
; /* Once value */
5178 static val_t once_value_9
; /* Once value */
5179 static val_t once_value_10
; /* Once value */
5180 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5181 fra
.me
.file
= LOCATE_standard___string
;
5183 fra
.me
.meth
= LOCATE_standard___string___Map___join
;
5184 fra
.me
.has_broke
= 0;
5185 fra
.me
.REG_size
= 9;
5186 fra
.me
.nitni_local_ref_head
= NULL
;
5187 fra
.me
.REG
[0] = NIT_NULL
;
5188 fra
.me
.REG
[1] = NIT_NULL
;
5189 fra
.me
.REG
[2] = NIT_NULL
;
5190 fra
.me
.REG
[3] = NIT_NULL
;
5191 fra
.me
.REG
[4] = NIT_NULL
;
5192 fra
.me
.REG
[5] = NIT_NULL
;
5193 fra
.me
.REG
[6] = NIT_NULL
;
5194 fra
.me
.REG
[7] = NIT_NULL
;
5195 fra
.me
.REG
[8] = NIT_NULL
;
5199 /* ../lib/standard/string.nit:939 */
5200 REGB0
= CALL_standard___collection___abstract_collection___MapRead___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5201 if (UNTAG_Bool(REGB0
)) {
5202 if (!once_value_1
) {
5203 fra
.me
.REG
[3] = BOX_NativeString("");
5205 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
5206 once_value_1
= fra
.me
.REG
[3];
5207 register_static_object(&once_value_1
);
5208 } else fra
.me
.REG
[3] = once_value_1
;
5209 fra
.me
.REG
[3] = fra
.me
.REG
[3];
5212 /* ../lib/standard/string.nit:941 */
5213 fra
.me
.REG
[4] = NEW_Buffer_standard___string___Buffer___init();
5214 /* ../lib/standard/string.nit:944 */
5215 fra
.me
.REG
[0] = CALL_standard___collection___abstract_collection___MapRead___iterator(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5216 /* ../lib/standard/string.nit:945 */
5217 fra
.me
.REG
[5] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5218 /* ../lib/standard/string.nit:946 */
5219 fra
.me
.REG
[6] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5220 /* ../lib/standard/string.nit:947 */
5221 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5222 if (UNTAG_Bool(REGB0
)) {
5224 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5225 if (UNTAG_Bool(REGB1
)) {
5226 REGB1
= TAG_Bool(0);
5229 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
5233 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5234 if (UNTAG_Bool(REGB0
)) {
5236 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5237 if (!once_value_3
) {
5238 fra
.me
.REG
[8] = BOX_NativeString("");
5240 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5241 once_value_3
= fra
.me
.REG
[8];
5242 register_static_object(&once_value_3
);
5243 } else fra
.me
.REG
[8] = once_value_3
;
5244 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5245 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5246 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5247 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5248 if (!once_value_4
) {
5249 fra
.me
.REG
[8] = BOX_NativeString("");
5251 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5252 once_value_4
= fra
.me
.REG
[8];
5253 register_static_object(&once_value_4
);
5254 } else fra
.me
.REG
[8] = once_value_4
;
5255 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5257 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
5258 if (!once_value_5
) {
5259 fra
.me
.REG
[8] = BOX_NativeString("");
5261 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5262 once_value_5
= fra
.me
.REG
[8];
5263 register_static_object(&once_value_5
);
5264 } else fra
.me
.REG
[8] = once_value_5
;
5265 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5267 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5269 if (!once_value_6
) {
5270 fra
.me
.REG
[8] = BOX_NativeString("");
5272 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5273 once_value_6
= fra
.me
.REG
[8];
5274 register_static_object(&once_value_6
);
5275 } else fra
.me
.REG
[8] = once_value_6
;
5276 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5277 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5278 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5279 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
5281 /* ../lib/standard/string.nit:950 */
5282 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5283 /* ../lib/standard/string.nit:951 */
5285 REGB0
= CALL_standard___collection___abstract_collection___MapIterator___is_ok(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5286 if (UNTAG_Bool(REGB0
)) {
5287 /* ../lib/standard/string.nit:952 */
5288 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[1]);
5289 /* ../lib/standard/string.nit:953 */
5290 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapIterator___key(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5291 fra
.me
.REG
[5] = fra
.me
.REG
[7];
5292 /* ../lib/standard/string.nit:954 */
5293 fra
.me
.REG
[7] = CALL_standard___collection___abstract_collection___MapIterator___item(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5294 fra
.me
.REG
[6] = fra
.me
.REG
[7];
5295 /* ../lib/standard/string.nit:955 */
5296 REGB0
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5297 if (UNTAG_Bool(REGB0
)) {
5299 REGB1
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
5300 if (UNTAG_Bool(REGB1
)) {
5301 REGB1
= TAG_Bool(0);
5304 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[6])(fra
.me
.REG
[6], NIT_NULL
);
5308 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
5309 if (UNTAG_Bool(REGB0
)) {
5311 fra
.me
.REG
[7] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
5312 if (!once_value_7
) {
5313 fra
.me
.REG
[8] = BOX_NativeString("");
5315 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5316 once_value_7
= fra
.me
.REG
[8];
5317 register_static_object(&once_value_7
);
5318 } else fra
.me
.REG
[8] = once_value_7
;
5319 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5320 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5321 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
5322 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5323 if (!once_value_8
) {
5324 fra
.me
.REG
[8] = BOX_NativeString("");
5326 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5327 once_value_8
= fra
.me
.REG
[8];
5328 register_static_object(&once_value_8
);
5329 } else fra
.me
.REG
[8] = once_value_8
;
5330 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5332 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[2]);
5333 if (!once_value_9
) {
5334 fra
.me
.REG
[8] = BOX_NativeString("");
5336 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5337 once_value_9
= fra
.me
.REG
[8];
5338 register_static_object(&once_value_9
);
5339 } else fra
.me
.REG
[8] = once_value_9
;
5340 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5341 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5342 fra
.me
.REG
[8] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
5343 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5344 if (!once_value_10
) {
5345 fra
.me
.REG
[8] = BOX_NativeString("");
5347 fra
.me
.REG
[8] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[8])(fra
.me
.REG
[8], REGB0
);
5348 once_value_10
= fra
.me
.REG
[8];
5349 register_static_object(&once_value_10
);
5350 } else fra
.me
.REG
[8] = once_value_10
;
5351 fra
.me
.REG
[8] = fra
.me
.REG
[8];
5352 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[7])(fra
.me
.REG
[7], fra
.me
.REG
[8]);
5353 fra
.me
.REG
[7] = CALL_standard___string___Object___to_s(fra
.me
.REG
[7])(fra
.me
.REG
[7]);
5354 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
5356 /* ../lib/standard/string.nit:956 */
5357 CALL_standard___collection___abstract_collection___MapIterator___next(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5359 /* ../lib/standard/string.nit:951 */
5364 /* ../lib/standard/string.nit:958 */
5365 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
5366 fra
.me
.REG
[3] = fra
.me
.REG
[4];
5369 stack_frame_head
= fra
.me
.prev
;
5370 return fra
.me
.REG
[3];
5372 static const char LOCATE_standard___string___NativeString_____bra
[] = "string::NativeString::[]";
5373 val_t
standard___string___NativeString_____bra(val_t p0
, val_t p1
){
5374 struct {struct stack_frame_t me
;} fra
;
5377 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5378 fra
.me
.file
= LOCATE_standard___string
;
5380 fra
.me
.meth
= LOCATE_standard___string___NativeString_____bra
;
5381 fra
.me
.has_broke
= 0;
5382 fra
.me
.REG_size
= 1;
5383 fra
.me
.nitni_local_ref_head
= NULL
;
5384 fra
.me
.REG
[0] = NIT_NULL
;
5387 /* ../lib/standard/string.nit:970 */
5388 REGB0
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
5389 stack_frame_head
= fra
.me
.prev
;
5392 static const char LOCATE_standard___string___NativeString_____braeq
[] = "string::NativeString::[]=";
5393 void standard___string___NativeString_____braeq(val_t p0
, val_t p1
, val_t p2
){
5394 struct {struct stack_frame_t me
;} fra
;
5398 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5399 fra
.me
.file
= LOCATE_standard___string
;
5401 fra
.me
.meth
= LOCATE_standard___string___NativeString_____braeq
;
5402 fra
.me
.has_broke
= 0;
5403 fra
.me
.REG_size
= 1;
5404 fra
.me
.nitni_local_ref_head
= NULL
;
5405 fra
.me
.REG
[0] = NIT_NULL
;
5409 /* ../lib/standard/string.nit:971 */
5410 UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]=UNTAG_Char(REGB1
);;
5411 stack_frame_head
= fra
.me
.prev
;
5414 static const char LOCATE_standard___string___NativeString___copy_to
[] = "string::NativeString::copy_to";
5415 void standard___string___NativeString___copy_to(val_t p0
, val_t p1
, val_t p2
, val_t p3
, val_t p4
){
5416 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5421 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5422 fra
.me
.file
= LOCATE_standard___string
;
5424 fra
.me
.meth
= LOCATE_standard___string___NativeString___copy_to
;
5425 fra
.me
.has_broke
= 0;
5426 fra
.me
.REG_size
= 2;
5427 fra
.me
.nitni_local_ref_head
= NULL
;
5428 fra
.me
.REG
[0] = NIT_NULL
;
5429 fra
.me
.REG
[1] = NIT_NULL
;
5435 /* ../lib/standard/string.nit:972 */
5436 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
5437 stack_frame_head
= fra
.me
.prev
;
5440 static const char LOCATE_standard___string___NativeString___cstring_length
[] = "string::NativeString::cstring_length";
5441 val_t
standard___string___NativeString___cstring_length(val_t p0
){
5442 struct {struct stack_frame_t me
;} fra
;
5448 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5449 fra
.me
.file
= LOCATE_standard___string
;
5451 fra
.me
.meth
= LOCATE_standard___string___NativeString___cstring_length
;
5452 fra
.me
.has_broke
= 0;
5453 fra
.me
.REG_size
= 1;
5454 fra
.me
.nitni_local_ref_head
= NULL
;
5455 fra
.me
.REG
[0] = NIT_NULL
;
5457 /* ../lib/standard/string.nit:977 */
5459 /* ../lib/standard/string.nit:978 */
5461 /* ../lib/standard/string.nit:970 */
5462 REGB1
= TAG_Char(UNBOX_NativeString(fra
.me
.REG
[0])[UNTAG_Int(REGB0
)]);
5463 /* ../lib/standard/string.nit:978 */
5464 REGB2
= TAG_Char('\0');
5465 REGB3
= TAG_Bool(IS_EQUAL_OO(REGB1
,REGB2
));
5466 if (UNTAG_Bool(REGB3
)) {
5468 /* ../lib/standard/kernel.nit:434 */
5469 REGB2
= TAG_Bool((REGB1
)==(REGB2
));
5470 /* ../lib/standard/string.nit:978 */
5473 REGB3
= TAG_Bool(!UNTAG_Bool(REGB3
));
5474 if (UNTAG_Bool(REGB3
)) {
5476 /* ../lib/standard/kernel.nit:245 */
5477 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
5478 /* ../lib/standard/string.nit:978 */
5485 /* ../lib/standard/string.nit:979 */
5488 stack_frame_head
= fra
.me
.prev
;
5491 static const char LOCATE_standard___string___NativeString___atoi
[] = "string::NativeString::atoi";
5492 val_t
standard___string___NativeString___atoi(val_t p0
){
5493 struct {struct stack_frame_t me
;} fra
;
5496 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5497 fra
.me
.file
= LOCATE_standard___string
;
5499 fra
.me
.meth
= LOCATE_standard___string___NativeString___atoi
;
5500 fra
.me
.has_broke
= 0;
5501 fra
.me
.REG_size
= 1;
5502 fra
.me
.nitni_local_ref_head
= NULL
;
5503 fra
.me
.REG
[0] = NIT_NULL
;
5505 /* ../lib/standard/string.nit:981 */
5506 REGB0
= TAG_Int(atoi(UNBOX_NativeString(fra
.me
.REG
[0])));
5507 stack_frame_head
= fra
.me
.prev
;
5510 static const char LOCATE_standard___string___NativeString___atof
[] = "string::NativeString::atof";
5511 val_t
standard___string___NativeString___atof(val_t p0
){
5512 struct {struct stack_frame_t me
;} fra
;
5514 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5515 fra
.me
.file
= LOCATE_standard___string
;
5517 fra
.me
.meth
= LOCATE_standard___string___NativeString___atof
;
5518 fra
.me
.has_broke
= 0;
5519 fra
.me
.REG_size
= 1;
5520 fra
.me
.nitni_local_ref_head
= NULL
;
5521 fra
.me
.REG
[0] = NIT_NULL
;
5523 /* ../lib/standard/string.nit:982 */
5524 fra
.me
.REG
[0] = NativeString_atof___out(fra
.me
.REG
[0]);
5525 stack_frame_head
= fra
.me
.prev
;
5526 return fra
.me
.REG
[0];
5528 static const char LOCATE_standard___string___NativeString___to_s
[] = "string::NativeString::(string::Object::to_s)";
5529 val_t
standard___string___NativeString___to_s(val_t p0
){
5530 struct {struct stack_frame_t me
;} fra
;
5533 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5534 fra
.me
.file
= LOCATE_standard___string
;
5536 fra
.me
.meth
= LOCATE_standard___string___NativeString___to_s
;
5537 fra
.me
.has_broke
= 0;
5538 fra
.me
.REG_size
= 1;
5539 fra
.me
.nitni_local_ref_head
= NULL
;
5540 fra
.me
.REG
[0] = NIT_NULL
;
5542 /* ../lib/standard/string.nit:986 */
5543 REGB0
= CALL_standard___string___NativeString___cstring_length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5544 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
5547 stack_frame_head
= fra
.me
.prev
;
5548 return fra
.me
.REG
[0];
5550 static const char LOCATE_standard___string___NativeString___to_s_with_length
[] = "string::NativeString::to_s_with_length";
5551 val_t
standard___string___NativeString___to_s_with_length(val_t p0
, val_t p1
){
5552 struct {struct stack_frame_t me
;} fra
;
5557 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5558 fra
.me
.file
= LOCATE_standard___string
;
5560 fra
.me
.meth
= LOCATE_standard___string___NativeString___to_s_with_length
;
5561 fra
.me
.has_broke
= 0;
5562 fra
.me
.REG_size
= 1;
5563 fra
.me
.nitni_local_ref_head
= NULL
;
5564 fra
.me
.REG
[0] = NIT_NULL
;
5567 /* ../lib/standard/string.nit:991 */
5569 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
5570 if (UNTAG_Bool(REGB2
)) {
5572 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5574 /* ../lib/standard/kernel.nit:243 */
5575 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>=UNTAG_Int(REGB1
));
5576 /* ../lib/standard/string.nit:991 */
5577 if (UNTAG_Bool(REGB1
)) {
5579 nit_abort("Assert failed", NULL
, LOCATE_standard___string
, 991);
5581 /* ../lib/standard/string.nit:992 */
5584 /* ../lib/standard/kernel.nit:247 */
5585 REGB2
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB2
));
5586 /* ../lib/standard/string.nit:992 */
5587 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_infos(fra
.me
.REG
[0], REGB0
, REGB1
, REGB2
);
5590 stack_frame_head
= fra
.me
.prev
;
5591 return fra
.me
.REG
[0];
5593 static const char LOCATE_standard___string___NativeString___to_s_with_copy
[] = "string::NativeString::to_s_with_copy";
5594 val_t
standard___string___NativeString___to_s_with_copy(val_t p0
){
5595 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
5600 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5601 fra
.me
.file
= LOCATE_standard___string
;
5603 fra
.me
.meth
= LOCATE_standard___string___NativeString___to_s_with_copy
;
5604 fra
.me
.has_broke
= 0;
5605 fra
.me
.REG_size
= 2;
5606 fra
.me
.nitni_local_ref_head
= NULL
;
5607 fra
.me
.REG
[0] = NIT_NULL
;
5608 fra
.me
.REG
[1] = NIT_NULL
;
5610 /* ../lib/standard/string.nit:997 */
5611 REGB0
= CALL_standard___string___NativeString___cstring_length(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5612 /* ../lib/standard/string.nit:998 */
5614 /* ../lib/standard/kernel.nit:245 */
5615 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
5616 /* ../lib/standard/string.nit:1007 */
5617 fra
.me
.REG
[1] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB1
) * sizeof(char))));
5618 /* ../lib/standard/string.nit:999 */
5621 /* ../lib/standard/string.nit:972 */
5622 (void)memcpy(UNBOX_NativeString(fra
.me
.REG
[1])+UNTAG_Int(REGB2
), UNBOX_NativeString(fra
.me
.REG
[0])+UNTAG_Int(REGB1
), UNTAG_Int(REGB0
));;
5623 /* ../lib/standard/string.nit:1000 */
5626 /* ../lib/standard/kernel.nit:247 */
5627 REGB1
= TAG_Int(UNTAG_Int(REGB0
)-UNTAG_Int(REGB1
));
5628 /* ../lib/standard/string.nit:1000 */
5629 fra
.me
.REG
[1] = NEW_String_standard___string___String___with_infos(fra
.me
.REG
[1], REGB0
, REGB2
, REGB1
);
5632 stack_frame_head
= fra
.me
.prev
;
5633 return fra
.me
.REG
[1];
5635 static const char LOCATE_standard___string___NativeString___init
[] = "string::NativeString::init";
5636 void standard___string___NativeString___init(val_t p0
, int* init_table
){
5637 int itpos5
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___string___NativeString
].i
;
5638 struct {struct stack_frame_t me
;} fra
;
5640 if (init_table
[itpos5
]) return;
5641 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5642 fra
.me
.file
= LOCATE_standard___string
;
5644 fra
.me
.meth
= LOCATE_standard___string___NativeString___init
;
5645 fra
.me
.has_broke
= 0;
5646 fra
.me
.REG_size
= 0;
5647 fra
.me
.nitni_local_ref_head
= NULL
;
5648 stack_frame_head
= fra
.me
.prev
;
5649 init_table
[itpos5
] = 1;
5652 static const char LOCATE_standard___string___StringCapable___calloc_string
[] = "string::StringCapable::calloc_string";
5653 val_t
standard___string___StringCapable___calloc_string(val_t p0
, val_t p1
){
5654 struct {struct stack_frame_t me
;} fra
;
5657 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5658 fra
.me
.file
= LOCATE_standard___string
;
5660 fra
.me
.meth
= LOCATE_standard___string___StringCapable___calloc_string
;
5661 fra
.me
.has_broke
= 0;
5662 fra
.me
.REG_size
= 1;
5663 fra
.me
.nitni_local_ref_head
= NULL
;
5664 fra
.me
.REG
[0] = NIT_NULL
;
5667 /* ../lib/standard/string.nit:1007 */
5668 fra
.me
.REG
[0] = BOX_NativeString((char*)raw_alloc((UNTAG_Int(REGB0
) * sizeof(char))));
5669 stack_frame_head
= fra
.me
.prev
;
5670 return fra
.me
.REG
[0];
5672 static const char LOCATE_standard___string___Sys___args
[] = "string::Sys::(string::Object::args)";
5673 val_t
standard___string___Sys___args(val_t p0
){
5674 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5678 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5679 fra
.me
.file
= LOCATE_standard___string
;
5681 fra
.me
.meth
= LOCATE_standard___string___Sys___args
;
5682 fra
.me
.has_broke
= 0;
5683 fra
.me
.REG_size
= 3;
5684 fra
.me
.nitni_local_ref_head
= NULL
;
5685 fra
.me
.REG
[0] = NIT_NULL
;
5686 fra
.me
.REG
[1] = NIT_NULL
;
5687 fra
.me
.REG
[2] = NIT_NULL
;
5689 /* ../lib/standard/string.nit:1013 */
5690 fra
.me
.REG
[1] = fra
.me
.REG
[0];
5691 /* ../lib/standard/string.nit:1015 */
5692 fra
.me
.REG
[2] = ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[1]);
5693 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5694 if (UNTAG_Bool(REGB0
)) {
5696 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
5697 if (UNTAG_Bool(REGB1
)) {
5698 REGB1
= TAG_Bool(0);
5701 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
5705 if (UNTAG_Bool(REGB0
)) {
5706 CALL_standard___string___Sys___init_args(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
5708 /* ../lib/standard/string.nit:1016 */
5709 fra
.me
.REG
[1] = ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[1]);
5710 REGB0
= TAG_Bool(fra
.me
.REG
[1]!=NIT_NULL
);
5711 if (UNTAG_Bool(REGB0
)) {
5713 nit_abort("Cast failed", NULL
, LOCATE_standard___string
, 1016);
5717 stack_frame_head
= fra
.me
.prev
;
5718 return fra
.me
.REG
[1];
5720 static const char LOCATE_standard___string___Sys___program_name
[] = "string::Sys::program_name";
5721 val_t
standard___string___Sys___program_name(val_t p0
){
5722 struct {struct stack_frame_t me
;} fra
;
5725 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5726 fra
.me
.file
= LOCATE_standard___string
;
5728 fra
.me
.meth
= LOCATE_standard___string___Sys___program_name
;
5729 fra
.me
.has_broke
= 0;
5730 fra
.me
.REG_size
= 1;
5731 fra
.me
.nitni_local_ref_head
= NULL
;
5732 fra
.me
.REG
[0] = NIT_NULL
;
5734 /* ../lib/standard/string.nit:1022 */
5736 /* ../lib/standard/string.nit:1041 */
5737 fra
.me
.REG
[0] = BOX_NativeString(glob_argv
[UNTAG_Int(REGB0
)]);
5738 /* ../lib/standard/string.nit:1022 */
5739 fra
.me
.REG
[0] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
5742 stack_frame_head
= fra
.me
.prev
;
5743 return fra
.me
.REG
[0];
5745 static const char LOCATE_standard___string___Sys___init_args
[] = "string::Sys::init_args";
5746 void standard___string___Sys___init_args(val_t p0
){
5747 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
5752 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5753 fra
.me
.file
= LOCATE_standard___string
;
5755 fra
.me
.meth
= LOCATE_standard___string___Sys___init_args
;
5756 fra
.me
.has_broke
= 0;
5757 fra
.me
.REG_size
= 3;
5758 fra
.me
.nitni_local_ref_head
= NULL
;
5759 fra
.me
.REG
[0] = NIT_NULL
;
5760 fra
.me
.REG
[1] = NIT_NULL
;
5761 fra
.me
.REG
[2] = NIT_NULL
;
5763 /* ../lib/standard/string.nit:1038 */
5764 REGB0
= TAG_Int(glob_argc
);
5765 /* ../lib/standard/string.nit:1029 */
5767 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB1
);
5768 /* ../lib/standard/string.nit:1030 */
5770 /* ../lib/standard/string.nit:1031 */
5772 REGB2
= TAG_Bool(VAL_ISA(REGB0
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
5773 if (UNTAG_Bool(REGB2
)) {
5775 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
5777 /* ../lib/standard/kernel.nit:242 */
5778 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB0
));
5779 /* ../lib/standard/string.nit:1031 */
5780 if (UNTAG_Bool(REGB2
)) {
5781 /* ../lib/standard/string.nit:1032 */
5783 /* ../lib/standard/kernel.nit:247 */
5784 REGB2
= TAG_Int(UNTAG_Int(REGB1
)-UNTAG_Int(REGB2
));
5785 /* ../lib/standard/string.nit:1041 */
5786 fra
.me
.REG
[2] = BOX_NativeString(glob_argv
[UNTAG_Int(REGB1
)]);
5787 /* ../lib/standard/string.nit:1032 */
5788 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
5789 CALL_standard___collection___abstract_collection___Sequence_____braeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB2
, fra
.me
.REG
[2]);
5790 /* ../lib/standard/string.nit:1033 */
5792 /* ../lib/standard/kernel.nit:245 */
5793 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
5794 /* ../lib/standard/string.nit:1033 */
5797 /* ../lib/standard/string.nit:1031 */
5802 /* ../lib/standard/string.nit:1035 */
5803 ATTR_standard___string___Sys____args_cache(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
5804 stack_frame_head
= fra
.me
.prev
;
5807 static const char LOCATE_standard___string___Sys___native_argc
[] = "string::Sys::native_argc";
5808 val_t
standard___string___Sys___native_argc(val_t p0
){
5809 struct {struct stack_frame_t me
;} fra
;
5812 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5813 fra
.me
.file
= LOCATE_standard___string
;
5815 fra
.me
.meth
= LOCATE_standard___string___Sys___native_argc
;
5816 fra
.me
.has_broke
= 0;
5817 fra
.me
.REG_size
= 1;
5818 fra
.me
.nitni_local_ref_head
= NULL
;
5819 fra
.me
.REG
[0] = NIT_NULL
;
5821 /* ../lib/standard/string.nit:1038 */
5822 REGB0
= TAG_Int(glob_argc
);
5823 stack_frame_head
= fra
.me
.prev
;
5826 static const char LOCATE_standard___string___Sys___native_argv
[] = "string::Sys::native_argv";
5827 val_t
standard___string___Sys___native_argv(val_t p0
, val_t p1
){
5828 struct {struct stack_frame_t me
;} fra
;
5831 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
5832 fra
.me
.file
= LOCATE_standard___string
;
5834 fra
.me
.meth
= LOCATE_standard___string___Sys___native_argv
;
5835 fra
.me
.has_broke
= 0;
5836 fra
.me
.REG_size
= 1;
5837 fra
.me
.nitni_local_ref_head
= NULL
;
5838 fra
.me
.REG
[0] = NIT_NULL
;
5841 /* ../lib/standard/string.nit:1041 */
5842 fra
.me
.REG
[0] = BOX_NativeString(glob_argv
[UNTAG_Int(REGB0
)]);
5843 stack_frame_head
= fra
.me
.prev
;
5844 return fra
.me
.REG
[0];