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