Merge branch 'nitdoc2' into wip
[nit.git] / c_src / standard___collection___range._sep.c
1 /* This C file is generated by NIT to compile module standard___collection___range. */
2 #include "standard___collection___range._sep.h"
3 val_t standard___collection___range___Range___first(val_t p0){
4 struct {struct stack_frame_t me;} fra;
5 val_t REGB0;
6 val_t tmp;
7 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
8 fra.me.file = LOCATE_standard___collection___range;
9 fra.me.line = 22;
10 fra.me.meth = LOCATE_standard___collection___range___Range___first;
11 fra.me.has_broke = 0;
12 fra.me.REG_size = 1;
13 fra.me.REG[0] = NIT_NULL;
14 fra.me.REG[0] = p0;
15 /* ./../lib/standard//collection//range.nit:22 */
16 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 22);
20 }
21 fra.me.REG[0] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
25 val_t standard___collection___range___Range___last(val_t p0){
26 struct {struct stack_frame_t me;} fra;
27 val_t REGB0;
28 val_t tmp;
29 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
30 fra.me.file = LOCATE_standard___collection___range;
31 fra.me.line = 24;
32 fra.me.meth = LOCATE_standard___collection___range___Range___last;
33 fra.me.has_broke = 0;
34 fra.me.REG_size = 1;
35 fra.me.REG[0] = NIT_NULL;
36 fra.me.REG[0] = p0;
37 /* ./../lib/standard//collection//range.nit:24 */
38 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____last(fra.me.REG[0])!=NIT_NULL);
39 if (UNTAG_Bool(REGB0)) {
40 } else {
41 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 24);
42 }
43 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
44 stack_frame_head = fra.me.prev;
45 return fra.me.REG[0];
46 }
47 val_t standard___collection___range___Range___after(val_t p0){
48 struct {struct stack_frame_t me;} fra;
49 val_t REGB0;
50 val_t tmp;
51 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
52 fra.me.file = LOCATE_standard___collection___range;
53 fra.me.line = 27;
54 fra.me.meth = LOCATE_standard___collection___range___Range___after;
55 fra.me.has_broke = 0;
56 fra.me.REG_size = 1;
57 fra.me.REG[0] = NIT_NULL;
58 fra.me.REG[0] = p0;
59 /* ./../lib/standard//collection//range.nit:27 */
60 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____after(fra.me.REG[0])!=NIT_NULL);
61 if (UNTAG_Bool(REGB0)) {
62 } else {
63 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 27);
64 }
65 fra.me.REG[0] = ATTR_standard___collection___range___Range____after(fra.me.REG[0]);
66 stack_frame_head = fra.me.prev;
67 return fra.me.REG[0];
68 }
69 val_t standard___collection___range___Range___has(val_t p0, val_t p1){
70 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
71 val_t REGB0;
72 val_t REGB1;
73 val_t tmp;
74 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
75 fra.me.file = LOCATE_standard___collection___range;
76 fra.me.line = 30;
77 fra.me.meth = LOCATE_standard___collection___range___Range___has;
78 fra.me.has_broke = 0;
79 fra.me.REG_size = 3;
80 fra.me.REG[0] = NIT_NULL;
81 fra.me.REG[1] = NIT_NULL;
82 fra.me.REG[2] = NIT_NULL;
83 fra.me.REG[0] = p0;
84 fra.me.REG[1] = p1;
85 /* ./../lib/standard//collection//range.nit:30 */
86 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
87 if (UNTAG_Bool(REGB0)) {
88 } else {
89 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 30);
90 }
91 fra.me.REG[2] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
92 REGB0 = CALL_standard___kernel___Comparable_____geq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
93 if (UNTAG_Bool(REGB0)) {
94 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____last(fra.me.REG[0])!=NIT_NULL);
95 if (UNTAG_Bool(REGB0)) {
96 } else {
97 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 30);
98 }
99 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
100 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
101 } else {
102 REGB1 = TAG_Bool(false);
103 REGB0 = REGB1;
104 }
105 goto label1;
106 label1: while(0);
107 stack_frame_head = fra.me.prev;
108 return REGB0;
109 }
110 val_t standard___collection___range___Range___has_only(val_t p0, val_t p1){
111 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
112 val_t REGB0;
113 val_t REGB1;
114 val_t tmp;
115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
116 fra.me.file = LOCATE_standard___collection___range;
117 fra.me.line = 32;
118 fra.me.meth = LOCATE_standard___collection___range___Range___has_only;
119 fra.me.has_broke = 0;
120 fra.me.REG_size = 3;
121 fra.me.REG[0] = NIT_NULL;
122 fra.me.REG[1] = NIT_NULL;
123 fra.me.REG[2] = NIT_NULL;
124 fra.me.REG[0] = p0;
125 fra.me.REG[1] = p1;
126 /* ./../lib/standard//collection//range.nit:32 */
127 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
128 if (UNTAG_Bool(REGB0)) {
129 } else {
130 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 32);
131 }
132 fra.me.REG[2] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
133 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[2],fra.me.REG[1]));
134 if (UNTAG_Bool(REGB0)) {
135 } else {
136 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
137 REGB0 = REGB1;
138 }
139 if (UNTAG_Bool(REGB0)) {
140 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____last(fra.me.REG[0])!=NIT_NULL);
141 if (UNTAG_Bool(REGB0)) {
142 } else {
143 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 32);
144 }
145 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
146 REGB0 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[1],fra.me.REG[0]));
147 if (UNTAG_Bool(REGB0)) {
148 } else {
149 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
150 REGB0 = REGB1;
151 }
152 } else {
153 REGB1 = TAG_Bool(false);
154 REGB0 = REGB1;
155 }
156 goto label1;
157 label1: while(0);
158 stack_frame_head = fra.me.prev;
159 return REGB0;
160 }
161 val_t standard___collection___range___Range___count(val_t p0, val_t p1){
162 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
163 val_t REGB0;
164 val_t REGB1;
165 val_t tmp;
166 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
167 fra.me.file = LOCATE_standard___collection___range;
168 fra.me.line = 34;
169 fra.me.meth = LOCATE_standard___collection___range___Range___count;
170 fra.me.has_broke = 0;
171 fra.me.REG_size = 2;
172 fra.me.REG[0] = NIT_NULL;
173 fra.me.REG[1] = NIT_NULL;
174 fra.me.REG[0] = p0;
175 fra.me.REG[1] = p1;
176 /* ./../lib/standard//collection//range.nit:36 */
177 REGB0 = CALL_standard___collection___abstract_collection___Collection___has(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
178 if (UNTAG_Bool(REGB0)) {
179 /* ./../lib/standard//collection//range.nit:37 */
180 REGB0 = TAG_Int(1);
181 goto label1;
182 } else {
183 /* ./../lib/standard//collection//range.nit:39 */
184 REGB1 = TAG_Int(0);
185 REGB0 = REGB1;
186 goto label1;
187 }
188 label1: while(0);
189 stack_frame_head = fra.me.prev;
190 return REGB0;
191 }
192 val_t standard___collection___range___Range___iterator(val_t p0){
193 struct {struct stack_frame_t me;} fra;
194 val_t tmp;
195 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
196 fra.me.file = LOCATE_standard___collection___range;
197 fra.me.line = 43;
198 fra.me.meth = LOCATE_standard___collection___range___Range___iterator;
199 fra.me.has_broke = 0;
200 fra.me.REG_size = 1;
201 fra.me.REG[0] = NIT_NULL;
202 fra.me.REG[0] = p0;
203 /* ./../lib/standard//collection//range.nit:43 */
204 fra.me.REG[0] = NEW_IteratorRange_standard___collection___range___IteratorRange___init(fra.me.REG[0]);
205 goto label1;
206 label1: while(0);
207 stack_frame_head = fra.me.prev;
208 return fra.me.REG[0];
209 }
210 void standard___collection___range___Range___iterate(val_t p0, struct stack_frame_t *closctx_param, fun_t clos_fun0){
211 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
212 val_t REGB0;
213 fun_t CREG[1];
214 val_t tmp;
215 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
216 fra.me.file = LOCATE_standard___collection___range;
217 fra.me.line = 45;
218 fra.me.meth = LOCATE_standard___collection___range___Range___iterate;
219 fra.me.has_broke = 0;
220 fra.me.REG_size = 3;
221 fra.me.REG[0] = NIT_NULL;
222 fra.me.REG[1] = NIT_NULL;
223 fra.me.REG[2] = NIT_NULL;
224 fra.me.closure_ctx = closctx_param;
225 fra.me.closure_funs = CREG;
226 fra.me.REG[0] = p0;
227 CREG[0] = clos_fun0;
228 /* ./../lib/standard//collection//range.nit:48 */
229 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
230 if (UNTAG_Bool(REGB0)) {
231 } else {
232 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 48);
233 }
234 fra.me.REG[1] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
235 /* ./../lib/standard//collection//range.nit:49 */
236 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____last(fra.me.REG[0])!=NIT_NULL);
237 if (UNTAG_Bool(REGB0)) {
238 } else {
239 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 49);
240 }
241 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
242 /* ./../lib/standard//collection//range.nit:50 */
243 while(1) {
244 REGB0 = CALL_standard___kernel___Comparable_____leq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
245 if (UNTAG_Bool(REGB0)) {
246 /* ./../lib/standard//collection//range.nit:51 */
247 ((void (*)(struct stack_frame_t *, val_t))(CREG[0]))(closctx_param, fra.me.REG[1]);
248 if (closctx_param->has_broke) {
249 goto label1;
250 }
251 /* ./../lib/standard//collection//range.nit:52 */
252 fra.me.REG[2] = CALL_standard___kernel___Discrete___succ(fra.me.REG[1])(fra.me.REG[1]);
253 fra.me.REG[1] = fra.me.REG[2];
254 } else {
255 /* ./../lib/standard//collection//range.nit:50 */
256 goto label2;
257 }
258 }
259 label2: while(0);
260 label1: while(0);
261 stack_frame_head = fra.me.prev;
262 return;
263 }
264 val_t standard___collection___range___Range___length(val_t p0){
265 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
266 val_t REGB0;
267 val_t REGB1;
268 val_t REGB2;
269 val_t tmp;
270 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
271 fra.me.file = LOCATE_standard___collection___range;
272 fra.me.line = 56;
273 fra.me.meth = LOCATE_standard___collection___range___Range___length;
274 fra.me.has_broke = 0;
275 fra.me.REG_size = 2;
276 fra.me.REG[0] = NIT_NULL;
277 fra.me.REG[1] = NIT_NULL;
278 fra.me.REG[0] = p0;
279 /* ./../lib/standard//collection//range.nit:58 */
280 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
281 if (UNTAG_Bool(REGB0)) {
282 } else {
283 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 58);
284 }
285 fra.me.REG[1] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
286 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____after(fra.me.REG[0])!=NIT_NULL);
287 if (UNTAG_Bool(REGB0)) {
288 } else {
289 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 58);
290 }
291 fra.me.REG[0] = ATTR_standard___collection___range___Range____after(fra.me.REG[0]);
292 REGB0 = CALL_standard___kernel___Discrete___distance(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
293 /* ./../lib/standard//collection//range.nit:59 */
294 REGB1 = TAG_Int(0);
295 REGB2 = TAG_Bool(VAL_ISA(REGB1, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0), VTID_standard___kernel___Comparable___OTHER(REGB0))) /*cast OTHER*/;
296 if (UNTAG_Bool(REGB2)) {
297 } else {
298 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
299 }
300 /* ./../lib/standard//kernel.nit:217 */
301 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>UNTAG_Int(REGB1));
302 /* ./../lib/standard//collection//range.nit:59 */
303 if (UNTAG_Bool(REGB1)) {
304 /* ./../lib/standard//collection//range.nit:60 */
305 goto label1;
306 } else {
307 /* ./../lib/standard//collection//range.nit:62 */
308 REGB1 = TAG_Int(0);
309 REGB0 = REGB1;
310 goto label1;
311 }
312 label1: while(0);
313 stack_frame_head = fra.me.prev;
314 return REGB0;
315 }
316 val_t standard___collection___range___Range___is_empty(val_t p0){
317 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
318 val_t REGB0;
319 val_t tmp;
320 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
321 fra.me.file = LOCATE_standard___collection___range;
322 fra.me.line = 66;
323 fra.me.meth = LOCATE_standard___collection___range___Range___is_empty;
324 fra.me.has_broke = 0;
325 fra.me.REG_size = 2;
326 fra.me.REG[0] = NIT_NULL;
327 fra.me.REG[1] = NIT_NULL;
328 fra.me.REG[0] = p0;
329 /* ./../lib/standard//collection//range.nit:66 */
330 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____first(fra.me.REG[0])!=NIT_NULL);
331 if (UNTAG_Bool(REGB0)) {
332 } else {
333 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 66);
334 }
335 fra.me.REG[1] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
336 REGB0 = TAG_Bool(ATTR_standard___collection___range___Range____after(fra.me.REG[0])!=NIT_NULL);
337 if (UNTAG_Bool(REGB0)) {
338 } else {
339 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 66);
340 }
341 fra.me.REG[0] = ATTR_standard___collection___range___Range____after(fra.me.REG[0]);
342 REGB0 = CALL_standard___kernel___Comparable_____geq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
343 goto label1;
344 label1: while(0);
345 stack_frame_head = fra.me.prev;
346 return REGB0;
347 }
348 void standard___collection___range___Range___init(val_t p0, val_t p1, val_t p2, int* init_table){
349 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___range___Range].i;
350 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
351 val_t tmp;
352 if (init_table[itpos0]) return;
353 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
354 fra.me.file = LOCATE_standard___collection___range;
355 fra.me.line = 68;
356 fra.me.meth = LOCATE_standard___collection___range___Range___init;
357 fra.me.has_broke = 0;
358 fra.me.REG_size = 3;
359 fra.me.REG[0] = NIT_NULL;
360 fra.me.REG[1] = NIT_NULL;
361 fra.me.REG[2] = NIT_NULL;
362 fra.me.REG[0] = p0;
363 fra.me.REG[1] = p1;
364 fra.me.REG[2] = p2;
365 /* ./../lib/standard//collection//range.nit:72 */
366 ATTR_standard___collection___range___Range____first(fra.me.REG[0]) = fra.me.REG[1];
367 /* ./../lib/standard//collection//range.nit:73 */
368 ATTR_standard___collection___range___Range____last(fra.me.REG[0]) = fra.me.REG[2];
369 /* ./../lib/standard//collection//range.nit:74 */
370 fra.me.REG[2] = CALL_standard___kernel___Discrete___succ(fra.me.REG[2])(fra.me.REG[2]);
371 ATTR_standard___collection___range___Range____after(fra.me.REG[0]) = fra.me.REG[2];
372 stack_frame_head = fra.me.prev;
373 init_table[itpos0] = 1;
374 return;
375 }
376 void standard___collection___range___Range___without_last(val_t p0, val_t p1, val_t p2, int* init_table){
377 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___range___Range].i;
378 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
379 val_t tmp;
380 if (init_table[itpos1]) return;
381 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
382 fra.me.file = LOCATE_standard___collection___range;
383 fra.me.line = 77;
384 fra.me.meth = LOCATE_standard___collection___range___Range___without_last;
385 fra.me.has_broke = 0;
386 fra.me.REG_size = 3;
387 fra.me.REG[0] = NIT_NULL;
388 fra.me.REG[1] = NIT_NULL;
389 fra.me.REG[2] = NIT_NULL;
390 fra.me.REG[0] = p0;
391 fra.me.REG[1] = p1;
392 fra.me.REG[2] = p2;
393 /* ./../lib/standard//collection//range.nit:81 */
394 ATTR_standard___collection___range___Range____first(fra.me.REG[0]) = fra.me.REG[1];
395 /* ./../lib/standard//collection//range.nit:82 */
396 fra.me.REG[1] = CALL_standard___kernel___Discrete___prec(fra.me.REG[2])(fra.me.REG[2]);
397 ATTR_standard___collection___range___Range____last(fra.me.REG[0]) = fra.me.REG[1];
398 /* ./../lib/standard//collection//range.nit:83 */
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[itpos1] = 1;
402 return;
403 }
404 val_t standard___collection___range___IteratorRange___item(val_t p0){
405 struct {struct stack_frame_t me;} fra;
406 val_t REGB0;
407 val_t tmp;
408 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
409 fra.me.file = LOCATE_standard___collection___range;
410 fra.me.line = 91;
411 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___item;
412 fra.me.has_broke = 0;
413 fra.me.REG_size = 1;
414 fra.me.REG[0] = NIT_NULL;
415 fra.me.REG[0] = p0;
416 /* ./../lib/standard//collection//range.nit:91 */
417 REGB0 = TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
418 if (UNTAG_Bool(REGB0)) {
419 } else {
420 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 91);
421 }
422 fra.me.REG[0] = ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0]);
423 stack_frame_head = fra.me.prev;
424 return fra.me.REG[0];
425 }
426 val_t standard___collection___range___IteratorRange___is_ok(val_t p0){
427 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
428 val_t REGB0;
429 val_t tmp;
430 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
431 fra.me.file = LOCATE_standard___collection___range;
432 fra.me.line = 93;
433 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___is_ok;
434 fra.me.has_broke = 0;
435 fra.me.REG_size = 2;
436 fra.me.REG[0] = NIT_NULL;
437 fra.me.REG[1] = NIT_NULL;
438 fra.me.REG[0] = p0;
439 /* ./../lib/standard//collection//range.nit:93 */
440 REGB0 = TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
441 if (UNTAG_Bool(REGB0)) {
442 } else {
443 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 93);
444 }
445 fra.me.REG[1] = ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0]);
446 REGB0 = TAG_Bool(ATTR_standard___collection___range___IteratorRange____range(fra.me.REG[0])!=NIT_NULL);
447 if (UNTAG_Bool(REGB0)) {
448 } else {
449 nit_abort("Uninitialized attribute %s", "_range", LOCATE_standard___collection___range, 93);
450 }
451 fra.me.REG[0] = ATTR_standard___collection___range___IteratorRange____range(fra.me.REG[0]);
452 fra.me.REG[0] = CALL_standard___collection___range___Range___after(fra.me.REG[0])(fra.me.REG[0]);
453 REGB0 = CALL_standard___kernel___Comparable_____l(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
454 goto label1;
455 label1: while(0);
456 stack_frame_head = fra.me.prev;
457 return REGB0;
458 }
459 void standard___collection___range___IteratorRange___next(val_t p0){
460 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
461 val_t REGB0;
462 val_t tmp;
463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
464 fra.me.file = LOCATE_standard___collection___range;
465 fra.me.line = 95;
466 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___next;
467 fra.me.has_broke = 0;
468 fra.me.REG_size = 2;
469 fra.me.REG[0] = NIT_NULL;
470 fra.me.REG[1] = NIT_NULL;
471 fra.me.REG[0] = p0;
472 /* ./../lib/standard//collection//range.nit:95 */
473 REGB0 = TAG_Bool(ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0])!=NIT_NULL);
474 if (UNTAG_Bool(REGB0)) {
475 } else {
476 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 95);
477 }
478 fra.me.REG[1] = ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0]);
479 fra.me.REG[1] = CALL_standard___kernel___Discrete___succ(fra.me.REG[1])(fra.me.REG[1]);
480 ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0]) = fra.me.REG[1];
481 stack_frame_head = fra.me.prev;
482 return;
483 }
484 void standard___collection___range___IteratorRange___init(val_t p0, val_t p1, int* init_table){
485 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_standard___collection___range___IteratorRange].i;
486 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
487 val_t tmp;
488 if (init_table[itpos2]) return;
489 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
490 fra.me.file = LOCATE_standard___collection___range;
491 fra.me.line = 97;
492 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___init;
493 fra.me.has_broke = 0;
494 fra.me.REG_size = 2;
495 fra.me.REG[0] = NIT_NULL;
496 fra.me.REG[1] = NIT_NULL;
497 fra.me.REG[0] = p0;
498 fra.me.REG[1] = p1;
499 /* ./../lib/standard//collection//range.nit:99 */
500 ATTR_standard___collection___range___IteratorRange____range(fra.me.REG[0]) = fra.me.REG[1];
501 /* ./../lib/standard//collection//range.nit:100 */
502 fra.me.REG[1] = CALL_standard___collection___abstract_collection___Collection___first(fra.me.REG[1])(fra.me.REG[1]);
503 ATTR_standard___collection___range___IteratorRange____item(fra.me.REG[0]) = fra.me.REG[1];
504 stack_frame_head = fra.me.prev;
505 init_table[itpos2] = 1;
506 return;
507 }