1 /* This C file is generated by NIT to compile module standard___collection___range. */
2 #include "standard___collection___range._sep.h"
3 static const char LOCATE_standard___collection___range___Range___first
[] = "range::Range::(abstract_collection::Collection::first)";
4 val_t
standard___collection___range___Range___first(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___collection___range
;
11 fra
.me
.meth
= LOCATE_standard___collection___range___Range___first
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* ../lib/standard/collection/range.nit:22 */
18 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 22);
23 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_standard___collection___range___Range___last
[] = "range::Range::last";
28 val_t
standard___collection___range___Range___last(val_t p0
){
29 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_standard___collection___range
;
35 fra
.me
.meth
= LOCATE_standard___collection___range___Range___last
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
41 /* ../lib/standard/collection/range.nit:24 */
42 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0])!=NIT_NULL
);
43 if (UNTAG_Bool(REGB0
)) {
45 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range
, 24);
47 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
48 stack_frame_head
= fra
.me
.prev
;
51 static const char LOCATE_standard___collection___range___Range___after
[] = "range::Range::after";
52 val_t
standard___collection___range___Range___after(val_t p0
){
53 struct {struct stack_frame_t me
;} fra
;
56 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
57 fra
.me
.file
= LOCATE_standard___collection___range
;
59 fra
.me
.meth
= LOCATE_standard___collection___range___Range___after
;
62 fra
.me
.nitni_local_ref_head
= NULL
;
63 fra
.me
.REG
[0] = NIT_NULL
;
65 /* ../lib/standard/collection/range.nit:27 */
66 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0])!=NIT_NULL
);
67 if (UNTAG_Bool(REGB0
)) {
69 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range
, 27);
71 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]);
72 stack_frame_head
= fra
.me
.prev
;
75 static const char LOCATE_standard___collection___range___Range___has
[] = "range::Range::(abstract_collection::Collection::has)";
76 val_t
standard___collection___range___Range___has(val_t p0
, val_t p1
){
77 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
81 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
82 fra
.me
.file
= LOCATE_standard___collection___range
;
84 fra
.me
.meth
= LOCATE_standard___collection___range___Range___has
;
87 fra
.me
.nitni_local_ref_head
= NULL
;
88 fra
.me
.REG
[0] = NIT_NULL
;
89 fra
.me
.REG
[1] = NIT_NULL
;
90 fra
.me
.REG
[2] = NIT_NULL
;
93 /* ../lib/standard/collection/range.nit:30 */
94 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
95 if (UNTAG_Bool(REGB0
)) {
97 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 30);
99 fra
.me
.REG
[2] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
100 REGB0
= CALL_standard___kernel___Comparable_____geq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
101 if (UNTAG_Bool(REGB0
)) {
102 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0])!=NIT_NULL
);
103 if (UNTAG_Bool(REGB0
)) {
105 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range
, 30);
107 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
108 REGB0
= CALL_standard___kernel___Comparable_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
115 stack_frame_head
= fra
.me
.prev
;
118 static const char LOCATE_standard___collection___range___Range___has_only
[] = "range::Range::(abstract_collection::Collection::has_only)";
119 val_t
standard___collection___range___Range___has_only(val_t p0
, val_t p1
){
120 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
124 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
125 fra
.me
.file
= LOCATE_standard___collection___range
;
127 fra
.me
.meth
= LOCATE_standard___collection___range___Range___has_only
;
128 fra
.me
.has_broke
= 0;
130 fra
.me
.nitni_local_ref_head
= NULL
;
131 fra
.me
.REG
[0] = NIT_NULL
;
132 fra
.me
.REG
[1] = NIT_NULL
;
133 fra
.me
.REG
[2] = NIT_NULL
;
136 /* ../lib/standard/collection/range.nit:32 */
137 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
138 if (UNTAG_Bool(REGB0
)) {
140 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 32);
142 fra
.me
.REG
[2] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
143 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[2],fra
.me
.REG
[1]));
144 if (UNTAG_Bool(REGB0
)) {
146 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
149 if (UNTAG_Bool(REGB0
)) {
150 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0])!=NIT_NULL
);
151 if (UNTAG_Bool(REGB0
)) {
153 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range
, 32);
155 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
156 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[0]));
157 if (UNTAG_Bool(REGB0
)) {
159 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
168 stack_frame_head
= fra
.me
.prev
;
171 static const char LOCATE_standard___collection___range___Range___count
[] = "range::Range::(abstract_collection::Collection::count)";
172 val_t
standard___collection___range___Range___count(val_t p0
, val_t p1
){
173 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
178 fra
.me
.file
= LOCATE_standard___collection___range
;
180 fra
.me
.meth
= LOCATE_standard___collection___range___Range___count
;
181 fra
.me
.has_broke
= 0;
183 fra
.me
.nitni_local_ref_head
= NULL
;
184 fra
.me
.REG
[0] = NIT_NULL
;
185 fra
.me
.REG
[1] = NIT_NULL
;
188 /* ../lib/standard/collection/range.nit:36 */
189 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
190 if (UNTAG_Bool(REGB0
)) {
191 /* ../lib/standard/collection/range.nit:37 */
195 /* ../lib/standard/collection/range.nit:39 */
201 stack_frame_head
= fra
.me
.prev
;
204 static const char LOCATE_standard___collection___range___Range___iterator
[] = "range::Range::(abstract_collection::Collection::iterator)";
205 val_t
standard___collection___range___Range___iterator(val_t p0
){
206 struct {struct stack_frame_t me
;} fra
;
208 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
209 fra
.me
.file
= LOCATE_standard___collection___range
;
211 fra
.me
.meth
= LOCATE_standard___collection___range___Range___iterator
;
212 fra
.me
.has_broke
= 0;
214 fra
.me
.nitni_local_ref_head
= NULL
;
215 fra
.me
.REG
[0] = NIT_NULL
;
217 /* ../lib/standard/collection/range.nit:43 */
218 fra
.me
.REG
[0] = NEW_IteratorRange_standard___collection___range___IteratorRange___init(fra
.me
.REG
[0]);
221 stack_frame_head
= fra
.me
.prev
;
222 return fra
.me
.REG
[0];
224 static const char LOCATE_standard___collection___range___Range___iterate
[] = "range::Range::(abstract_collection::Collection::iterate)";
225 void standard___collection___range___Range___iterate(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
226 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
230 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
231 fra
.me
.file
= LOCATE_standard___collection___range
;
233 fra
.me
.meth
= LOCATE_standard___collection___range___Range___iterate
;
234 fra
.me
.has_broke
= 0;
236 fra
.me
.nitni_local_ref_head
= NULL
;
237 fra
.me
.REG
[0] = NIT_NULL
;
238 fra
.me
.REG
[1] = NIT_NULL
;
239 fra
.me
.REG
[2] = NIT_NULL
;
240 fra
.me
.closure_ctx
= closctx_param
;
241 fra
.me
.closure_funs
= CREG
;
244 /* ../lib/standard/collection/range.nit:48 */
245 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
246 if (UNTAG_Bool(REGB0
)) {
248 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 48);
250 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
251 /* ../lib/standard/collection/range.nit:49 */
252 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0])!=NIT_NULL
);
253 if (UNTAG_Bool(REGB0
)) {
255 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range
, 49);
257 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
258 /* ../lib/standard/collection/range.nit:50 */
260 REGB0
= CALL_standard___kernel___Comparable_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
261 if (UNTAG_Bool(REGB0
)) {
262 /* ../lib/standard/collection/range.nit:51 */
263 ((void (*)(struct stack_frame_t
*, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[1]);
264 if (closctx_param
->has_broke
) {
267 /* ../lib/standard/collection/range.nit:52 */
268 fra
.me
.REG
[2] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
269 fra
.me
.REG
[1] = fra
.me
.REG
[2];
271 /* ../lib/standard/collection/range.nit:50 */
277 stack_frame_head
= fra
.me
.prev
;
280 static const char LOCATE_standard___collection___range___Range___length
[] = "range::Range::(abstract_collection::Collection::length)";
281 val_t
standard___collection___range___Range___length(val_t p0
){
282 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
287 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
288 fra
.me
.file
= LOCATE_standard___collection___range
;
290 fra
.me
.meth
= LOCATE_standard___collection___range___Range___length
;
291 fra
.me
.has_broke
= 0;
293 fra
.me
.nitni_local_ref_head
= NULL
;
294 fra
.me
.REG
[0] = NIT_NULL
;
295 fra
.me
.REG
[1] = NIT_NULL
;
297 /* ../lib/standard/collection/range.nit:58 */
298 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
299 if (UNTAG_Bool(REGB0
)) {
301 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 58);
303 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
304 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0])!=NIT_NULL
);
305 if (UNTAG_Bool(REGB0
)) {
307 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range
, 58);
309 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]);
310 REGB0
= CALL_standard___kernel___Discrete___distance(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
311 /* ../lib/standard/collection/range.nit:59 */
313 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
314 if (UNTAG_Bool(REGB2
)) {
316 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
318 /* ../lib/standard/kernel.nit:237 */
319 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
320 /* ../lib/standard/collection/range.nit:59 */
321 if (UNTAG_Bool(REGB1
)) {
322 /* ../lib/standard/collection/range.nit:60 */
325 /* ../lib/standard/collection/range.nit:62 */
331 stack_frame_head
= fra
.me
.prev
;
334 static const char LOCATE_standard___collection___range___Range___is_empty
[] = "range::Range::(abstract_collection::Collection::is_empty)";
335 val_t
standard___collection___range___Range___is_empty(val_t p0
){
336 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
339 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
340 fra
.me
.file
= LOCATE_standard___collection___range
;
342 fra
.me
.meth
= LOCATE_standard___collection___range___Range___is_empty
;
343 fra
.me
.has_broke
= 0;
345 fra
.me
.nitni_local_ref_head
= NULL
;
346 fra
.me
.REG
[0] = NIT_NULL
;
347 fra
.me
.REG
[1] = NIT_NULL
;
349 /* ../lib/standard/collection/range.nit:66 */
350 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
351 if (UNTAG_Bool(REGB0
)) {
353 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 66);
355 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
356 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0])!=NIT_NULL
);
357 if (UNTAG_Bool(REGB0
)) {
359 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range
, 66);
361 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]);
362 REGB0
= CALL_standard___kernel___Comparable_____geq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
365 stack_frame_head
= fra
.me
.prev
;
368 static const char LOCATE_standard___collection___range___Range___init
[] = "range::Range::init";
369 void standard___collection___range___Range___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
370 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___Range
].i
;
371 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
373 if (init_table
[itpos0
]) return;
374 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
375 fra
.me
.file
= LOCATE_standard___collection___range
;
377 fra
.me
.meth
= LOCATE_standard___collection___range___Range___init
;
378 fra
.me
.has_broke
= 0;
380 fra
.me
.nitni_local_ref_head
= NULL
;
381 fra
.me
.REG
[0] = NIT_NULL
;
382 fra
.me
.REG
[1] = NIT_NULL
;
383 fra
.me
.REG
[2] = NIT_NULL
;
387 /* ../lib/standard/collection/range.nit:72 */
388 ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
389 /* ../lib/standard/collection/range.nit:73 */
390 ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
391 /* ../lib/standard/collection/range.nit:74 */
392 fra
.me
.REG
[2] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
393 ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
394 stack_frame_head
= fra
.me
.prev
;
395 init_table
[itpos0
] = 1;
398 static const char LOCATE_standard___collection___range___Range___without_last
[] = "range::Range::without_last";
399 void standard___collection___range___Range___without_last(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
400 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___Range
].i
;
401 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
403 if (init_table
[itpos1
]) return;
404 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
405 fra
.me
.file
= LOCATE_standard___collection___range
;
407 fra
.me
.meth
= LOCATE_standard___collection___range___Range___without_last
;
408 fra
.me
.has_broke
= 0;
410 fra
.me
.nitni_local_ref_head
= NULL
;
411 fra
.me
.REG
[0] = NIT_NULL
;
412 fra
.me
.REG
[1] = NIT_NULL
;
413 fra
.me
.REG
[2] = NIT_NULL
;
417 /* ../lib/standard/collection/range.nit:81 */
418 ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
419 /* ../lib/standard/collection/range.nit:82 */
420 fra
.me
.REG
[1] = CALL_standard___kernel___Discrete___prec(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
421 ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
422 /* ../lib/standard/collection/range.nit:83 */
423 ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
424 stack_frame_head
= fra
.me
.prev
;
425 init_table
[itpos1
] = 1;
428 static const char LOCATE_standard___collection___range___IteratorRange___item
[] = "range::IteratorRange::(abstract_collection::Iterator::item)";
429 val_t
standard___collection___range___IteratorRange___item(val_t p0
){
430 struct {struct stack_frame_t me
;} fra
;
433 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
434 fra
.me
.file
= LOCATE_standard___collection___range
;
436 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___item
;
437 fra
.me
.has_broke
= 0;
439 fra
.me
.nitni_local_ref_head
= NULL
;
440 fra
.me
.REG
[0] = NIT_NULL
;
442 /* ../lib/standard/collection/range.nit:91 */
443 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
444 if (UNTAG_Bool(REGB0
)) {
446 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 91);
448 fra
.me
.REG
[0] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
449 stack_frame_head
= fra
.me
.prev
;
450 return fra
.me
.REG
[0];
452 static const char LOCATE_standard___collection___range___IteratorRange___is_ok
[] = "range::IteratorRange::(abstract_collection::Iterator::is_ok)";
453 val_t
standard___collection___range___IteratorRange___is_ok(val_t p0
){
454 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
457 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
458 fra
.me
.file
= LOCATE_standard___collection___range
;
460 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___is_ok
;
461 fra
.me
.has_broke
= 0;
463 fra
.me
.nitni_local_ref_head
= NULL
;
464 fra
.me
.REG
[0] = NIT_NULL
;
465 fra
.me
.REG
[1] = NIT_NULL
;
467 /* ../lib/standard/collection/range.nit:93 */
468 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
469 if (UNTAG_Bool(REGB0
)) {
471 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 93);
473 fra
.me
.REG
[1] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
474 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0])!=NIT_NULL
);
475 if (UNTAG_Bool(REGB0
)) {
477 nit_abort("Uninitialized attribute %s", "_range", LOCATE_standard___collection___range
, 93);
479 fra
.me
.REG
[0] = ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0]);
480 fra
.me
.REG
[0] = CALL_standard___collection___range___Range___after(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
481 REGB0
= CALL_standard___kernel___Comparable_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
484 stack_frame_head
= fra
.me
.prev
;
487 static const char LOCATE_standard___collection___range___IteratorRange___next
[] = "range::IteratorRange::(abstract_collection::Iterator::next)";
488 void standard___collection___range___IteratorRange___next(val_t p0
){
489 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
492 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
493 fra
.me
.file
= LOCATE_standard___collection___range
;
495 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___next
;
496 fra
.me
.has_broke
= 0;
498 fra
.me
.nitni_local_ref_head
= NULL
;
499 fra
.me
.REG
[0] = NIT_NULL
;
500 fra
.me
.REG
[1] = NIT_NULL
;
502 /* ../lib/standard/collection/range.nit:95 */
503 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
504 if (UNTAG_Bool(REGB0
)) {
506 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 95);
508 fra
.me
.REG
[1] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
509 fra
.me
.REG
[1] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
510 ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
511 stack_frame_head
= fra
.me
.prev
;
514 static const char LOCATE_standard___collection___range___IteratorRange___init
[] = "range::IteratorRange::init";
515 void standard___collection___range___IteratorRange___init(val_t p0
, val_t p1
, int* init_table
){
516 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___IteratorRange
].i
;
517 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
519 if (init_table
[itpos2
]) return;
520 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
521 fra
.me
.file
= LOCATE_standard___collection___range
;
523 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___init
;
524 fra
.me
.has_broke
= 0;
526 fra
.me
.nitni_local_ref_head
= NULL
;
527 fra
.me
.REG
[0] = NIT_NULL
;
528 fra
.me
.REG
[1] = NIT_NULL
;
531 /* ../lib/standard/collection/range.nit:99 */
532 ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
533 /* ../lib/standard/collection/range.nit:100 */
534 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
535 ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
536 stack_frame_head
= fra
.me
.prev
;
537 init_table
[itpos2
] = 1;