1 #include "opts.sep.0.h"
2 /* method opts#Option#names for (self: Option): Array[String] */
3 val
* opts__Option__names(val
* self
) {
4 val
* var
/* : Array[String] */;
5 val
* var1
/* : Array[String] */;
6 var1
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
9 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 19);
16 /* method opts#Option#names for (self: Object): Array[String] */
17 val
* VIRTUAL_opts__Option__names(val
* self
) {
18 val
* var
/* : Array[String] */;
19 val
* var1
/* : Array[String] */;
20 var1
= opts__Option__names(self
);
25 /* method opts#Option#helptext for (self: Option): String */
26 val
* opts__Option__helptext(val
* self
) {
27 val
* var
/* : String */;
28 val
* var1
/* : String */;
29 var1
= self
->attrs
[COLOR_opts__Option___helptext
].val
; /* _helptext on <self:Option> */
31 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _helptext");
32 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 25);
39 /* method opts#Option#helptext for (self: Object): String */
40 val
* VIRTUAL_opts__Option__helptext(val
* self
) {
41 val
* var
/* : String */;
42 val
* var1
/* : String */;
43 var1
= opts__Option__helptext(self
);
48 /* method opts#Option#errors for (self: Option): Array[String] */
49 val
* opts__Option__errors(val
* self
) {
50 val
* var
/* : Array[String] */;
51 val
* var1
/* : Array[String] */;
52 var1
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:Option> */
54 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
55 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 28);
62 /* method opts#Option#errors for (self: Object): Array[String] */
63 val
* VIRTUAL_opts__Option__errors(val
* self
) {
64 val
* var
/* : Array[String] */;
65 val
* var1
/* : Array[String] */;
66 var1
= opts__Option__errors(self
);
71 /* method opts#Option#mandatory for (self: Option): Bool */
72 short int opts__Option__mandatory(val
* self
) {
73 short int var
/* : Bool */;
74 short int var1
/* : Bool */;
75 var1
= self
->attrs
[COLOR_opts__Option___mandatory
].s
; /* _mandatory on <self:Option> */
80 /* method opts#Option#mandatory for (self: Object): Bool */
81 short int VIRTUAL_opts__Option__mandatory(val
* self
) {
82 short int var
/* : Bool */;
83 short int var1
/* : Bool */;
84 var1
= opts__Option__mandatory(self
);
89 /* method opts#Option#mandatory= for (self: Option, Bool) */
90 void opts__Option__mandatory_61d(val
* self
, short int p0
) {
91 self
->attrs
[COLOR_opts__Option___mandatory
].s
= p0
; /* _mandatory on <self:Option> */
94 /* method opts#Option#mandatory= for (self: Object, Bool) */
95 void VIRTUAL_opts__Option__mandatory_61d(val
* self
, short int p0
) {
96 opts__Option__mandatory_61d(self
, p0
);
99 /* method opts#Option#read for (self: Option): Bool */
100 short int opts__Option__read(val
* self
) {
101 short int var
/* : Bool */;
102 short int var1
/* : Bool */;
103 var1
= self
->attrs
[COLOR_opts__Option___read
].s
; /* _read on <self:Option> */
108 /* method opts#Option#read for (self: Object): Bool */
109 short int VIRTUAL_opts__Option__read(val
* self
) {
110 short int var
/* : Bool */;
111 short int var1
/* : Bool */;
112 var1
= opts__Option__read(self
);
117 /* method opts#Option#value= for (self: Option, nullable Object) */
118 void opts__Option__value_61d(val
* self
, val
* p0
) {
119 short int var
/* : Bool */;
122 const struct type
* type_struct
;
123 const char* var_class_name
;
124 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa nullable VALUE */
125 /* <p0:nullable Object> isa nullable VALUE */
126 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_opts__Option_VTVALUE
];
127 cltype
= type_struct
->color
;
128 idtype
= type_struct
->id
;
132 if(cltype
>= p0
->type
->table_size
) {
135 var
= p0
->type
->type_table
[cltype
] == idtype
;
139 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
140 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
141 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 37);
144 self
->attrs
[COLOR_opts__Option___value
].val
= p0
; /* _value on <self:Option> */
147 /* method opts#Option#value= for (self: Object, nullable Object) */
148 void VIRTUAL_opts__Option__value_61d(val
* self
, val
* p0
) {
149 opts__Option__value_61d(self
, p0
);
152 /* method opts#Option#value for (self: Option): nullable Object */
153 val
* opts__Option__value(val
* self
) {
154 val
* var
/* : nullable Object */;
155 val
* var1
/* : nullable Object */;
156 short int var2
/* : Bool */;
159 const struct type
* type_struct
;
160 short int is_nullable
;
161 const char* var_class_name
;
162 var1
= self
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <self:Option> */
163 /* <var1:nullable Object> isa VALUE */
164 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
165 cltype
= type_struct
->color
;
166 idtype
= type_struct
->id
;
167 is_nullable
= type_struct
->is_nullable
;
171 if(cltype
>= var1
->type
->table_size
) {
174 var2
= var1
->type
->type_table
[cltype
] == idtype
;
178 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
179 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
180 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 41);
188 /* method opts#Option#value for (self: Object): nullable Object */
189 val
* VIRTUAL_opts__Option__value(val
* self
) {
190 val
* var
/* : nullable Object */;
191 val
* var1
/* : nullable Object */;
192 var1
= opts__Option__value(self
);
197 /* method opts#Option#default_value for (self: Option): nullable Object */
198 val
* opts__Option__default_value(val
* self
) {
199 val
* var
/* : nullable Object */;
200 val
* var1
/* : nullable Object */;
201 var1
= self
->attrs
[COLOR_opts__Option___default_value
].val
; /* _default_value on <self:Option> */
206 /* method opts#Option#default_value for (self: Object): nullable Object */
207 val
* VIRTUAL_opts__Option__default_value(val
* self
) {
208 val
* var
/* : nullable Object */;
209 val
* var1
/* : nullable Object */;
210 var1
= opts__Option__default_value(self
);
215 /* method opts#Option#default_value= for (self: Option, nullable Object) */
216 void opts__Option__default_value_61d(val
* self
, val
* p0
) {
217 short int var
/* : Bool */;
220 const struct type
* type_struct
;
221 const char* var_class_name
;
222 /* Covariant cast for argument 0 (default_value) <p0:nullable Object> isa nullable VALUE */
223 /* <p0:nullable Object> isa nullable VALUE */
224 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_opts__Option_VTVALUE
];
225 cltype
= type_struct
->color
;
226 idtype
= type_struct
->id
;
230 if(cltype
>= p0
->type
->table_size
) {
233 var
= p0
->type
->type_table
[cltype
] == idtype
;
237 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
238 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
239 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 43);
242 self
->attrs
[COLOR_opts__Option___default_value
].val
= p0
; /* _default_value on <self:Option> */
245 /* method opts#Option#default_value= for (self: Object, nullable Object) */
246 void VIRTUAL_opts__Option__default_value_61d(val
* self
, val
* p0
) {
247 opts__Option__default_value_61d(self
, p0
);
250 /* method opts#Option#init_opt for (self: Option, String, nullable Object, nullable Array[String]) */
251 void opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
252 short int var
/* : Bool */;
255 const struct type
* type_struct
;
256 const char* var_class_name
;
257 val
* var_help
/* var help: String */;
258 val
* var_default
/* var default: nullable Object */;
259 val
* var_names
/* var names: nullable Array[String] */;
260 val
* var1
/* : null */;
261 short int var2
/* : Bool */;
262 val
* var3
/* : Array[String] */;
263 val
* var4
/* : Array[nullable Object] */;
264 short int var5
/* : Bool */;
265 short int var6
/* : Bool */;
266 val
* var7
/* : Array[String] */;
267 /* Covariant cast for argument 1 (default) <p1:nullable Object> isa nullable VALUE */
268 /* <p1:nullable Object> isa nullable VALUE */
269 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_opts__Option_VTVALUE
];
270 cltype
= type_struct
->color
;
271 idtype
= type_struct
->id
;
275 if(cltype
>= p1
->type
->table_size
) {
278 var
= p1
->type
->type_table
[cltype
] == idtype
;
282 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
283 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
284 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 46);
291 if (var_names
== NULL
) {
292 var2
= 1; /* is null */
294 var2
= 0; /* arg is null but recv is not */
297 var3
= NEW_array__Array(&type_array__Arraystring__String
);
298 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
299 self
->attrs
[COLOR_opts__Option___names
].val
= var3
; /* _names on <self:Option> */
301 var4
= ((val
* (*)(val
*))(var_names
->class->vft
[COLOR_array__Collection__to_a
]))(var_names
) /* to_a on <var_names:nullable Array[String](Array[String])>*/;
302 self
->attrs
[COLOR_opts__Option___names
].val
= var4
; /* _names on <self:Option> */
304 self
->attrs
[COLOR_opts__Option___helptext
].val
= var_help
; /* _helptext on <self:Option> */
306 self
->attrs
[COLOR_opts__Option___mandatory
].s
= var5
; /* _mandatory on <self:Option> */
308 self
->attrs
[COLOR_opts__Option___read
].s
= var6
; /* _read on <self:Option> */
309 self
->attrs
[COLOR_opts__Option___default_value
].val
= var_default
; /* _default_value on <self:Option> */
310 self
->attrs
[COLOR_opts__Option___value
].val
= var_default
; /* _value on <self:Option> */
311 var7
= NEW_array__Array(&type_array__Arraystring__String
);
312 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[String]>*/;
313 self
->attrs
[COLOR_opts__Option___errors
].val
= var7
; /* _errors on <self:Option> */
316 /* method opts#Option#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
317 void VIRTUAL_opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
318 opts__Option__init_opt(self
, p0
, p1
, p2
);
321 /* method opts#Option#add_aliases for (self: Option, Array[String]) */
322 void opts__Option__add_aliases(val
* self
, val
* p0
) {
323 val
* var_names
/* var names: Array[String] */;
324 val
* var
/* : Array[String] */;
326 var
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
328 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
329 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 63);
332 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var
, var_names
) /* add_all on <var:Array[String]>*/;
335 /* method opts#Option#add_aliases for (self: Object, Array[String]) */
336 void VIRTUAL_opts__Option__add_aliases(val
* self
, val
* p0
) {
337 opts__Option__add_aliases(self
, p0
);
340 /* method opts#Option#to_s for (self: Option): String */
341 val
* opts__Option__to_s(val
* self
) {
342 val
* var
/* : String */;
343 long var1
/* : Int */;
344 val
* var2
/* : String */;
346 var2
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_opts__Option__pretty
]))(self
, var1
) /* pretty on <self:Option>*/;
352 /* method opts#Option#to_s for (self: Object): String */
353 val
* VIRTUAL_opts__Option__to_s(val
* self
) {
354 val
* var
/* : String */;
355 val
* var1
/* : String */;
356 var1
= opts__Option__to_s(self
);
361 /* method opts#Option#pretty for (self: Option, Int): String */
362 val
* opts__Option__pretty(val
* self
, long p0
) {
363 val
* var
/* : String */;
364 long var_off
/* var off: Int */;
365 val
* var1
/* : Buffer */;
367 val
* var2
/* : String */;
368 char* var3
/* : NativeString */;
369 long var4
/* : Int */;
370 val
* var5
/* : String */;
371 val
* var_text
/* var text: Buffer */;
372 val
* var6
/* : Array[String] */;
373 static val
* varonce7
;
374 val
* var8
/* : String */;
375 char* var9
/* : NativeString */;
376 long var10
/* : Int */;
377 val
* var11
/* : String */;
378 val
* var12
/* : String */;
379 static val
* varonce13
;
380 val
* var14
/* : String */;
381 char* var15
/* : NativeString */;
382 long var16
/* : Int */;
383 val
* var17
/* : String */;
384 long var18
/* : Int */;
385 long var19
/* : Int */;
386 long var21
/* : Int */;
387 long var_rest
/* var rest: Int */;
388 long var22
/* : Int */;
389 short int var23
/* : Bool */;
390 short int var25
/* : Bool */;
393 const char* var_class_name
;
394 short int var26
/* : Bool */;
395 static val
* varonce27
;
396 val
* var28
/* : String */;
397 char* var29
/* : NativeString */;
398 long var30
/* : Int */;
399 val
* var31
/* : String */;
400 val
* var32
/* : String */;
401 val
* var33
/* : String */;
402 val
* var34
/* : String */;
404 var1
= NEW_string__Buffer(&type_string__Buffer
);
410 var5
= string__NativeString__to_s_with_length(var3
, var4
);
414 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__Buffer__from
]))(var1
, var2
) /* from on <var1:Buffer>*/;
416 var6
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
418 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
419 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 72);
427 var11
= string__NativeString__to_s_with_length(var9
, var10
);
431 var12
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_string__Collection__join
]))(var6
, var8
) /* join on <var6:Array[String]>*/;
432 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var12
) /* append on <var_text:Buffer>*/;
438 var17
= string__NativeString__to_s_with_length(var15
, var16
);
442 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var14
) /* append on <var_text:Buffer>*/;
443 var18
= ((long (*)(val
*))(var_text
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_text
) /* length on <var_text:Buffer>*/;
444 { /* Inline kernel#Int#- (var_off,var18) */
445 var21
= var_off
- var18
;
452 { /* Inline kernel#Int#> (var_rest,var22) */
453 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
454 /* <var22:Int> isa OTHER */
455 var25
= 1; /* easy <var22:Int> isa OTHER*/
457 var_class_name
= type_kernel__Int
.name
;
458 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
459 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
462 var26
= var_rest
> var22
;
473 var31
= string__NativeString__to_s_with_length(var29
, var30
);
477 var32
= ((val
* (*)(val
*, long))(var28
->class->vft
[COLOR_string__String___42d
]))(var28
, var_rest
) /* * on <var28:String>*/;
478 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var32
) /* append on <var_text:Buffer>*/;
481 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:Option>*/;
482 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var33
) /* append on <var_text:Buffer>*/;
483 var34
= ((val
* (*)(val
*))(var_text
->class->vft
[COLOR_string__Object__to_s
]))(var_text
) /* to_s on <var_text:Buffer>*/;
489 /* method opts#Option#pretty for (self: Object, Int): String */
490 val
* VIRTUAL_opts__Option__pretty(val
* self
, long p0
) {
491 val
* var
/* : String */;
492 val
* var1
/* : String */;
493 var1
= opts__Option__pretty(self
, p0
);
498 /* method opts#Option#pretty_default for (self: Option): String */
499 val
* opts__Option__pretty_default(val
* self
) {
500 val
* var
/* : String */;
501 val
* var1
/* : nullable Object */;
502 val
* var_dv
/* var dv: nullable Object */;
503 val
* var2
/* : null */;
504 short int var3
/* : Bool */;
505 val
* var4
/* : Array[Object] */;
506 long var5
/* : Int */;
507 val
* var_
/* var : Array[Object] */;
509 val
* var6
/* : String */;
510 char* var7
/* : NativeString */;
511 long var8
/* : Int */;
512 val
* var9
/* : String */;
513 static val
* varonce10
;
514 val
* var11
/* : String */;
515 char* var12
/* : NativeString */;
516 long var13
/* : Int */;
517 val
* var14
/* : String */;
518 val
* var15
/* : String */;
519 static val
* varonce16
;
520 val
* var17
/* : String */;
521 char* var18
/* : NativeString */;
522 long var19
/* : Int */;
523 val
* var20
/* : String */;
524 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:Option>*/;
527 if (var_dv
== NULL
) {
528 var3
= 0; /* is null */
530 var3
= 1; /* arg is null and recv is not */
533 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
535 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
542 var9
= string__NativeString__to_s_with_length(var7
, var8
);
546 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
547 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_dv
) /* add on <var_:Array[Object]>*/;
553 var14
= string__NativeString__to_s_with_length(var12
, var13
);
557 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
558 var15
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
568 var20
= string__NativeString__to_s_with_length(var18
, var19
);
577 /* method opts#Option#pretty_default for (self: Object): String */
578 val
* VIRTUAL_opts__Option__pretty_default(val
* self
) {
579 val
* var
/* : String */;
580 val
* var1
/* : String */;
581 var1
= opts__Option__pretty_default(self
);
586 /* method opts#Option#read_param for (self: Option, Iterator[String]) */
587 void opts__Option__read_param(val
* self
, val
* p0
) {
588 val
* var_it
/* var it: Iterator[String] */;
589 short int var
/* : Bool */;
592 self
->attrs
[COLOR_opts__Option___read
].s
= var
; /* _read on <self:Option> */
595 /* method opts#Option#read_param for (self: Object, Iterator[String]) */
596 void VIRTUAL_opts__Option__read_param(val
* self
, val
* p0
) {
597 opts__Option__read_param(self
, p0
);
600 /* method opts#OptionText#init for (self: OptionText, String) */
601 void opts__OptionText__init(val
* self
, val
* p0
) {
602 val
* var_text
/* var text: String */;
603 val
* var
/* : null */;
604 val
* var1
/* : null */;
608 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_text
, var
, var1
) /* init_opt on <self:OptionText>*/;
611 /* method opts#OptionText#init for (self: Object, String) */
612 void VIRTUAL_opts__OptionText__init(val
* self
, val
* p0
) {
613 opts__OptionText__init(self
, p0
);
616 /* method opts#OptionText#pretty for (self: OptionText, Int): String */
617 val
* opts__OptionText__pretty(val
* self
, long p0
) {
618 val
* var
/* : String */;
619 long var_off
/* var off: Int */;
620 val
* var1
/* : String */;
622 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:OptionText>*/;
628 /* method opts#OptionText#pretty for (self: Object, Int): String */
629 val
* VIRTUAL_opts__OptionText__pretty(val
* self
, long p0
) {
630 val
* var
/* : String */;
631 val
* var1
/* : String */;
632 var1
= opts__OptionText__pretty(self
, p0
);
637 /* method opts#OptionText#to_s for (self: OptionText): String */
638 val
* opts__OptionText__to_s(val
* self
) {
639 val
* var
/* : String */;
640 val
* var1
/* : String */;
641 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:OptionText>*/;
647 /* method opts#OptionText#to_s for (self: Object): String */
648 val
* VIRTUAL_opts__OptionText__to_s(val
* self
) {
649 val
* var
/* : String */;
650 val
* var1
/* : String */;
651 var1
= opts__OptionText__to_s(self
);
656 /* method opts#OptionBool#init for (self: OptionBool, String, Array[String]) */
657 void opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
658 val
* var_help
/* var help: String */;
659 val
* var_names
/* var names: Array[String] */;
660 short int var
/* : Bool */;
661 val
* var1
/* : nullable Object */;
665 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
666 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionBool>*/;
669 /* method opts#OptionBool#init for (self: Object, String, Array[String]) */
670 void VIRTUAL_opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
671 opts__OptionBool__init(self
, p0
, p1
);
674 /* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */
675 void opts__OptionBool__read_param(val
* self
, val
* p0
) {
676 val
* var_it
/* var it: Iterator[String] */;
677 short int var
/* : Bool */;
678 val
* var1
/* : nullable Object */;
680 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionBool__read_param
]))(self
, p0
) /* read_param on <self:OptionBool>*/;
682 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
683 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var1
) /* value= on <self:OptionBool>*/;
686 /* method opts#OptionBool#read_param for (self: Object, Iterator[String]) */
687 void VIRTUAL_opts__OptionBool__read_param(val
* self
, val
* p0
) {
688 opts__OptionBool__read_param(self
, p0
);
691 /* method opts#OptionCount#init for (self: OptionCount, String, Array[String]) */
692 void opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
693 val
* var_help
/* var help: String */;
694 val
* var_names
/* var names: Array[String] */;
695 long var
/* : Int */;
696 val
* var1
/* : nullable Object */;
700 var1
= BOX_kernel__Int(var
); /* autobox from Int to nullable Object */
701 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionCount>*/;
704 /* method opts#OptionCount#init for (self: Object, String, Array[String]) */
705 void VIRTUAL_opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
706 opts__OptionCount__init(self
, p0
, p1
);
709 /* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */
710 void opts__OptionCount__read_param(val
* self
, val
* p0
) {
711 val
* var_it
/* var it: Iterator[String] */;
712 val
* var_
/* var : OptionCount */;
713 val
* var
/* : nullable Object */;
714 long var1
/* : Int */;
715 long var2
/* : Int */;
716 long var4
/* : Int */;
717 long var5
/* : Int */;
718 val
* var6
/* : nullable Object */;
720 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionCount__read_param
]))(self
, p0
) /* read_param on <self:OptionCount>*/;
722 var
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_opts__Option__value
]))(var_
) /* value on <var_:OptionCount>*/;
724 { /* Inline kernel#Int#+ (var,var1) */
725 var4
= ((struct instance_kernel__Int
*)var
)->value
; /* autounbox from nullable Object to Int */;
731 var6
= BOX_kernel__Int(var2
); /* autobox from Int to nullable Object */
732 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_opts__Option__value_61d
]))(var_
, var6
) /* value= on <var_:OptionCount>*/;
735 /* method opts#OptionCount#read_param for (self: Object, Iterator[String]) */
736 void VIRTUAL_opts__OptionCount__read_param(val
* self
, val
* p0
) {
737 opts__OptionCount__read_param(self
, p0
);
740 /* method opts#OptionParameter#convert for (self: OptionParameter, String): nullable Object */
741 val
* opts__OptionParameter__convert(val
* self
, val
* p0
) {
742 val
* var
/* : nullable Object */;
743 const char* var_class_name
;
744 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
745 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "convert", var_class_name
);
746 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 133);
751 /* method opts#OptionParameter#convert for (self: Object, String): nullable Object */
752 val
* VIRTUAL_opts__OptionParameter__convert(val
* self
, val
* p0
) {
753 val
* var
/* : nullable Object */;
754 val
* var1
/* : nullable Object */;
755 var1
= opts__OptionParameter__convert(self
, p0
);
760 /* method opts#OptionParameter#parameter_mandatory for (self: OptionParameter): Bool */
761 short int opts__OptionParameter__parameter_mandatory(val
* self
) {
762 short int var
/* : Bool */;
763 short int var1
/* : Bool */;
764 var1
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
769 /* method opts#OptionParameter#parameter_mandatory for (self: Object): Bool */
770 short int VIRTUAL_opts__OptionParameter__parameter_mandatory(val
* self
) {
771 short int var
/* : Bool */;
772 short int var1
/* : Bool */;
773 var1
= opts__OptionParameter__parameter_mandatory(self
);
778 /* method opts#OptionParameter#parameter_mandatory= for (self: OptionParameter, Bool) */
779 void opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
780 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= p0
; /* _parameter_mandatory on <self:OptionParameter> */
783 /* method opts#OptionParameter#parameter_mandatory= for (self: Object, Bool) */
784 void VIRTUAL_opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
785 opts__OptionParameter__parameter_mandatory_61d(self
, p0
);
788 /* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */
789 void opts__OptionParameter__read_param(val
* self
, val
* p0
) {
790 val
* var_it
/* var it: Iterator[String] */;
791 short int var
/* : Bool */;
792 short int var1
/* : Bool */;
793 short int var_
/* var : Bool */;
794 val
* var2
/* : nullable Object */;
795 val
* var3
/* : StringCharView */;
796 val
* var4
/* : nullable Object */;
797 char var5
/* : Char */;
798 short int var6
/* : Bool */;
799 short int var8
/* : Bool */;
800 char var9
/* : Char */;
801 short int var10
/* : Bool */;
802 val
* var11
/* : nullable Object */;
803 val
* var12
/* : nullable Object */;
804 short int var13
/* : Bool */;
805 val
* var14
/* : Array[String] */;
807 val
* var15
/* : String */;
808 char* var16
/* : NativeString */;
809 long var17
/* : Int */;
810 val
* var18
/* : String */;
811 val
* var19
/* : Array[String] */;
812 val
* var20
/* : nullable Object */;
813 static val
* varonce21
;
814 val
* var22
/* : String */;
815 char* var23
/* : NativeString */;
816 long var24
/* : Int */;
817 val
* var25
/* : String */;
818 val
* var26
/* : Array[Object] */;
819 long var27
/* : Int */;
820 val
* var28
/* : NativeArray[Object] */;
821 val
* var29
/* : String */;
823 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__read_param
]))(self
, p0
) /* read_param on <self:OptionParameter>*/;
824 var1
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
827 var2
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
828 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_string__AbstractString__chars
]))(var2
) /* chars on <var2:nullable Object(String)>*/;
829 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var3
) /* first on <var3:StringCharView>*/;
831 { /* Inline kernel#Char#!= (var4,var5) */
832 var8
= (var4
!= NULL
) && (var4
->class == &class_kernel__Char
);
834 var9
= ((struct instance_kernel__Char
*)var4
)->value
; /* autounbox from nullable Object to Char */;
835 var8
= (var9
== var5
);
847 var11
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
848 var12
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__convert
]))(self
, var11
) /* convert on <self:OptionParameter>*/;
849 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var12
) /* value= on <self:OptionParameter>*/;
850 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
852 var13
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
854 var14
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionParameter> */
856 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
857 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 146);
863 var16
= "Parameter expected for option ";
865 var18
= string__NativeString__to_s_with_length(var16
, var17
);
869 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__names
]))(self
) /* names on <self:OptionParameter>*/;
870 var20
= ((val
* (*)(val
*))(var19
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var19
) /* first on <var19:Array[String]>*/;
876 var25
= string__NativeString__to_s_with_length(var23
, var24
);
880 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
881 { /* var26 = array_instance Array[Object] */
883 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArraykernel__Object
);
884 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var15
;
885 ((struct instance_array__NativeArray
*)var28
)->values
[1] = (val
*) var20
;
886 ((struct instance_array__NativeArray
*)var28
)->values
[2] = (val
*) var22
;
887 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Object]>*/;
889 var29
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_string__Object__to_s
]))(var26
) /* to_s on <var26:Array[Object]>*/;
890 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var14
, var29
) /* add on <var14:Array[String]>*/;
896 /* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */
897 void VIRTUAL_opts__OptionParameter__read_param(val
* self
, val
* p0
) {
898 opts__OptionParameter__read_param(self
, p0
);
901 /* method opts#OptionParameter#init_opt for (self: OptionParameter, String, nullable Object, nullable Array[String]) */
902 void opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
903 short int var
/* : Bool */;
906 const struct type
* type_struct
;
907 const char* var_class_name
;
908 val
* var_h
/* var h: String */;
909 val
* var_d
/* var d: nullable Object */;
910 val
* var_n
/* var n: nullable Array[String] */;
911 short int var1
/* : Bool */;
912 /* Covariant cast for argument 1 (d) <p1:nullable Object> isa nullable VALUE */
913 /* <p1:nullable Object> isa nullable VALUE */
914 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_opts__Option_VTVALUE
];
915 cltype
= type_struct
->color
;
916 idtype
= type_struct
->id
;
920 if(cltype
>= p1
->type
->table_size
) {
923 var
= p1
->type
->type_table
[cltype
] == idtype
;
927 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
928 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
929 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 151);
935 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, p0
, p1
, p2
) /* init_opt on <self:OptionParameter>*/;
937 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= var1
; /* _parameter_mandatory on <self:OptionParameter> */
940 /* method opts#OptionParameter#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
941 void VIRTUAL_opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
942 opts__OptionParameter__init_opt(self
, p0
, p1
, p2
);
945 /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */
946 void opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
947 val
* var_help
/* var help: String */;
948 val
* var_names
/* var names: Array[String] */;
949 val
* var
/* : null */;
953 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionString>*/;
956 /* method opts#OptionString#init for (self: Object, String, Array[String]) */
957 void VIRTUAL_opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
958 opts__OptionString__init(self
, p0
, p1
);
961 /* method opts#OptionString#convert for (self: OptionString, String): nullable String */
962 val
* opts__OptionString__convert(val
* self
, val
* p0
) {
963 val
* var
/* : nullable String */;
964 val
* var_str
/* var str: String */;
965 short int var1
/* : Bool */;
968 const struct type
* type_struct
;
969 const char* var_class_name
;
971 /* <var_str:String> isa VALUE */
972 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
973 cltype
= type_struct
->color
;
974 idtype
= type_struct
->id
;
975 if(cltype
>= var_str
->type
->table_size
) {
978 var1
= var_str
->type
->type_table
[cltype
] == idtype
;
981 var_class_name
= var_str
== NULL ?
"null" : var_str
->type
->name
;
982 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
983 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 164);
991 /* method opts#OptionString#convert for (self: Object, String): nullable Object */
992 val
* VIRTUAL_opts__OptionString__convert(val
* self
, val
* p0
) {
993 val
* var
/* : nullable Object */;
994 val
* var1
/* : nullable String */;
995 var1
= opts__OptionString__convert(self
, p0
);
1000 /* method opts#OptionEnum#init for (self: OptionEnum, Array[String], String, Int, Array[String]) */
1001 void opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1002 val
* var_values
/* var values: Array[String] */;
1003 val
* var_help
/* var help: String */;
1004 long var_default
/* var default: Int */;
1005 val
* var_names
/* var names: Array[String] */;
1006 long var
/* : Int */;
1007 long var1
/* : Int */;
1008 short int var2
/* : Bool */;
1009 short int var4
/* : Bool */;
1012 const char* var_class_name
;
1013 short int var5
/* : Bool */;
1014 val
* var6
/* : Array[nullable Object] */;
1015 static val
* varonce
;
1016 val
* var7
/* : String */;
1017 char* var8
/* : NativeString */;
1018 long var9
/* : Int */;
1019 val
* var10
/* : String */;
1020 static val
* varonce11
;
1021 val
* var12
/* : String */;
1022 char* var13
/* : NativeString */;
1023 long var14
/* : Int */;
1024 val
* var15
/* : String */;
1025 val
* var16
/* : String */;
1026 static val
* varonce17
;
1027 val
* var18
/* : String */;
1028 char* var19
/* : NativeString */;
1029 long var20
/* : Int */;
1030 val
* var21
/* : String */;
1031 val
* var22
/* : Array[Object] */;
1032 long var23
/* : Int */;
1033 val
* var24
/* : NativeArray[Object] */;
1034 val
* var25
/* : String */;
1035 val
* var26
/* : nullable Object */;
1040 var
= ((long (*)(val
*))(var_values
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_values
) /* length on <var_values:Array[String]>*/;
1042 { /* Inline kernel#Int#> (var,var1) */
1043 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1044 /* <var1:Int> isa OTHER */
1045 var4
= 1; /* easy <var1:Int> isa OTHER*/
1047 var_class_name
= type_kernel__Int
.name
;
1048 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1049 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
1058 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1059 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 174);
1062 var6
= ((val
* (*)(val
*))(var_values
->class->vft
[COLOR_array__Collection__to_a
]))(var_values
) /* to_a on <var_values:Array[String]>*/;
1063 self
->attrs
[COLOR_opts__OptionEnum___values
].val
= var6
; /* _values on <self:OptionEnum> */
1069 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1078 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1082 var16
= ((val
* (*)(val
*, val
*))(var_values
->class->vft
[COLOR_string__Collection__join
]))(var_values
, var12
) /* join on <var_values:Array[String]>*/;
1088 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1092 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1093 { /* var22 = array_instance Array[Object] */
1095 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1096 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var_help
;
1097 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var7
;
1098 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var16
;
1099 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var18
;
1100 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1102 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1103 var26
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1104 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var25
, var26
, var_names
) /* init_opt on <self:OptionEnum>*/;
1107 /* method opts#OptionEnum#init for (self: Object, Array[String], String, Int, Array[String]) */
1108 void VIRTUAL_opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1109 opts__OptionEnum__init(self
, p0
, p1
, p2
, p3
);
1112 /* method opts#OptionEnum#convert for (self: OptionEnum, String): Int */
1113 long opts__OptionEnum__convert(val
* self
, val
* p0
) {
1114 long var
/* : Int */;
1115 val
* var_str
/* var str: String */;
1116 val
* var1
/* : Array[String] */;
1117 long var2
/* : Int */;
1118 long var_id
/* var id: Int */;
1119 long var3
/* : Int */;
1120 long var4
/* : Int */;
1121 long var6
/* : Int */;
1122 short int var7
/* : Bool */;
1123 short int var9
/* : Bool */;
1124 val
* var10
/* : Array[Object] */;
1125 long var11
/* : Int */;
1126 val
* var_
/* var : Array[Object] */;
1127 static val
* varonce
;
1128 val
* var12
/* : String */;
1129 char* var13
/* : NativeString */;
1130 long var14
/* : Int */;
1131 val
* var15
/* : String */;
1132 val
* var16
/* : Array[String] */;
1133 static val
* varonce17
;
1134 val
* var18
/* : String */;
1135 char* var19
/* : NativeString */;
1136 long var20
/* : Int */;
1137 val
* var21
/* : String */;
1138 val
* var22
/* : String */;
1139 static val
* varonce23
;
1140 val
* var24
/* : String */;
1141 char* var25
/* : NativeString */;
1142 long var26
/* : Int */;
1143 val
* var27
/* : String */;
1144 val
* var28
/* : String */;
1145 val
* var_e
/* var e: String */;
1146 val
* var29
/* : Array[Object] */;
1147 long var30
/* : Int */;
1148 val
* var_31
/* var : Array[Object] */;
1149 static val
* varonce32
;
1150 val
* var33
/* : String */;
1151 char* var34
/* : NativeString */;
1152 long var35
/* : Int */;
1153 val
* var36
/* : String */;
1154 val
* var37
/* : Array[String] */;
1155 static val
* varonce38
;
1156 val
* var39
/* : String */;
1157 char* var40
/* : NativeString */;
1158 long var41
/* : Int */;
1159 val
* var42
/* : String */;
1160 val
* var43
/* : String */;
1161 static val
* varonce44
;
1162 val
* var45
/* : String */;
1163 char* var46
/* : NativeString */;
1164 long var47
/* : Int */;
1165 val
* var48
/* : String */;
1166 val
* var49
/* : String */;
1167 val
* var50
/* : String */;
1168 val
* var51
/* : Array[String] */;
1170 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1172 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1173 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 181);
1176 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_str
) /* index_of on <var1:Array[String]>*/;
1179 { /* Inline kernel#Int#unary - (var3) */
1185 { /* Inline kernel#Int#== (var_id,var4) */
1186 var9
= var_id
== var4
;
1192 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1194 ((void (*)(val
*, long))(var10
->class->vft
[COLOR_array__Array__with_capacity
]))(var10
, var11
) /* with_capacity on <var10:Array[Object]>*/;
1199 var13
= "Unrecognized value for option ";
1201 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1205 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1206 var16
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:OptionEnum> */
1207 if (var16
== NULL
) {
1208 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
1209 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 183);
1217 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1221 var22
= ((val
* (*)(val
*, val
*))(var16
->class->vft
[COLOR_string__Collection__join
]))(var16
, var18
) /* join on <var16:Array[String]>*/;
1222 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1228 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1232 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
1233 var28
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1235 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1237 ((void (*)(val
*, long))(var29
->class->vft
[COLOR_array__Array__with_capacity
]))(var29
, var30
) /* with_capacity on <var29:Array[Object]>*/;
1242 var34
= "Expected values are: ";
1244 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1248 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var33
) /* add on <var_31:Array[Object]>*/;
1249 var37
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1250 if (var37
== NULL
) {
1251 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1252 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 184);
1260 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1264 var43
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_string__Collection__join
]))(var37
, var39
) /* join on <var37:Array[String]>*/;
1265 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var43
) /* add on <var_31:Array[Object]>*/;
1271 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1275 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var45
) /* add on <var_31:Array[Object]>*/;
1276 var49
= ((val
* (*)(val
*))(var_31
->class->vft
[COLOR_string__Object__to_s
]))(var_31
) /* to_s on <var_31:Array[Object]>*/;
1277 var50
= ((val
* (*)(val
*, val
*))(var_e
->class->vft
[COLOR_string__String___43d
]))(var_e
, var49
) /* + on <var_e:String>*/;
1279 var51
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionEnum> */
1280 if (var51
== NULL
) {
1281 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1282 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 185);
1285 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var51
, var_e
) /* add on <var51:Array[String]>*/;
1293 /* method opts#OptionEnum#convert for (self: Object, String): nullable Object */
1294 val
* VIRTUAL_opts__OptionEnum__convert(val
* self
, val
* p0
) {
1295 val
* var
/* : nullable Object */;
1296 long var1
/* : Int */;
1297 val
* var2
/* : nullable Object */;
1298 var1
= opts__OptionEnum__convert(self
, p0
);
1299 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1304 /* method opts#OptionEnum#value_name for (self: OptionEnum): String */
1305 val
* opts__OptionEnum__value_name(val
* self
) {
1306 val
* var
/* : String */;
1307 val
* var1
/* : Array[String] */;
1308 val
* var2
/* : nullable Object */;
1309 val
* var3
/* : nullable Object */;
1310 long var4
/* : Int */;
1311 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1313 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1314 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 190);
1317 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__value
]))(self
) /* value on <self:OptionEnum>*/;
1318 var4
= ((struct instance_kernel__Int
*)var2
)->value
; /* autounbox from nullable Object to Int */;
1319 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var4
) /* [] on <var1:Array[String]>*/;
1325 /* method opts#OptionEnum#value_name for (self: Object): String */
1326 val
* VIRTUAL_opts__OptionEnum__value_name(val
* self
) {
1327 val
* var
/* : String */;
1328 val
* var1
/* : String */;
1329 var1
= opts__OptionEnum__value_name(self
);
1334 /* method opts#OptionEnum#pretty_default for (self: OptionEnum): String */
1335 val
* opts__OptionEnum__pretty_default(val
* self
) {
1336 val
* var
/* : String */;
1337 val
* var1
/* : nullable Object */;
1338 val
* var2
/* : null */;
1339 short int var3
/* : Bool */;
1340 val
* var4
/* : Array[Object] */;
1341 long var5
/* : Int */;
1342 val
* var_
/* var : Array[Object] */;
1343 static val
* varonce
;
1344 val
* var6
/* : String */;
1345 char* var7
/* : NativeString */;
1346 long var8
/* : Int */;
1347 val
* var9
/* : String */;
1348 val
* var10
/* : Array[String] */;
1349 val
* var11
/* : nullable Object */;
1350 val
* var12
/* : nullable Object */;
1351 long var13
/* : Int */;
1352 static val
* varonce14
;
1353 val
* var15
/* : String */;
1354 char* var16
/* : NativeString */;
1355 long var17
/* : Int */;
1356 val
* var18
/* : String */;
1357 val
* var19
/* : String */;
1358 static val
* varonce20
;
1359 val
* var21
/* : String */;
1360 char* var22
/* : NativeString */;
1361 long var23
/* : Int */;
1362 val
* var24
/* : String */;
1363 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1366 var3
= 0; /* is null */
1368 var3
= 1; /* arg is null and recv is not */
1371 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1373 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
1380 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1384 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
1385 var10
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1386 if (var10
== NULL
) {
1387 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1388 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1391 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1392 if (var11
== NULL
) {
1393 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1394 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1397 var13
= ((struct instance_kernel__Int
*)var11
)->value
; /* autounbox from nullable Int to Int */;
1398 var12
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var13
) /* [] on <var10:Array[String]>*/;
1399 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1405 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1409 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
1410 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1419 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1429 /* method opts#OptionEnum#pretty_default for (self: Object): String */
1430 val
* VIRTUAL_opts__OptionEnum__pretty_default(val
* self
) {
1431 val
* var
/* : String */;
1432 val
* var1
/* : String */;
1433 var1
= opts__OptionEnum__pretty_default(self
);
1438 /* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */
1439 void opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1440 val
* var_help
/* var help: String */;
1441 long var_default
/* var default: Int */;
1442 val
* var_names
/* var names: Array[String] */;
1443 val
* var
/* : nullable Object */;
1447 var
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1448 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionInt>*/;
1451 /* method opts#OptionInt#init for (self: Object, String, Int, Array[String]) */
1452 void VIRTUAL_opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1453 opts__OptionInt__init(self
, p0
, p1
, p2
);
1456 /* method opts#OptionInt#convert for (self: OptionInt, String): Int */
1457 long opts__OptionInt__convert(val
* self
, val
* p0
) {
1458 long var
/* : Int */;
1459 val
* var_str
/* var str: String */;
1460 long var1
/* : Int */;
1462 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__to_i
]))(var_str
) /* to_i on <var_str:String>*/;
1468 /* method opts#OptionInt#convert for (self: Object, String): nullable Object */
1469 val
* VIRTUAL_opts__OptionInt__convert(val
* self
, val
* p0
) {
1470 val
* var
/* : nullable Object */;
1471 long var1
/* : Int */;
1472 val
* var2
/* : nullable Object */;
1473 var1
= opts__OptionInt__convert(self
, p0
);
1474 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1479 /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */
1480 void opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1481 val
* var_help
/* var help: String */;
1482 val
* var_names
/* var names: Array[String] */;
1483 val
* var
/* : Array[String] */;
1484 val
* var1
/* : Array[String] */;
1485 short int var2
/* : Bool */;
1488 const struct type
* type_struct
;
1489 const char* var_class_name
;
1492 var
= NEW_array__Array(&type_array__Arraystring__String
);
1493 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[String]>*/;
1494 self
->attrs
[COLOR_opts__OptionArray___values
].val
= var
; /* _values on <self:OptionArray> */
1495 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1497 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1498 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1501 /* <var1:Array[String]> isa nullable VALUE */
1502 type_struct
= self
->type
->resolution_table
->types
[COLOR_nullable_opts__Option_VTVALUE
];
1503 cltype
= type_struct
->color
;
1504 idtype
= type_struct
->id
;
1505 if(cltype
>= var1
->type
->table_size
) {
1508 var2
= var1
->type
->type_table
[cltype
] == idtype
;
1511 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
1512 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
1513 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1516 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionArray>*/;
1519 /* method opts#OptionArray#init for (self: Object, String, Array[String]) */
1520 void VIRTUAL_opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1521 opts__OptionArray__init(self
, p0
, p1
);
1524 /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */
1525 val
* opts__OptionArray__convert(val
* self
, val
* p0
) {
1526 val
* var
/* : Array[String] */;
1527 val
* var_str
/* var str: String */;
1528 val
* var1
/* : Array[String] */;
1529 val
* var2
/* : Array[String] */;
1530 short int var3
/* : Bool */;
1533 const struct type
* type_struct
;
1534 const char* var_class_name
;
1536 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1538 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1539 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 224);
1542 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_str
) /* add on <var1:Array[String]>*/;
1543 var2
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1545 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1546 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1549 /* <var2:Array[String]> isa VALUE */
1550 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1551 cltype
= type_struct
->color
;
1552 idtype
= type_struct
->id
;
1553 if(cltype
>= var2
->type
->table_size
) {
1556 var3
= var2
->type
->type_table
[cltype
] == idtype
;
1559 var_class_name
= var2
== NULL ?
"null" : var2
->type
->name
;
1560 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1561 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1569 /* method opts#OptionArray#convert for (self: Object, String): nullable Object */
1570 val
* VIRTUAL_opts__OptionArray__convert(val
* self
, val
* p0
) {
1571 val
* var
/* : nullable Object */;
1572 val
* var1
/* : Array[String] */;
1573 var1
= opts__OptionArray__convert(self
, p0
);
1578 /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */
1579 val
* opts__OptionContext__options(val
* self
) {
1580 val
* var
/* : Array[Option] */;
1581 val
* var1
/* : Array[Option] */;
1582 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1584 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1585 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 230);
1592 /* method opts#OptionContext#options for (self: Object): Array[Option] */
1593 val
* VIRTUAL_opts__OptionContext__options(val
* self
) {
1594 val
* var
/* : Array[Option] */;
1595 val
* var1
/* : Array[Option] */;
1596 var1
= opts__OptionContext__options(self
);
1601 /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */
1602 val
* opts__OptionContext__rest(val
* self
) {
1603 val
* var
/* : Array[String] */;
1604 val
* var1
/* : Array[String] */;
1605 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1607 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1608 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 231);
1615 /* method opts#OptionContext#rest for (self: Object): Array[String] */
1616 val
* VIRTUAL_opts__OptionContext__rest(val
* self
) {
1617 val
* var
/* : Array[String] */;
1618 val
* var1
/* : Array[String] */;
1619 var1
= opts__OptionContext__rest(self
);
1624 /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */
1625 val
* opts__OptionContext__errors(val
* self
) {
1626 val
* var
/* : Array[String] */;
1627 val
* var1
/* : Array[String] */;
1628 var1
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
1630 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1631 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 232);
1638 /* method opts#OptionContext#errors for (self: Object): Array[String] */
1639 val
* VIRTUAL_opts__OptionContext__errors(val
* self
) {
1640 val
* var
/* : Array[String] */;
1641 val
* var1
/* : Array[String] */;
1642 var1
= opts__OptionContext__errors(self
);
1647 /* method opts#OptionContext#usage for (self: OptionContext) */
1648 void opts__OptionContext__usage(val
* self
) {
1649 long var
/* : Int */;
1650 long var_lmax
/* var lmax: Int */;
1651 val
* var1
/* : Array[Option] */;
1652 val
* var2
/* : Iterator[nullable Object] */;
1653 short int var3
/* : Bool */;
1654 val
* var4
/* : nullable Object */;
1655 val
* var_i
/* var i: Option */;
1656 long var5
/* : Int */;
1657 long var_l
/* var l: Int */;
1658 val
* var6
/* : Array[String] */;
1659 val
* var7
/* : Iterator[nullable Object] */;
1660 short int var8
/* : Bool */;
1661 val
* var9
/* : nullable Object */;
1662 val
* var_n
/* var n: String */;
1663 long var10
/* : Int */;
1664 long var11
/* : Int */;
1665 long var12
/* : Int */;
1666 long var14
/* : Int */;
1667 long var15
/* : Int */;
1668 long var17
/* : Int */;
1669 short int var18
/* : Bool */;
1670 short int var20
/* : Bool */;
1673 const char* var_class_name
;
1674 short int var21
/* : Bool */;
1675 val
* var23
/* : Array[Option] */;
1676 val
* var24
/* : Iterator[nullable Object] */;
1677 short int var25
/* : Bool */;
1678 val
* var26
/* : nullable Object */;
1679 val
* var_i27
/* var i: Option */;
1680 val
* var28
/* : String */;
1683 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1685 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1686 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 239);
1689 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:Array[Option]>*/;
1691 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1693 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1697 var6
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_opts__Option__names
]))(var_i
) /* names on <var_i:Option>*/;
1698 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:Array[String]>*/;
1700 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1702 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1704 var10
= ((long (*)(val
*))(var_n
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_n
) /* length on <var_n:String>*/;
1706 { /* Inline kernel#Int#+ (var10,var11) */
1707 var14
= var10
+ var11
;
1710 RET_LABEL13
:(void)0;
1712 { /* Inline kernel#Int#+ (var_l,var12) */
1713 var17
= var_l
+ var12
;
1716 RET_LABEL16
:(void)0;
1719 CONTINUE_label
: (void)0;
1720 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1722 BREAK_label
: (void)0;
1723 { /* Inline kernel#Int#< (var_lmax,var_l) */
1724 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1725 /* <var_l:Int> isa OTHER */
1726 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1728 var_class_name
= type_kernel__Int
.name
;
1729 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1730 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 265);
1733 var21
= var_lmax
< var_l
;
1736 RET_LABEL19
:(void)0;
1742 CONTINUE_label22
: (void)0;
1743 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1745 BREAK_label22
: (void)0;
1746 var23
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1747 if (var23
== NULL
) {
1748 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1749 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 247);
1752 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[Option]>*/;
1754 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
1756 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
1758 var28
= ((val
* (*)(val
*, long))(var_i27
->class->vft
[COLOR_opts__Option__pretty
]))(var_i27
, var_lmax
) /* pretty on <var_i27:Option>*/;
1759 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var28
) /* print on <self:OptionContext>*/;
1760 CONTINUE_label29
: (void)0;
1761 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
1763 BREAK_label29
: (void)0;
1766 /* method opts#OptionContext#usage for (self: Object) */
1767 void VIRTUAL_opts__OptionContext__usage(val
* self
) {
1768 opts__OptionContext__usage(self
);
1771 /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */
1772 void opts__OptionContext__parse(val
* self
, val
* p0
) {
1773 val
* var_argv
/* var argv: Collection[String] */;
1774 val
* var
/* : Iterator[nullable Object] */;
1775 val
* var_it
/* var it: Iterator[String] */;
1777 var
= ((val
* (*)(val
*))(var_argv
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_argv
) /* iterator on <var_argv:Collection[String]>*/;
1779 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionContext__parse_intern
]))(self
, var_it
) /* parse_intern on <self:OptionContext>*/;
1782 /* method opts#OptionContext#parse for (self: Object, Collection[String]) */
1783 void VIRTUAL_opts__OptionContext__parse(val
* self
, val
* p0
) {
1784 opts__OptionContext__parse(self
, p0
);
1787 /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */
1788 void opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
1789 val
* var_it
/* var it: Iterator[String] */;
1790 short int var
/* : Bool */;
1791 short int var_parseargs
/* var parseargs: Bool */;
1792 val
* var1
/* : Array[String] */;
1793 val
* var_rest
/* var rest: Array[String] */;
1794 short int var2
/* : Bool */;
1795 short int var_
/* var : Bool */;
1796 short int var3
/* : Bool */;
1797 val
* var4
/* : nullable Object */;
1798 val
* var_str
/* var str: String */;
1799 static val
* varonce
;
1800 val
* var5
/* : String */;
1801 char* var6
/* : NativeString */;
1802 long var7
/* : Int */;
1803 val
* var8
/* : String */;
1804 short int var9
/* : Bool */;
1805 val
* var10
/* : Array[nullable Object] */;
1806 short int var11
/* : Bool */;
1807 short int var12
/* : Bool */;
1808 char var13
/* : Char */;
1809 long var14
/* : Int */;
1810 val
* var15
/* : nullable Object */;
1811 long var16
/* : Int */;
1812 short int var17
/* : Bool */;
1813 short int var19
/* : Bool */;
1814 short int var_20
/* var : Bool */;
1815 long var21
/* : Int */;
1816 long var22
/* : Int */;
1817 short int var23
/* : Bool */;
1818 short int var25
/* : Bool */;
1821 const char* var_class_name
;
1822 short int var26
/* : Bool */;
1823 short int var27
/* : Bool */;
1824 short int var_next_called
/* var next_called: Bool */;
1825 val
* var28
/* : Range[Int] */;
1826 long var29
/* : Int */;
1827 long var30
/* : Int */;
1828 val
* var31
/* : Discrete */;
1829 val
* var32
/* : Discrete */;
1830 val
* var33
/* : Iterator[nullable Object] */;
1831 short int var34
/* : Bool */;
1832 val
* var35
/* : nullable Object */;
1833 long var_i
/* var i: Int */;
1834 long var36
/* : Int */;
1835 static val
* varonce37
;
1836 val
* var38
/* : String */;
1837 char* var39
/* : NativeString */;
1838 long var40
/* : Int */;
1839 val
* var41
/* : String */;
1840 val
* var42
/* : StringCharView */;
1841 val
* var43
/* : nullable Object */;
1842 val
* var44
/* : String */;
1843 char var45
/* : Char */;
1844 val
* var46
/* : String */;
1845 val
* var_short_opt
/* var short_opt: String */;
1846 val
* var47
/* : Map[String, Option] */;
1847 short int var48
/* : Bool */;
1848 val
* var49
/* : Map[String, Option] */;
1849 val
* var50
/* : nullable Object */;
1850 val
* var_option
/* var option: Option */;
1851 short int var51
/* : Bool */;
1854 short int var54
/* : Bool */;
1855 short int var55
/* : Bool */;
1856 val
* var56
/* : Map[String, Option] */;
1857 short int var57
/* : Bool */;
1858 val
* var58
/* : Map[String, Option] */;
1859 val
* var59
/* : nullable Object */;
1860 val
* var_opt
/* var opt: Option */;
1861 val
* var60
/* : nullable Object */;
1862 val
* var62
/* : Array[Option] */;
1863 val
* var63
/* : Iterator[nullable Object] */;
1864 short int var64
/* : Bool */;
1865 val
* var65
/* : nullable Object */;
1866 val
* var_opt66
/* var opt: Option */;
1867 short int var67
/* : Bool */;
1868 short int var68
/* : Bool */;
1869 short int var_69
/* var : Bool */;
1870 short int var70
/* : Bool */;
1871 short int var71
/* : Bool */;
1872 val
* var72
/* : Array[String] */;
1873 static val
* varonce73
;
1874 val
* var74
/* : String */;
1875 char* var75
/* : NativeString */;
1876 long var76
/* : Int */;
1877 val
* var77
/* : String */;
1878 val
* var78
/* : Array[String] */;
1879 static val
* varonce79
;
1880 val
* var80
/* : String */;
1881 char* var81
/* : NativeString */;
1882 long var82
/* : Int */;
1883 val
* var83
/* : String */;
1884 val
* var84
/* : String */;
1885 static val
* varonce85
;
1886 val
* var86
/* : String */;
1887 char* var87
/* : NativeString */;
1888 long var88
/* : Int */;
1889 val
* var89
/* : String */;
1890 val
* var90
/* : Array[Object] */;
1891 long var91
/* : Int */;
1892 val
* var92
/* : NativeArray[Object] */;
1893 val
* var93
/* : String */;
1896 var_parseargs
= var
;
1897 ((void (*)(val
*))(self
->class->vft
[COLOR_opts__OptionContext__build
]))(self
) /* build on <self:OptionContext>*/;
1898 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1900 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1901 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 263);
1906 var_
= var_parseargs
;
1908 var3
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
1914 var4
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1921 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1925 var9
= ((short int (*)(val
*, val
*))(var_str
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_str
, var5
) /* == on <var_str:String>*/;
1927 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1928 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_array__Iterator__to_a
]))(var_it
) /* to_a on <var_it:Iterator[String]>*/;
1929 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rest
, var10
) /* add_all on <var_rest:Array[String]>*/;
1931 var_parseargs
= var11
;
1934 var15
= BOX_kernel__Char(var13
); /* autobox from Char to nullable Object */
1935 var14
= ((long (*)(val
*, val
*))(var_str
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of
]))(var_str
, var15
) /* last_index_of on <var_str:String>*/;
1937 { /* Inline kernel#Int#== (var14,var16) */
1938 var19
= var14
== var16
;
1941 RET_LABEL18
:(void)0;
1945 var21
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1947 { /* Inline kernel#Int#> (var21,var22) */
1948 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1949 /* <var22:Int> isa OTHER */
1950 var25
= 1; /* easy <var22:Int> isa OTHER*/
1952 var_class_name
= type_kernel__Int
.name
;
1953 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1954 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
1957 var26
= var21
> var22
;
1960 RET_LABEL24
:(void)0;
1968 var_next_called
= var27
;
1969 var28
= NEW_range__Range(&type_range__Rangekernel__Int
);
1971 var30
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1972 var31
= BOX_kernel__Int(var29
); /* autobox from Int to Discrete */
1973 var32
= BOX_kernel__Int(var30
); /* autobox from Int to Discrete */
1974 ((void (*)(val
*, val
*, val
*))(var28
->class->vft
[COLOR_range__Range__init
]))(var28
, var31
, var32
) /* init on <var28:Range[Int]>*/;
1975 var33
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Range[Int]>*/;
1977 var34
= ((short int (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var33
) /* is_ok on <var33:Iterator[nullable Object]>*/;
1979 var35
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var33
) /* item on <var33:Iterator[nullable Object]>*/;
1980 var36
= ((struct instance_kernel__Int
*)var35
)->value
; /* autounbox from nullable Object to Int */;
1987 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1991 var42
= ((val
* (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__chars
]))(var_str
) /* chars on <var_str:String>*/;
1992 var43
= ((val
* (*)(val
*, long))(var42
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var42
, var_i
) /* [] on <var42:StringCharView>*/;
1993 var45
= ((struct instance_kernel__Char
*)var43
)->value
; /* autounbox from nullable Object to Char */;
1994 var44
= string__Char__to_s(var45
);
1995 var46
= ((val
* (*)(val
*, val
*))(var38
->class->vft
[COLOR_string__String___43d
]))(var38
, var44
) /* + on <var38:String>*/;
1996 var_short_opt
= var46
;
1997 var47
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1998 if (var47
== NULL
) {
1999 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2000 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 277);
2003 var48
= ((short int (*)(val
*, val
*))(var47
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var47
, var_short_opt
) /* has_key on <var47:Map[String, Option]>*/;
2005 var49
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2006 if (var49
== NULL
) {
2007 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2008 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 278);
2011 var50
= ((val
* (*)(val
*, val
*))(var49
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var49
, var_short_opt
) /* [] on <var49:Map[String, Option]>*/;
2013 /* <var_option:Option> isa OptionParameter */
2014 cltype52
= type_opts__OptionParameter
.color
;
2015 idtype53
= type_opts__OptionParameter
.id
;
2016 if(cltype52
>= var_option
->type
->table_size
) {
2019 var51
= var_option
->type
->type_table
[cltype52
] == idtype53
;
2022 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2024 var_next_called
= var54
;
2027 ((void (*)(val
*, val
*))(var_option
->class->vft
[COLOR_opts__Option__read_param
]))(var_option
, var_it
) /* read_param on <var_option:Option>*/;
2030 CONTINUE_label
: (void)0;
2031 ((void (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var33
) /* next on <var33:Iterator[nullable Object]>*/;
2033 BREAK_label
: (void)0;
2034 var55
= !var_next_called
;
2036 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2040 var56
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2041 if (var56
== NULL
) {
2042 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2043 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 288);
2046 var57
= ((short int (*)(val
*, val
*))(var56
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var56
, var_str
) /* has_key on <var56:Map[String, Option]>*/;
2048 var58
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2049 if (var58
== NULL
) {
2050 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2051 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 289);
2054 var59
= ((val
* (*)(val
*, val
*))(var58
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var58
, var_str
) /* [] on <var58:Map[String, Option]>*/;
2056 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2057 ((void (*)(val
*, val
*))(var_opt
->class->vft
[COLOR_opts__Option__read_param
]))(var_opt
, var_it
) /* read_param on <var_opt:Option>*/;
2059 var60
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2060 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_rest
, var60
) /* add on <var_rest:Array[String]>*/;
2061 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2065 CONTINUE_label61
: (void)0;
2067 BREAK_label61
: (void)0;
2068 var62
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2069 if (var62
== NULL
) {
2070 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2071 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 300);
2074 var63
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var62
) /* iterator on <var62:Array[Option]>*/;
2076 var64
= ((short int (*)(val
*))(var63
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var63
) /* is_ok on <var63:Iterator[nullable Object]>*/;
2078 var65
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var63
) /* item on <var63:Iterator[nullable Object]>*/;
2080 var68
= ((short int (*)(val
*))(var_opt66
->class->vft
[COLOR_opts__Option__mandatory
]))(var_opt66
) /* mandatory on <var_opt66:Option>*/;
2083 var70
= ((short int (*)(val
*))(var_opt66
->class->vft
[COLOR_opts__Option__read
]))(var_opt66
) /* read on <var_opt66:Option>*/;
2090 var72
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2091 if (var72
== NULL
) {
2092 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2093 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 302);
2099 var75
= "Mandatory option ";
2101 var77
= string__NativeString__to_s_with_length(var75
, var76
);
2105 var78
= ((val
* (*)(val
*))(var_opt66
->class->vft
[COLOR_opts__Option__names
]))(var_opt66
) /* names on <var_opt66:Option>*/;
2111 var83
= string__NativeString__to_s_with_length(var81
, var82
);
2115 var84
= ((val
* (*)(val
*, val
*))(var78
->class->vft
[COLOR_string__Collection__join
]))(var78
, var80
) /* join on <var78:Array[String]>*/;
2119 var87
= " not found.";
2121 var89
= string__NativeString__to_s_with_length(var87
, var88
);
2125 var90
= NEW_array__Array(&type_array__Arraykernel__Object
);
2126 { /* var90 = array_instance Array[Object] */
2128 var92
= NEW_array__NativeArray(var91
, &type_array__NativeArraykernel__Object
);
2129 ((struct instance_array__NativeArray
*)var92
)->values
[0] = (val
*) var74
;
2130 ((struct instance_array__NativeArray
*)var92
)->values
[1] = (val
*) var84
;
2131 ((struct instance_array__NativeArray
*)var92
)->values
[2] = (val
*) var86
;
2132 ((void (*)(val
*, val
*, long))(var90
->class->vft
[COLOR_array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
2134 var93
= ((val
* (*)(val
*))(var90
->class->vft
[COLOR_string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
2135 ((void (*)(val
*, val
*))(var72
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var72
, var93
) /* add on <var72:Array[String]>*/;
2138 CONTINUE_label94
: (void)0;
2139 ((void (*)(val
*))(var63
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var63
) /* next on <var63:Iterator[nullable Object]>*/;
2141 BREAK_label94
: (void)0;
2144 /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */
2145 void VIRTUAL_opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
2146 opts__OptionContext__parse_intern(self
, p0
);
2149 /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
2150 void opts__OptionContext__add_option(val
* self
, val
* p0
) {
2151 val
* var_opts
/* var opts: Array[Option] */;
2152 val
* var
/* : Iterator[nullable Object] */;
2153 short int var1
/* : Bool */;
2154 val
* var2
/* : nullable Object */;
2155 val
* var_opt
/* var opt: Option */;
2156 val
* var3
/* : Array[Option] */;
2158 var
= ((val
* (*)(val
*))(var_opts
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_opts
) /* iterator on <var_opts:Array[Option]>*/;
2160 var1
= ((short int (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var
) /* is_ok on <var:Iterator[nullable Object]>*/;
2162 var2
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var
) /* item on <var:Iterator[nullable Object]>*/;
2164 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2166 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2167 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 310);
2170 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var3
, var_opt
) /* add on <var3:Array[Option]>*/;
2171 CONTINUE_label
: (void)0;
2172 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:Iterator[nullable Object]>*/;
2174 BREAK_label
: (void)0;
2177 /* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
2178 void VIRTUAL_opts__OptionContext__add_option(val
* self
, val
* p0
) {
2179 opts__OptionContext__add_option(self
, p0
);
2182 /* method opts#OptionContext#init for (self: OptionContext) */
2183 void opts__OptionContext__init(val
* self
) {
2184 val
* var
/* : Array[Option] */;
2185 val
* var1
/* : HashMap[String, Option] */;
2186 val
* var2
/* : Array[String] */;
2187 val
* var3
/* : Array[String] */;
2188 var
= NEW_array__Array(&type_array__Arrayopts__Option
);
2189 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Option]>*/;
2190 self
->attrs
[COLOR_opts__OptionContext___options
].val
= var
; /* _options on <self:OptionContext> */
2191 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option
);
2192 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Option]>*/;
2193 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= var1
; /* _optmap on <self:OptionContext> */
2194 var2
= NEW_array__Array(&type_array__Arraystring__String
);
2195 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[String]>*/;
2196 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= var2
; /* _rest on <self:OptionContext> */
2197 var3
= NEW_array__Array(&type_array__Arraystring__String
);
2198 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
2199 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= var3
; /* _errors on <self:OptionContext> */
2202 /* method opts#OptionContext#init for (self: Object) */
2203 void VIRTUAL_opts__OptionContext__init(val
* self
) {
2204 opts__OptionContext__init(self
);
2207 /* method opts#OptionContext#build for (self: OptionContext) */
2208 void opts__OptionContext__build(val
* self
) {
2209 val
* var
/* : Array[Option] */;
2210 val
* var1
/* : Iterator[nullable Object] */;
2211 short int var2
/* : Bool */;
2212 val
* var3
/* : nullable Object */;
2213 val
* var_o
/* var o: Option */;
2214 val
* var4
/* : Array[String] */;
2215 val
* var5
/* : Iterator[nullable Object] */;
2216 short int var6
/* : Bool */;
2217 val
* var7
/* : nullable Object */;
2218 val
* var_n
/* var n: String */;
2219 val
* var8
/* : Map[String, Option] */;
2220 var
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2222 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2223 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 324);
2226 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Array[Option]>*/;
2228 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
2230 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
2232 var4
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__names
]))(var_o
) /* names on <var_o:Option>*/;
2233 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[String]>*/;
2235 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
2237 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
2239 var8
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2241 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2242 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 326);
2245 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var_n
, var_o
) /* []= on <var8:Map[String, Option]>*/;
2246 CONTINUE_label
: (void)0;
2247 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
2249 BREAK_label
: (void)0;
2250 CONTINUE_label9
: (void)0;
2251 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
2253 BREAK_label9
: (void)0;
2256 /* method opts#OptionContext#build for (self: Object) */
2257 void VIRTUAL_opts__OptionContext__build(val
* self
) {
2258 opts__OptionContext__build(self
);
2261 /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */
2262 val
* opts__OptionContext__get_errors(val
* self
) {
2263 val
* var
/* : Array[String] */;
2264 val
* var1
/* : Array[String] */;
2265 val
* var_errors
/* var errors: Array[String] */;
2266 val
* var2
/* : Array[String] */;
2267 val
* var3
/* : Array[Option] */;
2268 val
* var4
/* : Iterator[nullable Object] */;
2269 short int var5
/* : Bool */;
2270 val
* var6
/* : nullable Object */;
2271 val
* var_o
/* var o: Option */;
2272 val
* var7
/* : Array[String] */;
2273 val
* var8
/* : Iterator[nullable Object] */;
2274 short int var9
/* : Bool */;
2275 val
* var10
/* : nullable Object */;
2276 val
* var_e
/* var e: String */;
2277 var1
= NEW_array__Array(&type_array__Arraystring__String
);
2278 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[String]>*/;
2280 var2
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2282 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2283 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 335);
2286 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_errors
, var2
) /* add_all on <var_errors:Array[String]>*/;
2287 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2289 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2290 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 337);
2293 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Option]>*/;
2295 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2297 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2299 var7
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__errors
]))(var_o
) /* errors on <var_o:Option>*/;
2300 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[String]>*/;
2302 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
2304 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
2306 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_errors
, var_e
) /* add on <var_errors:Array[String]>*/;
2307 CONTINUE_label
: (void)0;
2308 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
2310 BREAK_label
: (void)0;
2311 CONTINUE_label11
: (void)0;
2312 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2314 BREAK_label11
: (void)0;
2320 /* method opts#OptionContext#get_errors for (self: Object): Array[String] */
2321 val
* VIRTUAL_opts__OptionContext__get_errors(val
* self
) {
2322 val
* var
/* : Array[String] */;
2323 val
* var1
/* : Array[String] */;
2324 var1
= opts__OptionContext__get_errors(self
);