ni_nitdoc: display VT in class sidebar
[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 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;
6 val_t REGB0;
7 val_t tmp;
8 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
9 fra.me.file = LOCATE_standard___collection___range;
10 fra.me.line = 22;
11 fra.me.meth = LOCATE_standard___collection___range___Range___first;
12 fra.me.has_broke = 0;
13 fra.me.REG_size = 1;
14 fra.me.nitni_local_ref_head = NULL;
15 fra.me.REG[0] = NIT_NULL;
16 fra.me.REG[0] = p0;
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)) {
20 } else {
21 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 22);
22 }
23 fra.me.REG[0] = ATTR_standard___collection___range___Range____first(fra.me.REG[0]);
24 stack_frame_head = fra.me.prev;
25 return fra.me.REG[0];
26 }
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;
30 val_t REGB0;
31 val_t tmp;
32 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
33 fra.me.file = LOCATE_standard___collection___range;
34 fra.me.line = 24;
35 fra.me.meth = LOCATE_standard___collection___range___Range___last;
36 fra.me.has_broke = 0;
37 fra.me.REG_size = 1;
38 fra.me.nitni_local_ref_head = NULL;
39 fra.me.REG[0] = NIT_NULL;
40 fra.me.REG[0] = p0;
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)) {
44 } else {
45 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 24);
46 }
47 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
48 stack_frame_head = fra.me.prev;
49 return fra.me.REG[0];
50 }
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;
54 val_t REGB0;
55 val_t tmp;
56 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
57 fra.me.file = LOCATE_standard___collection___range;
58 fra.me.line = 27;
59 fra.me.meth = LOCATE_standard___collection___range___Range___after;
60 fra.me.has_broke = 0;
61 fra.me.REG_size = 1;
62 fra.me.nitni_local_ref_head = NULL;
63 fra.me.REG[0] = NIT_NULL;
64 fra.me.REG[0] = p0;
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)) {
68 } else {
69 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 27);
70 }
71 fra.me.REG[0] = ATTR_standard___collection___range___Range____after(fra.me.REG[0]);
72 stack_frame_head = fra.me.prev;
73 return fra.me.REG[0];
74 }
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;
78 val_t REGB0;
79 val_t REGB1;
80 val_t tmp;
81 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
82 fra.me.file = LOCATE_standard___collection___range;
83 fra.me.line = 30;
84 fra.me.meth = LOCATE_standard___collection___range___Range___has;
85 fra.me.has_broke = 0;
86 fra.me.REG_size = 3;
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;
91 fra.me.REG[0] = p0;
92 fra.me.REG[1] = p1;
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)) {
96 } else {
97 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 30);
98 }
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)) {
104 } else {
105 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 30);
106 }
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]);
109 } else {
110 REGB1 = TAG_Bool(0);
111 REGB0 = REGB1;
112 }
113 goto label1;
114 label1: while(0);
115 stack_frame_head = fra.me.prev;
116 return REGB0;
117 }
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;
121 val_t REGB0;
122 val_t REGB1;
123 val_t tmp;
124 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
125 fra.me.file = LOCATE_standard___collection___range;
126 fra.me.line = 32;
127 fra.me.meth = LOCATE_standard___collection___range___Range___has_only;
128 fra.me.has_broke = 0;
129 fra.me.REG_size = 3;
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;
134 fra.me.REG[0] = p0;
135 fra.me.REG[1] = p1;
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)) {
139 } else {
140 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 32);
141 }
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)) {
145 } else {
146 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
147 REGB0 = REGB1;
148 }
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)) {
152 } else {
153 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 32);
154 }
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)) {
158 } else {
159 REGB1 = CALL_standard___kernel___Object_____eqeq(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
160 REGB0 = REGB1;
161 }
162 } else {
163 REGB1 = TAG_Bool(0);
164 REGB0 = REGB1;
165 }
166 goto label1;
167 label1: while(0);
168 stack_frame_head = fra.me.prev;
169 return REGB0;
170 }
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;
174 val_t REGB0;
175 val_t REGB1;
176 val_t tmp;
177 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
178 fra.me.file = LOCATE_standard___collection___range;
179 fra.me.line = 34;
180 fra.me.meth = LOCATE_standard___collection___range___Range___count;
181 fra.me.has_broke = 0;
182 fra.me.REG_size = 2;
183 fra.me.nitni_local_ref_head = NULL;
184 fra.me.REG[0] = NIT_NULL;
185 fra.me.REG[1] = NIT_NULL;
186 fra.me.REG[0] = p0;
187 fra.me.REG[1] = p1;
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 */
192 REGB0 = TAG_Int(1);
193 goto label1;
194 } else {
195 /* ../lib/standard/collection/range.nit:39 */
196 REGB1 = TAG_Int(0);
197 REGB0 = REGB1;
198 goto label1;
199 }
200 label1: while(0);
201 stack_frame_head = fra.me.prev;
202 return REGB0;
203 }
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;
207 val_t tmp;
208 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
209 fra.me.file = LOCATE_standard___collection___range;
210 fra.me.line = 43;
211 fra.me.meth = LOCATE_standard___collection___range___Range___iterator;
212 fra.me.has_broke = 0;
213 fra.me.REG_size = 1;
214 fra.me.nitni_local_ref_head = NULL;
215 fra.me.REG[0] = NIT_NULL;
216 fra.me.REG[0] = p0;
217 /* ../lib/standard/collection/range.nit:43 */
218 fra.me.REG[0] = NEW_IteratorRange_standard___collection___range___IteratorRange___init(fra.me.REG[0]);
219 goto label1;
220 label1: while(0);
221 stack_frame_head = fra.me.prev;
222 return fra.me.REG[0];
223 }
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;
227 val_t REGB0;
228 fun_t CREG[1];
229 val_t tmp;
230 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
231 fra.me.file = LOCATE_standard___collection___range;
232 fra.me.line = 45;
233 fra.me.meth = LOCATE_standard___collection___range___Range___iterate;
234 fra.me.has_broke = 0;
235 fra.me.REG_size = 3;
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;
242 fra.me.REG[0] = p0;
243 CREG[0] = clos_fun0;
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)) {
247 } else {
248 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 48);
249 }
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)) {
254 } else {
255 nit_abort("Uninitialized attribute %s", "_last", LOCATE_standard___collection___range, 49);
256 }
257 fra.me.REG[0] = ATTR_standard___collection___range___Range____last(fra.me.REG[0]);
258 /* ../lib/standard/collection/range.nit:50 */
259 while(1) {
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) {
265 goto label1;
266 }
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];
270 } else {
271 /* ../lib/standard/collection/range.nit:50 */
272 goto label2;
273 }
274 }
275 label2: while(0);
276 label1: while(0);
277 stack_frame_head = fra.me.prev;
278 return;
279 }
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;
283 val_t REGB0;
284 val_t REGB1;
285 val_t REGB2;
286 val_t tmp;
287 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
288 fra.me.file = LOCATE_standard___collection___range;
289 fra.me.line = 56;
290 fra.me.meth = LOCATE_standard___collection___range___Range___length;
291 fra.me.has_broke = 0;
292 fra.me.REG_size = 2;
293 fra.me.nitni_local_ref_head = NULL;
294 fra.me.REG[0] = NIT_NULL;
295 fra.me.REG[1] = NIT_NULL;
296 fra.me.REG[0] = p0;
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)) {
300 } else {
301 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 58);
302 }
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)) {
306 } else {
307 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 58);
308 }
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 */
312 REGB1 = TAG_Int(0);
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)) {
315 } else {
316 nit_abort("Cast failed", NULL, LOCATE_standard___kernel, 0);
317 }
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 */
323 goto label1;
324 } else {
325 /* ../lib/standard/collection/range.nit:62 */
326 REGB1 = TAG_Int(0);
327 REGB0 = REGB1;
328 goto label1;
329 }
330 label1: while(0);
331 stack_frame_head = fra.me.prev;
332 return REGB0;
333 }
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;
337 val_t REGB0;
338 val_t tmp;
339 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
340 fra.me.file = LOCATE_standard___collection___range;
341 fra.me.line = 66;
342 fra.me.meth = LOCATE_standard___collection___range___Range___is_empty;
343 fra.me.has_broke = 0;
344 fra.me.REG_size = 2;
345 fra.me.nitni_local_ref_head = NULL;
346 fra.me.REG[0] = NIT_NULL;
347 fra.me.REG[1] = NIT_NULL;
348 fra.me.REG[0] = p0;
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)) {
352 } else {
353 nit_abort("Uninitialized attribute %s", "_first", LOCATE_standard___collection___range, 66);
354 }
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)) {
358 } else {
359 nit_abort("Uninitialized attribute %s", "_after", LOCATE_standard___collection___range, 66);
360 }
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]);
363 goto label1;
364 label1: while(0);
365 stack_frame_head = fra.me.prev;
366 return REGB0;
367 }
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;
372 val_t tmp;
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;
376 fra.me.line = 68;
377 fra.me.meth = LOCATE_standard___collection___range___Range___init;
378 fra.me.has_broke = 0;
379 fra.me.REG_size = 3;
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;
384 fra.me.REG[0] = p0;
385 fra.me.REG[1] = p1;
386 fra.me.REG[2] = p2;
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;
396 return;
397 }
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;
402 val_t tmp;
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;
406 fra.me.line = 77;
407 fra.me.meth = LOCATE_standard___collection___range___Range___without_last;
408 fra.me.has_broke = 0;
409 fra.me.REG_size = 3;
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;
414 fra.me.REG[0] = p0;
415 fra.me.REG[1] = p1;
416 fra.me.REG[2] = p2;
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;
426 return;
427 }
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;
431 val_t REGB0;
432 val_t tmp;
433 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
434 fra.me.file = LOCATE_standard___collection___range;
435 fra.me.line = 91;
436 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___item;
437 fra.me.has_broke = 0;
438 fra.me.REG_size = 1;
439 fra.me.nitni_local_ref_head = NULL;
440 fra.me.REG[0] = NIT_NULL;
441 fra.me.REG[0] = p0;
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)) {
445 } else {
446 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 91);
447 }
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];
451 }
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;
455 val_t REGB0;
456 val_t tmp;
457 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
458 fra.me.file = LOCATE_standard___collection___range;
459 fra.me.line = 93;
460 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___is_ok;
461 fra.me.has_broke = 0;
462 fra.me.REG_size = 2;
463 fra.me.nitni_local_ref_head = NULL;
464 fra.me.REG[0] = NIT_NULL;
465 fra.me.REG[1] = NIT_NULL;
466 fra.me.REG[0] = p0;
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)) {
470 } else {
471 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 93);
472 }
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)) {
476 } else {
477 nit_abort("Uninitialized attribute %s", "_range", LOCATE_standard___collection___range, 93);
478 }
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]);
482 goto label1;
483 label1: while(0);
484 stack_frame_head = fra.me.prev;
485 return REGB0;
486 }
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;
490 val_t REGB0;
491 val_t tmp;
492 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
493 fra.me.file = LOCATE_standard___collection___range;
494 fra.me.line = 95;
495 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___next;
496 fra.me.has_broke = 0;
497 fra.me.REG_size = 2;
498 fra.me.nitni_local_ref_head = NULL;
499 fra.me.REG[0] = NIT_NULL;
500 fra.me.REG[1] = NIT_NULL;
501 fra.me.REG[0] = p0;
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)) {
505 } else {
506 nit_abort("Uninitialized attribute %s", "_item", LOCATE_standard___collection___range, 95);
507 }
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;
512 return;
513 }
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;
518 val_t tmp;
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;
522 fra.me.line = 97;
523 fra.me.meth = LOCATE_standard___collection___range___IteratorRange___init;
524 fra.me.has_broke = 0;
525 fra.me.REG_size = 2;
526 fra.me.nitni_local_ref_head = NULL;
527 fra.me.REG[0] = NIT_NULL;
528 fra.me.REG[1] = NIT_NULL;
529 fra.me.REG[0] = p0;
530 fra.me.REG[1] = p1;
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;
538 return;
539 }