update NOTICE and LICENSE
[nit.git] / c_src / opts._sep.c
1 /* This C file is generated by NIT to compile module opts. */
2 #include "opts._sep.h"
3 val_t opts___Option___names(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_opts;
9 fra.me.line = 16;
10 fra.me.meth = LOCATE_opts___Option___names;
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/opts.nit:16 */
16 REGB0 = TAG_Bool(ATTR_opts___Option____names(fra.me.REG[0])!=NIT_NULL);
17 if (UNTAG_Bool(REGB0)) {
18 } else {
19 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts, 16);
20 }
21 fra.me.REG[0] = ATTR_opts___Option____names(fra.me.REG[0]);
22 stack_frame_head = fra.me.prev;
23 return fra.me.REG[0];
24 }
25 val_t opts___Option___helptext(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_opts;
31 fra.me.line = 22;
32 fra.me.meth = LOCATE_opts___Option___helptext;
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/opts.nit:22 */
38 REGB0 = TAG_Bool(ATTR_opts___Option____helptext(fra.me.REG[0])!=NIT_NULL);
39 if (UNTAG_Bool(REGB0)) {
40 } else {
41 nit_abort("Uninitialized attribute %s", "_helptext", LOCATE_opts, 22);
42 }
43 fra.me.REG[0] = ATTR_opts___Option____helptext(fra.me.REG[0]);
44 stack_frame_head = fra.me.prev;
45 return fra.me.REG[0];
46 }
47 val_t opts___Option___mandatory(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_opts;
53 fra.me.line = 25;
54 fra.me.meth = LOCATE_opts___Option___mandatory;
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/opts.nit:25 */
60 REGB0 = TAG_Bool(ATTR_opts___Option____mandatory(fra.me.REG[0])!=NIT_NULL);
61 if (UNTAG_Bool(REGB0)) {
62 } else {
63 nit_abort("Uninitialized attribute %s", "_mandatory", LOCATE_opts, 25);
64 }
65 REGB0 = ATTR_opts___Option____mandatory(fra.me.REG[0]);
66 stack_frame_head = fra.me.prev;
67 return REGB0;
68 }
69 void opts___Option___mandatory__eq(val_t p0, val_t p1){
70 struct {struct stack_frame_t me;} fra;
71 val_t REGB0;
72 val_t tmp;
73 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
74 fra.me.file = LOCATE_opts;
75 fra.me.line = 25;
76 fra.me.meth = LOCATE_opts___Option___mandatory__eq;
77 fra.me.has_broke = 0;
78 fra.me.REG_size = 1;
79 fra.me.REG[0] = NIT_NULL;
80 fra.me.REG[0] = p0;
81 REGB0 = p1;
82 /* ./../lib/opts.nit:25 */
83 ATTR_opts___Option____mandatory(fra.me.REG[0]) = REGB0;
84 stack_frame_head = fra.me.prev;
85 return;
86 }
87 void opts___Option___value__eq(val_t p0, val_t p1){
88 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
89 val_t tmp;
90 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
91 fra.me.file = LOCATE_opts;
92 fra.me.line = 28;
93 fra.me.meth = LOCATE_opts___Option___value__eq;
94 fra.me.has_broke = 0;
95 fra.me.REG_size = 2;
96 fra.me.REG[0] = NIT_NULL;
97 fra.me.REG[1] = NIT_NULL;
98 fra.me.REG[0] = p0;
99 fra.me.REG[1] = p1;
100 /* ./../lib/opts.nit:28 */
101 ATTR_opts___Option____value(fra.me.REG[0]) = fra.me.REG[1];
102 stack_frame_head = fra.me.prev;
103 return;
104 }
105 val_t opts___Option___value(val_t p0){
106 struct {struct stack_frame_t me;} fra;
107 val_t REGB0;
108 val_t tmp;
109 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
110 fra.me.file = LOCATE_opts;
111 fra.me.line = 31;
112 fra.me.meth = LOCATE_opts___Option___value;
113 fra.me.has_broke = 0;
114 fra.me.REG_size = 1;
115 fra.me.REG[0] = NIT_NULL;
116 fra.me.REG[0] = p0;
117 /* ./../lib/opts.nit:32 */
118 fra.me.REG[0] = ATTR_opts___Option____value(fra.me.REG[0]);
119 REGB0 = TAG_Bool((fra.me.REG[0]==NIT_NULL) || VAL_ISA(fra.me.REG[0], COLOR_Object, ID_Object)) /*cast VALUE*/;
120 if (UNTAG_Bool(REGB0)) {
121 } else {
122 nit_abort("Cast failed", NULL, LOCATE_opts, 32);
123 }
124 goto label1;
125 label1: while(0);
126 stack_frame_head = fra.me.prev;
127 return fra.me.REG[0];
128 }
129 val_t opts___Option___default_value(val_t p0){
130 struct {struct stack_frame_t me;} fra;
131 val_t tmp;
132 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
133 fra.me.file = LOCATE_opts;
134 fra.me.line = 34;
135 fra.me.meth = LOCATE_opts___Option___default_value;
136 fra.me.has_broke = 0;
137 fra.me.REG_size = 1;
138 fra.me.REG[0] = NIT_NULL;
139 fra.me.REG[0] = p0;
140 /* ./../lib/opts.nit:34 */
141 fra.me.REG[0] = ATTR_opts___Option____default_value(fra.me.REG[0]);
142 stack_frame_head = fra.me.prev;
143 return fra.me.REG[0];
144 }
145 void opts___Option___default_value__eq(val_t p0, val_t p1){
146 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
147 val_t tmp;
148 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
149 fra.me.file = LOCATE_opts;
150 fra.me.line = 34;
151 fra.me.meth = LOCATE_opts___Option___default_value__eq;
152 fra.me.has_broke = 0;
153 fra.me.REG_size = 2;
154 fra.me.REG[0] = NIT_NULL;
155 fra.me.REG[1] = NIT_NULL;
156 fra.me.REG[0] = p0;
157 fra.me.REG[1] = p1;
158 /* ./../lib/opts.nit:34 */
159 ATTR_opts___Option____default_value(fra.me.REG[0]) = fra.me.REG[1];
160 stack_frame_head = fra.me.prev;
161 return;
162 }
163 void opts___Option___init_opt(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
164 int itpos0 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_Option].i;
165 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
166 val_t REGB0;
167 val_t REGB1;
168 val_t tmp;
169 if (init_table[itpos0]) return;
170 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
171 fra.me.file = LOCATE_opts;
172 fra.me.line = 37;
173 fra.me.meth = LOCATE_opts___Option___init_opt;
174 fra.me.has_broke = 0;
175 fra.me.REG_size = 5;
176 fra.me.REG[0] = NIT_NULL;
177 fra.me.REG[1] = NIT_NULL;
178 fra.me.REG[2] = NIT_NULL;
179 fra.me.REG[3] = NIT_NULL;
180 fra.me.REG[4] = NIT_NULL;
181 fra.me.REG[0] = p0;
182 fra.me.REG[1] = p1;
183 fra.me.REG[2] = p2;
184 fra.me.REG[3] = p3;
185 /* ./../lib/opts.nit:40 */
186 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
187 if (UNTAG_Bool(REGB0)) {
188 } else {
189 REGB1 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
190 if (UNTAG_Bool(REGB1)) {
191 REGB1 = TAG_Bool(false);
192 REGB0 = REGB1;
193 } else {
194 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], NIT_NULL);
195 REGB0 = REGB1;
196 }
197 }
198 if (UNTAG_Bool(REGB0)) {
199 /* ./../lib/opts.nit:41 */
200 fra.me.REG[4] = NEW_Array_array___Array___init();
201 ATTR_opts___Option____names(fra.me.REG[0]) = fra.me.REG[4];
202 } else {
203 /* ./../lib/opts.nit:43 */
204 REGB0 = TAG_Bool(fra.me.REG[3]==NIT_NULL);
205 if (UNTAG_Bool(REGB0)) {
206 nit_abort("Reciever is null", NULL, LOCATE_opts, 43);
207 }
208 fra.me.REG[3] = CALL_array___Collection___to_a(fra.me.REG[3])(fra.me.REG[3]);
209 ATTR_opts___Option____names(fra.me.REG[0]) = fra.me.REG[3];
210 }
211 /* ./../lib/opts.nit:45 */
212 ATTR_opts___Option____helptext(fra.me.REG[0]) = fra.me.REG[1];
213 /* ./../lib/opts.nit:46 */
214 REGB0 = TAG_Bool(false);
215 ATTR_opts___Option____mandatory(fra.me.REG[0]) = REGB0;
216 /* ./../lib/opts.nit:47 */
217 ATTR_opts___Option____default_value(fra.me.REG[0]) = fra.me.REG[2];
218 /* ./../lib/opts.nit:48 */
219 ATTR_opts___Option____value(fra.me.REG[0]) = fra.me.REG[2];
220 stack_frame_head = fra.me.prev;
221 init_table[itpos0] = 1;
222 return;
223 }
224 void opts___Option___add_aliases(val_t p0, val_t p1){
225 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
226 val_t REGB0;
227 val_t tmp;
228 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
229 fra.me.file = LOCATE_opts;
230 fra.me.line = 51;
231 fra.me.meth = LOCATE_opts___Option___add_aliases;
232 fra.me.has_broke = 0;
233 fra.me.REG_size = 2;
234 fra.me.REG[0] = NIT_NULL;
235 fra.me.REG[1] = NIT_NULL;
236 fra.me.REG[0] = p0;
237 fra.me.REG[1] = p1;
238 /* ./../lib/opts.nit:51 */
239 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_Array, ID_Array)) /*cast Array[String]*/;
240 if (UNTAG_Bool(REGB0)) {
241 } else {
242 nit_abort("Cast failed", NULL, LOCATE_opts, 51);
243 }
244 /* ./../lib/opts.nit:52 */
245 REGB0 = TAG_Bool(ATTR_opts___Option____names(fra.me.REG[0])!=NIT_NULL);
246 if (UNTAG_Bool(REGB0)) {
247 } else {
248 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts, 52);
249 }
250 fra.me.REG[0] = ATTR_opts___Option____names(fra.me.REG[0]);
251 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
252 stack_frame_head = fra.me.prev;
253 return;
254 }
255 val_t opts___Option___to_s(val_t p0){
256 struct {struct stack_frame_t me;} fra;
257 val_t REGB0;
258 val_t tmp;
259 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
260 fra.me.file = LOCATE_opts;
261 fra.me.line = 54;
262 fra.me.meth = LOCATE_opts___Option___to_s;
263 fra.me.has_broke = 0;
264 fra.me.REG_size = 1;
265 fra.me.REG[0] = NIT_NULL;
266 fra.me.REG[0] = p0;
267 /* ./../lib/opts.nit:55 */
268 REGB0 = TAG_Int(2);
269 fra.me.REG[0] = CALL_opts___Option___pretty(fra.me.REG[0])(fra.me.REG[0], REGB0);
270 goto label1;
271 label1: while(0);
272 stack_frame_head = fra.me.prev;
273 return fra.me.REG[0];
274 }
275 val_t opts___Option___pretty(val_t p0, val_t p1){
276 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
277 val_t REGB0;
278 val_t REGB1;
279 val_t tmp;
280 static val_t once_value_1; /* Once value */
281 static val_t once_value_2; /* Once value */
282 static val_t once_value_3; /* Once value */
283 static val_t once_value_4; /* Once value */
284 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
285 fra.me.file = LOCATE_opts;
286 fra.me.line = 57;
287 fra.me.meth = LOCATE_opts___Option___pretty;
288 fra.me.has_broke = 0;
289 fra.me.REG_size = 4;
290 fra.me.REG[0] = NIT_NULL;
291 fra.me.REG[1] = NIT_NULL;
292 fra.me.REG[2] = NIT_NULL;
293 fra.me.REG[3] = NIT_NULL;
294 fra.me.REG[0] = p0;
295 REGB0 = p1;
296 /* ./../lib/opts.nit:60 */
297 if (!once_value_1) {
298 fra.me.REG[1] = BOX_NativeString(" ");
299 REGB1 = TAG_Int(2);
300 fra.me.REG[1] = NEW_String_string___String___with_native(fra.me.REG[1], REGB1);
301 once_value_1 = fra.me.REG[1];
302 register_static_object(&once_value_1);
303 } else fra.me.REG[1] = once_value_1;
304 fra.me.REG[1] = fra.me.REG[1];
305 fra.me.REG[1] = NEW_Buffer_string___Buffer___from(fra.me.REG[1]);
306 /* ./../lib/opts.nit:61 */
307 REGB1 = TAG_Bool(ATTR_opts___Option____names(fra.me.REG[0])!=NIT_NULL);
308 if (UNTAG_Bool(REGB1)) {
309 } else {
310 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts, 61);
311 }
312 fra.me.REG[2] = ATTR_opts___Option____names(fra.me.REG[0]);
313 if (!once_value_2) {
314 fra.me.REG[3] = BOX_NativeString(", ");
315 REGB1 = TAG_Int(2);
316 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
317 once_value_2 = fra.me.REG[3];
318 register_static_object(&once_value_2);
319 } else fra.me.REG[3] = once_value_2;
320 fra.me.REG[3] = fra.me.REG[3];
321 fra.me.REG[3] = CALL_string___Collection___join(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
322 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
323 /* ./../lib/opts.nit:62 */
324 if (!once_value_3) {
325 fra.me.REG[3] = BOX_NativeString(" ");
326 REGB1 = TAG_Int(2);
327 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB1);
328 once_value_3 = fra.me.REG[3];
329 register_static_object(&once_value_3);
330 } else fra.me.REG[3] = once_value_3;
331 fra.me.REG[3] = fra.me.REG[3];
332 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
333 /* ./../lib/standard//collection//array.nit:23 */
334 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
335 if (UNTAG_Bool(REGB1)) {
336 } else {
337 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
338 }
339 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
340 /* ./../lib/standard//kernel.nit:217 */
341 REGB1 = TAG_Int(UNTAG_Int(REGB0)-UNTAG_Int(REGB1));
342 /* ./../lib/opts.nit:64 */
343 REGB0 = TAG_Int(0);
344 /* ./../lib/standard//kernel.nit:214 */
345 REGB0 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB0));
346 /* ./../lib/opts.nit:64 */
347 if (UNTAG_Bool(REGB0)) {
348 if (!once_value_4) {
349 fra.me.REG[3] = BOX_NativeString(" ");
350 REGB0 = TAG_Int(1);
351 fra.me.REG[3] = NEW_String_string___String___with_native(fra.me.REG[3], REGB0);
352 once_value_4 = fra.me.REG[3];
353 register_static_object(&once_value_4);
354 } else fra.me.REG[3] = once_value_4;
355 fra.me.REG[3] = fra.me.REG[3];
356 fra.me.REG[3] = CALL_string___String_____star(fra.me.REG[3])(fra.me.REG[3], REGB1);
357 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[3]);
358 }
359 /* ./../lib/opts.nit:65 */
360 fra.me.REG[0] = CALL_opts___Option___helptext(fra.me.REG[0])(fra.me.REG[0]);
361 CALL_abstract_collection___Sequence___append(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
362 /* ./../lib/opts.nit:67 */
363 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
364 goto label5;
365 label5: while(0);
366 stack_frame_head = fra.me.prev;
367 return fra.me.REG[1];
368 }
369 val_t opts___Option___pretty_default(val_t p0){
370 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
371 val_t REGB0;
372 val_t REGB1;
373 val_t tmp;
374 static val_t once_value_1; /* Once value */
375 static val_t once_value_2; /* Once value */
376 static val_t once_value_4; /* Once value */
377 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
378 fra.me.file = LOCATE_opts;
379 fra.me.line = 70;
380 fra.me.meth = LOCATE_opts___Option___pretty_default;
381 fra.me.has_broke = 0;
382 fra.me.REG_size = 3;
383 fra.me.REG[0] = NIT_NULL;
384 fra.me.REG[1] = NIT_NULL;
385 fra.me.REG[2] = NIT_NULL;
386 fra.me.REG[0] = p0;
387 /* ./../lib/opts.nit:72 */
388 fra.me.REG[0] = CALL_opts___Option___default_value(fra.me.REG[0])(fra.me.REG[0]);
389 /* ./../lib/opts.nit:73 */
390 REGB0 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
391 if (UNTAG_Bool(REGB0)) {
392 } else {
393 REGB1 = TAG_Bool(fra.me.REG[0]==NIT_NULL);
394 if (UNTAG_Bool(REGB1)) {
395 REGB1 = TAG_Bool(false);
396 REGB0 = REGB1;
397 } else {
398 REGB1 = CALL_kernel___Object_____eqeq(fra.me.REG[0])(fra.me.REG[0], NIT_NULL);
399 REGB0 = REGB1;
400 }
401 }
402 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
403 if (UNTAG_Bool(REGB0)) {
404 REGB0 = TAG_Int(3);
405 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
406 if (!once_value_1) {
407 fra.me.REG[2] = BOX_NativeString(" (");
408 REGB0 = TAG_Int(2);
409 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
410 once_value_1 = fra.me.REG[2];
411 register_static_object(&once_value_1);
412 } else fra.me.REG[2] = once_value_1;
413 fra.me.REG[2] = fra.me.REG[2];
414 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
415 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
416 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
417 if (!once_value_2) {
418 fra.me.REG[0] = BOX_NativeString(")");
419 REGB0 = TAG_Int(1);
420 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
421 once_value_2 = fra.me.REG[0];
422 register_static_object(&once_value_2);
423 } else fra.me.REG[0] = once_value_2;
424 fra.me.REG[0] = fra.me.REG[0];
425 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[0]);
426 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
427 goto label3;
428 }
429 /* ./../lib/opts.nit:74 */
430 if (!once_value_4) {
431 fra.me.REG[0] = BOX_NativeString("");
432 REGB0 = TAG_Int(0);
433 fra.me.REG[0] = NEW_String_string___String___with_native(fra.me.REG[0], REGB0);
434 once_value_4 = fra.me.REG[0];
435 register_static_object(&once_value_4);
436 } else fra.me.REG[0] = once_value_4;
437 fra.me.REG[0] = fra.me.REG[0];
438 fra.me.REG[1] = fra.me.REG[0];
439 goto label3;
440 label3: while(0);
441 stack_frame_head = fra.me.prev;
442 return fra.me.REG[1];
443 }
444 void opts___Option___read_param(val_t p0, val_t p1){
445 struct {struct stack_frame_t me;} fra;
446 val_t tmp;
447 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
448 fra.me.file = LOCATE_opts;
449 fra.me.line = 77;
450 fra.me.meth = LOCATE_opts___Option___read_param;
451 fra.me.has_broke = 0;
452 fra.me.REG_size = 0;
453 /* ./../lib/opts.nit:77 */
454 nit_abort("Deferred method called", NULL, LOCATE_opts, 77);
455 stack_frame_head = fra.me.prev;
456 return;
457 }
458 void opts___OptionText___init(val_t p0, val_t p1, int* init_table){
459 int itpos1 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionText].i;
460 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
461 val_t tmp;
462 if (init_table[itpos1]) return;
463 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
464 fra.me.file = LOCATE_opts;
465 fra.me.line = 83;
466 fra.me.meth = LOCATE_opts___OptionText___init;
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 fra.me.REG[1] = p1;
473 /* ./../lib/opts.nit:83 */
474 CALL_opts___Option___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, NIT_NULL, init_table);
475 stack_frame_head = fra.me.prev;
476 init_table[itpos1] = 1;
477 return;
478 }
479 val_t opts___OptionText___pretty(val_t p0, val_t p1){
480 struct {struct stack_frame_t me;} fra;
481 val_t REGB0;
482 val_t tmp;
483 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
484 fra.me.file = LOCATE_opts;
485 fra.me.line = 85;
486 fra.me.meth = LOCATE_opts___OptionText___pretty;
487 fra.me.has_broke = 0;
488 fra.me.REG_size = 1;
489 fra.me.REG[0] = NIT_NULL;
490 fra.me.REG[0] = p0;
491 REGB0 = p1;
492 /* ./../lib/opts.nit:85 */
493 fra.me.REG[0] = CALL_string___Object___to_s(fra.me.REG[0])(fra.me.REG[0]);
494 goto label1;
495 label1: while(0);
496 stack_frame_head = fra.me.prev;
497 return fra.me.REG[0];
498 }
499 val_t opts___OptionText___to_s(val_t p0){
500 struct {struct stack_frame_t me;} fra;
501 val_t tmp;
502 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
503 fra.me.file = LOCATE_opts;
504 fra.me.line = 87;
505 fra.me.meth = LOCATE_opts___OptionText___to_s;
506 fra.me.has_broke = 0;
507 fra.me.REG_size = 1;
508 fra.me.REG[0] = NIT_NULL;
509 fra.me.REG[0] = p0;
510 /* ./../lib/opts.nit:87 */
511 fra.me.REG[0] = CALL_opts___Option___helptext(fra.me.REG[0])(fra.me.REG[0]);
512 goto label1;
513 label1: while(0);
514 stack_frame_head = fra.me.prev;
515 return fra.me.REG[0];
516 }
517 void opts___OptionBool___init(val_t p0, val_t p1, val_t p2, int* init_table){
518 int itpos2 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionBool].i;
519 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
520 val_t REGB0;
521 val_t tmp;
522 if (init_table[itpos2]) return;
523 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
524 fra.me.file = LOCATE_opts;
525 fra.me.line = 94;
526 fra.me.meth = LOCATE_opts___OptionBool___init;
527 fra.me.has_broke = 0;
528 fra.me.REG_size = 3;
529 fra.me.REG[0] = NIT_NULL;
530 fra.me.REG[1] = NIT_NULL;
531 fra.me.REG[2] = NIT_NULL;
532 fra.me.REG[0] = p0;
533 fra.me.REG[1] = p1;
534 fra.me.REG[2] = p2;
535 /* ./../lib/opts.nit:94 */
536 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
537 if (UNTAG_Bool(REGB0)) {
538 } else {
539 nit_abort("Cast failed", NULL, LOCATE_opts, 94);
540 }
541 REGB0 = TAG_Bool(false);
542 CALL_opts___Option___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, fra.me.REG[2], init_table);
543 stack_frame_head = fra.me.prev;
544 init_table[itpos2] = 1;
545 return;
546 }
547 void opts___OptionBool___read_param(val_t p0, val_t p1){
548 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
549 val_t REGB0;
550 val_t tmp;
551 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
552 fra.me.file = LOCATE_opts;
553 fra.me.line = 96;
554 fra.me.meth = LOCATE_opts___OptionBool___read_param;
555 fra.me.has_broke = 0;
556 fra.me.REG_size = 2;
557 fra.me.REG[0] = NIT_NULL;
558 fra.me.REG[1] = NIT_NULL;
559 fra.me.REG[0] = p0;
560 fra.me.REG[1] = p1;
561 /* ./../lib/opts.nit:96 */
562 REGB0 = TAG_Bool(true);
563 CALL_opts___Option___value__eq(fra.me.REG[0])(fra.me.REG[0], REGB0);
564 stack_frame_head = fra.me.prev;
565 return;
566 }
567 void opts___OptionCount___init(val_t p0, val_t p1, val_t p2, int* init_table){
568 int itpos3 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionCount].i;
569 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
570 val_t REGB0;
571 val_t tmp;
572 if (init_table[itpos3]) return;
573 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
574 fra.me.file = LOCATE_opts;
575 fra.me.line = 103;
576 fra.me.meth = LOCATE_opts___OptionCount___init;
577 fra.me.has_broke = 0;
578 fra.me.REG_size = 3;
579 fra.me.REG[0] = NIT_NULL;
580 fra.me.REG[1] = NIT_NULL;
581 fra.me.REG[2] = NIT_NULL;
582 fra.me.REG[0] = p0;
583 fra.me.REG[1] = p1;
584 fra.me.REG[2] = p2;
585 /* ./../lib/opts.nit:103 */
586 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
587 if (UNTAG_Bool(REGB0)) {
588 } else {
589 nit_abort("Cast failed", NULL, LOCATE_opts, 103);
590 }
591 REGB0 = TAG_Int(0);
592 CALL_opts___Option___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, fra.me.REG[2], init_table);
593 stack_frame_head = fra.me.prev;
594 init_table[itpos3] = 1;
595 return;
596 }
597 void opts___OptionCount___read_param(val_t p0, val_t p1){
598 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
599 val_t REGB0;
600 val_t tmp;
601 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
602 fra.me.file = LOCATE_opts;
603 fra.me.line = 105;
604 fra.me.meth = LOCATE_opts___OptionCount___read_param;
605 fra.me.has_broke = 0;
606 fra.me.REG_size = 2;
607 fra.me.REG[0] = NIT_NULL;
608 fra.me.REG[1] = NIT_NULL;
609 fra.me.REG[0] = p0;
610 fra.me.REG[1] = p1;
611 /* ./../lib/opts.nit:105 */
612 fra.me.REG[1] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
613 REGB0 = TAG_Int(1);
614 /* ./../lib/standard//kernel.nit:215 */
615 REGB0 = TAG_Int(UNTAG_Int(fra.me.REG[1])+UNTAG_Int(REGB0));
616 /* ./../lib/opts.nit:105 */
617 CALL_opts___Option___value__eq(fra.me.REG[0])(fra.me.REG[0], REGB0);
618 stack_frame_head = fra.me.prev;
619 return;
620 }
621 val_t opts___OptionParameter___convert(val_t p0, val_t p1){
622 struct {struct stack_frame_t me;} fra;
623 val_t tmp;
624 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
625 fra.me.file = LOCATE_opts;
626 fra.me.line = 111;
627 fra.me.meth = LOCATE_opts___OptionParameter___convert;
628 fra.me.has_broke = 0;
629 fra.me.REG_size = 0;
630 /* ./../lib/opts.nit:111 */
631 nit_abort("Deferred method called", NULL, LOCATE_opts, 111);
632 stack_frame_head = fra.me.prev;
633 return NIT_NULL;
634 }
635 void opts___OptionParameter___read_param(val_t p0, val_t p1){
636 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
637 val_t REGB0;
638 val_t tmp;
639 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
640 fra.me.file = LOCATE_opts;
641 fra.me.line = 113;
642 fra.me.meth = LOCATE_opts___OptionParameter___read_param;
643 fra.me.has_broke = 0;
644 fra.me.REG_size = 3;
645 fra.me.REG[0] = NIT_NULL;
646 fra.me.REG[1] = NIT_NULL;
647 fra.me.REG[2] = NIT_NULL;
648 fra.me.REG[0] = p0;
649 fra.me.REG[1] = p1;
650 /* ./../lib/opts.nit:115 */
651 REGB0 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
652 if (UNTAG_Bool(REGB0)) {
653 /* ./../lib/opts.nit:116 */
654 fra.me.REG[2] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
655 fra.me.REG[2] = CALL_opts___OptionParameter___convert(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
656 CALL_opts___Option___value__eq(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[2]);
657 /* ./../lib/opts.nit:117 */
658 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
659 }
660 stack_frame_head = fra.me.prev;
661 return;
662 }
663 void opts___OptionParameter___init_opt(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
664 int itpos4 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionParameter].i;
665 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
666 val_t tmp;
667 if (init_table[itpos4]) return;
668 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
669 fra.me.file = LOCATE_opts;
670 fra.me.line = 123;
671 fra.me.meth = LOCATE_opts___OptionParameter___init_opt;
672 fra.me.has_broke = 0;
673 fra.me.REG_size = 4;
674 fra.me.REG[0] = NIT_NULL;
675 fra.me.REG[1] = NIT_NULL;
676 fra.me.REG[2] = NIT_NULL;
677 fra.me.REG[3] = NIT_NULL;
678 fra.me.REG[0] = p0;
679 fra.me.REG[1] = p1;
680 fra.me.REG[2] = p2;
681 fra.me.REG[3] = p3;
682 /* ./../lib/opts.nit:123 */
683 CALL_opts___Option___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[2], fra.me.REG[3], init_table);
684 stack_frame_head = fra.me.prev;
685 init_table[itpos4] = 1;
686 return;
687 }
688 void opts___OptionString___init(val_t p0, val_t p1, val_t p2, int* init_table){
689 int itpos5 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionString].i;
690 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
691 val_t REGB0;
692 val_t tmp;
693 if (init_table[itpos5]) return;
694 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
695 fra.me.file = LOCATE_opts;
696 fra.me.line = 130;
697 fra.me.meth = LOCATE_opts___OptionString___init;
698 fra.me.has_broke = 0;
699 fra.me.REG_size = 3;
700 fra.me.REG[0] = NIT_NULL;
701 fra.me.REG[1] = NIT_NULL;
702 fra.me.REG[2] = NIT_NULL;
703 fra.me.REG[0] = p0;
704 fra.me.REG[1] = p1;
705 fra.me.REG[2] = p2;
706 /* ./../lib/opts.nit:130 */
707 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
708 if (UNTAG_Bool(REGB0)) {
709 } else {
710 nit_abort("Cast failed", NULL, LOCATE_opts, 130);
711 }
712 CALL_opts___OptionParameter___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], NIT_NULL, fra.me.REG[2], init_table);
713 stack_frame_head = fra.me.prev;
714 init_table[itpos5] = 1;
715 return;
716 }
717 val_t opts___OptionString___convert(val_t p0, val_t p1){
718 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
719 val_t tmp;
720 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
721 fra.me.file = LOCATE_opts;
722 fra.me.line = 132;
723 fra.me.meth = LOCATE_opts___OptionString___convert;
724 fra.me.has_broke = 0;
725 fra.me.REG_size = 2;
726 fra.me.REG[0] = NIT_NULL;
727 fra.me.REG[1] = NIT_NULL;
728 fra.me.REG[0] = p0;
729 fra.me.REG[1] = p1;
730 /* ./../lib/opts.nit:132 */
731 goto label1;
732 label1: while(0);
733 stack_frame_head = fra.me.prev;
734 return fra.me.REG[1];
735 }
736 void opts___OptionEnum___init(val_t p0, val_t p1, val_t p2, val_t p3, val_t p4, int* init_table){
737 int itpos6 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionEnum].i;
738 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
739 val_t REGB0;
740 val_t REGB1;
741 val_t REGB2;
742 val_t tmp;
743 static val_t once_value_1; /* Once value */
744 static val_t once_value_2; /* Once value */
745 static val_t once_value_3; /* Once value */
746 static val_t once_value_4; /* Once value */
747 if (init_table[itpos6]) return;
748 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
749 fra.me.file = LOCATE_opts;
750 fra.me.line = 140;
751 fra.me.meth = LOCATE_opts___OptionEnum___init;
752 fra.me.has_broke = 0;
753 fra.me.REG_size = 6;
754 fra.me.REG[0] = NIT_NULL;
755 fra.me.REG[1] = NIT_NULL;
756 fra.me.REG[2] = NIT_NULL;
757 fra.me.REG[3] = NIT_NULL;
758 fra.me.REG[4] = NIT_NULL;
759 fra.me.REG[5] = NIT_NULL;
760 fra.me.REG[0] = p0;
761 fra.me.REG[1] = p1;
762 fra.me.REG[2] = p2;
763 REGB0 = p3;
764 fra.me.REG[3] = p4;
765 /* ./../lib/opts.nit:140 */
766 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[3], COLOR_Array, ID_Array)) /*cast Array[String]*/;
767 if (UNTAG_Bool(REGB1)) {
768 } else {
769 nit_abort("Cast failed", NULL, LOCATE_opts, 140);
770 }
771 /* ./../lib/standard//collection//array.nit:23 */
772 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
773 if (UNTAG_Bool(REGB1)) {
774 } else {
775 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
776 }
777 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
778 /* ./../lib/opts.nit:142 */
779 REGB2 = TAG_Int(0);
780 /* ./../lib/standard//kernel.nit:214 */
781 REGB2 = TAG_Bool(UNTAG_Int(REGB1)>UNTAG_Int(REGB2));
782 /* ./../lib/opts.nit:142 */
783 if (UNTAG_Bool(REGB2)) {
784 } else {
785 nit_abort("Assert failed", NULL, LOCATE_opts, 142);
786 }
787 /* ./../lib/opts.nit:143 */
788 fra.me.REG[4] = CALL_array___Collection___to_a(fra.me.REG[1])(fra.me.REG[1]);
789 ATTR_opts___OptionEnum____values(fra.me.REG[0]) = fra.me.REG[4];
790 /* ./../lib/opts.nit:144 */
791 REGB2 = TAG_Int(5);
792 fra.me.REG[4] = NEW_Array_array___Array___with_capacity(REGB2);
793 if (!once_value_1) {
794 fra.me.REG[5] = BOX_NativeString("");
795 REGB2 = TAG_Int(0);
796 fra.me.REG[5] = NEW_String_string___String___with_native(fra.me.REG[5], REGB2);
797 once_value_1 = fra.me.REG[5];
798 register_static_object(&once_value_1);
799 } else fra.me.REG[5] = once_value_1;
800 fra.me.REG[5] = fra.me.REG[5];
801 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[5]);
802 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
803 if (!once_value_2) {
804 fra.me.REG[2] = BOX_NativeString(" <");
805 REGB2 = TAG_Int(2);
806 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
807 once_value_2 = fra.me.REG[2];
808 register_static_object(&once_value_2);
809 } else fra.me.REG[2] = once_value_2;
810 fra.me.REG[2] = fra.me.REG[2];
811 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
812 if (!once_value_3) {
813 fra.me.REG[2] = BOX_NativeString(", ");
814 REGB2 = TAG_Int(2);
815 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
816 once_value_3 = fra.me.REG[2];
817 register_static_object(&once_value_3);
818 } else fra.me.REG[2] = once_value_3;
819 fra.me.REG[2] = fra.me.REG[2];
820 fra.me.REG[2] = CALL_string___Collection___join(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
821 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
822 if (!once_value_4) {
823 fra.me.REG[2] = BOX_NativeString(">");
824 REGB2 = TAG_Int(1);
825 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB2);
826 once_value_4 = fra.me.REG[2];
827 register_static_object(&once_value_4);
828 } else fra.me.REG[2] = once_value_4;
829 fra.me.REG[2] = fra.me.REG[2];
830 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[2]);
831 fra.me.REG[4] = CALL_string___Object___to_s(fra.me.REG[4])(fra.me.REG[4]);
832 CALL_opts___OptionParameter___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4], REGB0, fra.me.REG[3], init_table);
833 stack_frame_head = fra.me.prev;
834 init_table[itpos6] = 1;
835 return;
836 }
837 val_t opts___OptionEnum___convert(val_t p0, val_t p1){
838 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
839 val_t REGB0;
840 val_t tmp;
841 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
842 fra.me.file = LOCATE_opts;
843 fra.me.line = 147;
844 fra.me.meth = LOCATE_opts___OptionEnum___convert;
845 fra.me.has_broke = 0;
846 fra.me.REG_size = 2;
847 fra.me.REG[0] = NIT_NULL;
848 fra.me.REG[1] = NIT_NULL;
849 fra.me.REG[0] = p0;
850 fra.me.REG[1] = p1;
851 /* ./../lib/opts.nit:149 */
852 REGB0 = TAG_Bool(ATTR_opts___OptionEnum____values(fra.me.REG[0])!=NIT_NULL);
853 if (UNTAG_Bool(REGB0)) {
854 } else {
855 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 149);
856 }
857 fra.me.REG[0] = ATTR_opts___OptionEnum____values(fra.me.REG[0]);
858 REGB0 = CALL_abstract_collection___SequenceRead___index_of(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
859 /* ./../lib/opts.nit:150 */
860 goto label1;
861 label1: while(0);
862 stack_frame_head = fra.me.prev;
863 return REGB0;
864 }
865 val_t opts___OptionEnum___value_name(val_t p0){
866 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
867 val_t REGB0;
868 val_t REGB1;
869 val_t REGB2;
870 val_t tmp;
871 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
872 fra.me.file = LOCATE_opts;
873 fra.me.line = 153;
874 fra.me.meth = LOCATE_opts___OptionEnum___value_name;
875 fra.me.has_broke = 0;
876 fra.me.REG_size = 2;
877 fra.me.REG[0] = NIT_NULL;
878 fra.me.REG[1] = NIT_NULL;
879 fra.me.REG[0] = p0;
880 /* ./../lib/opts.nit:153 */
881 REGB0 = TAG_Bool(ATTR_opts___OptionEnum____values(fra.me.REG[0])!=NIT_NULL);
882 if (UNTAG_Bool(REGB0)) {
883 } else {
884 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 153);
885 }
886 fra.me.REG[1] = ATTR_opts___OptionEnum____values(fra.me.REG[0]);
887 fra.me.REG[0] = CALL_opts___Option___value(fra.me.REG[0])(fra.me.REG[0]);
888 /* ./../lib/standard//collection//array.nit:243 */
889 REGB0 = fra.me.REG[0];
890 /* ./../lib/standard//collection//array.nit:245 */
891 REGB1 = TAG_Int(0);
892 /* ./../lib/standard//kernel.nit:213 */
893 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
894 /* ./../lib/standard//collection//array.nit:245 */
895 if (UNTAG_Bool(REGB1)) {
896 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
897 if (UNTAG_Bool(REGB1)) {
898 } else {
899 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 245);
900 }
901 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
902 /* ./../lib/standard//kernel.nit:212 */
903 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
904 } else {
905 /* ./../lib/standard//collection//array.nit:245 */
906 REGB2 = TAG_Bool(false);
907 REGB1 = REGB2;
908 }
909 if (UNTAG_Bool(REGB1)) {
910 } else {
911 nit_abort("Assert %s failed", "'index'", LOCATE_array, 245);
912 }
913 /* ./../lib/standard//collection//array.nit:246 */
914 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[1]);
915 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
916 if (UNTAG_Bool(REGB1)) {
917 nit_abort("Reciever is null", NULL, LOCATE_array, 246);
918 }
919 /* ./../lib/standard//collection//array.nit:654 */
920 fra.me.REG[1] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB0)];
921 /* ./../lib/standard//collection//array.nit:246 */
922 goto label1;
923 label1: while(0);
924 /* ./../lib/opts.nit:153 */
925 goto label2;
926 label2: while(0);
927 stack_frame_head = fra.me.prev;
928 return fra.me.REG[1];
929 }
930 val_t opts___OptionEnum___pretty_default(val_t p0){
931 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
932 val_t REGB0;
933 val_t REGB1;
934 val_t REGB2;
935 val_t tmp;
936 static val_t once_value_1; /* Once value */
937 static val_t once_value_3; /* Once value */
938 static val_t once_value_5; /* Once value */
939 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
940 fra.me.file = LOCATE_opts;
941 fra.me.line = 155;
942 fra.me.meth = LOCATE_opts___OptionEnum___pretty_default;
943 fra.me.has_broke = 0;
944 fra.me.REG_size = 3;
945 fra.me.REG[0] = NIT_NULL;
946 fra.me.REG[1] = NIT_NULL;
947 fra.me.REG[2] = NIT_NULL;
948 fra.me.REG[0] = p0;
949 /* ./../lib/opts.nit:157 */
950 fra.me.REG[1] = CALL_opts___Option___default_value(fra.me.REG[0])(fra.me.REG[0]);
951 REGB0 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
952 if (UNTAG_Bool(REGB0)) {
953 } else {
954 REGB1 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
955 if (UNTAG_Bool(REGB1)) {
956 REGB1 = TAG_Bool(false);
957 REGB0 = REGB1;
958 } else {
959 /* ./../lib/standard//kernel.nit:207 */
960 REGB1 = TAG_Bool((fra.me.REG[1])==(NIT_NULL));
961 /* ./../lib/opts.nit:157 */
962 REGB0 = REGB1;
963 }
964 }
965 REGB0 = TAG_Bool(!UNTAG_Bool(REGB0));
966 if (UNTAG_Bool(REGB0)) {
967 /* ./../lib/opts.nit:158 */
968 REGB0 = TAG_Int(3);
969 fra.me.REG[1] = NEW_Array_array___Array___with_capacity(REGB0);
970 if (!once_value_1) {
971 fra.me.REG[2] = BOX_NativeString(" (");
972 REGB0 = TAG_Int(2);
973 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
974 once_value_1 = fra.me.REG[2];
975 register_static_object(&once_value_1);
976 } else fra.me.REG[2] = once_value_1;
977 fra.me.REG[2] = fra.me.REG[2];
978 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
979 REGB0 = TAG_Bool(ATTR_opts___OptionEnum____values(fra.me.REG[0])!=NIT_NULL);
980 if (UNTAG_Bool(REGB0)) {
981 } else {
982 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 158);
983 }
984 fra.me.REG[2] = ATTR_opts___OptionEnum____values(fra.me.REG[0]);
985 fra.me.REG[0] = CALL_opts___Option___default_value(fra.me.REG[0])(fra.me.REG[0]);
986 REGB0 = TAG_Bool((fra.me.REG[0]!=NIT_NULL) && VAL_ISA(fra.me.REG[0], COLOR_Int, ID_Int)) /*cast VALUE*/;
987 if (UNTAG_Bool(REGB0)) {
988 } else {
989 nit_abort("Cast failed", NULL, LOCATE_opts, 158);
990 }
991 /* ./../lib/standard//collection//array.nit:243 */
992 REGB0 = fra.me.REG[0];
993 /* ./../lib/standard//collection//array.nit:245 */
994 REGB1 = TAG_Int(0);
995 /* ./../lib/standard//kernel.nit:213 */
996 REGB1 = TAG_Bool(UNTAG_Int(REGB0)>=UNTAG_Int(REGB1));
997 /* ./../lib/standard//collection//array.nit:245 */
998 if (UNTAG_Bool(REGB1)) {
999 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1000 if (UNTAG_Bool(REGB1)) {
1001 } else {
1002 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 245);
1003 }
1004 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
1005 /* ./../lib/standard//kernel.nit:212 */
1006 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1007 } else {
1008 /* ./../lib/standard//collection//array.nit:245 */
1009 REGB2 = TAG_Bool(false);
1010 REGB1 = REGB2;
1011 }
1012 if (UNTAG_Bool(REGB1)) {
1013 } else {
1014 nit_abort("Assert %s failed", "'index'", LOCATE_array, 245);
1015 }
1016 /* ./../lib/standard//collection//array.nit:246 */
1017 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[2]);
1018 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1019 if (UNTAG_Bool(REGB1)) {
1020 nit_abort("Reciever is null", NULL, LOCATE_array, 246);
1021 }
1022 /* ./../lib/standard//collection//array.nit:654 */
1023 fra.me.REG[2] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1024 /* ./../lib/standard//collection//array.nit:246 */
1025 goto label2;
1026 label2: while(0);
1027 /* ./../lib/opts.nit:158 */
1028 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1029 if (!once_value_3) {
1030 fra.me.REG[2] = BOX_NativeString(")");
1031 REGB0 = TAG_Int(1);
1032 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1033 once_value_3 = fra.me.REG[2];
1034 register_static_object(&once_value_3);
1035 } else fra.me.REG[2] = once_value_3;
1036 fra.me.REG[2] = fra.me.REG[2];
1037 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[1])(fra.me.REG[1], fra.me.REG[2]);
1038 fra.me.REG[1] = CALL_string___Object___to_s(fra.me.REG[1])(fra.me.REG[1]);
1039 goto label4;
1040 } else {
1041 /* ./../lib/opts.nit:160 */
1042 if (!once_value_5) {
1043 fra.me.REG[2] = BOX_NativeString("");
1044 REGB0 = TAG_Int(0);
1045 fra.me.REG[2] = NEW_String_string___String___with_native(fra.me.REG[2], REGB0);
1046 once_value_5 = fra.me.REG[2];
1047 register_static_object(&once_value_5);
1048 } else fra.me.REG[2] = once_value_5;
1049 fra.me.REG[2] = fra.me.REG[2];
1050 fra.me.REG[1] = fra.me.REG[2];
1051 goto label4;
1052 }
1053 label4: while(0);
1054 stack_frame_head = fra.me.prev;
1055 return fra.me.REG[1];
1056 }
1057 void opts___OptionInt___init(val_t p0, val_t p1, val_t p2, val_t p3, int* init_table){
1058 int itpos7 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionInt].i;
1059 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1060 val_t REGB0;
1061 val_t REGB1;
1062 val_t tmp;
1063 if (init_table[itpos7]) return;
1064 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1065 fra.me.file = LOCATE_opts;
1066 fra.me.line = 169;
1067 fra.me.meth = LOCATE_opts___OptionInt___init;
1068 fra.me.has_broke = 0;
1069 fra.me.REG_size = 3;
1070 fra.me.REG[0] = NIT_NULL;
1071 fra.me.REG[1] = NIT_NULL;
1072 fra.me.REG[2] = NIT_NULL;
1073 fra.me.REG[0] = p0;
1074 fra.me.REG[1] = p1;
1075 REGB0 = p2;
1076 fra.me.REG[2] = p3;
1077 /* ./../lib/opts.nit:169 */
1078 REGB1 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
1079 if (UNTAG_Bool(REGB1)) {
1080 } else {
1081 nit_abort("Cast failed", NULL, LOCATE_opts, 169);
1082 }
1083 CALL_opts___OptionParameter___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], REGB0, fra.me.REG[2], init_table);
1084 stack_frame_head = fra.me.prev;
1085 init_table[itpos7] = 1;
1086 return;
1087 }
1088 val_t opts___OptionInt___convert(val_t p0, val_t p1){
1089 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1090 val_t REGB0;
1091 val_t tmp;
1092 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1093 fra.me.file = LOCATE_opts;
1094 fra.me.line = 171;
1095 fra.me.meth = LOCATE_opts___OptionInt___convert;
1096 fra.me.has_broke = 0;
1097 fra.me.REG_size = 2;
1098 fra.me.REG[0] = NIT_NULL;
1099 fra.me.REG[1] = NIT_NULL;
1100 fra.me.REG[0] = p0;
1101 fra.me.REG[1] = p1;
1102 /* ./../lib/opts.nit:171 */
1103 REGB0 = CALL_string___AbstractString___to_i(fra.me.REG[1])(fra.me.REG[1]);
1104 goto label1;
1105 label1: while(0);
1106 stack_frame_head = fra.me.prev;
1107 return REGB0;
1108 }
1109 void opts___OptionArray___init(val_t p0, val_t p1, val_t p2, int* init_table){
1110 int itpos8 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionArray].i;
1111 struct {struct stack_frame_t me; val_t MORE_REG[3];} fra;
1112 val_t REGB0;
1113 val_t tmp;
1114 if (init_table[itpos8]) return;
1115 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1116 fra.me.file = LOCATE_opts;
1117 fra.me.line = 178;
1118 fra.me.meth = LOCATE_opts___OptionArray___init;
1119 fra.me.has_broke = 0;
1120 fra.me.REG_size = 4;
1121 fra.me.REG[0] = NIT_NULL;
1122 fra.me.REG[1] = NIT_NULL;
1123 fra.me.REG[2] = NIT_NULL;
1124 fra.me.REG[3] = NIT_NULL;
1125 fra.me.REG[0] = p0;
1126 fra.me.REG[1] = p1;
1127 fra.me.REG[2] = p2;
1128 /* ./../lib/opts.nit:178 */
1129 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[2], COLOR_Array, ID_Array)) /*cast Array[String]*/;
1130 if (UNTAG_Bool(REGB0)) {
1131 } else {
1132 nit_abort("Cast failed", NULL, LOCATE_opts, 178);
1133 }
1134 /* ./../lib/opts.nit:180 */
1135 fra.me.REG[3] = NEW_Array_array___Array___init();
1136 ATTR_opts___OptionArray____values(fra.me.REG[0]) = fra.me.REG[3];
1137 /* ./../lib/opts.nit:181 */
1138 REGB0 = TAG_Bool(ATTR_opts___OptionArray____values(fra.me.REG[0])!=NIT_NULL);
1139 if (UNTAG_Bool(REGB0)) {
1140 } else {
1141 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 181);
1142 }
1143 fra.me.REG[3] = ATTR_opts___OptionArray____values(fra.me.REG[0]);
1144 CALL_opts___OptionParameter___init_opt(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1], fra.me.REG[3], fra.me.REG[2], init_table);
1145 stack_frame_head = fra.me.prev;
1146 init_table[itpos8] = 1;
1147 return;
1148 }
1149 val_t opts___OptionArray___convert(val_t p0, val_t p1){
1150 struct {struct stack_frame_t me; val_t MORE_REG[2];} fra;
1151 val_t REGB0;
1152 val_t tmp;
1153 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1154 fra.me.file = LOCATE_opts;
1155 fra.me.line = 185;
1156 fra.me.meth = LOCATE_opts___OptionArray___convert;
1157 fra.me.has_broke = 0;
1158 fra.me.REG_size = 3;
1159 fra.me.REG[0] = NIT_NULL;
1160 fra.me.REG[1] = NIT_NULL;
1161 fra.me.REG[2] = NIT_NULL;
1162 fra.me.REG[0] = p0;
1163 fra.me.REG[1] = p1;
1164 /* ./../lib/opts.nit:187 */
1165 REGB0 = TAG_Bool(ATTR_opts___OptionArray____values(fra.me.REG[0])!=NIT_NULL);
1166 if (UNTAG_Bool(REGB0)) {
1167 } else {
1168 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 187);
1169 }
1170 fra.me.REG[2] = ATTR_opts___OptionArray____values(fra.me.REG[0]);
1171 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[1]);
1172 /* ./../lib/opts.nit:188 */
1173 REGB0 = TAG_Bool(ATTR_opts___OptionArray____values(fra.me.REG[0])!=NIT_NULL);
1174 if (UNTAG_Bool(REGB0)) {
1175 } else {
1176 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts, 188);
1177 }
1178 fra.me.REG[0] = ATTR_opts___OptionArray____values(fra.me.REG[0]);
1179 goto label1;
1180 label1: while(0);
1181 stack_frame_head = fra.me.prev;
1182 return fra.me.REG[0];
1183 }
1184 val_t opts___OptionContext___options(val_t p0){
1185 struct {struct stack_frame_t me;} fra;
1186 val_t REGB0;
1187 val_t tmp;
1188 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1189 fra.me.file = LOCATE_opts;
1190 fra.me.line = 193;
1191 fra.me.meth = LOCATE_opts___OptionContext___options;
1192 fra.me.has_broke = 0;
1193 fra.me.REG_size = 1;
1194 fra.me.REG[0] = NIT_NULL;
1195 fra.me.REG[0] = p0;
1196 /* ./../lib/opts.nit:193 */
1197 REGB0 = TAG_Bool(ATTR_opts___OptionContext____options(fra.me.REG[0])!=NIT_NULL);
1198 if (UNTAG_Bool(REGB0)) {
1199 } else {
1200 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts, 193);
1201 }
1202 fra.me.REG[0] = ATTR_opts___OptionContext____options(fra.me.REG[0]);
1203 stack_frame_head = fra.me.prev;
1204 return fra.me.REG[0];
1205 }
1206 val_t opts___OptionContext___rest(val_t p0){
1207 struct {struct stack_frame_t me;} fra;
1208 val_t REGB0;
1209 val_t tmp;
1210 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1211 fra.me.file = LOCATE_opts;
1212 fra.me.line = 194;
1213 fra.me.meth = LOCATE_opts___OptionContext___rest;
1214 fra.me.has_broke = 0;
1215 fra.me.REG_size = 1;
1216 fra.me.REG[0] = NIT_NULL;
1217 fra.me.REG[0] = p0;
1218 /* ./../lib/opts.nit:194 */
1219 REGB0 = TAG_Bool(ATTR_opts___OptionContext____rest(fra.me.REG[0])!=NIT_NULL);
1220 if (UNTAG_Bool(REGB0)) {
1221 } else {
1222 nit_abort("Uninitialized attribute %s", "_rest", LOCATE_opts, 194);
1223 }
1224 fra.me.REG[0] = ATTR_opts___OptionContext____rest(fra.me.REG[0]);
1225 stack_frame_head = fra.me.prev;
1226 return fra.me.REG[0];
1227 }
1228 void opts___OptionContext___usage(val_t p0){
1229 struct {struct stack_frame_t me; val_t MORE_REG[5];} fra;
1230 val_t REGB0;
1231 val_t REGB1;
1232 val_t REGB2;
1233 val_t REGB3;
1234 val_t REGB4;
1235 val_t REGB5;
1236 val_t tmp;
1237 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1238 fra.me.file = LOCATE_opts;
1239 fra.me.line = 198;
1240 fra.me.meth = LOCATE_opts___OptionContext___usage;
1241 fra.me.has_broke = 0;
1242 fra.me.REG_size = 6;
1243 fra.me.REG[0] = NIT_NULL;
1244 fra.me.REG[1] = NIT_NULL;
1245 fra.me.REG[2] = NIT_NULL;
1246 fra.me.REG[3] = NIT_NULL;
1247 fra.me.REG[4] = NIT_NULL;
1248 fra.me.REG[5] = NIT_NULL;
1249 fra.me.REG[0] = p0;
1250 /* ./../lib/opts.nit:200 */
1251 REGB0 = TAG_Int(1);
1252 /* ./../lib/opts.nit:201 */
1253 REGB1 = TAG_Bool(ATTR_opts___OptionContext____options(fra.me.REG[0])!=NIT_NULL);
1254 if (UNTAG_Bool(REGB1)) {
1255 } else {
1256 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts, 201);
1257 }
1258 fra.me.REG[1] = ATTR_opts___OptionContext____options(fra.me.REG[0]);
1259 /* ./../lib/standard//collection//array.nit:234 */
1260 REGB1 = TAG_Int(0);
1261 /* ./../lib/standard//collection//array.nit:235 */
1262 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1263 if (UNTAG_Bool(REGB2)) {
1264 } else {
1265 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1266 }
1267 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1268 /* ./../lib/standard//collection//array.nit:236 */
1269 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[1]);
1270 /* ./../lib/standard//collection//array.nit:237 */
1271 while(1) {
1272 /* ./../lib/standard//collection//array.nit:23 */
1273 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1274 if (UNTAG_Bool(REGB2)) {
1275 } else {
1276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1277 }
1278 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1279 /* ./../lib/standard//kernel.nit:212 */
1280 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1281 /* ./../lib/standard//collection//array.nit:237 */
1282 if (UNTAG_Bool(REGB2)) {
1283 /* ./../lib/standard//collection//array.nit:238 */
1284 REGB2 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1285 if (UNTAG_Bool(REGB2)) {
1286 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1287 }
1288 /* ./../lib/standard//collection//array.nit:654 */
1289 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB1)];
1290 /* ./../lib/opts.nit:202 */
1291 REGB2 = TAG_Int(3);
1292 /* ./../lib/opts.nit:203 */
1293 fra.me.REG[3] = CALL_opts___Option___names(fra.me.REG[3])(fra.me.REG[3]);
1294 /* ./../lib/standard//collection//array.nit:234 */
1295 REGB3 = TAG_Int(0);
1296 /* ./../lib/standard//collection//array.nit:235 */
1297 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1298 if (UNTAG_Bool(REGB4)) {
1299 } else {
1300 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1301 }
1302 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1303 /* ./../lib/standard//collection//array.nit:236 */
1304 fra.me.REG[4] = ATTR_array___Array____items(fra.me.REG[3]);
1305 /* ./../lib/standard//collection//array.nit:237 */
1306 while(1) {
1307 /* ./../lib/standard//collection//array.nit:23 */
1308 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[3])!=NIT_NULL);
1309 if (UNTAG_Bool(REGB4)) {
1310 } else {
1311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1312 }
1313 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[3]);
1314 /* ./../lib/standard//kernel.nit:212 */
1315 REGB4 = TAG_Bool(UNTAG_Int(REGB3)<UNTAG_Int(REGB4));
1316 /* ./../lib/standard//collection//array.nit:237 */
1317 if (UNTAG_Bool(REGB4)) {
1318 /* ./../lib/standard//collection//array.nit:238 */
1319 REGB4 = TAG_Bool(fra.me.REG[4]==NIT_NULL);
1320 if (UNTAG_Bool(REGB4)) {
1321 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1322 }
1323 /* ./../lib/standard//collection//array.nit:654 */
1324 fra.me.REG[5] = ((Nit_NativeArray)fra.me.REG[4])->val[UNTAG_Int(REGB3)];
1325 /* ./../lib/standard//collection//array.nit:23 */
1326 REGB4 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[5])!=NIT_NULL);
1327 if (UNTAG_Bool(REGB4)) {
1328 } else {
1329 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1330 }
1331 REGB4 = ATTR_array___AbstractArrayRead____length(fra.me.REG[5]);
1332 /* ./../lib/opts.nit:204 */
1333 REGB5 = TAG_Int(2);
1334 /* ./../lib/standard//kernel.nit:215 */
1335 REGB5 = TAG_Int(UNTAG_Int(REGB4)+UNTAG_Int(REGB5));
1336 REGB5 = TAG_Int(UNTAG_Int(REGB2)+UNTAG_Int(REGB5));
1337 /* ./../lib/opts.nit:204 */
1338 REGB2 = REGB5;
1339 /* ./../lib/standard//collection//array.nit:239 */
1340 REGB5 = TAG_Int(1);
1341 /* ./../lib/standard//kernel.nit:215 */
1342 REGB5 = TAG_Int(UNTAG_Int(REGB3)+UNTAG_Int(REGB5));
1343 /* ./../lib/standard//collection//array.nit:239 */
1344 REGB3 = REGB5;
1345 } else {
1346 /* ./../lib/standard//collection//array.nit:237 */
1347 goto label1;
1348 }
1349 }
1350 label1: while(0);
1351 /* ./../lib/standard//kernel.nit:212 */
1352 REGB3 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB2));
1353 /* ./../lib/opts.nit:206 */
1354 if (UNTAG_Bool(REGB3)) {
1355 REGB0 = REGB2;
1356 }
1357 /* ./../lib/standard//collection//array.nit:239 */
1358 REGB2 = TAG_Int(1);
1359 /* ./../lib/standard//kernel.nit:215 */
1360 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1361 /* ./../lib/standard//collection//array.nit:239 */
1362 REGB1 = REGB2;
1363 } else {
1364 /* ./../lib/standard//collection//array.nit:237 */
1365 goto label2;
1366 }
1367 }
1368 label2: while(0);
1369 /* ./../lib/opts.nit:209 */
1370 REGB1 = TAG_Bool(ATTR_opts___OptionContext____options(fra.me.REG[0])!=NIT_NULL);
1371 if (UNTAG_Bool(REGB1)) {
1372 } else {
1373 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts, 209);
1374 }
1375 fra.me.REG[2] = ATTR_opts___OptionContext____options(fra.me.REG[0]);
1376 /* ./../lib/standard//collection//array.nit:234 */
1377 REGB1 = TAG_Int(0);
1378 /* ./../lib/standard//collection//array.nit:235 */
1379 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1380 if (UNTAG_Bool(REGB2)) {
1381 } else {
1382 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1383 }
1384 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
1385 /* ./../lib/standard//collection//array.nit:236 */
1386 fra.me.REG[1] = ATTR_array___Array____items(fra.me.REG[2]);
1387 /* ./../lib/standard//collection//array.nit:237 */
1388 while(1) {
1389 /* ./../lib/standard//collection//array.nit:23 */
1390 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[2])!=NIT_NULL);
1391 if (UNTAG_Bool(REGB2)) {
1392 } else {
1393 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1394 }
1395 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[2]);
1396 /* ./../lib/standard//kernel.nit:212 */
1397 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1398 /* ./../lib/standard//collection//array.nit:237 */
1399 if (UNTAG_Bool(REGB2)) {
1400 /* ./../lib/standard//collection//array.nit:238 */
1401 REGB2 = TAG_Bool(fra.me.REG[1]==NIT_NULL);
1402 if (UNTAG_Bool(REGB2)) {
1403 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1404 }
1405 /* ./../lib/standard//collection//array.nit:654 */
1406 fra.me.REG[4] = ((Nit_NativeArray)fra.me.REG[1])->val[UNTAG_Int(REGB1)];
1407 /* ./../lib/opts.nit:210 */
1408 fra.me.REG[4] = CALL_opts___Option___pretty(fra.me.REG[4])(fra.me.REG[4], REGB0);
1409 CALL_file___Object___print(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[4]);
1410 /* ./../lib/standard//collection//array.nit:239 */
1411 REGB2 = TAG_Int(1);
1412 /* ./../lib/standard//kernel.nit:215 */
1413 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1414 /* ./../lib/standard//collection//array.nit:239 */
1415 REGB1 = REGB2;
1416 } else {
1417 /* ./../lib/standard//collection//array.nit:237 */
1418 goto label3;
1419 }
1420 }
1421 label3: while(0);
1422 stack_frame_head = fra.me.prev;
1423 return;
1424 }
1425 void opts___OptionContext___parse(val_t p0, val_t p1){
1426 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1427 val_t tmp;
1428 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1429 fra.me.file = LOCATE_opts;
1430 fra.me.line = 214;
1431 fra.me.meth = LOCATE_opts___OptionContext___parse;
1432 fra.me.has_broke = 0;
1433 fra.me.REG_size = 2;
1434 fra.me.REG[0] = NIT_NULL;
1435 fra.me.REG[1] = NIT_NULL;
1436 fra.me.REG[0] = p0;
1437 fra.me.REG[1] = p1;
1438 /* ./../lib/opts.nit:217 */
1439 fra.me.REG[1] = CALL_abstract_collection___Collection___iterator(fra.me.REG[1])(fra.me.REG[1]);
1440 /* ./../lib/opts.nit:218 */
1441 CALL_opts___OptionContext___parse_intern(fra.me.REG[0])(fra.me.REG[0], fra.me.REG[1]);
1442 stack_frame_head = fra.me.prev;
1443 return;
1444 }
1445 void opts___OptionContext___parse_intern(val_t p0, val_t p1){
1446 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1447 val_t REGB0;
1448 val_t REGB1;
1449 val_t REGB2;
1450 val_t tmp;
1451 static val_t once_value_1; /* Once value */
1452 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1453 fra.me.file = LOCATE_opts;
1454 fra.me.line = 221;
1455 fra.me.meth = LOCATE_opts___OptionContext___parse_intern;
1456 fra.me.has_broke = 0;
1457 fra.me.REG_size = 5;
1458 fra.me.REG[0] = NIT_NULL;
1459 fra.me.REG[1] = NIT_NULL;
1460 fra.me.REG[2] = NIT_NULL;
1461 fra.me.REG[3] = NIT_NULL;
1462 fra.me.REG[4] = NIT_NULL;
1463 fra.me.REG[0] = p0;
1464 fra.me.REG[1] = p1;
1465 /* ./../lib/opts.nit:223 */
1466 REGB0 = TAG_Bool(true);
1467 /* ./../lib/opts.nit:224 */
1468 CALL_opts___OptionContext___build(fra.me.REG[0])(fra.me.REG[0]);
1469 /* ./../lib/opts.nit:225 */
1470 REGB1 = TAG_Bool(ATTR_opts___OptionContext____rest(fra.me.REG[0])!=NIT_NULL);
1471 if (UNTAG_Bool(REGB1)) {
1472 } else {
1473 nit_abort("Uninitialized attribute %s", "_rest", LOCATE_opts, 225);
1474 }
1475 fra.me.REG[2] = ATTR_opts___OptionContext____rest(fra.me.REG[0]);
1476 /* ./../lib/opts.nit:227 */
1477 while(1) {
1478 if (UNTAG_Bool(REGB0)) {
1479 REGB1 = CALL_abstract_collection___Iterator___is_ok(fra.me.REG[1])(fra.me.REG[1]);
1480 } else {
1481 REGB2 = TAG_Bool(false);
1482 REGB1 = REGB2;
1483 }
1484 if (UNTAG_Bool(REGB1)) {
1485 /* ./../lib/opts.nit:228 */
1486 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
1487 /* ./../lib/opts.nit:229 */
1488 if (!once_value_1) {
1489 fra.me.REG[4] = BOX_NativeString("--");
1490 REGB1 = TAG_Int(2);
1491 fra.me.REG[4] = NEW_String_string___String___with_native(fra.me.REG[4], REGB1);
1492 once_value_1 = fra.me.REG[4];
1493 register_static_object(&once_value_1);
1494 } else fra.me.REG[4] = once_value_1;
1495 fra.me.REG[4] = fra.me.REG[4];
1496 REGB1 = TAG_Bool(IS_EQUAL_OO(fra.me.REG[3],fra.me.REG[4]));
1497 if (UNTAG_Bool(REGB1)) {
1498 } else {
1499 REGB2 = CALL_kernel___Object_____eqeq(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[4]);
1500 REGB1 = REGB2;
1501 }
1502 if (UNTAG_Bool(REGB1)) {
1503 /* ./../lib/opts.nit:230 */
1504 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1505 /* ./../lib/opts.nit:231 */
1506 fra.me.REG[4] = CALL_array___Iterator___to_a(fra.me.REG[1])(fra.me.REG[1]);
1507 CALL_abstract_collection___SimpleCollection___add_all(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[4]);
1508 /* ./../lib/opts.nit:232 */
1509 REGB1 = TAG_Bool(false);
1510 REGB0 = REGB1;
1511 } else {
1512 /* ./../lib/opts.nit:234 */
1513 REGB1 = TAG_Bool(ATTR_opts___OptionContext____optmap(fra.me.REG[0])!=NIT_NULL);
1514 if (UNTAG_Bool(REGB1)) {
1515 } else {
1516 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts, 234);
1517 }
1518 fra.me.REG[4] = ATTR_opts___OptionContext____optmap(fra.me.REG[0]);
1519 REGB1 = CALL_abstract_collection___MapRead___has_key(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1520 if (UNTAG_Bool(REGB1)) {
1521 /* ./../lib/opts.nit:235 */
1522 REGB1 = TAG_Bool(ATTR_opts___OptionContext____optmap(fra.me.REG[0])!=NIT_NULL);
1523 if (UNTAG_Bool(REGB1)) {
1524 } else {
1525 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts, 235);
1526 }
1527 fra.me.REG[4] = ATTR_opts___OptionContext____optmap(fra.me.REG[0]);
1528 fra.me.REG[3] = CALL_abstract_collection___MapRead_____bra(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1529 /* ./../lib/opts.nit:236 */
1530 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1531 /* ./../lib/opts.nit:237 */
1532 CALL_opts___Option___read_param(fra.me.REG[3])(fra.me.REG[3], fra.me.REG[1]);
1533 } else {
1534 /* ./../lib/opts.nit:239 */
1535 fra.me.REG[3] = CALL_abstract_collection___Iterator___item(fra.me.REG[1])(fra.me.REG[1]);
1536 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[2])(fra.me.REG[2], fra.me.REG[3]);
1537 /* ./../lib/opts.nit:240 */
1538 CALL_abstract_collection___Iterator___next(fra.me.REG[1])(fra.me.REG[1]);
1539 }
1540 }
1541 } else {
1542 /* ./../lib/opts.nit:227 */
1543 goto label2;
1544 }
1545 }
1546 label2: while(0);
1547 stack_frame_head = fra.me.prev;
1548 return;
1549 }
1550 void opts___OptionContext___add_option(val_t p0, val_t p1){
1551 struct {struct stack_frame_t me; val_t MORE_REG[4];} fra;
1552 val_t REGB0;
1553 val_t REGB1;
1554 val_t tmp;
1555 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1556 fra.me.file = LOCATE_opts;
1557 fra.me.line = 246;
1558 fra.me.meth = LOCATE_opts___OptionContext___add_option;
1559 fra.me.has_broke = 0;
1560 fra.me.REG_size = 5;
1561 fra.me.REG[0] = NIT_NULL;
1562 fra.me.REG[1] = NIT_NULL;
1563 fra.me.REG[2] = NIT_NULL;
1564 fra.me.REG[3] = NIT_NULL;
1565 fra.me.REG[4] = NIT_NULL;
1566 fra.me.REG[0] = p0;
1567 fra.me.REG[1] = p1;
1568 /* ./../lib/opts.nit:246 */
1569 REGB0 = TAG_Bool(VAL_ISA(fra.me.REG[1], COLOR_Array, ID_Array)) /*cast Array[Option]*/;
1570 if (UNTAG_Bool(REGB0)) {
1571 } else {
1572 nit_abort("Cast failed", NULL, LOCATE_opts, 246);
1573 }
1574 /* ./../lib/standard//collection//array.nit:234 */
1575 REGB0 = TAG_Int(0);
1576 /* ./../lib/standard//collection//array.nit:235 */
1577 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1578 if (UNTAG_Bool(REGB1)) {
1579 } else {
1580 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1581 }
1582 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1583 /* ./../lib/standard//collection//array.nit:236 */
1584 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[1]);
1585 /* ./../lib/standard//collection//array.nit:237 */
1586 while(1) {
1587 /* ./../lib/standard//collection//array.nit:23 */
1588 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1589 if (UNTAG_Bool(REGB1)) {
1590 } else {
1591 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1592 }
1593 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1594 /* ./../lib/standard//kernel.nit:212 */
1595 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1596 /* ./../lib/standard//collection//array.nit:237 */
1597 if (UNTAG_Bool(REGB1)) {
1598 /* ./../lib/standard//collection//array.nit:238 */
1599 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1600 if (UNTAG_Bool(REGB1)) {
1601 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1602 }
1603 /* ./../lib/standard//collection//array.nit:654 */
1604 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1605 /* ./../lib/opts.nit:249 */
1606 REGB1 = TAG_Bool(ATTR_opts___OptionContext____options(fra.me.REG[0])!=NIT_NULL);
1607 if (UNTAG_Bool(REGB1)) {
1608 } else {
1609 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts, 249);
1610 }
1611 fra.me.REG[4] = ATTR_opts___OptionContext____options(fra.me.REG[0]);
1612 CALL_abstract_collection___SimpleCollection___add(fra.me.REG[4])(fra.me.REG[4], fra.me.REG[3]);
1613 /* ./../lib/standard//collection//array.nit:239 */
1614 REGB1 = TAG_Int(1);
1615 /* ./../lib/standard//kernel.nit:215 */
1616 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1617 /* ./../lib/standard//collection//array.nit:239 */
1618 REGB0 = REGB1;
1619 } else {
1620 /* ./../lib/standard//collection//array.nit:237 */
1621 goto label1;
1622 }
1623 }
1624 label1: while(0);
1625 stack_frame_head = fra.me.prev;
1626 return;
1627 }
1628 void opts___OptionContext___init(val_t p0, int* init_table){
1629 int itpos9 = VAL2OBJ(p0)->vft[INIT_TABLE_POS_OptionContext].i;
1630 struct {struct stack_frame_t me; val_t MORE_REG[1];} fra;
1631 val_t tmp;
1632 if (init_table[itpos9]) return;
1633 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1634 fra.me.file = LOCATE_opts;
1635 fra.me.line = 253;
1636 fra.me.meth = LOCATE_opts___OptionContext___init;
1637 fra.me.has_broke = 0;
1638 fra.me.REG_size = 2;
1639 fra.me.REG[0] = NIT_NULL;
1640 fra.me.REG[1] = NIT_NULL;
1641 fra.me.REG[0] = p0;
1642 /* ./../lib/opts.nit:255 */
1643 fra.me.REG[1] = NEW_Array_array___Array___init();
1644 ATTR_opts___OptionContext____options(fra.me.REG[0]) = fra.me.REG[1];
1645 /* ./../lib/opts.nit:256 */
1646 fra.me.REG[1] = NEW_HashMap_hash_collection___HashMap___init();
1647 ATTR_opts___OptionContext____optmap(fra.me.REG[0]) = fra.me.REG[1];
1648 /* ./../lib/opts.nit:257 */
1649 fra.me.REG[1] = NEW_Array_array___Array___init();
1650 ATTR_opts___OptionContext____rest(fra.me.REG[0]) = fra.me.REG[1];
1651 stack_frame_head = fra.me.prev;
1652 init_table[itpos9] = 1;
1653 return;
1654 }
1655 void opts___OptionContext___build(val_t p0){
1656 struct {struct stack_frame_t me; val_t MORE_REG[7];} fra;
1657 val_t REGB0;
1658 val_t REGB1;
1659 val_t REGB2;
1660 val_t tmp;
1661 fra.me.prev = stack_frame_head; stack_frame_head = &fra.me;
1662 fra.me.file = LOCATE_opts;
1663 fra.me.line = 260;
1664 fra.me.meth = LOCATE_opts___OptionContext___build;
1665 fra.me.has_broke = 0;
1666 fra.me.REG_size = 8;
1667 fra.me.REG[0] = NIT_NULL;
1668 fra.me.REG[1] = NIT_NULL;
1669 fra.me.REG[2] = NIT_NULL;
1670 fra.me.REG[3] = NIT_NULL;
1671 fra.me.REG[4] = NIT_NULL;
1672 fra.me.REG[5] = NIT_NULL;
1673 fra.me.REG[6] = NIT_NULL;
1674 fra.me.REG[7] = NIT_NULL;
1675 fra.me.REG[0] = p0;
1676 /* ./../lib/opts.nit:262 */
1677 REGB0 = TAG_Bool(ATTR_opts___OptionContext____options(fra.me.REG[0])!=NIT_NULL);
1678 if (UNTAG_Bool(REGB0)) {
1679 } else {
1680 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts, 262);
1681 }
1682 fra.me.REG[1] = ATTR_opts___OptionContext____options(fra.me.REG[0]);
1683 /* ./../lib/standard//collection//array.nit:234 */
1684 REGB0 = TAG_Int(0);
1685 /* ./../lib/standard//collection//array.nit:235 */
1686 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1687 if (UNTAG_Bool(REGB1)) {
1688 } else {
1689 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1690 }
1691 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1692 /* ./../lib/standard//collection//array.nit:236 */
1693 fra.me.REG[2] = ATTR_array___Array____items(fra.me.REG[1]);
1694 /* ./../lib/standard//collection//array.nit:237 */
1695 while(1) {
1696 /* ./../lib/standard//collection//array.nit:23 */
1697 REGB1 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[1])!=NIT_NULL);
1698 if (UNTAG_Bool(REGB1)) {
1699 } else {
1700 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1701 }
1702 REGB1 = ATTR_array___AbstractArrayRead____length(fra.me.REG[1]);
1703 /* ./../lib/standard//kernel.nit:212 */
1704 REGB1 = TAG_Bool(UNTAG_Int(REGB0)<UNTAG_Int(REGB1));
1705 /* ./../lib/standard//collection//array.nit:237 */
1706 if (UNTAG_Bool(REGB1)) {
1707 /* ./../lib/standard//collection//array.nit:238 */
1708 REGB1 = TAG_Bool(fra.me.REG[2]==NIT_NULL);
1709 if (UNTAG_Bool(REGB1)) {
1710 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1711 }
1712 /* ./../lib/standard//collection//array.nit:654 */
1713 fra.me.REG[3] = ((Nit_NativeArray)fra.me.REG[2])->val[UNTAG_Int(REGB0)];
1714 /* ./../lib/opts.nit:263 */
1715 fra.me.REG[4] = CALL_opts___Option___names(fra.me.REG[3])(fra.me.REG[3]);
1716 /* ./../lib/standard//collection//array.nit:234 */
1717 REGB1 = TAG_Int(0);
1718 /* ./../lib/standard//collection//array.nit:235 */
1719 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1720 if (UNTAG_Bool(REGB2)) {
1721 } else {
1722 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 235);
1723 }
1724 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1725 /* ./../lib/standard//collection//array.nit:236 */
1726 fra.me.REG[5] = ATTR_array___Array____items(fra.me.REG[4]);
1727 /* ./../lib/standard//collection//array.nit:237 */
1728 while(1) {
1729 /* ./../lib/standard//collection//array.nit:23 */
1730 REGB2 = TAG_Bool(ATTR_array___AbstractArrayRead____length(fra.me.REG[4])!=NIT_NULL);
1731 if (UNTAG_Bool(REGB2)) {
1732 } else {
1733 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array, 23);
1734 }
1735 REGB2 = ATTR_array___AbstractArrayRead____length(fra.me.REG[4]);
1736 /* ./../lib/standard//kernel.nit:212 */
1737 REGB2 = TAG_Bool(UNTAG_Int(REGB1)<UNTAG_Int(REGB2));
1738 /* ./../lib/standard//collection//array.nit:237 */
1739 if (UNTAG_Bool(REGB2)) {
1740 /* ./../lib/standard//collection//array.nit:238 */
1741 REGB2 = TAG_Bool(fra.me.REG[5]==NIT_NULL);
1742 if (UNTAG_Bool(REGB2)) {
1743 nit_abort("Reciever is null", NULL, LOCATE_array, 238);
1744 }
1745 /* ./../lib/standard//collection//array.nit:654 */
1746 fra.me.REG[6] = ((Nit_NativeArray)fra.me.REG[5])->val[UNTAG_Int(REGB1)];
1747 /* ./../lib/opts.nit:264 */
1748 REGB2 = TAG_Bool(ATTR_opts___OptionContext____optmap(fra.me.REG[0])!=NIT_NULL);
1749 if (UNTAG_Bool(REGB2)) {
1750 } else {
1751 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts, 264);
1752 }
1753 fra.me.REG[7] = ATTR_opts___OptionContext____optmap(fra.me.REG[0]);
1754 CALL_abstract_collection___Map_____braeq(fra.me.REG[7])(fra.me.REG[7], fra.me.REG[6], fra.me.REG[3]);
1755 /* ./../lib/standard//collection//array.nit:239 */
1756 REGB2 = TAG_Int(1);
1757 /* ./../lib/standard//kernel.nit:215 */
1758 REGB2 = TAG_Int(UNTAG_Int(REGB1)+UNTAG_Int(REGB2));
1759 /* ./../lib/standard//collection//array.nit:239 */
1760 REGB1 = REGB2;
1761 } else {
1762 /* ./../lib/standard//collection//array.nit:237 */
1763 goto label1;
1764 }
1765 }
1766 label1: while(0);
1767 /* ./../lib/standard//collection//array.nit:239 */
1768 REGB1 = TAG_Int(1);
1769 /* ./../lib/standard//kernel.nit:215 */
1770 REGB1 = TAG_Int(UNTAG_Int(REGB0)+UNTAG_Int(REGB1));
1771 /* ./../lib/standard//collection//array.nit:239 */
1772 REGB0 = REGB1;
1773 } else {
1774 /* ./../lib/standard//collection//array.nit:237 */
1775 goto label2;
1776 }
1777 }
1778 label2: while(0);
1779 stack_frame_head = fra.me.prev;
1780 return;
1781 }