1 /* This C file is generated by NIT to compile module opts. */
3 val_t
opts___Option___names(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_opts
;
10 fra
.me
.meth
= LOCATE_opts___Option___names
;
13 fra
.me
.REG
[0] = NIT_NULL
;
15 /* ./../lib/opts.nit:16 */
16 REGB0
= TAG_Bool(ATTR_opts___Option____names(fra
.me
.REG
[0])!=NIT_NULL
);
17 if (UNTAG_Bool(REGB0
)) {
19 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts
, 16);
21 fra
.me
.REG
[0] = ATTR_opts___Option____names(fra
.me
.REG
[0]);
22 stack_frame_head
= fra
.me
.prev
;
25 val_t
opts___Option___helptext(val_t p0
){
26 struct {struct stack_frame_t me
;} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_opts
;
32 fra
.me
.meth
= LOCATE_opts___Option___helptext
;
35 fra
.me
.REG
[0] = NIT_NULL
;
37 /* ./../lib/opts.nit:22 */
38 REGB0
= TAG_Bool(ATTR_opts___Option____helptext(fra
.me
.REG
[0])!=NIT_NULL
);
39 if (UNTAG_Bool(REGB0
)) {
41 nit_abort("Uninitialized attribute %s", "_helptext", LOCATE_opts
, 22);
43 fra
.me
.REG
[0] = ATTR_opts___Option____helptext(fra
.me
.REG
[0]);
44 stack_frame_head
= fra
.me
.prev
;
47 val_t
opts___Option___mandatory(val_t p0
){
48 struct {struct stack_frame_t me
;} fra
;
51 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
52 fra
.me
.file
= LOCATE_opts
;
54 fra
.me
.meth
= LOCATE_opts___Option___mandatory
;
57 fra
.me
.REG
[0] = NIT_NULL
;
59 /* ./../lib/opts.nit:25 */
60 REGB0
= TAG_Bool(ATTR_opts___Option____mandatory(fra
.me
.REG
[0])!=NIT_NULL
);
61 if (UNTAG_Bool(REGB0
)) {
63 nit_abort("Uninitialized attribute %s", "_mandatory", LOCATE_opts
, 25);
65 REGB0
= ATTR_opts___Option____mandatory(fra
.me
.REG
[0]);
66 stack_frame_head
= fra
.me
.prev
;
69 void opts___Option___mandatory__eq(val_t p0
, val_t p1
){
70 struct {struct stack_frame_t me
;} fra
;
73 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
74 fra
.me
.file
= LOCATE_opts
;
76 fra
.me
.meth
= LOCATE_opts___Option___mandatory__eq
;
79 fra
.me
.REG
[0] = NIT_NULL
;
82 /* ./../lib/opts.nit:25 */
83 ATTR_opts___Option____mandatory(fra
.me
.REG
[0]) = REGB0
;
84 stack_frame_head
= fra
.me
.prev
;
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
;
90 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
91 fra
.me
.file
= LOCATE_opts
;
93 fra
.me
.meth
= LOCATE_opts___Option___value__eq
;
96 fra
.me
.REG
[0] = NIT_NULL
;
97 fra
.me
.REG
[1] = NIT_NULL
;
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
;
105 val_t
opts___Option___value(val_t p0
){
106 struct {struct stack_frame_t me
;} fra
;
109 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
110 fra
.me
.file
= LOCATE_opts
;
112 fra
.me
.meth
= LOCATE_opts___Option___value
;
113 fra
.me
.has_broke
= 0;
115 fra
.me
.REG
[0] = NIT_NULL
;
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
)) {
122 nit_abort("Cast failed", NULL
, LOCATE_opts
, 32);
126 stack_frame_head
= fra
.me
.prev
;
127 return fra
.me
.REG
[0];
129 val_t
opts___Option___default_value(val_t p0
){
130 struct {struct stack_frame_t me
;} fra
;
132 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
133 fra
.me
.file
= LOCATE_opts
;
135 fra
.me
.meth
= LOCATE_opts___Option___default_value
;
136 fra
.me
.has_broke
= 0;
138 fra
.me
.REG
[0] = NIT_NULL
;
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];
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
;
148 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
149 fra
.me
.file
= LOCATE_opts
;
151 fra
.me
.meth
= LOCATE_opts___Option___default_value__eq
;
152 fra
.me
.has_broke
= 0;
154 fra
.me
.REG
[0] = NIT_NULL
;
155 fra
.me
.REG
[1] = NIT_NULL
;
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
;
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
;
169 if (init_table
[itpos0
]) return;
170 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
171 fra
.me
.file
= LOCATE_opts
;
173 fra
.me
.meth
= LOCATE_opts___Option___init_opt
;
174 fra
.me
.has_broke
= 0;
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
;
185 /* ./../lib/opts.nit:40 */
186 REGB0
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
187 if (UNTAG_Bool(REGB0
)) {
189 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
190 if (UNTAG_Bool(REGB1
)) {
191 REGB1
= TAG_Bool(false);
194 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], NIT_NULL
);
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];
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);
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];
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;
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
;
228 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
229 fra
.me
.file
= LOCATE_opts
;
231 fra
.me
.meth
= LOCATE_opts___Option___add_aliases
;
232 fra
.me
.has_broke
= 0;
234 fra
.me
.REG
[0] = NIT_NULL
;
235 fra
.me
.REG
[1] = NIT_NULL
;
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
)) {
242 nit_abort("Cast failed", NULL
, LOCATE_opts
, 51);
244 /* ./../lib/opts.nit:52 */
245 REGB0
= TAG_Bool(ATTR_opts___Option____names(fra
.me
.REG
[0])!=NIT_NULL
);
246 if (UNTAG_Bool(REGB0
)) {
248 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts
, 52);
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
;
255 val_t
opts___Option___to_s(val_t p0
){
256 struct {struct stack_frame_t me
;} fra
;
259 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
260 fra
.me
.file
= LOCATE_opts
;
262 fra
.me
.meth
= LOCATE_opts___Option___to_s
;
263 fra
.me
.has_broke
= 0;
265 fra
.me
.REG
[0] = NIT_NULL
;
267 /* ./../lib/opts.nit:55 */
269 fra
.me
.REG
[0] = CALL_opts___Option___pretty(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
272 stack_frame_head
= fra
.me
.prev
;
273 return fra
.me
.REG
[0];
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
;
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
;
287 fra
.me
.meth
= LOCATE_opts___Option___pretty
;
288 fra
.me
.has_broke
= 0;
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
;
296 /* ./../lib/opts.nit:60 */
298 fra
.me
.REG
[1] = BOX_NativeString(" ");
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
)) {
310 nit_abort("Uninitialized attribute %s", "_names", LOCATE_opts
, 61);
312 fra
.me
.REG
[2] = ATTR_opts___Option____names(fra
.me
.REG
[0]);
314 fra
.me
.REG
[3] = BOX_NativeString(", ");
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 */
325 fra
.me
.REG
[3] = BOX_NativeString(" ");
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
)) {
337 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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 */
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
)) {
349 fra
.me
.REG
[3] = BOX_NativeString(" ");
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]);
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]);
366 stack_frame_head
= fra
.me
.prev
;
367 return fra
.me
.REG
[1];
369 val_t
opts___Option___pretty_default(val_t p0
){
370 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
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
;
380 fra
.me
.meth
= LOCATE_opts___Option___pretty_default
;
381 fra
.me
.has_broke
= 0;
383 fra
.me
.REG
[0] = NIT_NULL
;
384 fra
.me
.REG
[1] = NIT_NULL
;
385 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
393 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
394 if (UNTAG_Bool(REGB1
)) {
395 REGB1
= TAG_Bool(false);
398 REGB1
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
402 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
403 if (UNTAG_Bool(REGB0
)) {
405 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
407 fra
.me
.REG
[2] = BOX_NativeString(" (");
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]);
418 fra
.me
.REG
[0] = BOX_NativeString(")");
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]);
429 /* ./../lib/opts.nit:74 */
431 fra
.me
.REG
[0] = BOX_NativeString("");
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];
441 stack_frame_head
= fra
.me
.prev
;
442 return fra
.me
.REG
[1];
444 void opts___Option___read_param(val_t p0
, val_t p1
){
445 struct {struct stack_frame_t me
;} fra
;
447 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
448 fra
.me
.file
= LOCATE_opts
;
450 fra
.me
.meth
= LOCATE_opts___Option___read_param
;
451 fra
.me
.has_broke
= 0;
453 /* ./../lib/opts.nit:77 */
454 nit_abort("Deferred method called", NULL
, LOCATE_opts
, 77);
455 stack_frame_head
= fra
.me
.prev
;
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
;
462 if (init_table
[itpos1
]) return;
463 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
464 fra
.me
.file
= LOCATE_opts
;
466 fra
.me
.meth
= LOCATE_opts___OptionText___init
;
467 fra
.me
.has_broke
= 0;
469 fra
.me
.REG
[0] = NIT_NULL
;
470 fra
.me
.REG
[1] = NIT_NULL
;
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;
479 val_t
opts___OptionText___pretty(val_t p0
, val_t p1
){
480 struct {struct stack_frame_t me
;} fra
;
483 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
484 fra
.me
.file
= LOCATE_opts
;
486 fra
.me
.meth
= LOCATE_opts___OptionText___pretty
;
487 fra
.me
.has_broke
= 0;
489 fra
.me
.REG
[0] = NIT_NULL
;
492 /* ./../lib/opts.nit:85 */
493 fra
.me
.REG
[0] = CALL_string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
496 stack_frame_head
= fra
.me
.prev
;
497 return fra
.me
.REG
[0];
499 val_t
opts___OptionText___to_s(val_t p0
){
500 struct {struct stack_frame_t me
;} fra
;
502 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
503 fra
.me
.file
= LOCATE_opts
;
505 fra
.me
.meth
= LOCATE_opts___OptionText___to_s
;
506 fra
.me
.has_broke
= 0;
508 fra
.me
.REG
[0] = NIT_NULL
;
510 /* ./../lib/opts.nit:87 */
511 fra
.me
.REG
[0] = CALL_opts___Option___helptext(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
514 stack_frame_head
= fra
.me
.prev
;
515 return fra
.me
.REG
[0];
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
;
522 if (init_table
[itpos2
]) return;
523 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
524 fra
.me
.file
= LOCATE_opts
;
526 fra
.me
.meth
= LOCATE_opts___OptionBool___init
;
527 fra
.me
.has_broke
= 0;
529 fra
.me
.REG
[0] = NIT_NULL
;
530 fra
.me
.REG
[1] = NIT_NULL
;
531 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
539 nit_abort("Cast failed", NULL
, LOCATE_opts
, 94);
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;
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
;
551 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
552 fra
.me
.file
= LOCATE_opts
;
554 fra
.me
.meth
= LOCATE_opts___OptionBool___read_param
;
555 fra
.me
.has_broke
= 0;
557 fra
.me
.REG
[0] = NIT_NULL
;
558 fra
.me
.REG
[1] = NIT_NULL
;
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
;
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
;
572 if (init_table
[itpos3
]) return;
573 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
574 fra
.me
.file
= LOCATE_opts
;
576 fra
.me
.meth
= LOCATE_opts___OptionCount___init
;
577 fra
.me
.has_broke
= 0;
579 fra
.me
.REG
[0] = NIT_NULL
;
580 fra
.me
.REG
[1] = NIT_NULL
;
581 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
589 nit_abort("Cast failed", NULL
, LOCATE_opts
, 103);
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;
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
;
601 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
602 fra
.me
.file
= LOCATE_opts
;
604 fra
.me
.meth
= LOCATE_opts___OptionCount___read_param
;
605 fra
.me
.has_broke
= 0;
607 fra
.me
.REG
[0] = NIT_NULL
;
608 fra
.me
.REG
[1] = NIT_NULL
;
611 /* ./../lib/opts.nit:105 */
612 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
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
;
621 val_t
opts___OptionParameter___convert(val_t p0
, val_t p1
){
622 struct {struct stack_frame_t me
;} fra
;
624 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
625 fra
.me
.file
= LOCATE_opts
;
627 fra
.me
.meth
= LOCATE_opts___OptionParameter___convert
;
628 fra
.me
.has_broke
= 0;
630 /* ./../lib/opts.nit:111 */
631 nit_abort("Deferred method called", NULL
, LOCATE_opts
, 111);
632 stack_frame_head
= fra
.me
.prev
;
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
;
639 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
640 fra
.me
.file
= LOCATE_opts
;
642 fra
.me
.meth
= LOCATE_opts___OptionParameter___read_param
;
643 fra
.me
.has_broke
= 0;
645 fra
.me
.REG
[0] = NIT_NULL
;
646 fra
.me
.REG
[1] = NIT_NULL
;
647 fra
.me
.REG
[2] = NIT_NULL
;
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]);
660 stack_frame_head
= fra
.me
.prev
;
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
;
667 if (init_table
[itpos4
]) return;
668 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
669 fra
.me
.file
= LOCATE_opts
;
671 fra
.me
.meth
= LOCATE_opts___OptionParameter___init_opt
;
672 fra
.me
.has_broke
= 0;
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
;
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;
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
;
693 if (init_table
[itpos5
]) return;
694 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
695 fra
.me
.file
= LOCATE_opts
;
697 fra
.me
.meth
= LOCATE_opts___OptionString___init
;
698 fra
.me
.has_broke
= 0;
700 fra
.me
.REG
[0] = NIT_NULL
;
701 fra
.me
.REG
[1] = NIT_NULL
;
702 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
710 nit_abort("Cast failed", NULL
, LOCATE_opts
, 130);
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;
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
;
720 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
721 fra
.me
.file
= LOCATE_opts
;
723 fra
.me
.meth
= LOCATE_opts___OptionString___convert
;
724 fra
.me
.has_broke
= 0;
726 fra
.me
.REG
[0] = NIT_NULL
;
727 fra
.me
.REG
[1] = NIT_NULL
;
730 /* ./../lib/opts.nit:132 */
733 stack_frame_head
= fra
.me
.prev
;
734 return fra
.me
.REG
[1];
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
;
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
;
751 fra
.me
.meth
= LOCATE_opts___OptionEnum___init
;
752 fra
.me
.has_broke
= 0;
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
;
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
)) {
769 nit_abort("Cast failed", NULL
, LOCATE_opts
, 140);
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
)) {
775 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
777 REGB1
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[1]);
778 /* ./../lib/opts.nit:142 */
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
)) {
785 nit_abort("Assert failed", NULL
, LOCATE_opts
, 142);
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 */
792 fra
.me
.REG
[4] = NEW_Array_array___Array___with_capacity(REGB2
);
794 fra
.me
.REG
[5] = BOX_NativeString("");
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]);
804 fra
.me
.REG
[2] = BOX_NativeString(" <");
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]);
813 fra
.me
.REG
[2] = BOX_NativeString(", ");
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]);
823 fra
.me
.REG
[2] = BOX_NativeString(">");
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;
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
;
841 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
842 fra
.me
.file
= LOCATE_opts
;
844 fra
.me
.meth
= LOCATE_opts___OptionEnum___convert
;
845 fra
.me
.has_broke
= 0;
847 fra
.me
.REG
[0] = NIT_NULL
;
848 fra
.me
.REG
[1] = NIT_NULL
;
851 /* ./../lib/opts.nit:149 */
852 REGB0
= TAG_Bool(ATTR_opts___OptionEnum____values(fra
.me
.REG
[0])!=NIT_NULL
);
853 if (UNTAG_Bool(REGB0
)) {
855 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 149);
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 */
862 stack_frame_head
= fra
.me
.prev
;
865 val_t
opts___OptionEnum___value_name(val_t p0
){
866 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
871 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
872 fra
.me
.file
= LOCATE_opts
;
874 fra
.me
.meth
= LOCATE_opts___OptionEnum___value_name
;
875 fra
.me
.has_broke
= 0;
877 fra
.me
.REG
[0] = NIT_NULL
;
878 fra
.me
.REG
[1] = NIT_NULL
;
880 /* ./../lib/opts.nit:153 */
881 REGB0
= TAG_Bool(ATTR_opts___OptionEnum____values(fra
.me
.REG
[0])!=NIT_NULL
);
882 if (UNTAG_Bool(REGB0
)) {
884 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 153);
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 */
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
)) {
899 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
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
));
905 /* ./../lib/standard//collection//array.nit:245 */
906 REGB2
= TAG_Bool(false);
909 if (UNTAG_Bool(REGB1
)) {
911 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
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);
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 */
924 /* ./../lib/opts.nit:153 */
927 stack_frame_head
= fra
.me
.prev
;
928 return fra
.me
.REG
[1];
930 val_t
opts___OptionEnum___pretty_default(val_t p0
){
931 struct {struct stack_frame_t me
; val_t MORE_REG
[2];} fra
;
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
;
942 fra
.me
.meth
= LOCATE_opts___OptionEnum___pretty_default
;
943 fra
.me
.has_broke
= 0;
945 fra
.me
.REG
[0] = NIT_NULL
;
946 fra
.me
.REG
[1] = NIT_NULL
;
947 fra
.me
.REG
[2] = NIT_NULL
;
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
)) {
954 REGB1
= TAG_Bool(fra
.me
.REG
[1]==NIT_NULL
);
955 if (UNTAG_Bool(REGB1
)) {
956 REGB1
= TAG_Bool(false);
959 /* ./../lib/standard//kernel.nit:207 */
960 REGB1
= TAG_Bool((fra
.me
.REG
[1])==(NIT_NULL
));
961 /* ./../lib/opts.nit:157 */
965 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
966 if (UNTAG_Bool(REGB0
)) {
967 /* ./../lib/opts.nit:158 */
969 fra
.me
.REG
[1] = NEW_Array_array___Array___with_capacity(REGB0
);
971 fra
.me
.REG
[2] = BOX_NativeString(" (");
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
)) {
982 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 158);
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
)) {
989 nit_abort("Cast failed", NULL
, LOCATE_opts
, 158);
991 /* ./../lib/standard//collection//array.nit:243 */
992 REGB0
= fra
.me
.REG
[0];
993 /* ./../lib/standard//collection//array.nit:245 */
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
)) {
1002 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 245);
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
));
1008 /* ./../lib/standard//collection//array.nit:245 */
1009 REGB2
= TAG_Bool(false);
1012 if (UNTAG_Bool(REGB1
)) {
1014 nit_abort("Assert %s failed", "'index'", LOCATE_array
, 245);
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);
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 */
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(")");
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]);
1041 /* ./../lib/opts.nit:160 */
1042 if (!once_value_5
) {
1043 fra
.me
.REG
[2] = BOX_NativeString("");
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];
1054 stack_frame_head
= fra
.me
.prev
;
1055 return fra
.me
.REG
[1];
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
;
1063 if (init_table
[itpos7
]) return;
1064 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1065 fra
.me
.file
= LOCATE_opts
;
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
;
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
)) {
1081 nit_abort("Cast failed", NULL
, LOCATE_opts
, 169);
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;
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
;
1092 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1093 fra
.me
.file
= LOCATE_opts
;
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
;
1102 /* ./../lib/opts.nit:171 */
1103 REGB0
= CALL_string___AbstractString___to_i(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1106 stack_frame_head
= fra
.me
.prev
;
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
;
1114 if (init_table
[itpos8
]) return;
1115 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1116 fra
.me
.file
= LOCATE_opts
;
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
;
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
)) {
1132 nit_abort("Cast failed", NULL
, LOCATE_opts
, 178);
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
)) {
1141 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 181);
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;
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
;
1153 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1154 fra
.me
.file
= LOCATE_opts
;
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
;
1164 /* ./../lib/opts.nit:187 */
1165 REGB0
= TAG_Bool(ATTR_opts___OptionArray____values(fra
.me
.REG
[0])!=NIT_NULL
);
1166 if (UNTAG_Bool(REGB0
)) {
1168 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 187);
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
)) {
1176 nit_abort("Uninitialized attribute %s", "_values", LOCATE_opts
, 188);
1178 fra
.me
.REG
[0] = ATTR_opts___OptionArray____values(fra
.me
.REG
[0]);
1181 stack_frame_head
= fra
.me
.prev
;
1182 return fra
.me
.REG
[0];
1184 val_t
opts___OptionContext___options(val_t p0
){
1185 struct {struct stack_frame_t me
;} fra
;
1188 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1189 fra
.me
.file
= LOCATE_opts
;
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
;
1196 /* ./../lib/opts.nit:193 */
1197 REGB0
= TAG_Bool(ATTR_opts___OptionContext____options(fra
.me
.REG
[0])!=NIT_NULL
);
1198 if (UNTAG_Bool(REGB0
)) {
1200 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts
, 193);
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];
1206 val_t
opts___OptionContext___rest(val_t p0
){
1207 struct {struct stack_frame_t me
;} fra
;
1210 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1211 fra
.me
.file
= LOCATE_opts
;
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
;
1218 /* ./../lib/opts.nit:194 */
1219 REGB0
= TAG_Bool(ATTR_opts___OptionContext____rest(fra
.me
.REG
[0])!=NIT_NULL
);
1220 if (UNTAG_Bool(REGB0
)) {
1222 nit_abort("Uninitialized attribute %s", "_rest", LOCATE_opts
, 194);
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];
1228 void opts___OptionContext___usage(val_t p0
){
1229 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
1237 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1238 fra
.me
.file
= LOCATE_opts
;
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
;
1250 /* ./../lib/opts.nit:200 */
1252 /* ./../lib/opts.nit:201 */
1253 REGB1
= TAG_Bool(ATTR_opts___OptionContext____options(fra
.me
.REG
[0])!=NIT_NULL
);
1254 if (UNTAG_Bool(REGB1
)) {
1256 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts
, 201);
1258 fra
.me
.REG
[1] = ATTR_opts___OptionContext____options(fra
.me
.REG
[0]);
1259 /* ./../lib/standard//collection//array.nit:234 */
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
)) {
1265 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1276 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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 */
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 */
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
)) {
1300 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1311 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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
)) {
1329 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
1331 REGB4
= ATTR_array___AbstractArrayRead____length(fra
.me
.REG
[5]);
1332 /* ./../lib/opts.nit:204 */
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 */
1339 /* ./../lib/standard//collection//array.nit:239 */
1341 /* ./../lib/standard//kernel.nit:215 */
1342 REGB5
= TAG_Int(UNTAG_Int(REGB3
)+UNTAG_Int(REGB5
));
1343 /* ./../lib/standard//collection//array.nit:239 */
1346 /* ./../lib/standard//collection//array.nit:237 */
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
)) {
1357 /* ./../lib/standard//collection//array.nit:239 */
1359 /* ./../lib/standard//kernel.nit:215 */
1360 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1361 /* ./../lib/standard//collection//array.nit:239 */
1364 /* ./../lib/standard//collection//array.nit:237 */
1369 /* ./../lib/opts.nit:209 */
1370 REGB1
= TAG_Bool(ATTR_opts___OptionContext____options(fra
.me
.REG
[0])!=NIT_NULL
);
1371 if (UNTAG_Bool(REGB1
)) {
1373 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts
, 209);
1375 fra
.me
.REG
[2] = ATTR_opts___OptionContext____options(fra
.me
.REG
[0]);
1376 /* ./../lib/standard//collection//array.nit:234 */
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
)) {
1382 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1393 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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 */
1412 /* ./../lib/standard//kernel.nit:215 */
1413 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1414 /* ./../lib/standard//collection//array.nit:239 */
1417 /* ./../lib/standard//collection//array.nit:237 */
1422 stack_frame_head
= fra
.me
.prev
;
1425 void opts___OptionContext___parse(val_t p0
, val_t p1
){
1426 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
1428 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1429 fra
.me
.file
= LOCATE_opts
;
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
;
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
;
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
;
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
;
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
;
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
)) {
1473 nit_abort("Uninitialized attribute %s", "_rest", LOCATE_opts
, 225);
1475 fra
.me
.REG
[2] = ATTR_opts___OptionContext____rest(fra
.me
.REG
[0]);
1476 /* ./../lib/opts.nit:227 */
1478 if (UNTAG_Bool(REGB0
)) {
1479 REGB1
= CALL_abstract_collection___Iterator___is_ok(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
1481 REGB2
= TAG_Bool(false);
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("--");
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
)) {
1499 REGB2
= CALL_kernel___Object_____eqeq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
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);
1512 /* ./../lib/opts.nit:234 */
1513 REGB1
= TAG_Bool(ATTR_opts___OptionContext____optmap(fra
.me
.REG
[0])!=NIT_NULL
);
1514 if (UNTAG_Bool(REGB1
)) {
1516 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts
, 234);
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
)) {
1525 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts
, 235);
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]);
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]);
1542 /* ./../lib/opts.nit:227 */
1547 stack_frame_head
= fra
.me
.prev
;
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
;
1555 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1556 fra
.me
.file
= LOCATE_opts
;
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
;
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
)) {
1572 nit_abort("Cast failed", NULL
, LOCATE_opts
, 246);
1574 /* ./../lib/standard//collection//array.nit:234 */
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
)) {
1580 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1591 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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
)) {
1609 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts
, 249);
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 */
1615 /* ./../lib/standard//kernel.nit:215 */
1616 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1617 /* ./../lib/standard//collection//array.nit:239 */
1620 /* ./../lib/standard//collection//array.nit:237 */
1625 stack_frame_head
= fra
.me
.prev
;
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
;
1632 if (init_table
[itpos9
]) return;
1633 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1634 fra
.me
.file
= LOCATE_opts
;
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
;
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;
1655 void opts___OptionContext___build(val_t p0
){
1656 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
1661 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
1662 fra
.me
.file
= LOCATE_opts
;
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
;
1676 /* ./../lib/opts.nit:262 */
1677 REGB0
= TAG_Bool(ATTR_opts___OptionContext____options(fra
.me
.REG
[0])!=NIT_NULL
);
1678 if (UNTAG_Bool(REGB0
)) {
1680 nit_abort("Uninitialized attribute %s", "_options", LOCATE_opts
, 262);
1682 fra
.me
.REG
[1] = ATTR_opts___OptionContext____options(fra
.me
.REG
[0]);
1683 /* ./../lib/standard//collection//array.nit:234 */
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
)) {
1689 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1700 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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 */
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
)) {
1722 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 235);
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 */
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
)) {
1733 nit_abort("Uninitialized attribute %s", "_length", LOCATE_array
, 23);
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);
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
)) {
1751 nit_abort("Uninitialized attribute %s", "_optmap", LOCATE_opts
, 264);
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 */
1757 /* ./../lib/standard//kernel.nit:215 */
1758 REGB2
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB2
));
1759 /* ./../lib/standard//collection//array.nit:239 */
1762 /* ./../lib/standard//collection//array.nit:237 */
1767 /* ./../lib/standard//collection//array.nit:239 */
1769 /* ./../lib/standard//kernel.nit:215 */
1770 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
1771 /* ./../lib/standard//collection//array.nit:239 */
1774 /* ./../lib/standard//collection//array.nit:237 */
1779 stack_frame_head
= fra
.me
.prev
;