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
[2] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
156 REGB0
= TAG_Bool(IS_EQUAL_OO(fra
.me
.REG
[1],fra
.me
.REG
[2]));
157 if (UNTAG_Bool(REGB0
)) {
159 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
166 if (UNTAG_Bool(REGB0
)) {
169 REGB1
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
174 stack_frame_head
= fra
.me
.prev
;
177 static const char LOCATE_standard___collection___range___Range___count
[] = "range::Range::(abstract_collection::Collection::count)";
178 val_t
standard___collection___range___Range___count(val_t p0
, val_t p1
){
179 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
183 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
184 fra
.me
.file
= LOCATE_standard___collection___range
;
186 fra
.me
.meth
= LOCATE_standard___collection___range___Range___count
;
187 fra
.me
.has_broke
= 0;
189 fra
.me
.nitni_local_ref_head
= NULL
;
190 fra
.me
.REG
[0] = NIT_NULL
;
191 fra
.me
.REG
[1] = NIT_NULL
;
194 /* ../lib/standard/collection/range.nit:36 */
195 REGB0
= CALL_standard___collection___abstract_collection___Collection___has(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
196 if (UNTAG_Bool(REGB0
)) {
197 /* ../lib/standard/collection/range.nit:37 */
201 /* ../lib/standard/collection/range.nit:39 */
207 stack_frame_head
= fra
.me
.prev
;
210 static const char LOCATE_standard___collection___range___Range___iterator
[] = "range::Range::(abstract_collection::Collection::iterator)";
211 val_t
standard___collection___range___Range___iterator(val_t p0
){
212 struct {struct stack_frame_t me
;} fra
;
214 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
215 fra
.me
.file
= LOCATE_standard___collection___range
;
217 fra
.me
.meth
= LOCATE_standard___collection___range___Range___iterator
;
218 fra
.me
.has_broke
= 0;
220 fra
.me
.nitni_local_ref_head
= NULL
;
221 fra
.me
.REG
[0] = NIT_NULL
;
223 /* ../lib/standard/collection/range.nit:43 */
224 fra
.me
.REG
[0] = NEW_IteratorRange_standard___collection___range___IteratorRange___init(fra
.me
.REG
[0]);
227 stack_frame_head
= fra
.me
.prev
;
228 return fra
.me
.REG
[0];
230 static const char LOCATE_standard___collection___range___Range___iterate
[] = "range::Range::(abstract_collection::Collection::iterate)";
231 void standard___collection___range___Range___iterate(val_t p0
, struct stack_frame_t
*closctx_param
, fun_t clos_fun0
){
232 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
236 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
237 fra
.me
.file
= LOCATE_standard___collection___range
;
239 fra
.me
.meth
= LOCATE_standard___collection___range___Range___iterate
;
240 fra
.me
.has_broke
= 0;
242 fra
.me
.nitni_local_ref_head
= NULL
;
243 fra
.me
.REG
[0] = NIT_NULL
;
244 fra
.me
.REG
[1] = NIT_NULL
;
245 fra
.me
.REG
[2] = NIT_NULL
;
246 fra
.me
.closure_ctx
= closctx_param
;
247 fra
.me
.closure_funs
= CREG
;
250 /* ../lib/standard/collection/range.nit:48 */
251 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
252 if (UNTAG_Bool(REGB0
)) {
254 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 48);
256 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
257 /* ../lib/standard/collection/range.nit:49 */
258 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0])!=NIT_NULL
);
259 if (UNTAG_Bool(REGB0
)) {
261 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range
, 49);
263 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]);
264 /* ../lib/standard/collection/range.nit:50 */
266 REGB0
= CALL_standard___kernel___Comparable_____leq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
267 if (UNTAG_Bool(REGB0
)) {
268 /* ../lib/standard/collection/range.nit:51 */
269 ((void (*)(struct stack_frame_t
*, val_t
))(CREG
[0]))(closctx_param
, fra
.me
.REG
[1]);
270 if (closctx_param
->has_broke
) {
273 /* ../lib/standard/collection/range.nit:52 */
274 fra
.me
.REG
[2] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
275 fra
.me
.REG
[1] = fra
.me
.REG
[2];
277 /* ../lib/standard/collection/range.nit:50 */
283 stack_frame_head
= fra
.me
.prev
;
286 static const char LOCATE_standard___collection___range___Range___length
[] = "range::Range::(abstract_collection::Collection::length)";
287 val_t
standard___collection___range___Range___length(val_t p0
){
288 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
293 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
294 fra
.me
.file
= LOCATE_standard___collection___range
;
296 fra
.me
.meth
= LOCATE_standard___collection___range___Range___length
;
297 fra
.me
.has_broke
= 0;
299 fra
.me
.nitni_local_ref_head
= NULL
;
300 fra
.me
.REG
[0] = NIT_NULL
;
301 fra
.me
.REG
[1] = NIT_NULL
;
303 /* ../lib/standard/collection/range.nit:58 */
304 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
305 if (UNTAG_Bool(REGB0
)) {
307 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 58);
309 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
310 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0])!=NIT_NULL
);
311 if (UNTAG_Bool(REGB0
)) {
313 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range
, 58);
315 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]);
316 REGB0
= CALL_standard___kernel___Discrete___distance(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
317 /* ../lib/standard/collection/range.nit:59 */
319 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
320 if (UNTAG_Bool(REGB2
)) {
322 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
324 /* ../lib/standard/kernel.nit:244 */
325 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)>UNTAG_Int(REGB1
));
326 /* ../lib/standard/collection/range.nit:59 */
327 if (UNTAG_Bool(REGB1
)) {
328 /* ../lib/standard/collection/range.nit:60 */
331 /* ../lib/standard/collection/range.nit:62 */
337 stack_frame_head
= fra
.me
.prev
;
340 static const char LOCATE_standard___collection___range___Range___is_empty
[] = "range::Range::(abstract_collection::Collection::is_empty)";
341 val_t
standard___collection___range___Range___is_empty(val_t p0
){
342 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
345 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
346 fra
.me
.file
= LOCATE_standard___collection___range
;
348 fra
.me
.meth
= LOCATE_standard___collection___range___Range___is_empty
;
349 fra
.me
.has_broke
= 0;
351 fra
.me
.nitni_local_ref_head
= NULL
;
352 fra
.me
.REG
[0] = NIT_NULL
;
353 fra
.me
.REG
[1] = NIT_NULL
;
355 /* ../lib/standard/collection/range.nit:66 */
356 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0])!=NIT_NULL
);
357 if (UNTAG_Bool(REGB0
)) {
359 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range
, 66);
361 fra
.me
.REG
[1] = ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]);
362 REGB0
= TAG_Bool(ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0])!=NIT_NULL
);
363 if (UNTAG_Bool(REGB0
)) {
365 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range
, 66);
367 fra
.me
.REG
[0] = ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]);
368 REGB0
= CALL_standard___kernel___Comparable_____geq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
371 stack_frame_head
= fra
.me
.prev
;
374 static const char LOCATE_standard___collection___range___Range___init
[] = "range::Range::init";
375 void standard___collection___range___Range___init(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
376 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___Range
].i
;
377 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
379 if (init_table
[itpos0
]) return;
380 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
381 fra
.me
.file
= LOCATE_standard___collection___range
;
383 fra
.me
.meth
= LOCATE_standard___collection___range___Range___init
;
384 fra
.me
.has_broke
= 0;
386 fra
.me
.nitni_local_ref_head
= NULL
;
387 fra
.me
.REG
[0] = NIT_NULL
;
388 fra
.me
.REG
[1] = NIT_NULL
;
389 fra
.me
.REG
[2] = NIT_NULL
;
393 /* ../lib/standard/collection/range.nit:72 */
394 ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
395 /* ../lib/standard/collection/range.nit:73 */
396 ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
397 /* ../lib/standard/collection/range.nit:74 */
398 fra
.me
.REG
[2] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
399 ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
400 stack_frame_head
= fra
.me
.prev
;
401 init_table
[itpos0
] = 1;
404 static const char LOCATE_standard___collection___range___Range___without_last
[] = "range::Range::without_last";
405 void standard___collection___range___Range___without_last(val_t p0
, val_t p1
, val_t p2
, int* init_table
){
406 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___Range
].i
;
407 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
409 if (init_table
[itpos1
]) return;
410 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
411 fra
.me
.file
= LOCATE_standard___collection___range
;
413 fra
.me
.meth
= LOCATE_standard___collection___range___Range___without_last
;
414 fra
.me
.has_broke
= 0;
416 fra
.me
.nitni_local_ref_head
= NULL
;
417 fra
.me
.REG
[0] = NIT_NULL
;
418 fra
.me
.REG
[1] = NIT_NULL
;
419 fra
.me
.REG
[2] = NIT_NULL
;
423 /* ../lib/standard/collection/range.nit:81 */
424 ATTR_standard___collection___range___Range____first(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
425 /* ../lib/standard/collection/range.nit:82 */
426 fra
.me
.REG
[1] = CALL_standard___kernel___Discrete___prec(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
427 ATTR_standard___collection___range___Range____last(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
428 /* ../lib/standard/collection/range.nit:83 */
429 ATTR_standard___collection___range___Range____after(fra
.me
.REG
[0]) = fra
.me
.REG
[2];
430 stack_frame_head
= fra
.me
.prev
;
431 init_table
[itpos1
] = 1;
434 static const char LOCATE_standard___collection___range___IteratorRange___item
[] = "range::IteratorRange::(abstract_collection::Iterator::item)";
435 val_t
standard___collection___range___IteratorRange___item(val_t p0
){
436 struct {struct stack_frame_t me
;} fra
;
439 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
440 fra
.me
.file
= LOCATE_standard___collection___range
;
442 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___item
;
443 fra
.me
.has_broke
= 0;
445 fra
.me
.nitni_local_ref_head
= NULL
;
446 fra
.me
.REG
[0] = NIT_NULL
;
448 /* ../lib/standard/collection/range.nit:91 */
449 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
450 if (UNTAG_Bool(REGB0
)) {
452 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 91);
454 fra
.me
.REG
[0] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
455 stack_frame_head
= fra
.me
.prev
;
456 return fra
.me
.REG
[0];
458 static const char LOCATE_standard___collection___range___IteratorRange___is_ok
[] = "range::IteratorRange::(abstract_collection::Iterator::is_ok)";
459 val_t
standard___collection___range___IteratorRange___is_ok(val_t p0
){
460 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
464 fra
.me
.file
= LOCATE_standard___collection___range
;
466 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___is_ok
;
467 fra
.me
.has_broke
= 0;
469 fra
.me
.nitni_local_ref_head
= NULL
;
470 fra
.me
.REG
[0] = NIT_NULL
;
471 fra
.me
.REG
[1] = NIT_NULL
;
473 /* ../lib/standard/collection/range.nit:93 */
474 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
475 if (UNTAG_Bool(REGB0
)) {
477 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 93);
479 fra
.me
.REG
[1] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
480 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0])!=NIT_NULL
);
481 if (UNTAG_Bool(REGB0
)) {
483 nit_abort("Uninitialized attribute %s", "_range", LOCATE_standard___collection___range
, 93);
485 fra
.me
.REG
[0] = ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0]);
486 fra
.me
.REG
[0] = CALL_standard___collection___range___Range___after(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
487 REGB0
= CALL_standard___kernel___Comparable_____l(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
490 stack_frame_head
= fra
.me
.prev
;
493 static const char LOCATE_standard___collection___range___IteratorRange___next
[] = "range::IteratorRange::(abstract_collection::Iterator::next)";
494 void standard___collection___range___IteratorRange___next(val_t p0
){
495 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
498 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
499 fra
.me
.file
= LOCATE_standard___collection___range
;
501 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___next
;
502 fra
.me
.has_broke
= 0;
504 fra
.me
.nitni_local_ref_head
= NULL
;
505 fra
.me
.REG
[0] = NIT_NULL
;
506 fra
.me
.REG
[1] = NIT_NULL
;
508 /* ../lib/standard/collection/range.nit:95 */
509 REGB0
= TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0])!=NIT_NULL
);
510 if (UNTAG_Bool(REGB0
)) {
512 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range
, 95);
514 fra
.me
.REG
[1] = ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]);
515 fra
.me
.REG
[1] = CALL_standard___kernel___Discrete___succ(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
516 ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
517 stack_frame_head
= fra
.me
.prev
;
520 static const char LOCATE_standard___collection___range___IteratorRange___init
[] = "range::IteratorRange::init";
521 void standard___collection___range___IteratorRange___init(val_t p0
, val_t p1
, int* init_table
){
522 int itpos2
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_standard___collection___range___IteratorRange
].i
;
523 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
525 if (init_table
[itpos2
]) return;
526 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
527 fra
.me
.file
= LOCATE_standard___collection___range
;
529 fra
.me
.meth
= LOCATE_standard___collection___range___IteratorRange___init
;
530 fra
.me
.has_broke
= 0;
532 fra
.me
.nitni_local_ref_head
= NULL
;
533 fra
.me
.REG
[0] = NIT_NULL
;
534 fra
.me
.REG
[1] = NIT_NULL
;
537 /* ../lib/standard/collection/range.nit:99 */
538 ATTR_standard___collection___range___IteratorRange____range(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
539 /* ../lib/standard/collection/range.nit:100 */
540 fra
.me
.REG
[1] = CALL_standard___collection___abstract_collection___Collection___first(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
541 ATTR_standard___collection___range___IteratorRange____item(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
542 stack_frame_head
= fra
.me
.prev
;
543 init_table
[itpos2
] = 1;