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_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_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_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", 263);
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
/* : nullable Object */;
796 char var4
/* : Char */;
797 short int var5
/* : Bool */;
798 short int var7
/* : Bool */;
799 char var8
/* : Char */;
800 short int var9
/* : Bool */;
801 val
* var10
/* : nullable Object */;
802 val
* var11
/* : nullable Object */;
803 short int var12
/* : Bool */;
804 val
* var13
/* : Array[String] */;
806 val
* var14
/* : String */;
807 char* var15
/* : NativeString */;
808 long var16
/* : Int */;
809 val
* var17
/* : String */;
810 val
* var18
/* : Array[String] */;
811 val
* var19
/* : nullable Object */;
812 static val
* varonce20
;
813 val
* var21
/* : String */;
814 char* var22
/* : NativeString */;
815 long var23
/* : Int */;
816 val
* var24
/* : String */;
817 val
* var25
/* : Array[Object] */;
818 long var26
/* : Int */;
819 val
* var27
/* : NativeArray[Object] */;
820 val
* var28
/* : String */;
822 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__read_param
]))(self
, p0
) /* read_param on <self:OptionParameter>*/;
823 var1
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
826 var2
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
827 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:nullable Object(String)>*/;
829 { /* Inline kernel#Char#!= (var3,var4) */
830 var7
= (var3
!= NULL
) && (var3
->class == &class_kernel__Char
);
832 var8
= ((struct instance_kernel__Char
*)var3
)->value
; /* autounbox from nullable Object to Char */;
833 var7
= (var8
== var4
);
845 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
846 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__convert
]))(self
, var10
) /* convert on <self:OptionParameter>*/;
847 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var11
) /* value= on <self:OptionParameter>*/;
848 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
850 var12
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
852 var13
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionParameter> */
854 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
855 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 146);
861 var15
= "Parameter expected for option ";
863 var17
= string__NativeString__to_s_with_length(var15
, var16
);
867 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__names
]))(self
) /* names on <self:OptionParameter>*/;
868 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var18
) /* first on <var18:Array[String]>*/;
874 var24
= string__NativeString__to_s_with_length(var22
, var23
);
878 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
879 { /* var25 = array_instance Array[Object] */
881 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
882 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var14
;
883 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var19
;
884 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
885 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
887 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
888 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var13
, var28
) /* add on <var13:Array[String]>*/;
894 /* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */
895 void VIRTUAL_opts__OptionParameter__read_param(val
* self
, val
* p0
) {
896 opts__OptionParameter__read_param(self
, p0
);
899 /* method opts#OptionParameter#init_opt for (self: OptionParameter, String, nullable Object, nullable Array[String]) */
900 void opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
901 short int var
/* : Bool */;
904 const struct type
* type_struct
;
905 const char* var_class_name
;
906 val
* var_h
/* var h: String */;
907 val
* var_d
/* var d: nullable Object */;
908 val
* var_n
/* var n: nullable Array[String] */;
909 short int var1
/* : Bool */;
910 /* Covariant cast for argument 1 (d) <p1:nullable Object> isa nullable VALUE */
911 /* <p1:nullable Object> isa nullable VALUE */
912 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
913 cltype
= type_struct
->color
;
914 idtype
= type_struct
->id
;
918 if(cltype
>= p1
->type
->table_size
) {
921 var
= p1
->type
->type_table
[cltype
] == idtype
;
925 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
926 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
927 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 151);
933 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, p0
, p1
, p2
) /* init_opt on <self:OptionParameter>*/;
935 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= var1
; /* _parameter_mandatory on <self:OptionParameter> */
938 /* method opts#OptionParameter#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
939 void VIRTUAL_opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
940 opts__OptionParameter__init_opt(self
, p0
, p1
, p2
);
943 /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */
944 void opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
945 val
* var_help
/* var help: String */;
946 val
* var_names
/* var names: Array[String] */;
947 val
* var
/* : null */;
951 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionString>*/;
954 /* method opts#OptionString#init for (self: Object, String, Array[String]) */
955 void VIRTUAL_opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
956 opts__OptionString__init(self
, p0
, p1
);
959 /* method opts#OptionString#convert for (self: OptionString, String): nullable String */
960 val
* opts__OptionString__convert(val
* self
, val
* p0
) {
961 val
* var
/* : nullable String */;
962 val
* var_str
/* var str: String */;
963 short int var1
/* : Bool */;
966 const struct type
* type_struct
;
967 const char* var_class_name
;
969 /* <var_str:String> isa VALUE */
970 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
971 cltype
= type_struct
->color
;
972 idtype
= type_struct
->id
;
973 if(cltype
>= var_str
->type
->table_size
) {
976 var1
= var_str
->type
->type_table
[cltype
] == idtype
;
979 var_class_name
= var_str
== NULL ?
"null" : var_str
->type
->name
;
980 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
981 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 164);
989 /* method opts#OptionString#convert for (self: Object, String): nullable Object */
990 val
* VIRTUAL_opts__OptionString__convert(val
* self
, val
* p0
) {
991 val
* var
/* : nullable Object */;
992 val
* var1
/* : nullable String */;
993 var1
= opts__OptionString__convert(self
, p0
);
998 /* method opts#OptionEnum#init for (self: OptionEnum, Array[String], String, Int, Array[String]) */
999 void opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1000 val
* var_values
/* var values: Array[String] */;
1001 val
* var_help
/* var help: String */;
1002 long var_default
/* var default: Int */;
1003 val
* var_names
/* var names: Array[String] */;
1004 long var
/* : Int */;
1005 long var1
/* : Int */;
1006 short int var2
/* : Bool */;
1007 short int var4
/* : Bool */;
1010 const char* var_class_name
;
1011 short int var5
/* : Bool */;
1012 val
* var6
/* : Array[nullable Object] */;
1013 static val
* varonce
;
1014 val
* var7
/* : String */;
1015 char* var8
/* : NativeString */;
1016 long var9
/* : Int */;
1017 val
* var10
/* : String */;
1018 static val
* varonce11
;
1019 val
* var12
/* : String */;
1020 char* var13
/* : NativeString */;
1021 long var14
/* : Int */;
1022 val
* var15
/* : String */;
1023 val
* var16
/* : String */;
1024 static val
* varonce17
;
1025 val
* var18
/* : String */;
1026 char* var19
/* : NativeString */;
1027 long var20
/* : Int */;
1028 val
* var21
/* : String */;
1029 val
* var22
/* : Array[Object] */;
1030 long var23
/* : Int */;
1031 val
* var24
/* : NativeArray[Object] */;
1032 val
* var25
/* : String */;
1033 val
* var26
/* : nullable Object */;
1038 var
= ((long (*)(val
*))(var_values
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_values
) /* length on <var_values:Array[String]>*/;
1040 { /* Inline kernel#Int#> (var,var1) */
1041 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1042 /* <var1:Int> isa OTHER */
1043 var4
= 1; /* easy <var1:Int> isa OTHER*/
1045 var_class_name
= type_kernel__Int
.name
;
1046 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1047 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
1056 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1057 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 174);
1060 var6
= ((val
* (*)(val
*))(var_values
->class->vft
[COLOR_array__Collection__to_a
]))(var_values
) /* to_a on <var_values:Array[String]>*/;
1061 self
->attrs
[COLOR_opts__OptionEnum___values
].val
= var6
; /* _values on <self:OptionEnum> */
1067 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1076 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1080 var16
= ((val
* (*)(val
*, val
*))(var_values
->class->vft
[COLOR_string__Collection__join
]))(var_values
, var12
) /* join on <var_values:Array[String]>*/;
1086 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1090 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1091 { /* var22 = array_instance Array[Object] */
1093 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1094 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var_help
;
1095 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var7
;
1096 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var16
;
1097 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var18
;
1098 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1100 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1101 var26
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1102 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var25
, var26
, var_names
) /* init_opt on <self:OptionEnum>*/;
1105 /* method opts#OptionEnum#init for (self: Object, Array[String], String, Int, Array[String]) */
1106 void VIRTUAL_opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1107 opts__OptionEnum__init(self
, p0
, p1
, p2
, p3
);
1110 /* method opts#OptionEnum#convert for (self: OptionEnum, String): Int */
1111 long opts__OptionEnum__convert(val
* self
, val
* p0
) {
1112 long var
/* : Int */;
1113 val
* var_str
/* var str: String */;
1114 val
* var1
/* : Array[String] */;
1115 long var2
/* : Int */;
1116 long var_id
/* var id: Int */;
1117 long var3
/* : Int */;
1118 long var4
/* : Int */;
1119 long var6
/* : Int */;
1120 short int var7
/* : Bool */;
1121 short int var9
/* : Bool */;
1122 val
* var10
/* : Array[Object] */;
1123 long var11
/* : Int */;
1124 val
* var_
/* var : Array[Object] */;
1125 static val
* varonce
;
1126 val
* var12
/* : String */;
1127 char* var13
/* : NativeString */;
1128 long var14
/* : Int */;
1129 val
* var15
/* : String */;
1130 val
* var16
/* : Array[String] */;
1131 static val
* varonce17
;
1132 val
* var18
/* : String */;
1133 char* var19
/* : NativeString */;
1134 long var20
/* : Int */;
1135 val
* var21
/* : String */;
1136 val
* var22
/* : String */;
1137 static val
* varonce23
;
1138 val
* var24
/* : String */;
1139 char* var25
/* : NativeString */;
1140 long var26
/* : Int */;
1141 val
* var27
/* : String */;
1142 val
* var28
/* : String */;
1143 val
* var_e
/* var e: String */;
1144 val
* var29
/* : Array[Object] */;
1145 long var30
/* : Int */;
1146 val
* var_31
/* var : Array[Object] */;
1147 static val
* varonce32
;
1148 val
* var33
/* : String */;
1149 char* var34
/* : NativeString */;
1150 long var35
/* : Int */;
1151 val
* var36
/* : String */;
1152 val
* var37
/* : Array[String] */;
1153 static val
* varonce38
;
1154 val
* var39
/* : String */;
1155 char* var40
/* : NativeString */;
1156 long var41
/* : Int */;
1157 val
* var42
/* : String */;
1158 val
* var43
/* : String */;
1159 static val
* varonce44
;
1160 val
* var45
/* : String */;
1161 char* var46
/* : NativeString */;
1162 long var47
/* : Int */;
1163 val
* var48
/* : String */;
1164 val
* var49
/* : String */;
1165 val
* var50
/* : String */;
1166 val
* var51
/* : Array[String] */;
1168 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1170 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1171 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 181);
1174 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_str
) /* index_of on <var1:Array[String]>*/;
1177 { /* Inline kernel#Int#unary - (var3) */
1183 { /* Inline kernel#Int#== (var_id,var4) */
1184 var9
= var_id
== var4
;
1190 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1192 ((void (*)(val
*, long))(var10
->class->vft
[COLOR_array__Array__with_capacity
]))(var10
, var11
) /* with_capacity on <var10:Array[Object]>*/;
1197 var13
= "Unrecognized value for option ";
1199 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1203 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1204 var16
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:OptionEnum> */
1205 if (var16
== NULL
) {
1206 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
1207 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 183);
1215 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1219 var22
= ((val
* (*)(val
*, val
*))(var16
->class->vft
[COLOR_string__Collection__join
]))(var16
, var18
) /* join on <var16:Array[String]>*/;
1220 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1226 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1230 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
1231 var28
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1233 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1235 ((void (*)(val
*, long))(var29
->class->vft
[COLOR_array__Array__with_capacity
]))(var29
, var30
) /* with_capacity on <var29:Array[Object]>*/;
1240 var34
= "Expected values are: ";
1242 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1246 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var33
) /* add on <var_31:Array[Object]>*/;
1247 var37
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1248 if (var37
== NULL
) {
1249 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1250 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 184);
1258 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1262 var43
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_string__Collection__join
]))(var37
, var39
) /* join on <var37:Array[String]>*/;
1263 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var43
) /* add on <var_31:Array[Object]>*/;
1269 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1273 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var45
) /* add on <var_31:Array[Object]>*/;
1274 var49
= ((val
* (*)(val
*))(var_31
->class->vft
[COLOR_string__Object__to_s
]))(var_31
) /* to_s on <var_31:Array[Object]>*/;
1275 var50
= ((val
* (*)(val
*, val
*))(var_e
->class->vft
[COLOR_string__String___43d
]))(var_e
, var49
) /* + on <var_e:String>*/;
1277 var51
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionEnum> */
1278 if (var51
== NULL
) {
1279 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1280 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 185);
1283 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var51
, var_e
) /* add on <var51:Array[String]>*/;
1291 /* method opts#OptionEnum#convert for (self: Object, String): nullable Object */
1292 val
* VIRTUAL_opts__OptionEnum__convert(val
* self
, val
* p0
) {
1293 val
* var
/* : nullable Object */;
1294 long var1
/* : Int */;
1295 val
* var2
/* : nullable Object */;
1296 var1
= opts__OptionEnum__convert(self
, p0
);
1297 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1302 /* method opts#OptionEnum#value_name for (self: OptionEnum): String */
1303 val
* opts__OptionEnum__value_name(val
* self
) {
1304 val
* var
/* : String */;
1305 val
* var1
/* : Array[String] */;
1306 val
* var2
/* : nullable Object */;
1307 val
* var3
/* : nullable Object */;
1308 long var4
/* : Int */;
1309 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1311 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1312 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 190);
1315 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__value
]))(self
) /* value on <self:OptionEnum>*/;
1316 var4
= ((struct instance_kernel__Int
*)var2
)->value
; /* autounbox from nullable Object to Int */;
1317 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var4
) /* [] on <var1:Array[String]>*/;
1323 /* method opts#OptionEnum#value_name for (self: Object): String */
1324 val
* VIRTUAL_opts__OptionEnum__value_name(val
* self
) {
1325 val
* var
/* : String */;
1326 val
* var1
/* : String */;
1327 var1
= opts__OptionEnum__value_name(self
);
1332 /* method opts#OptionEnum#pretty_default for (self: OptionEnum): String */
1333 val
* opts__OptionEnum__pretty_default(val
* self
) {
1334 val
* var
/* : String */;
1335 val
* var1
/* : nullable Object */;
1336 val
* var2
/* : null */;
1337 short int var3
/* : Bool */;
1338 val
* var4
/* : Array[Object] */;
1339 long var5
/* : Int */;
1340 val
* var_
/* var : Array[Object] */;
1341 static val
* varonce
;
1342 val
* var6
/* : String */;
1343 char* var7
/* : NativeString */;
1344 long var8
/* : Int */;
1345 val
* var9
/* : String */;
1346 val
* var10
/* : Array[String] */;
1347 val
* var11
/* : nullable Object */;
1348 val
* var12
/* : nullable Object */;
1349 long var13
/* : Int */;
1350 static val
* varonce14
;
1351 val
* var15
/* : String */;
1352 char* var16
/* : NativeString */;
1353 long var17
/* : Int */;
1354 val
* var18
/* : String */;
1355 val
* var19
/* : String */;
1356 static val
* varonce20
;
1357 val
* var21
/* : String */;
1358 char* var22
/* : NativeString */;
1359 long var23
/* : Int */;
1360 val
* var24
/* : String */;
1361 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1364 var3
= 0; /* is null */
1366 var3
= 1; /* arg is null and recv is not */
1369 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1371 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
1378 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1382 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
1383 var10
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1384 if (var10
== NULL
) {
1385 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1386 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1389 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1390 if (var11
== NULL
) {
1391 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1392 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1395 var13
= ((struct instance_kernel__Int
*)var11
)->value
; /* autounbox from nullable Int to Int */;
1396 var12
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var13
) /* [] on <var10:Array[String]>*/;
1397 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1403 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1407 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
1408 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1417 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1427 /* method opts#OptionEnum#pretty_default for (self: Object): String */
1428 val
* VIRTUAL_opts__OptionEnum__pretty_default(val
* self
) {
1429 val
* var
/* : String */;
1430 val
* var1
/* : String */;
1431 var1
= opts__OptionEnum__pretty_default(self
);
1436 /* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */
1437 void opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1438 val
* var_help
/* var help: String */;
1439 long var_default
/* var default: Int */;
1440 val
* var_names
/* var names: Array[String] */;
1441 val
* var
/* : nullable Object */;
1445 var
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1446 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionInt>*/;
1449 /* method opts#OptionInt#init for (self: Object, String, Int, Array[String]) */
1450 void VIRTUAL_opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1451 opts__OptionInt__init(self
, p0
, p1
, p2
);
1454 /* method opts#OptionInt#convert for (self: OptionInt, String): Int */
1455 long opts__OptionInt__convert(val
* self
, val
* p0
) {
1456 long var
/* : Int */;
1457 val
* var_str
/* var str: String */;
1458 long var1
/* : Int */;
1460 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__to_i
]))(var_str
) /* to_i on <var_str:String>*/;
1466 /* method opts#OptionInt#convert for (self: Object, String): nullable Object */
1467 val
* VIRTUAL_opts__OptionInt__convert(val
* self
, val
* p0
) {
1468 val
* var
/* : nullable Object */;
1469 long var1
/* : Int */;
1470 val
* var2
/* : nullable Object */;
1471 var1
= opts__OptionInt__convert(self
, p0
);
1472 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1477 /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */
1478 void opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1479 val
* var_help
/* var help: String */;
1480 val
* var_names
/* var names: Array[String] */;
1481 val
* var
/* : Array[String] */;
1482 val
* var1
/* : Array[String] */;
1483 short int var2
/* : Bool */;
1486 const struct type
* type_struct
;
1487 const char* var_class_name
;
1490 var
= NEW_array__Array(&type_array__Arraystring__String
);
1491 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[String]>*/;
1492 self
->attrs
[COLOR_opts__OptionArray___values
].val
= var
; /* _values on <self:OptionArray> */
1493 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1495 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1496 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1499 /* <var1:Array[String]> isa nullable VALUE */
1500 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1501 cltype
= type_struct
->color
;
1502 idtype
= type_struct
->id
;
1503 if(cltype
>= var1
->type
->table_size
) {
1506 var2
= var1
->type
->type_table
[cltype
] == idtype
;
1509 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
1510 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
1511 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1514 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionArray>*/;
1517 /* method opts#OptionArray#init for (self: Object, String, Array[String]) */
1518 void VIRTUAL_opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1519 opts__OptionArray__init(self
, p0
, p1
);
1522 /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */
1523 val
* opts__OptionArray__convert(val
* self
, val
* p0
) {
1524 val
* var
/* : Array[String] */;
1525 val
* var_str
/* var str: String */;
1526 val
* var1
/* : Array[String] */;
1527 val
* var2
/* : Array[String] */;
1528 short int var3
/* : Bool */;
1531 const struct type
* type_struct
;
1532 const char* var_class_name
;
1534 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1536 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1537 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 224);
1540 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_str
) /* add on <var1:Array[String]>*/;
1541 var2
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1543 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1544 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1547 /* <var2:Array[String]> isa VALUE */
1548 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1549 cltype
= type_struct
->color
;
1550 idtype
= type_struct
->id
;
1551 if(cltype
>= var2
->type
->table_size
) {
1554 var3
= var2
->type
->type_table
[cltype
] == idtype
;
1557 var_class_name
= var2
== NULL ?
"null" : var2
->type
->name
;
1558 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1559 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1567 /* method opts#OptionArray#convert for (self: Object, String): nullable Object */
1568 val
* VIRTUAL_opts__OptionArray__convert(val
* self
, val
* p0
) {
1569 val
* var
/* : nullable Object */;
1570 val
* var1
/* : Array[String] */;
1571 var1
= opts__OptionArray__convert(self
, p0
);
1576 /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */
1577 val
* opts__OptionContext__options(val
* self
) {
1578 val
* var
/* : Array[Option] */;
1579 val
* var1
/* : Array[Option] */;
1580 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1582 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1583 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 230);
1590 /* method opts#OptionContext#options for (self: Object): Array[Option] */
1591 val
* VIRTUAL_opts__OptionContext__options(val
* self
) {
1592 val
* var
/* : Array[Option] */;
1593 val
* var1
/* : Array[Option] */;
1594 var1
= opts__OptionContext__options(self
);
1599 /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */
1600 val
* opts__OptionContext__rest(val
* self
) {
1601 val
* var
/* : Array[String] */;
1602 val
* var1
/* : Array[String] */;
1603 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1605 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1606 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 231);
1613 /* method opts#OptionContext#rest for (self: Object): Array[String] */
1614 val
* VIRTUAL_opts__OptionContext__rest(val
* self
) {
1615 val
* var
/* : Array[String] */;
1616 val
* var1
/* : Array[String] */;
1617 var1
= opts__OptionContext__rest(self
);
1622 /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */
1623 val
* opts__OptionContext__errors(val
* self
) {
1624 val
* var
/* : Array[String] */;
1625 val
* var1
/* : Array[String] */;
1626 var1
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
1628 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1629 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 232);
1636 /* method opts#OptionContext#errors for (self: Object): Array[String] */
1637 val
* VIRTUAL_opts__OptionContext__errors(val
* self
) {
1638 val
* var
/* : Array[String] */;
1639 val
* var1
/* : Array[String] */;
1640 var1
= opts__OptionContext__errors(self
);
1645 /* method opts#OptionContext#usage for (self: OptionContext) */
1646 void opts__OptionContext__usage(val
* self
) {
1647 long var
/* : Int */;
1648 long var_lmax
/* var lmax: Int */;
1649 val
* var1
/* : Array[Option] */;
1650 val
* var2
/* : Iterator[nullable Object] */;
1651 short int var3
/* : Bool */;
1652 val
* var4
/* : nullable Object */;
1653 val
* var_i
/* var i: Option */;
1654 long var5
/* : Int */;
1655 long var_l
/* var l: Int */;
1656 val
* var6
/* : Array[String] */;
1657 val
* var7
/* : Iterator[nullable Object] */;
1658 short int var8
/* : Bool */;
1659 val
* var9
/* : nullable Object */;
1660 val
* var_n
/* var n: String */;
1661 long var10
/* : Int */;
1662 long var11
/* : Int */;
1663 long var12
/* : Int */;
1664 long var14
/* : Int */;
1665 long var15
/* : Int */;
1666 long var17
/* : Int */;
1667 short int var18
/* : Bool */;
1668 short int var20
/* : Bool */;
1671 const char* var_class_name
;
1672 short int var21
/* : Bool */;
1673 val
* var23
/* : Array[Option] */;
1674 val
* var24
/* : Iterator[nullable Object] */;
1675 short int var25
/* : Bool */;
1676 val
* var26
/* : nullable Object */;
1677 val
* var_i27
/* var i: Option */;
1678 val
* var28
/* : String */;
1681 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1683 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1684 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 239);
1687 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:Array[Option]>*/;
1689 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1691 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1695 var6
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_opts__Option__names
]))(var_i
) /* names on <var_i:Option>*/;
1696 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:Array[String]>*/;
1698 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1700 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1702 var10
= ((long (*)(val
*))(var_n
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_n
) /* length on <var_n:String>*/;
1704 { /* Inline kernel#Int#+ (var10,var11) */
1705 var14
= var10
+ var11
;
1708 RET_LABEL13
:(void)0;
1710 { /* Inline kernel#Int#+ (var_l,var12) */
1711 var17
= var_l
+ var12
;
1714 RET_LABEL16
:(void)0;
1717 CONTINUE_label
: (void)0;
1718 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1720 BREAK_label
: (void)0;
1721 { /* Inline kernel#Int#< (var_lmax,var_l) */
1722 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1723 /* <var_l:Int> isa OTHER */
1724 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1726 var_class_name
= type_kernel__Int
.name
;
1727 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1728 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1731 var21
= var_lmax
< var_l
;
1734 RET_LABEL19
:(void)0;
1740 CONTINUE_label22
: (void)0;
1741 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1743 BREAK_label22
: (void)0;
1744 var23
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1745 if (var23
== NULL
) {
1746 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1747 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 247);
1750 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[Option]>*/;
1752 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
1754 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
1756 var28
= ((val
* (*)(val
*, long))(var_i27
->class->vft
[COLOR_opts__Option__pretty
]))(var_i27
, var_lmax
) /* pretty on <var_i27:Option>*/;
1757 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var28
) /* print on <self:OptionContext>*/;
1758 CONTINUE_label29
: (void)0;
1759 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
1761 BREAK_label29
: (void)0;
1764 /* method opts#OptionContext#usage for (self: Object) */
1765 void VIRTUAL_opts__OptionContext__usage(val
* self
) {
1766 opts__OptionContext__usage(self
);
1769 /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */
1770 void opts__OptionContext__parse(val
* self
, val
* p0
) {
1771 val
* var_argv
/* var argv: Collection[String] */;
1772 val
* var
/* : Iterator[nullable Object] */;
1773 val
* var_it
/* var it: Iterator[String] */;
1775 var
= ((val
* (*)(val
*))(var_argv
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_argv
) /* iterator on <var_argv:Collection[String]>*/;
1777 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionContext__parse_intern
]))(self
, var_it
) /* parse_intern on <self:OptionContext>*/;
1780 /* method opts#OptionContext#parse for (self: Object, Collection[String]) */
1781 void VIRTUAL_opts__OptionContext__parse(val
* self
, val
* p0
) {
1782 opts__OptionContext__parse(self
, p0
);
1785 /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */
1786 void opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
1787 val
* var_it
/* var it: Iterator[String] */;
1788 short int var
/* : Bool */;
1789 short int var_parseargs
/* var parseargs: Bool */;
1790 val
* var1
/* : Array[String] */;
1791 val
* var_rest
/* var rest: Array[String] */;
1792 short int var2
/* : Bool */;
1793 short int var_
/* var : Bool */;
1794 short int var3
/* : Bool */;
1795 val
* var4
/* : nullable Object */;
1796 val
* var_str
/* var str: String */;
1797 static val
* varonce
;
1798 val
* var5
/* : String */;
1799 char* var6
/* : NativeString */;
1800 long var7
/* : Int */;
1801 val
* var8
/* : String */;
1802 short int var9
/* : Bool */;
1803 val
* var10
/* : Array[nullable Object] */;
1804 short int var11
/* : Bool */;
1805 short int var12
/* : Bool */;
1806 char var13
/* : Char */;
1807 long var14
/* : Int */;
1808 val
* var15
/* : nullable Object */;
1809 long var16
/* : Int */;
1810 short int var17
/* : Bool */;
1811 short int var19
/* : Bool */;
1812 short int var_20
/* var : Bool */;
1813 long var21
/* : Int */;
1814 long var22
/* : Int */;
1815 short int var23
/* : Bool */;
1816 short int var25
/* : Bool */;
1819 const char* var_class_name
;
1820 short int var26
/* : Bool */;
1821 short int var27
/* : Bool */;
1822 short int var_next_called
/* var next_called: Bool */;
1823 val
* var28
/* : Range[Int] */;
1824 long var29
/* : Int */;
1825 long var30
/* : Int */;
1826 val
* var31
/* : Discrete */;
1827 val
* var32
/* : Discrete */;
1828 val
* var33
/* : Iterator[nullable Object] */;
1829 short int var34
/* : Bool */;
1830 val
* var35
/* : nullable Object */;
1831 long var_i
/* var i: Int */;
1832 long var36
/* : Int */;
1833 static val
* varonce37
;
1834 val
* var38
/* : String */;
1835 char* var39
/* : NativeString */;
1836 long var40
/* : Int */;
1837 val
* var41
/* : String */;
1838 val
* var42
/* : nullable Object */;
1839 val
* var43
/* : String */;
1840 char var44
/* : Char */;
1841 val
* var45
/* : String */;
1842 val
* var_short_opt
/* var short_opt: String */;
1843 val
* var46
/* : Map[String, Option] */;
1844 short int var47
/* : Bool */;
1845 val
* var48
/* : Map[String, Option] */;
1846 val
* var49
/* : nullable Object */;
1847 val
* var_option
/* var option: Option */;
1848 short int var50
/* : Bool */;
1851 short int var53
/* : Bool */;
1852 short int var54
/* : Bool */;
1853 val
* var55
/* : Map[String, Option] */;
1854 short int var56
/* : Bool */;
1855 val
* var57
/* : Map[String, Option] */;
1856 val
* var58
/* : nullable Object */;
1857 val
* var_opt
/* var opt: Option */;
1858 val
* var59
/* : nullable Object */;
1859 val
* var61
/* : Array[Option] */;
1860 val
* var62
/* : Iterator[nullable Object] */;
1861 short int var63
/* : Bool */;
1862 val
* var64
/* : nullable Object */;
1863 val
* var_opt65
/* var opt: Option */;
1864 short int var66
/* : Bool */;
1865 short int var67
/* : Bool */;
1866 short int var_68
/* var : Bool */;
1867 short int var69
/* : Bool */;
1868 short int var70
/* : Bool */;
1869 val
* var71
/* : Array[String] */;
1870 static val
* varonce72
;
1871 val
* var73
/* : String */;
1872 char* var74
/* : NativeString */;
1873 long var75
/* : Int */;
1874 val
* var76
/* : String */;
1875 val
* var77
/* : Array[String] */;
1876 static val
* varonce78
;
1877 val
* var79
/* : String */;
1878 char* var80
/* : NativeString */;
1879 long var81
/* : Int */;
1880 val
* var82
/* : String */;
1881 val
* var83
/* : String */;
1882 static val
* varonce84
;
1883 val
* var85
/* : String */;
1884 char* var86
/* : NativeString */;
1885 long var87
/* : Int */;
1886 val
* var88
/* : String */;
1887 val
* var89
/* : Array[Object] */;
1888 long var90
/* : Int */;
1889 val
* var91
/* : NativeArray[Object] */;
1890 val
* var92
/* : String */;
1893 var_parseargs
= var
;
1894 ((void (*)(val
*))(self
->class->vft
[COLOR_opts__OptionContext__build
]))(self
) /* build on <self:OptionContext>*/;
1895 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1897 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1898 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 263);
1903 var_
= var_parseargs
;
1905 var3
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
1911 var4
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1918 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1922 var9
= ((short int (*)(val
*, val
*))(var_str
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_str
, var5
) /* == on <var_str:String>*/;
1924 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1925 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_array__Iterator__to_a
]))(var_it
) /* to_a on <var_it:Iterator[String]>*/;
1926 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rest
, var10
) /* add_all on <var_rest:Array[String]>*/;
1928 var_parseargs
= var11
;
1931 var15
= BOX_kernel__Char(var13
); /* autobox from Char to nullable Object */
1932 var14
= ((long (*)(val
*, val
*))(var_str
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of
]))(var_str
, var15
) /* last_index_of on <var_str:String>*/;
1934 { /* Inline kernel#Int#== (var14,var16) */
1935 var19
= var14
== var16
;
1938 RET_LABEL18
:(void)0;
1942 var21
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1944 { /* Inline kernel#Int#> (var21,var22) */
1945 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1946 /* <var22:Int> isa OTHER */
1947 var25
= 1; /* easy <var22:Int> isa OTHER*/
1949 var_class_name
= type_kernel__Int
.name
;
1950 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1951 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
1954 var26
= var21
> var22
;
1957 RET_LABEL24
:(void)0;
1965 var_next_called
= var27
;
1966 var28
= NEW_range__Range(&type_range__Rangekernel__Int
);
1968 var30
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1969 var31
= BOX_kernel__Int(var29
); /* autobox from Int to Discrete */
1970 var32
= BOX_kernel__Int(var30
); /* autobox from Int to Discrete */
1971 ((void (*)(val
*, val
*, val
*))(var28
->class->vft
[COLOR_range__Range__init
]))(var28
, var31
, var32
) /* init on <var28:Range[Int]>*/;
1972 var33
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Range[Int]>*/;
1974 var34
= ((short int (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var33
) /* is_ok on <var33:Iterator[nullable Object]>*/;
1976 var35
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var33
) /* item on <var33:Iterator[nullable Object]>*/;
1977 var36
= ((struct instance_kernel__Int
*)var35
)->value
; /* autounbox from nullable Object to Int */;
1984 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1988 var42
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_i
) /* [] on <var_str:String>*/;
1989 var44
= ((struct instance_kernel__Char
*)var42
)->value
; /* autounbox from nullable Object to Char */;
1990 var43
= string__Char__to_s(var44
);
1991 var45
= ((val
* (*)(val
*, val
*))(var38
->class->vft
[COLOR_string__String___43d
]))(var38
, var43
) /* + on <var38:String>*/;
1992 var_short_opt
= var45
;
1993 var46
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1994 if (var46
== NULL
) {
1995 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
1996 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 277);
1999 var47
= ((short int (*)(val
*, val
*))(var46
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var46
, var_short_opt
) /* has_key on <var46:Map[String, Option]>*/;
2001 var48
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2002 if (var48
== NULL
) {
2003 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2004 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 278);
2007 var49
= ((val
* (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var48
, var_short_opt
) /* [] on <var48:Map[String, Option]>*/;
2009 /* <var_option:Option> isa OptionParameter */
2010 cltype51
= type_opts__OptionParameter
.color
;
2011 idtype52
= type_opts__OptionParameter
.id
;
2012 if(cltype51
>= var_option
->type
->table_size
) {
2015 var50
= var_option
->type
->type_table
[cltype51
] == idtype52
;
2018 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2020 var_next_called
= var53
;
2023 ((void (*)(val
*, val
*))(var_option
->class->vft
[COLOR_opts__Option__read_param
]))(var_option
, var_it
) /* read_param on <var_option:Option>*/;
2026 CONTINUE_label
: (void)0;
2027 ((void (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var33
) /* next on <var33:Iterator[nullable Object]>*/;
2029 BREAK_label
: (void)0;
2030 var54
= !var_next_called
;
2032 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2036 var55
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2037 if (var55
== NULL
) {
2038 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2039 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 288);
2042 var56
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var55
, var_str
) /* has_key on <var55:Map[String, Option]>*/;
2044 var57
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2045 if (var57
== NULL
) {
2046 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2047 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 289);
2050 var58
= ((val
* (*)(val
*, val
*))(var57
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var57
, var_str
) /* [] on <var57:Map[String, Option]>*/;
2052 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2053 ((void (*)(val
*, val
*))(var_opt
->class->vft
[COLOR_opts__Option__read_param
]))(var_opt
, var_it
) /* read_param on <var_opt:Option>*/;
2055 var59
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2056 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_rest
, var59
) /* add on <var_rest:Array[String]>*/;
2057 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2061 CONTINUE_label60
: (void)0;
2063 BREAK_label60
: (void)0;
2064 var61
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2065 if (var61
== NULL
) {
2066 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2067 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 300);
2070 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var61
) /* iterator on <var61:Array[Option]>*/;
2072 var63
= ((short int (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var62
) /* is_ok on <var62:Iterator[nullable Object]>*/;
2074 var64
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var62
) /* item on <var62:Iterator[nullable Object]>*/;
2076 var67
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__mandatory
]))(var_opt65
) /* mandatory on <var_opt65:Option>*/;
2079 var69
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__read
]))(var_opt65
) /* read on <var_opt65:Option>*/;
2086 var71
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2087 if (var71
== NULL
) {
2088 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2089 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 302);
2095 var74
= "Mandatory option ";
2097 var76
= string__NativeString__to_s_with_length(var74
, var75
);
2101 var77
= ((val
* (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__names
]))(var_opt65
) /* names on <var_opt65:Option>*/;
2107 var82
= string__NativeString__to_s_with_length(var80
, var81
);
2111 var83
= ((val
* (*)(val
*, val
*))(var77
->class->vft
[COLOR_string__Collection__join
]))(var77
, var79
) /* join on <var77:Array[String]>*/;
2115 var86
= " not found.";
2117 var88
= string__NativeString__to_s_with_length(var86
, var87
);
2121 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
2122 { /* var89 = array_instance Array[Object] */
2124 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
2125 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var73
;
2126 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var83
;
2127 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var85
;
2128 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
2130 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
2131 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var71
, var92
) /* add on <var71:Array[String]>*/;
2134 CONTINUE_label93
: (void)0;
2135 ((void (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var62
) /* next on <var62:Iterator[nullable Object]>*/;
2137 BREAK_label93
: (void)0;
2140 /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */
2141 void VIRTUAL_opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
2142 opts__OptionContext__parse_intern(self
, p0
);
2145 /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
2146 void opts__OptionContext__add_option(val
* self
, val
* p0
) {
2147 val
* var_opts
/* var opts: Array[Option] */;
2148 val
* var
/* : Iterator[nullable Object] */;
2149 short int var1
/* : Bool */;
2150 val
* var2
/* : nullable Object */;
2151 val
* var_opt
/* var opt: Option */;
2152 val
* var3
/* : Array[Option] */;
2154 var
= ((val
* (*)(val
*))(var_opts
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_opts
) /* iterator on <var_opts:Array[Option]>*/;
2156 var1
= ((short int (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var
) /* is_ok on <var:Iterator[nullable Object]>*/;
2158 var2
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var
) /* item on <var:Iterator[nullable Object]>*/;
2160 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2162 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2163 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 310);
2166 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var3
, var_opt
) /* add on <var3:Array[Option]>*/;
2167 CONTINUE_label
: (void)0;
2168 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:Iterator[nullable Object]>*/;
2170 BREAK_label
: (void)0;
2173 /* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
2174 void VIRTUAL_opts__OptionContext__add_option(val
* self
, val
* p0
) {
2175 opts__OptionContext__add_option(self
, p0
);
2178 /* method opts#OptionContext#init for (self: OptionContext) */
2179 void opts__OptionContext__init(val
* self
) {
2180 val
* var
/* : Array[Option] */;
2181 val
* var1
/* : HashMap[String, Option] */;
2182 val
* var2
/* : Array[String] */;
2183 val
* var3
/* : Array[String] */;
2184 var
= NEW_array__Array(&type_array__Arrayopts__Option
);
2185 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Option]>*/;
2186 self
->attrs
[COLOR_opts__OptionContext___options
].val
= var
; /* _options on <self:OptionContext> */
2187 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option
);
2188 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Option]>*/;
2189 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= var1
; /* _optmap on <self:OptionContext> */
2190 var2
= NEW_array__Array(&type_array__Arraystring__String
);
2191 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[String]>*/;
2192 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= var2
; /* _rest on <self:OptionContext> */
2193 var3
= NEW_array__Array(&type_array__Arraystring__String
);
2194 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
2195 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= var3
; /* _errors on <self:OptionContext> */
2198 /* method opts#OptionContext#init for (self: Object) */
2199 void VIRTUAL_opts__OptionContext__init(val
* self
) {
2200 opts__OptionContext__init(self
);
2203 /* method opts#OptionContext#build for (self: OptionContext) */
2204 void opts__OptionContext__build(val
* self
) {
2205 val
* var
/* : Array[Option] */;
2206 val
* var1
/* : Iterator[nullable Object] */;
2207 short int var2
/* : Bool */;
2208 val
* var3
/* : nullable Object */;
2209 val
* var_o
/* var o: Option */;
2210 val
* var4
/* : Array[String] */;
2211 val
* var5
/* : Iterator[nullable Object] */;
2212 short int var6
/* : Bool */;
2213 val
* var7
/* : nullable Object */;
2214 val
* var_n
/* var n: String */;
2215 val
* var8
/* : Map[String, Option] */;
2216 var
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2218 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2219 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 324);
2222 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Array[Option]>*/;
2224 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
2226 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
2228 var4
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__names
]))(var_o
) /* names on <var_o:Option>*/;
2229 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[String]>*/;
2231 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
2233 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
2235 var8
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2237 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2238 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 326);
2241 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var_n
, var_o
) /* []= on <var8:Map[String, Option]>*/;
2242 CONTINUE_label
: (void)0;
2243 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
2245 BREAK_label
: (void)0;
2246 CONTINUE_label9
: (void)0;
2247 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
2249 BREAK_label9
: (void)0;
2252 /* method opts#OptionContext#build for (self: Object) */
2253 void VIRTUAL_opts__OptionContext__build(val
* self
) {
2254 opts__OptionContext__build(self
);
2257 /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */
2258 val
* opts__OptionContext__get_errors(val
* self
) {
2259 val
* var
/* : Array[String] */;
2260 val
* var1
/* : Array[String] */;
2261 val
* var_errors
/* var errors: Array[String] */;
2262 val
* var2
/* : Array[String] */;
2263 val
* var3
/* : Array[Option] */;
2264 val
* var4
/* : Iterator[nullable Object] */;
2265 short int var5
/* : Bool */;
2266 val
* var6
/* : nullable Object */;
2267 val
* var_o
/* var o: Option */;
2268 val
* var7
/* : Array[String] */;
2269 val
* var8
/* : Iterator[nullable Object] */;
2270 short int var9
/* : Bool */;
2271 val
* var10
/* : nullable Object */;
2272 val
* var_e
/* var e: String */;
2273 var1
= NEW_array__Array(&type_array__Arraystring__String
);
2274 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[String]>*/;
2276 var2
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2278 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2279 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 335);
2282 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_errors
, var2
) /* add_all on <var_errors:Array[String]>*/;
2283 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2285 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2286 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 337);
2289 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Option]>*/;
2291 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2293 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2295 var7
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__errors
]))(var_o
) /* errors on <var_o:Option>*/;
2296 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[String]>*/;
2298 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
2300 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
2302 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_errors
, var_e
) /* add on <var_errors:Array[String]>*/;
2303 CONTINUE_label
: (void)0;
2304 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
2306 BREAK_label
: (void)0;
2307 CONTINUE_label11
: (void)0;
2308 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2310 BREAK_label11
: (void)0;
2316 /* method opts#OptionContext#get_errors for (self: Object): Array[String] */
2317 val
* VIRTUAL_opts__OptionContext__get_errors(val
* self
) {
2318 val
* var
/* : Array[String] */;
2319 val
* var1
/* : Array[String] */;
2320 var1
= opts__OptionContext__get_errors(self
);