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 (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 19);
15 /* method opts#Option#names for (self: Object): Array[String] */
16 val
* VIRTUAL_opts__Option__names(val
* self
) {
17 val
* var
/* : Array[String] */;
18 val
* var1
/* : Array[String] */;
19 var1
= opts__Option__names(self
);
24 /* method opts#Option#helptext for (self: Option): String */
25 val
* opts__Option__helptext(val
* self
) {
26 val
* var
/* : String */;
27 val
* var1
/* : String */;
28 var1
= self
->attrs
[COLOR_opts__Option___helptext
].val
; /* _helptext on <self:Option> */
30 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _helptext", "lib/opts.nit", 25);
37 /* method opts#Option#helptext for (self: Object): String */
38 val
* VIRTUAL_opts__Option__helptext(val
* self
) {
39 val
* var
/* : String */;
40 val
* var1
/* : String */;
41 var1
= opts__Option__helptext(self
);
46 /* method opts#Option#errors for (self: Option): Array[String] */
47 val
* opts__Option__errors(val
* self
) {
48 val
* var
/* : Array[String] */;
49 val
* var1
/* : Array[String] */;
50 var1
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:Option> */
52 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 28);
59 /* method opts#Option#errors for (self: Object): Array[String] */
60 val
* VIRTUAL_opts__Option__errors(val
* self
) {
61 val
* var
/* : Array[String] */;
62 val
* var1
/* : Array[String] */;
63 var1
= opts__Option__errors(self
);
68 /* method opts#Option#mandatory for (self: Option): Bool */
69 short int opts__Option__mandatory(val
* self
) {
70 short int var
/* : Bool */;
71 short int var1
/* : Bool */;
72 var1
= self
->attrs
[COLOR_opts__Option___mandatory
].s
; /* _mandatory on <self:Option> */
77 /* method opts#Option#mandatory for (self: Object): Bool */
78 short int VIRTUAL_opts__Option__mandatory(val
* self
) {
79 short int var
/* : Bool */;
80 short int var1
/* : Bool */;
81 var1
= opts__Option__mandatory(self
);
86 /* method opts#Option#mandatory= for (self: Option, Bool) */
87 void opts__Option__mandatory_61d(val
* self
, short int p0
) {
88 self
->attrs
[COLOR_opts__Option___mandatory
].s
= p0
; /* _mandatory on <self:Option> */
91 /* method opts#Option#mandatory= for (self: Object, Bool) */
92 void VIRTUAL_opts__Option__mandatory_61d(val
* self
, short int p0
) {
93 opts__Option__mandatory_61d(self
, p0
);
96 /* method opts#Option#read for (self: Option): Bool */
97 short int opts__Option__read(val
* self
) {
98 short int var
/* : Bool */;
99 short int var1
/* : Bool */;
100 var1
= self
->attrs
[COLOR_opts__Option___read
].s
; /* _read on <self:Option> */
105 /* method opts#Option#read for (self: Object): Bool */
106 short int VIRTUAL_opts__Option__read(val
* self
) {
107 short int var
/* : Bool */;
108 short int var1
/* : Bool */;
109 var1
= opts__Option__read(self
);
114 /* method opts#Option#value= for (self: Option, nullable Object) */
115 void opts__Option__value_61d(val
* self
, val
* p0
) {
116 short int var
/* : Bool */;
119 const struct type
* type_struct
;
120 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa nullable VALUE */
121 /* <p0:nullable Object> isa nullable VALUE */
122 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
123 cltype
= type_struct
->color
;
124 idtype
= type_struct
->id
;
128 if(cltype
>= p0
->type
->table_size
) {
131 var
= p0
->type
->type_table
[cltype
] == idtype
;
135 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 37);
138 self
->attrs
[COLOR_opts__Option___value
].val
= p0
; /* _value on <self:Option> */
141 /* method opts#Option#value= for (self: Object, nullable Object) */
142 void VIRTUAL_opts__Option__value_61d(val
* self
, val
* p0
) {
143 opts__Option__value_61d(self
, p0
);
146 /* method opts#Option#value for (self: Option): nullable Object */
147 val
* opts__Option__value(val
* self
) {
148 val
* var
/* : nullable Object */;
149 val
* var1
/* : nullable Object */;
150 short int var2
/* : Bool */;
153 const struct type
* type_struct
;
154 short int is_nullable
;
155 var1
= self
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <self:Option> */
156 /* <var1:nullable Object> isa VALUE */
157 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
158 cltype
= type_struct
->color
;
159 idtype
= type_struct
->id
;
160 is_nullable
= type_struct
->is_nullable
;
164 if(cltype
>= var1
->type
->table_size
) {
167 var2
= var1
->type
->type_table
[cltype
] == idtype
;
171 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 41);
179 /* method opts#Option#value for (self: Object): nullable Object */
180 val
* VIRTUAL_opts__Option__value(val
* self
) {
181 val
* var
/* : nullable Object */;
182 val
* var1
/* : nullable Object */;
183 var1
= opts__Option__value(self
);
188 /* method opts#Option#default_value for (self: Option): nullable Object */
189 val
* opts__Option__default_value(val
* self
) {
190 val
* var
/* : nullable Object */;
191 val
* var1
/* : nullable Object */;
192 var1
= self
->attrs
[COLOR_opts__Option___default_value
].val
; /* _default_value on <self:Option> */
197 /* method opts#Option#default_value for (self: Object): nullable Object */
198 val
* VIRTUAL_opts__Option__default_value(val
* self
) {
199 val
* var
/* : nullable Object */;
200 val
* var1
/* : nullable Object */;
201 var1
= opts__Option__default_value(self
);
206 /* method opts#Option#default_value= for (self: Option, nullable Object) */
207 void opts__Option__default_value_61d(val
* self
, val
* p0
) {
208 short int var
/* : Bool */;
211 const struct type
* type_struct
;
212 /* Covariant cast for argument 0 (default_value) <p0:nullable Object> isa nullable VALUE */
213 /* <p0:nullable Object> isa nullable VALUE */
214 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
215 cltype
= type_struct
->color
;
216 idtype
= type_struct
->id
;
220 if(cltype
>= p0
->type
->table_size
) {
223 var
= p0
->type
->type_table
[cltype
] == idtype
;
227 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 43);
230 self
->attrs
[COLOR_opts__Option___default_value
].val
= p0
; /* _default_value on <self:Option> */
233 /* method opts#Option#default_value= for (self: Object, nullable Object) */
234 void VIRTUAL_opts__Option__default_value_61d(val
* self
, val
* p0
) {
235 opts__Option__default_value_61d(self
, p0
);
238 /* method opts#Option#init_opt for (self: Option, String, nullable Object, nullable Array[String]) */
239 void opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
240 short int var
/* : Bool */;
243 const struct type
* type_struct
;
244 val
* var_help
/* var help: String */;
245 val
* var_default
/* var default: nullable Object */;
246 val
* var_names
/* var names: nullable Array[String] */;
247 val
* var1
/* : null */;
248 short int var2
/* : Bool */;
249 val
* var3
/* : Array[String] */;
250 val
* var4
/* : Array[nullable Object] */;
251 short int var5
/* : Bool */;
252 short int var6
/* : Bool */;
253 val
* var7
/* : Array[String] */;
254 /* Covariant cast for argument 1 (default) <p1:nullable Object> isa nullable VALUE */
255 /* <p1:nullable Object> isa nullable VALUE */
256 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
257 cltype
= type_struct
->color
;
258 idtype
= type_struct
->id
;
262 if(cltype
>= p1
->type
->table_size
) {
265 var
= p1
->type
->type_table
[cltype
] == idtype
;
269 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 46);
276 if (var_names
== NULL
) {
277 var2
= 1; /* is null */
279 var2
= 0; /* arg is null but recv is not */
282 var3
= NEW_array__Array(&type_array__Arraystring__String
);
283 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
284 CHECK_NEW_array__Array(var3
);
285 self
->attrs
[COLOR_opts__Option___names
].val
= var3
; /* _names on <self:Option> */
287 var4
= ((val
* (*)(val
*))(var_names
->class->vft
[COLOR_array__Collection__to_a
]))(var_names
) /* to_a on <var_names:nullable Array[String](Array[String])>*/;
288 self
->attrs
[COLOR_opts__Option___names
].val
= var4
; /* _names on <self:Option> */
290 self
->attrs
[COLOR_opts__Option___helptext
].val
= var_help
; /* _helptext on <self:Option> */
292 self
->attrs
[COLOR_opts__Option___mandatory
].s
= var5
; /* _mandatory on <self:Option> */
294 self
->attrs
[COLOR_opts__Option___read
].s
= var6
; /* _read on <self:Option> */
295 self
->attrs
[COLOR_opts__Option___default_value
].val
= var_default
; /* _default_value on <self:Option> */
296 self
->attrs
[COLOR_opts__Option___value
].val
= var_default
; /* _value on <self:Option> */
297 var7
= NEW_array__Array(&type_array__Arraystring__String
);
298 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[String]>*/;
299 CHECK_NEW_array__Array(var7
);
300 self
->attrs
[COLOR_opts__Option___errors
].val
= var7
; /* _errors on <self:Option> */
303 /* method opts#Option#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
304 void VIRTUAL_opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
305 opts__Option__init_opt(self
, p0
, p1
, p2
);
308 /* method opts#Option#add_aliases for (self: Option, Array[String]) */
309 void opts__Option__add_aliases(val
* self
, val
* p0
) {
310 val
* var_names
/* var names: Array[String] */;
311 val
* var
/* : Array[String] */;
313 var
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
315 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 63);
318 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var
, var_names
) /* add_all on <var:Array[String]>*/;
321 /* method opts#Option#add_aliases for (self: Object, Array[String]) */
322 void VIRTUAL_opts__Option__add_aliases(val
* self
, val
* p0
) {
323 opts__Option__add_aliases(self
, p0
);
326 /* method opts#Option#to_s for (self: Option): String */
327 val
* opts__Option__to_s(val
* self
) {
328 val
* var
/* : String */;
329 long var1
/* : Int */;
330 val
* var2
/* : String */;
332 var2
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_opts__Option__pretty
]))(self
, var1
) /* pretty on <self:Option>*/;
338 /* method opts#Option#to_s for (self: Object): String */
339 val
* VIRTUAL_opts__Option__to_s(val
* self
) {
340 val
* var
/* : String */;
341 val
* var1
/* : String */;
342 var1
= opts__Option__to_s(self
);
347 /* method opts#Option#pretty for (self: Option, Int): String */
348 val
* opts__Option__pretty(val
* self
, long p0
) {
349 val
* var
/* : String */;
350 long var_off
/* var off: Int */;
351 val
* var1
/* : Buffer */;
353 val
* var2
/* : String */;
354 char* var3
/* : NativeString */;
355 long var4
/* : Int */;
356 val
* var5
/* : String */;
357 val
* var_text
/* var text: Buffer */;
358 val
* var6
/* : Array[String] */;
359 static val
* varonce7
;
360 val
* var8
/* : String */;
361 char* var9
/* : NativeString */;
362 long var10
/* : Int */;
363 val
* var11
/* : String */;
364 val
* var12
/* : String */;
365 static val
* varonce13
;
366 val
* var14
/* : String */;
367 char* var15
/* : NativeString */;
368 long var16
/* : Int */;
369 val
* var17
/* : String */;
370 long var18
/* : Int */;
371 long var19
/* : Int */;
372 long var21
/* : Int */;
373 long var_rest
/* var rest: Int */;
374 long var22
/* : Int */;
375 short int var23
/* : Bool */;
376 short int var25
/* : Bool */;
379 short int var26
/* : Bool */;
380 static val
* varonce27
;
381 val
* var28
/* : String */;
382 char* var29
/* : NativeString */;
383 long var30
/* : Int */;
384 val
* var31
/* : String */;
385 val
* var32
/* : String */;
386 val
* var33
/* : String */;
387 val
* var34
/* : String */;
389 var1
= NEW_string__Buffer(&type_string__Buffer
);
395 var5
= string__NativeString__to_s_with_length(var3
, var4
);
399 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__Buffer__from
]))(var1
, var2
) /* from on <var1:Buffer>*/;
400 CHECK_NEW_string__Buffer(var1
);
402 var6
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
404 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 72);
412 var11
= string__NativeString__to_s_with_length(var9
, var10
);
416 var12
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_string__Collection__join
]))(var6
, var8
) /* join on <var6:Array[String]>*/;
417 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var12
) /* append on <var_text:Buffer>*/;
423 var17
= string__NativeString__to_s_with_length(var15
, var16
);
427 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var14
) /* append on <var_text:Buffer>*/;
428 var18
= ((long (*)(val
*))(var_text
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_text
) /* length on <var_text:Buffer>*/;
429 { /* Inline kernel#Int#- (var_off,var18) */
430 var21
= var_off
- var18
;
437 { /* Inline kernel#Int#> (var_rest,var22) */
438 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
439 /* <var22:Int> isa OTHER */
440 var25
= 1; /* easy <var22:Int> isa OTHER*/
442 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
445 var26
= var_rest
> var22
;
456 var31
= string__NativeString__to_s_with_length(var29
, var30
);
460 var32
= ((val
* (*)(val
*, long))(var28
->class->vft
[COLOR_string__String___42d
]))(var28
, var_rest
) /* * on <var28:String>*/;
461 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var32
) /* append on <var_text:Buffer>*/;
464 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:Option>*/;
465 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var33
) /* append on <var_text:Buffer>*/;
466 var34
= ((val
* (*)(val
*))(var_text
->class->vft
[COLOR_string__Object__to_s
]))(var_text
) /* to_s on <var_text:Buffer>*/;
472 /* method opts#Option#pretty for (self: Object, Int): String */
473 val
* VIRTUAL_opts__Option__pretty(val
* self
, long p0
) {
474 val
* var
/* : String */;
475 val
* var1
/* : String */;
476 var1
= opts__Option__pretty(self
, p0
);
481 /* method opts#Option#pretty_default for (self: Option): String */
482 val
* opts__Option__pretty_default(val
* self
) {
483 val
* var
/* : String */;
484 val
* var1
/* : nullable Object */;
485 val
* var_dv
/* var dv: nullable Object */;
486 val
* var2
/* : null */;
487 short int var3
/* : Bool */;
488 val
* var4
/* : Array[Object] */;
489 long var5
/* : Int */;
490 val
* var_
/* var : Array[Object] */;
492 val
* var6
/* : String */;
493 char* var7
/* : NativeString */;
494 long var8
/* : Int */;
495 val
* var9
/* : String */;
496 static val
* varonce10
;
497 val
* var11
/* : String */;
498 char* var12
/* : NativeString */;
499 long var13
/* : Int */;
500 val
* var14
/* : String */;
501 val
* var15
/* : String */;
502 static val
* varonce16
;
503 val
* var17
/* : String */;
504 char* var18
/* : NativeString */;
505 long var19
/* : Int */;
506 val
* var20
/* : String */;
507 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:Option>*/;
510 if (var_dv
== NULL
) {
511 var3
= 0; /* is null */
513 var3
= 1; /* arg is null and recv is not */
516 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
518 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
519 CHECK_NEW_array__Array(var4
);
526 var9
= string__NativeString__to_s_with_length(var7
, var8
);
530 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
531 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_dv
) /* add on <var_:Array[Object]>*/;
537 var14
= string__NativeString__to_s_with_length(var12
, var13
);
541 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
542 var15
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
552 var20
= string__NativeString__to_s_with_length(var18
, var19
);
561 /* method opts#Option#pretty_default for (self: Object): String */
562 val
* VIRTUAL_opts__Option__pretty_default(val
* self
) {
563 val
* var
/* : String */;
564 val
* var1
/* : String */;
565 var1
= opts__Option__pretty_default(self
);
570 /* method opts#Option#read_param for (self: Option, Iterator[String]) */
571 void opts__Option__read_param(val
* self
, val
* p0
) {
572 val
* var_it
/* var it: Iterator[String] */;
573 short int var
/* : Bool */;
576 self
->attrs
[COLOR_opts__Option___read
].s
= var
; /* _read on <self:Option> */
579 /* method opts#Option#read_param for (self: Object, Iterator[String]) */
580 void VIRTUAL_opts__Option__read_param(val
* self
, val
* p0
) {
581 opts__Option__read_param(self
, p0
);
584 /* method opts#OptionText#init for (self: OptionText, String) */
585 void opts__OptionText__init(val
* self
, val
* p0
) {
586 val
* var_text
/* var text: String */;
587 val
* var
/* : null */;
588 val
* var1
/* : null */;
592 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_text
, var
, var1
) /* init_opt on <self:OptionText>*/;
595 /* method opts#OptionText#init for (self: Object, String) */
596 void VIRTUAL_opts__OptionText__init(val
* self
, val
* p0
) {
597 opts__OptionText__init(self
, p0
);
600 /* method opts#OptionText#pretty for (self: OptionText, Int): String */
601 val
* opts__OptionText__pretty(val
* self
, long p0
) {
602 val
* var
/* : String */;
603 long var_off
/* var off: Int */;
604 val
* var1
/* : String */;
606 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:OptionText>*/;
612 /* method opts#OptionText#pretty for (self: Object, Int): String */
613 val
* VIRTUAL_opts__OptionText__pretty(val
* self
, long p0
) {
614 val
* var
/* : String */;
615 val
* var1
/* : String */;
616 var1
= opts__OptionText__pretty(self
, p0
);
621 /* method opts#OptionText#to_s for (self: OptionText): String */
622 val
* opts__OptionText__to_s(val
* self
) {
623 val
* var
/* : String */;
624 val
* var1
/* : String */;
625 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:OptionText>*/;
631 /* method opts#OptionText#to_s for (self: Object): String */
632 val
* VIRTUAL_opts__OptionText__to_s(val
* self
) {
633 val
* var
/* : String */;
634 val
* var1
/* : String */;
635 var1
= opts__OptionText__to_s(self
);
640 /* method opts#OptionBool#init for (self: OptionBool, String, Array[String]) */
641 void opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
642 val
* var_help
/* var help: String */;
643 val
* var_names
/* var names: Array[String] */;
644 short int var
/* : Bool */;
645 val
* var1
/* : nullable Object */;
649 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
650 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionBool>*/;
653 /* method opts#OptionBool#init for (self: Object, String, Array[String]) */
654 void VIRTUAL_opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
655 opts__OptionBool__init(self
, p0
, p1
);
658 /* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */
659 void opts__OptionBool__read_param(val
* self
, val
* p0
) {
660 val
* var_it
/* var it: Iterator[String] */;
661 short int var
/* : Bool */;
662 val
* var1
/* : nullable Object */;
664 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionBool__read_param
]))(self
, p0
) /* read_param on <self:OptionBool>*/;
666 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
667 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var1
) /* value= on <self:OptionBool>*/;
670 /* method opts#OptionBool#read_param for (self: Object, Iterator[String]) */
671 void VIRTUAL_opts__OptionBool__read_param(val
* self
, val
* p0
) {
672 opts__OptionBool__read_param(self
, p0
);
675 /* method opts#OptionCount#init for (self: OptionCount, String, Array[String]) */
676 void opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
677 val
* var_help
/* var help: String */;
678 val
* var_names
/* var names: Array[String] */;
679 long var
/* : Int */;
680 val
* var1
/* : nullable Object */;
684 var1
= BOX_kernel__Int(var
); /* autobox from Int to nullable Object */
685 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionCount>*/;
688 /* method opts#OptionCount#init for (self: Object, String, Array[String]) */
689 void VIRTUAL_opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
690 opts__OptionCount__init(self
, p0
, p1
);
693 /* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */
694 void opts__OptionCount__read_param(val
* self
, val
* p0
) {
695 val
* var_it
/* var it: Iterator[String] */;
696 val
* var_
/* var : OptionCount */;
697 val
* var
/* : nullable Object */;
698 long var1
/* : Int */;
699 long var2
/* : Int */;
700 long var4
/* : Int */;
701 long var5
/* : Int */;
702 val
* var6
/* : nullable Object */;
704 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionCount__read_param
]))(self
, p0
) /* read_param on <self:OptionCount>*/;
706 var
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_opts__Option__value
]))(var_
) /* value on <var_:OptionCount>*/;
708 { /* Inline kernel#Int#+ (var,var1) */
709 var4
= ((struct instance_kernel__Int
*)var
)->value
; /* autounbox from nullable Object to Int */;
715 var6
= BOX_kernel__Int(var2
); /* autobox from Int to nullable Object */
716 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_opts__Option__value_61d
]))(var_
, var6
) /* value= on <var_:OptionCount>*/;
719 /* method opts#OptionCount#read_param for (self: Object, Iterator[String]) */
720 void VIRTUAL_opts__OptionCount__read_param(val
* self
, val
* p0
) {
721 opts__OptionCount__read_param(self
, p0
);
724 /* method opts#OptionParameter#convert for (self: OptionParameter, String): nullable Object */
725 val
* opts__OptionParameter__convert(val
* self
, val
* p0
) {
726 val
* var
/* : nullable Object */;
727 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Deferred method called", "lib/opts.nit", 133);
732 /* method opts#OptionParameter#convert for (self: Object, String): nullable Object */
733 val
* VIRTUAL_opts__OptionParameter__convert(val
* self
, val
* p0
) {
734 val
* var
/* : nullable Object */;
735 val
* var1
/* : nullable Object */;
736 var1
= opts__OptionParameter__convert(self
, p0
);
741 /* method opts#OptionParameter#parameter_mandatory for (self: OptionParameter): Bool */
742 short int opts__OptionParameter__parameter_mandatory(val
* self
) {
743 short int var
/* : Bool */;
744 short int var1
/* : Bool */;
745 var1
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
750 /* method opts#OptionParameter#parameter_mandatory for (self: Object): Bool */
751 short int VIRTUAL_opts__OptionParameter__parameter_mandatory(val
* self
) {
752 short int var
/* : Bool */;
753 short int var1
/* : Bool */;
754 var1
= opts__OptionParameter__parameter_mandatory(self
);
759 /* method opts#OptionParameter#parameter_mandatory= for (self: OptionParameter, Bool) */
760 void opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
761 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= p0
; /* _parameter_mandatory on <self:OptionParameter> */
764 /* method opts#OptionParameter#parameter_mandatory= for (self: Object, Bool) */
765 void VIRTUAL_opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
766 opts__OptionParameter__parameter_mandatory_61d(self
, p0
);
769 /* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */
770 void opts__OptionParameter__read_param(val
* self
, val
* p0
) {
771 val
* var_it
/* var it: Iterator[String] */;
772 short int var
/* : Bool */;
773 short int var1
/* : Bool */;
774 short int var_
/* var : Bool */;
775 val
* var2
/* : nullable Object */;
776 val
* var3
/* : nullable Object */;
777 char var4
/* : Char */;
778 short int var5
/* : Bool */;
779 short int var7
/* : Bool */;
780 char var8
/* : Char */;
781 short int var9
/* : Bool */;
782 val
* var10
/* : nullable Object */;
783 val
* var11
/* : nullable Object */;
784 short int var12
/* : Bool */;
785 val
* var13
/* : Array[String] */;
787 val
* var14
/* : String */;
788 char* var15
/* : NativeString */;
789 long var16
/* : Int */;
790 val
* var17
/* : String */;
791 val
* var18
/* : Array[String] */;
792 val
* var19
/* : nullable Object */;
793 static val
* varonce20
;
794 val
* var21
/* : String */;
795 char* var22
/* : NativeString */;
796 long var23
/* : Int */;
797 val
* var24
/* : String */;
798 val
* var25
/* : Array[Object] */;
799 long var26
/* : Int */;
800 val
* var27
/* : NativeArray[Object] */;
801 val
* var28
/* : String */;
803 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__read_param
]))(self
, p0
) /* read_param on <self:OptionParameter>*/;
804 var1
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
807 var2
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
808 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:nullable Object(String)>*/;
810 { /* Inline kernel#Char#!= (var3,var4) */
811 var7
= (var3
!= NULL
) && (var3
->class == &class_kernel__Char
);
813 var8
= ((struct instance_kernel__Char
*)var3
)->value
; /* autounbox from nullable Object to Char */;
814 var7
= (var8
== var4
);
826 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
827 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__convert
]))(self
, var10
) /* convert on <self:OptionParameter>*/;
828 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var11
) /* value= on <self:OptionParameter>*/;
829 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
831 var12
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
833 var13
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionParameter> */
835 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 146);
841 var15
= "Parameter expected for option ";
843 var17
= string__NativeString__to_s_with_length(var15
, var16
);
847 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__names
]))(self
) /* names on <self:OptionParameter>*/;
848 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var18
) /* first on <var18:Array[String]>*/;
854 var24
= string__NativeString__to_s_with_length(var22
, var23
);
858 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
859 { /* var25 = array_instance Array[Object] */
861 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
862 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var14
;
863 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var19
;
864 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
865 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
866 CHECK_NEW_array__Array(var25
);
868 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
869 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var13
, var28
) /* add on <var13:Array[String]>*/;
875 /* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */
876 void VIRTUAL_opts__OptionParameter__read_param(val
* self
, val
* p0
) {
877 opts__OptionParameter__read_param(self
, p0
);
880 /* method opts#OptionParameter#init_opt for (self: OptionParameter, String, nullable Object, nullable Array[String]) */
881 void opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
882 short int var
/* : Bool */;
885 const struct type
* type_struct
;
886 val
* var_h
/* var h: String */;
887 val
* var_d
/* var d: nullable Object */;
888 val
* var_n
/* var n: nullable Array[String] */;
889 short int var1
/* : Bool */;
890 /* Covariant cast for argument 1 (d) <p1:nullable Object> isa nullable VALUE */
891 /* <p1:nullable Object> isa nullable VALUE */
892 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
893 cltype
= type_struct
->color
;
894 idtype
= type_struct
->id
;
898 if(cltype
>= p1
->type
->table_size
) {
901 var
= p1
->type
->type_table
[cltype
] == idtype
;
905 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 151);
911 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, p0
, p1
, p2
) /* init_opt on <self:OptionParameter>*/;
913 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= var1
; /* _parameter_mandatory on <self:OptionParameter> */
916 /* method opts#OptionParameter#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
917 void VIRTUAL_opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
918 opts__OptionParameter__init_opt(self
, p0
, p1
, p2
);
921 /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */
922 void opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
923 val
* var_help
/* var help: String */;
924 val
* var_names
/* var names: Array[String] */;
925 val
* var
/* : null */;
929 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionString>*/;
932 /* method opts#OptionString#init for (self: Object, String, Array[String]) */
933 void VIRTUAL_opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
934 opts__OptionString__init(self
, p0
, p1
);
937 /* method opts#OptionString#convert for (self: OptionString, String): nullable String */
938 val
* opts__OptionString__convert(val
* self
, val
* p0
) {
939 val
* var
/* : nullable String */;
940 val
* var_str
/* var str: String */;
941 short int var1
/* : Bool */;
944 const struct type
* type_struct
;
946 /* <var_str:String> isa VALUE */
947 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
948 cltype
= type_struct
->color
;
949 idtype
= type_struct
->id
;
950 if(cltype
>= var_str
->type
->table_size
) {
953 var1
= var_str
->type
->type_table
[cltype
] == idtype
;
956 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 164);
964 /* method opts#OptionString#convert for (self: Object, String): nullable Object */
965 val
* VIRTUAL_opts__OptionString__convert(val
* self
, val
* p0
) {
966 val
* var
/* : nullable Object */;
967 val
* var1
/* : nullable String */;
968 var1
= opts__OptionString__convert(self
, p0
);
973 /* method opts#OptionEnum#init for (self: OptionEnum, Array[String], String, Int, Array[String]) */
974 void opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
975 val
* var_values
/* var values: Array[String] */;
976 val
* var_help
/* var help: String */;
977 long var_default
/* var default: Int */;
978 val
* var_names
/* var names: Array[String] */;
979 long var
/* : Int */;
980 long var1
/* : Int */;
981 short int var2
/* : Bool */;
982 short int var4
/* : Bool */;
985 short int var5
/* : Bool */;
986 val
* var6
/* : Array[nullable Object] */;
988 val
* var7
/* : String */;
989 char* var8
/* : NativeString */;
990 long var9
/* : Int */;
991 val
* var10
/* : String */;
992 static val
* varonce11
;
993 val
* var12
/* : String */;
994 char* var13
/* : NativeString */;
995 long var14
/* : Int */;
996 val
* var15
/* : String */;
997 val
* var16
/* : String */;
998 static val
* varonce17
;
999 val
* var18
/* : String */;
1000 char* var19
/* : NativeString */;
1001 long var20
/* : Int */;
1002 val
* var21
/* : String */;
1003 val
* var22
/* : Array[Object] */;
1004 long var23
/* : Int */;
1005 val
* var24
/* : NativeArray[Object] */;
1006 val
* var25
/* : String */;
1007 val
* var26
/* : nullable Object */;
1012 var
= ((long (*)(val
*))(var_values
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_values
) /* length on <var_values:Array[String]>*/;
1014 { /* Inline kernel#Int#> (var,var1) */
1015 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1016 /* <var1:Int> isa OTHER */
1017 var4
= 1; /* easy <var1:Int> isa OTHER*/
1019 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
1028 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "lib/opts.nit", 174);
1031 var6
= ((val
* (*)(val
*))(var_values
->class->vft
[COLOR_array__Collection__to_a
]))(var_values
) /* to_a on <var_values:Array[String]>*/;
1032 self
->attrs
[COLOR_opts__OptionEnum___values
].val
= var6
; /* _values on <self:OptionEnum> */
1038 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1047 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1051 var16
= ((val
* (*)(val
*, val
*))(var_values
->class->vft
[COLOR_string__Collection__join
]))(var_values
, var12
) /* join on <var_values:Array[String]>*/;
1057 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1061 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1062 { /* var22 = array_instance Array[Object] */
1064 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1065 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var_help
;
1066 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var7
;
1067 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var16
;
1068 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var18
;
1069 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1070 CHECK_NEW_array__Array(var22
);
1072 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1073 var26
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1074 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var25
, var26
, var_names
) /* init_opt on <self:OptionEnum>*/;
1077 /* method opts#OptionEnum#init for (self: Object, Array[String], String, Int, Array[String]) */
1078 void VIRTUAL_opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1079 opts__OptionEnum__init(self
, p0
, p1
, p2
, p3
);
1082 /* method opts#OptionEnum#convert for (self: OptionEnum, String): Int */
1083 long opts__OptionEnum__convert(val
* self
, val
* p0
) {
1084 long var
/* : Int */;
1085 val
* var_str
/* var str: String */;
1086 val
* var1
/* : Array[String] */;
1087 long var2
/* : Int */;
1088 long var_id
/* var id: Int */;
1089 long var3
/* : Int */;
1090 long var4
/* : Int */;
1091 long var6
/* : Int */;
1092 short int var7
/* : Bool */;
1093 short int var9
/* : Bool */;
1094 val
* var10
/* : Array[Object] */;
1095 long var11
/* : Int */;
1096 val
* var_
/* var : Array[Object] */;
1097 static val
* varonce
;
1098 val
* var12
/* : String */;
1099 char* var13
/* : NativeString */;
1100 long var14
/* : Int */;
1101 val
* var15
/* : String */;
1102 val
* var16
/* : Array[String] */;
1103 static val
* varonce17
;
1104 val
* var18
/* : String */;
1105 char* var19
/* : NativeString */;
1106 long var20
/* : Int */;
1107 val
* var21
/* : String */;
1108 val
* var22
/* : String */;
1109 static val
* varonce23
;
1110 val
* var24
/* : String */;
1111 char* var25
/* : NativeString */;
1112 long var26
/* : Int */;
1113 val
* var27
/* : String */;
1114 val
* var28
/* : String */;
1115 val
* var_e
/* var e: String */;
1116 val
* var29
/* : Array[Object] */;
1117 long var30
/* : Int */;
1118 val
* var_31
/* var : Array[Object] */;
1119 static val
* varonce32
;
1120 val
* var33
/* : String */;
1121 char* var34
/* : NativeString */;
1122 long var35
/* : Int */;
1123 val
* var36
/* : String */;
1124 val
* var37
/* : Array[String] */;
1125 static val
* varonce38
;
1126 val
* var39
/* : String */;
1127 char* var40
/* : NativeString */;
1128 long var41
/* : Int */;
1129 val
* var42
/* : String */;
1130 val
* var43
/* : String */;
1131 static val
* varonce44
;
1132 val
* var45
/* : String */;
1133 char* var46
/* : NativeString */;
1134 long var47
/* : Int */;
1135 val
* var48
/* : String */;
1136 val
* var49
/* : String */;
1137 val
* var50
/* : String */;
1138 val
* var51
/* : Array[String] */;
1140 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1142 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 181);
1145 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_str
) /* index_of on <var1:Array[String]>*/;
1148 { /* Inline kernel#Int#unary - (var3) */
1154 { /* Inline kernel#Int#== (var_id,var4) */
1155 var9
= var_id
== var4
;
1161 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1163 ((void (*)(val
*, long))(var10
->class->vft
[COLOR_array__Array__with_capacity
]))(var10
, var11
) /* with_capacity on <var10:Array[Object]>*/;
1164 CHECK_NEW_array__Array(var10
);
1169 var13
= "Unrecognized value for option ";
1171 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1175 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1176 var16
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:OptionEnum> */
1177 if (var16
== NULL
) {
1178 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _names", "lib/opts.nit", 183);
1186 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1190 var22
= ((val
* (*)(val
*, val
*))(var16
->class->vft
[COLOR_string__Collection__join
]))(var16
, var18
) /* join on <var16:Array[String]>*/;
1191 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1197 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1201 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
1202 var28
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1204 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1206 ((void (*)(val
*, long))(var29
->class->vft
[COLOR_array__Array__with_capacity
]))(var29
, var30
) /* with_capacity on <var29:Array[Object]>*/;
1207 CHECK_NEW_array__Array(var29
);
1212 var34
= "Expected values are: ";
1214 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1218 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var33
) /* add on <var_31:Array[Object]>*/;
1219 var37
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1220 if (var37
== NULL
) {
1221 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 184);
1229 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1233 var43
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_string__Collection__join
]))(var37
, var39
) /* join on <var37:Array[String]>*/;
1234 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var43
) /* add on <var_31:Array[Object]>*/;
1240 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1244 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var45
) /* add on <var_31:Array[Object]>*/;
1245 var49
= ((val
* (*)(val
*))(var_31
->class->vft
[COLOR_string__Object__to_s
]))(var_31
) /* to_s on <var_31:Array[Object]>*/;
1246 var50
= ((val
* (*)(val
*, val
*))(var_e
->class->vft
[COLOR_string__String___43d
]))(var_e
, var49
) /* + on <var_e:String>*/;
1248 var51
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionEnum> */
1249 if (var51
== NULL
) {
1250 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 185);
1253 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var51
, var_e
) /* add on <var51:Array[String]>*/;
1261 /* method opts#OptionEnum#convert for (self: Object, String): nullable Object */
1262 val
* VIRTUAL_opts__OptionEnum__convert(val
* self
, val
* p0
) {
1263 val
* var
/* : nullable Object */;
1264 long var1
/* : Int */;
1265 val
* var2
/* : nullable Object */;
1266 var1
= opts__OptionEnum__convert(self
, p0
);
1267 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1272 /* method opts#OptionEnum#value_name for (self: OptionEnum): String */
1273 val
* opts__OptionEnum__value_name(val
* self
) {
1274 val
* var
/* : String */;
1275 val
* var1
/* : Array[String] */;
1276 val
* var2
/* : nullable Object */;
1277 val
* var3
/* : nullable Object */;
1278 long var4
/* : Int */;
1279 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1281 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 190);
1284 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__value
]))(self
) /* value on <self:OptionEnum>*/;
1285 var4
= ((struct instance_kernel__Int
*)var2
)->value
; /* autounbox from nullable Object to Int */;
1286 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var4
) /* [] on <var1:Array[String]>*/;
1292 /* method opts#OptionEnum#value_name for (self: Object): String */
1293 val
* VIRTUAL_opts__OptionEnum__value_name(val
* self
) {
1294 val
* var
/* : String */;
1295 val
* var1
/* : String */;
1296 var1
= opts__OptionEnum__value_name(self
);
1301 /* method opts#OptionEnum#pretty_default for (self: OptionEnum): String */
1302 val
* opts__OptionEnum__pretty_default(val
* self
) {
1303 val
* var
/* : String */;
1304 val
* var1
/* : nullable Object */;
1305 val
* var2
/* : null */;
1306 short int var3
/* : Bool */;
1307 val
* var4
/* : Array[Object] */;
1308 long var5
/* : Int */;
1309 val
* var_
/* var : Array[Object] */;
1310 static val
* varonce
;
1311 val
* var6
/* : String */;
1312 char* var7
/* : NativeString */;
1313 long var8
/* : Int */;
1314 val
* var9
/* : String */;
1315 val
* var10
/* : Array[String] */;
1316 val
* var11
/* : nullable Object */;
1317 val
* var12
/* : nullable Object */;
1318 long var13
/* : Int */;
1319 static val
* varonce14
;
1320 val
* var15
/* : String */;
1321 char* var16
/* : NativeString */;
1322 long var17
/* : Int */;
1323 val
* var18
/* : String */;
1324 val
* var19
/* : String */;
1325 static val
* varonce20
;
1326 val
* var21
/* : String */;
1327 char* var22
/* : NativeString */;
1328 long var23
/* : Int */;
1329 val
* var24
/* : String */;
1330 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1333 var3
= 0; /* is null */
1335 var3
= 1; /* arg is null and recv is not */
1338 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1340 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
1341 CHECK_NEW_array__Array(var4
);
1348 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1352 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
1353 var10
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1354 if (var10
== NULL
) {
1355 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 195);
1358 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1359 if (var11
== NULL
) {
1360 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 195);
1363 var13
= ((struct instance_kernel__Int
*)var11
)->value
; /* autounbox from nullable Int to Int */;
1364 var12
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var13
) /* [] on <var10:Array[String]>*/;
1365 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1371 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1375 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
1376 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1385 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1395 /* method opts#OptionEnum#pretty_default for (self: Object): String */
1396 val
* VIRTUAL_opts__OptionEnum__pretty_default(val
* self
) {
1397 val
* var
/* : String */;
1398 val
* var1
/* : String */;
1399 var1
= opts__OptionEnum__pretty_default(self
);
1404 /* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */
1405 void opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1406 val
* var_help
/* var help: String */;
1407 long var_default
/* var default: Int */;
1408 val
* var_names
/* var names: Array[String] */;
1409 val
* var
/* : nullable Object */;
1413 var
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1414 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionInt>*/;
1417 /* method opts#OptionInt#init for (self: Object, String, Int, Array[String]) */
1418 void VIRTUAL_opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1419 opts__OptionInt__init(self
, p0
, p1
, p2
);
1422 /* method opts#OptionInt#convert for (self: OptionInt, String): Int */
1423 long opts__OptionInt__convert(val
* self
, val
* p0
) {
1424 long var
/* : Int */;
1425 val
* var_str
/* var str: String */;
1426 long var1
/* : Int */;
1428 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__to_i
]))(var_str
) /* to_i on <var_str:String>*/;
1434 /* method opts#OptionInt#convert for (self: Object, String): nullable Object */
1435 val
* VIRTUAL_opts__OptionInt__convert(val
* self
, val
* p0
) {
1436 val
* var
/* : nullable Object */;
1437 long var1
/* : Int */;
1438 val
* var2
/* : nullable Object */;
1439 var1
= opts__OptionInt__convert(self
, p0
);
1440 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1445 /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */
1446 void opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1447 val
* var_help
/* var help: String */;
1448 val
* var_names
/* var names: Array[String] */;
1449 val
* var
/* : Array[String] */;
1450 val
* var1
/* : Array[String] */;
1451 short int var2
/* : Bool */;
1454 const struct type
* type_struct
;
1457 var
= NEW_array__Array(&type_array__Arraystring__String
);
1458 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[String]>*/;
1459 CHECK_NEW_array__Array(var
);
1460 self
->attrs
[COLOR_opts__OptionArray___values
].val
= var
; /* _values on <self:OptionArray> */
1461 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1463 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 218);
1466 /* <var1:Array[String]> isa nullable VALUE */
1467 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1468 cltype
= type_struct
->color
;
1469 idtype
= type_struct
->id
;
1470 if(cltype
>= var1
->type
->table_size
) {
1473 var2
= var1
->type
->type_table
[cltype
] == idtype
;
1476 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 218);
1479 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionArray>*/;
1482 /* method opts#OptionArray#init for (self: Object, String, Array[String]) */
1483 void VIRTUAL_opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1484 opts__OptionArray__init(self
, p0
, p1
);
1487 /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */
1488 val
* opts__OptionArray__convert(val
* self
, val
* p0
) {
1489 val
* var
/* : Array[String] */;
1490 val
* var_str
/* var str: String */;
1491 val
* var1
/* : Array[String] */;
1492 val
* var2
/* : Array[String] */;
1493 short int var3
/* : Bool */;
1496 const struct type
* type_struct
;
1498 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1500 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 224);
1503 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_str
) /* add on <var1:Array[String]>*/;
1504 var2
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1506 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _values", "lib/opts.nit", 225);
1509 /* <var2:Array[String]> isa VALUE */
1510 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1511 cltype
= type_struct
->color
;
1512 idtype
= type_struct
->id
;
1513 if(cltype
>= var2
->type
->table_size
) {
1516 var3
= var2
->type
->type_table
[cltype
] == idtype
;
1519 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/opts.nit", 225);
1527 /* method opts#OptionArray#convert for (self: Object, String): nullable Object */
1528 val
* VIRTUAL_opts__OptionArray__convert(val
* self
, val
* p0
) {
1529 val
* var
/* : nullable Object */;
1530 val
* var1
/* : Array[String] */;
1531 var1
= opts__OptionArray__convert(self
, p0
);
1536 /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */
1537 val
* opts__OptionContext__options(val
* self
) {
1538 val
* var
/* : Array[Option] */;
1539 val
* var1
/* : Array[Option] */;
1540 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1542 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 230);
1549 /* method opts#OptionContext#options for (self: Object): Array[Option] */
1550 val
* VIRTUAL_opts__OptionContext__options(val
* self
) {
1551 val
* var
/* : Array[Option] */;
1552 val
* var1
/* : Array[Option] */;
1553 var1
= opts__OptionContext__options(self
);
1558 /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */
1559 val
* opts__OptionContext__rest(val
* self
) {
1560 val
* var
/* : Array[String] */;
1561 val
* var1
/* : Array[String] */;
1562 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1564 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _rest", "lib/opts.nit", 231);
1571 /* method opts#OptionContext#rest for (self: Object): Array[String] */
1572 val
* VIRTUAL_opts__OptionContext__rest(val
* self
) {
1573 val
* var
/* : Array[String] */;
1574 val
* var1
/* : Array[String] */;
1575 var1
= opts__OptionContext__rest(self
);
1580 /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */
1581 val
* opts__OptionContext__errors(val
* self
) {
1582 val
* var
/* : Array[String] */;
1583 val
* var1
/* : Array[String] */;
1584 var1
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
1586 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 232);
1593 /* method opts#OptionContext#errors for (self: Object): Array[String] */
1594 val
* VIRTUAL_opts__OptionContext__errors(val
* self
) {
1595 val
* var
/* : Array[String] */;
1596 val
* var1
/* : Array[String] */;
1597 var1
= opts__OptionContext__errors(self
);
1602 /* method opts#OptionContext#usage for (self: OptionContext) */
1603 void opts__OptionContext__usage(val
* self
) {
1604 long var
/* : Int */;
1605 long var_lmax
/* var lmax: Int */;
1606 val
* var1
/* : Array[Option] */;
1607 val
* var2
/* : Iterator[nullable Object] */;
1608 short int var3
/* : Bool */;
1609 val
* var4
/* : nullable Object */;
1610 val
* var_i
/* var i: Option */;
1611 long var5
/* : Int */;
1612 long var_l
/* var l: Int */;
1613 val
* var6
/* : Array[String] */;
1614 val
* var7
/* : Iterator[nullable Object] */;
1615 short int var8
/* : Bool */;
1616 val
* var9
/* : nullable Object */;
1617 val
* var_n
/* var n: String */;
1618 long var10
/* : Int */;
1619 long var11
/* : Int */;
1620 long var12
/* : Int */;
1621 long var14
/* : Int */;
1622 long var15
/* : Int */;
1623 long var17
/* : Int */;
1624 short int var18
/* : Bool */;
1625 short int var20
/* : Bool */;
1628 short int var21
/* : Bool */;
1629 val
* var23
/* : Array[Option] */;
1630 val
* var24
/* : Iterator[nullable Object] */;
1631 short int var25
/* : Bool */;
1632 val
* var26
/* : nullable Object */;
1633 val
* var_i27
/* var i: Option */;
1634 val
* var28
/* : String */;
1637 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1639 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 239);
1642 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:Array[Option]>*/;
1644 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1646 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1650 var6
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_opts__Option__names
]))(var_i
) /* names on <var_i:Option>*/;
1651 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:Array[String]>*/;
1653 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1655 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1657 var10
= ((long (*)(val
*))(var_n
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_n
) /* length on <var_n:String>*/;
1659 { /* Inline kernel#Int#+ (var10,var11) */
1660 var14
= var10
+ var11
;
1663 RET_LABEL13
:(void)0;
1665 { /* Inline kernel#Int#+ (var_l,var12) */
1666 var17
= var_l
+ var12
;
1669 RET_LABEL16
:(void)0;
1672 CONTINUE_label
: (void)0;
1673 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1675 BREAK_label
: (void)0;
1676 { /* Inline kernel#Int#< (var_lmax,var_l) */
1677 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1678 /* <var_l:Int> isa OTHER */
1679 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1681 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 257);
1684 var21
= var_lmax
< var_l
;
1687 RET_LABEL19
:(void)0;
1693 CONTINUE_label22
: (void)0;
1694 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1696 BREAK_label22
: (void)0;
1697 var23
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1698 if (var23
== NULL
) {
1699 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 247);
1702 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[Option]>*/;
1704 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
1706 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
1708 var28
= ((val
* (*)(val
*, long))(var_i27
->class->vft
[COLOR_opts__Option__pretty
]))(var_i27
, var_lmax
) /* pretty on <var_i27:Option>*/;
1709 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var28
) /* print on <self:OptionContext>*/;
1710 CONTINUE_label29
: (void)0;
1711 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
1713 BREAK_label29
: (void)0;
1716 /* method opts#OptionContext#usage for (self: Object) */
1717 void VIRTUAL_opts__OptionContext__usage(val
* self
) {
1718 opts__OptionContext__usage(self
);
1721 /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */
1722 void opts__OptionContext__parse(val
* self
, val
* p0
) {
1723 val
* var_argv
/* var argv: Collection[String] */;
1724 val
* var
/* : Iterator[nullable Object] */;
1725 val
* var_it
/* var it: Iterator[String] */;
1727 var
= ((val
* (*)(val
*))(var_argv
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_argv
) /* iterator on <var_argv:Collection[String]>*/;
1729 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionContext__parse_intern
]))(self
, var_it
) /* parse_intern on <self:OptionContext>*/;
1732 /* method opts#OptionContext#parse for (self: Object, Collection[String]) */
1733 void VIRTUAL_opts__OptionContext__parse(val
* self
, val
* p0
) {
1734 opts__OptionContext__parse(self
, p0
);
1737 /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */
1738 void opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
1739 val
* var_it
/* var it: Iterator[String] */;
1740 short int var
/* : Bool */;
1741 short int var_parseargs
/* var parseargs: Bool */;
1742 val
* var1
/* : Array[String] */;
1743 val
* var_rest
/* var rest: Array[String] */;
1744 short int var2
/* : Bool */;
1745 short int var_
/* var : Bool */;
1746 short int var3
/* : Bool */;
1747 val
* var4
/* : nullable Object */;
1748 val
* var_str
/* var str: String */;
1749 static val
* varonce
;
1750 val
* var5
/* : String */;
1751 char* var6
/* : NativeString */;
1752 long var7
/* : Int */;
1753 val
* var8
/* : String */;
1754 short int var9
/* : Bool */;
1755 val
* var10
/* : Array[nullable Object] */;
1756 short int var11
/* : Bool */;
1757 short int var12
/* : Bool */;
1758 char var13
/* : Char */;
1759 long var14
/* : Int */;
1760 val
* var15
/* : nullable Object */;
1761 long var16
/* : Int */;
1762 short int var17
/* : Bool */;
1763 short int var19
/* : Bool */;
1764 short int var_20
/* var : Bool */;
1765 long var21
/* : Int */;
1766 long var22
/* : Int */;
1767 short int var23
/* : Bool */;
1768 short int var25
/* : Bool */;
1771 short int var26
/* : Bool */;
1772 short int var27
/* : Bool */;
1773 short int var_next_called
/* var next_called: Bool */;
1774 val
* var28
/* : Range[Int] */;
1775 long var29
/* : Int */;
1776 long var30
/* : Int */;
1777 val
* var31
/* : Discrete */;
1778 val
* var32
/* : Discrete */;
1779 val
* var33
/* : Iterator[nullable Object] */;
1780 short int var34
/* : Bool */;
1781 val
* var35
/* : nullable Object */;
1782 long var_i
/* var i: Int */;
1783 long var36
/* : Int */;
1784 static val
* varonce37
;
1785 val
* var38
/* : String */;
1786 char* var39
/* : NativeString */;
1787 long var40
/* : Int */;
1788 val
* var41
/* : String */;
1789 val
* var42
/* : nullable Object */;
1790 val
* var43
/* : String */;
1791 char var44
/* : Char */;
1792 val
* var45
/* : String */;
1793 val
* var_short_opt
/* var short_opt: String */;
1794 val
* var46
/* : Map[String, Option] */;
1795 short int var47
/* : Bool */;
1796 val
* var48
/* : Map[String, Option] */;
1797 val
* var49
/* : nullable Object */;
1798 val
* var_option
/* var option: Option */;
1799 short int var50
/* : Bool */;
1802 short int var53
/* : Bool */;
1803 short int var54
/* : Bool */;
1804 val
* var55
/* : Map[String, Option] */;
1805 short int var56
/* : Bool */;
1806 val
* var57
/* : Map[String, Option] */;
1807 val
* var58
/* : nullable Object */;
1808 val
* var_opt
/* var opt: Option */;
1809 val
* var59
/* : nullable Object */;
1810 val
* var61
/* : Array[Option] */;
1811 val
* var62
/* : Iterator[nullable Object] */;
1812 short int var63
/* : Bool */;
1813 val
* var64
/* : nullable Object */;
1814 val
* var_opt65
/* var opt: Option */;
1815 short int var66
/* : Bool */;
1816 short int var67
/* : Bool */;
1817 short int var_68
/* var : Bool */;
1818 short int var69
/* : Bool */;
1819 short int var70
/* : Bool */;
1820 val
* var71
/* : Array[String] */;
1821 static val
* varonce72
;
1822 val
* var73
/* : String */;
1823 char* var74
/* : NativeString */;
1824 long var75
/* : Int */;
1825 val
* var76
/* : String */;
1826 val
* var77
/* : Array[String] */;
1827 static val
* varonce78
;
1828 val
* var79
/* : String */;
1829 char* var80
/* : NativeString */;
1830 long var81
/* : Int */;
1831 val
* var82
/* : String */;
1832 val
* var83
/* : String */;
1833 static val
* varonce84
;
1834 val
* var85
/* : String */;
1835 char* var86
/* : NativeString */;
1836 long var87
/* : Int */;
1837 val
* var88
/* : String */;
1838 val
* var89
/* : Array[Object] */;
1839 long var90
/* : Int */;
1840 val
* var91
/* : NativeArray[Object] */;
1841 val
* var92
/* : String */;
1844 var_parseargs
= var
;
1845 ((void (*)(val
*))(self
->class->vft
[COLOR_opts__OptionContext__build
]))(self
) /* build on <self:OptionContext>*/;
1846 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1848 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _rest", "lib/opts.nit", 263);
1853 var_
= var_parseargs
;
1855 var3
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
1861 var4
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1868 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1872 var9
= ((short int (*)(val
*, val
*))(var_str
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_str
, var5
) /* == on <var_str:String>*/;
1874 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1875 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_array__Iterator__to_a
]))(var_it
) /* to_a on <var_it:Iterator[String]>*/;
1876 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rest
, var10
) /* add_all on <var_rest:Array[String]>*/;
1878 var_parseargs
= var11
;
1881 var15
= BOX_kernel__Char(var13
); /* autobox from Char to nullable Object */
1882 var14
= ((long (*)(val
*, val
*))(var_str
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of
]))(var_str
, var15
) /* last_index_of on <var_str:String>*/;
1884 { /* Inline kernel#Int#== (var14,var16) */
1885 var19
= var14
== var16
;
1888 RET_LABEL18
:(void)0;
1892 var21
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1894 { /* Inline kernel#Int#> (var21,var22) */
1895 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1896 /* <var22:Int> isa OTHER */
1897 var25
= 1; /* easy <var22:Int> isa OTHER*/
1899 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Cast failed", "lib/standard/kernel.nit", 259);
1902 var26
= var21
> var22
;
1905 RET_LABEL24
:(void)0;
1913 var_next_called
= var27
;
1914 var28
= NEW_range__Range(&type_range__Rangekernel__Int
);
1916 var30
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1917 var31
= BOX_kernel__Int(var29
); /* autobox from Int to Discrete */
1918 var32
= BOX_kernel__Int(var30
); /* autobox from Int to Discrete */
1919 ((void (*)(val
*, val
*, val
*))(var28
->class->vft
[COLOR_range__Range__init
]))(var28
, var31
, var32
) /* init on <var28:Range[Int]>*/;
1920 CHECK_NEW_range__Range(var28
);
1921 var33
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Range[Int]>*/;
1923 var34
= ((short int (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var33
) /* is_ok on <var33:Iterator[nullable Object]>*/;
1925 var35
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var33
) /* item on <var33:Iterator[nullable Object]>*/;
1926 var36
= ((struct instance_kernel__Int
*)var35
)->value
; /* autounbox from nullable Object to Int */;
1933 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1937 var42
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_i
) /* [] on <var_str:String>*/;
1938 var44
= ((struct instance_kernel__Char
*)var42
)->value
; /* autounbox from nullable Object to Char */;
1939 var43
= string__Char__to_s(var44
);
1940 var45
= ((val
* (*)(val
*, val
*))(var38
->class->vft
[COLOR_string__String___43d
]))(var38
, var43
) /* + on <var38:String>*/;
1941 var_short_opt
= var45
;
1942 var46
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1943 if (var46
== NULL
) {
1944 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 277);
1947 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]>*/;
1949 var48
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1950 if (var48
== NULL
) {
1951 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 278);
1954 var49
= ((val
* (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var48
, var_short_opt
) /* [] on <var48:Map[String, Option]>*/;
1956 /* <var_option:Option> isa OptionParameter */
1957 cltype51
= type_opts__OptionParameter
.color
;
1958 idtype52
= type_opts__OptionParameter
.id
;
1959 if(cltype51
>= var_option
->type
->table_size
) {
1962 var50
= var_option
->type
->type_table
[cltype51
] == idtype52
;
1965 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1967 var_next_called
= var53
;
1970 ((void (*)(val
*, val
*))(var_option
->class->vft
[COLOR_opts__Option__read_param
]))(var_option
, var_it
) /* read_param on <var_option:Option>*/;
1973 CONTINUE_label
: (void)0;
1974 ((void (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var33
) /* next on <var33:Iterator[nullable Object]>*/;
1976 BREAK_label
: (void)0;
1977 var54
= !var_next_called
;
1979 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1983 var55
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1984 if (var55
== NULL
) {
1985 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 288);
1988 var56
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var55
, var_str
) /* has_key on <var55:Map[String, Option]>*/;
1990 var57
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1991 if (var57
== NULL
) {
1992 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 289);
1995 var58
= ((val
* (*)(val
*, val
*))(var57
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var57
, var_str
) /* [] on <var57:Map[String, Option]>*/;
1997 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1998 ((void (*)(val
*, val
*))(var_opt
->class->vft
[COLOR_opts__Option__read_param
]))(var_opt
, var_it
) /* read_param on <var_opt:Option>*/;
2000 var59
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2001 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_rest
, var59
) /* add on <var_rest:Array[String]>*/;
2002 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2006 CONTINUE_label60
: (void)0;
2008 BREAK_label60
: (void)0;
2009 var61
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2010 if (var61
== NULL
) {
2011 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 300);
2014 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var61
) /* iterator on <var61:Array[Option]>*/;
2016 var63
= ((short int (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var62
) /* is_ok on <var62:Iterator[nullable Object]>*/;
2018 var64
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var62
) /* item on <var62:Iterator[nullable Object]>*/;
2020 var67
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__mandatory
]))(var_opt65
) /* mandatory on <var_opt65:Option>*/;
2023 var69
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__read
]))(var_opt65
) /* read on <var_opt65:Option>*/;
2030 var71
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2031 if (var71
== NULL
) {
2032 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 302);
2038 var74
= "Mandatory option ";
2040 var76
= string__NativeString__to_s_with_length(var74
, var75
);
2044 var77
= ((val
* (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__names
]))(var_opt65
) /* names on <var_opt65:Option>*/;
2050 var82
= string__NativeString__to_s_with_length(var80
, var81
);
2054 var83
= ((val
* (*)(val
*, val
*))(var77
->class->vft
[COLOR_string__Collection__join
]))(var77
, var79
) /* join on <var77:Array[String]>*/;
2058 var86
= " not found.";
2060 var88
= string__NativeString__to_s_with_length(var86
, var87
);
2064 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
2065 { /* var89 = array_instance Array[Object] */
2067 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
2068 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var73
;
2069 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var83
;
2070 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var85
;
2071 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
2072 CHECK_NEW_array__Array(var89
);
2074 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
2075 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var71
, var92
) /* add on <var71:Array[String]>*/;
2078 CONTINUE_label93
: (void)0;
2079 ((void (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var62
) /* next on <var62:Iterator[nullable Object]>*/;
2081 BREAK_label93
: (void)0;
2084 /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */
2085 void VIRTUAL_opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
2086 opts__OptionContext__parse_intern(self
, p0
);
2089 /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
2090 void opts__OptionContext__add_option(val
* self
, val
* p0
) {
2091 val
* var_opts
/* var opts: Array[Option] */;
2092 val
* var
/* : Iterator[nullable Object] */;
2093 short int var1
/* : Bool */;
2094 val
* var2
/* : nullable Object */;
2095 val
* var_opt
/* var opt: Option */;
2096 val
* var3
/* : Array[Option] */;
2098 var
= ((val
* (*)(val
*))(var_opts
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_opts
) /* iterator on <var_opts:Array[Option]>*/;
2100 var1
= ((short int (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var
) /* is_ok on <var:Iterator[nullable Object]>*/;
2102 var2
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var
) /* item on <var:Iterator[nullable Object]>*/;
2104 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2106 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 310);
2109 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var3
, var_opt
) /* add on <var3:Array[Option]>*/;
2110 CONTINUE_label
: (void)0;
2111 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:Iterator[nullable Object]>*/;
2113 BREAK_label
: (void)0;
2116 /* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
2117 void VIRTUAL_opts__OptionContext__add_option(val
* self
, val
* p0
) {
2118 opts__OptionContext__add_option(self
, p0
);
2121 /* method opts#OptionContext#init for (self: OptionContext) */
2122 void opts__OptionContext__init(val
* self
) {
2123 val
* var
/* : Array[Option] */;
2124 val
* var1
/* : HashMap[String, Option] */;
2125 val
* var2
/* : Array[String] */;
2126 val
* var3
/* : Array[String] */;
2127 var
= NEW_array__Array(&type_array__Arrayopts__Option
);
2128 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Option]>*/;
2129 CHECK_NEW_array__Array(var
);
2130 self
->attrs
[COLOR_opts__OptionContext___options
].val
= var
; /* _options on <self:OptionContext> */
2131 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option
);
2132 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Option]>*/;
2133 CHECK_NEW_hash_collection__HashMap(var1
);
2134 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= var1
; /* _optmap on <self:OptionContext> */
2135 var2
= NEW_array__Array(&type_array__Arraystring__String
);
2136 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[String]>*/;
2137 CHECK_NEW_array__Array(var2
);
2138 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= var2
; /* _rest on <self:OptionContext> */
2139 var3
= NEW_array__Array(&type_array__Arraystring__String
);
2140 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
2141 CHECK_NEW_array__Array(var3
);
2142 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= var3
; /* _errors on <self:OptionContext> */
2145 /* method opts#OptionContext#init for (self: Object) */
2146 void VIRTUAL_opts__OptionContext__init(val
* self
) {
2147 opts__OptionContext__init(self
);
2150 /* method opts#OptionContext#build for (self: OptionContext) */
2151 void opts__OptionContext__build(val
* self
) {
2152 val
* var
/* : Array[Option] */;
2153 val
* var1
/* : Iterator[nullable Object] */;
2154 short int var2
/* : Bool */;
2155 val
* var3
/* : nullable Object */;
2156 val
* var_o
/* var o: Option */;
2157 val
* var4
/* : Array[String] */;
2158 val
* var5
/* : Iterator[nullable Object] */;
2159 short int var6
/* : Bool */;
2160 val
* var7
/* : nullable Object */;
2161 val
* var_n
/* var n: String */;
2162 val
* var8
/* : Map[String, Option] */;
2163 var
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2165 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 324);
2168 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Array[Option]>*/;
2170 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
2172 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
2174 var4
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__names
]))(var_o
) /* names on <var_o:Option>*/;
2175 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[String]>*/;
2177 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
2179 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
2181 var8
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2183 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _optmap", "lib/opts.nit", 326);
2186 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var_n
, var_o
) /* []= on <var8:Map[String, Option]>*/;
2187 CONTINUE_label
: (void)0;
2188 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
2190 BREAK_label
: (void)0;
2191 CONTINUE_label9
: (void)0;
2192 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
2194 BREAK_label9
: (void)0;
2197 /* method opts#OptionContext#build for (self: Object) */
2198 void VIRTUAL_opts__OptionContext__build(val
* self
) {
2199 opts__OptionContext__build(self
);
2202 /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */
2203 val
* opts__OptionContext__get_errors(val
* self
) {
2204 val
* var
/* : Array[String] */;
2205 val
* var1
/* : Array[String] */;
2206 val
* var_errors
/* var errors: Array[String] */;
2207 val
* var2
/* : Array[String] */;
2208 val
* var3
/* : Array[Option] */;
2209 val
* var4
/* : Iterator[nullable Object] */;
2210 short int var5
/* : Bool */;
2211 val
* var6
/* : nullable Object */;
2212 val
* var_o
/* var o: Option */;
2213 val
* var7
/* : Array[String] */;
2214 val
* var8
/* : Iterator[nullable Object] */;
2215 short int var9
/* : Bool */;
2216 val
* var10
/* : nullable Object */;
2217 val
* var_e
/* var e: String */;
2218 var1
= NEW_array__Array(&type_array__Arraystring__String
);
2219 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[String]>*/;
2220 CHECK_NEW_array__Array(var1
);
2222 var2
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2224 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _errors", "lib/opts.nit", 335);
2227 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_errors
, var2
) /* add_all on <var_errors:Array[String]>*/;
2228 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2230 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Uninitialized attribute _options", "lib/opts.nit", 337);
2233 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Option]>*/;
2235 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2237 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2239 var7
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__errors
]))(var_o
) /* errors on <var_o:Option>*/;
2240 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[String]>*/;
2242 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
2244 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
2246 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_errors
, var_e
) /* add on <var_errors:Array[String]>*/;
2247 CONTINUE_label
: (void)0;
2248 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
2250 BREAK_label
: (void)0;
2251 CONTINUE_label11
: (void)0;
2252 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2254 BREAK_label11
: (void)0;
2260 /* method opts#OptionContext#get_errors for (self: Object): Array[String] */
2261 val
* VIRTUAL_opts__OptionContext__get_errors(val
* self
) {
2262 val
* var
/* : Array[String] */;
2263 val
* var1
/* : Array[String] */;
2264 var1
= opts__OptionContext__get_errors(self
);