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 CHECK_NEW_array__Array(var3
);
300 self
->attrs
[COLOR_opts__Option___names
].val
= var3
; /* _names on <self:Option> */
302 var4
= ((val
* (*)(val
*))(var_names
->class->vft
[COLOR_array__Collection__to_a
]))(var_names
) /* to_a on <var_names:nullable Array[String](Array[String])>*/;
303 self
->attrs
[COLOR_opts__Option___names
].val
= var4
; /* _names on <self:Option> */
305 self
->attrs
[COLOR_opts__Option___helptext
].val
= var_help
; /* _helptext on <self:Option> */
307 self
->attrs
[COLOR_opts__Option___mandatory
].s
= var5
; /* _mandatory on <self:Option> */
309 self
->attrs
[COLOR_opts__Option___read
].s
= var6
; /* _read on <self:Option> */
310 self
->attrs
[COLOR_opts__Option___default_value
].val
= var_default
; /* _default_value on <self:Option> */
311 self
->attrs
[COLOR_opts__Option___value
].val
= var_default
; /* _value on <self:Option> */
312 var7
= NEW_array__Array(&type_array__Arraystring__String
);
313 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[String]>*/;
314 CHECK_NEW_array__Array(var7
);
315 self
->attrs
[COLOR_opts__Option___errors
].val
= var7
; /* _errors on <self:Option> */
318 /* method opts#Option#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
319 void VIRTUAL_opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
320 opts__Option__init_opt(self
, p0
, p1
, p2
);
323 /* method opts#Option#add_aliases for (self: Option, Array[String]) */
324 void opts__Option__add_aliases(val
* self
, val
* p0
) {
325 val
* var_names
/* var names: Array[String] */;
326 val
* var
/* : Array[String] */;
328 var
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
330 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
331 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 63);
334 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var
, var_names
) /* add_all on <var:Array[String]>*/;
337 /* method opts#Option#add_aliases for (self: Object, Array[String]) */
338 void VIRTUAL_opts__Option__add_aliases(val
* self
, val
* p0
) {
339 opts__Option__add_aliases(self
, p0
);
342 /* method opts#Option#to_s for (self: Option): String */
343 val
* opts__Option__to_s(val
* self
) {
344 val
* var
/* : String */;
345 long var1
/* : Int */;
346 val
* var2
/* : String */;
348 var2
= ((val
* (*)(val
*, long))(self
->class->vft
[COLOR_opts__Option__pretty
]))(self
, var1
) /* pretty on <self:Option>*/;
354 /* method opts#Option#to_s for (self: Object): String */
355 val
* VIRTUAL_opts__Option__to_s(val
* self
) {
356 val
* var
/* : String */;
357 val
* var1
/* : String */;
358 var1
= opts__Option__to_s(self
);
363 /* method opts#Option#pretty for (self: Option, Int): String */
364 val
* opts__Option__pretty(val
* self
, long p0
) {
365 val
* var
/* : String */;
366 long var_off
/* var off: Int */;
367 val
* var1
/* : Buffer */;
369 val
* var2
/* : String */;
370 char* var3
/* : NativeString */;
371 long var4
/* : Int */;
372 val
* var5
/* : String */;
373 val
* var_text
/* var text: Buffer */;
374 val
* var6
/* : Array[String] */;
375 static val
* varonce7
;
376 val
* var8
/* : String */;
377 char* var9
/* : NativeString */;
378 long var10
/* : Int */;
379 val
* var11
/* : String */;
380 val
* var12
/* : String */;
381 static val
* varonce13
;
382 val
* var14
/* : String */;
383 char* var15
/* : NativeString */;
384 long var16
/* : Int */;
385 val
* var17
/* : String */;
386 long var18
/* : Int */;
387 long var19
/* : Int */;
388 long var21
/* : Int */;
389 long var_rest
/* var rest: Int */;
390 long var22
/* : Int */;
391 short int var23
/* : Bool */;
392 short int var25
/* : Bool */;
395 const char* var_class_name
;
396 short int var26
/* : Bool */;
397 static val
* varonce27
;
398 val
* var28
/* : String */;
399 char* var29
/* : NativeString */;
400 long var30
/* : Int */;
401 val
* var31
/* : String */;
402 val
* var32
/* : String */;
403 val
* var33
/* : String */;
404 val
* var34
/* : String */;
406 var1
= NEW_string__Buffer(&type_string__Buffer
);
412 var5
= string__NativeString__to_s_with_length(var3
, var4
);
416 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_string__Buffer__from
]))(var1
, var2
) /* from on <var1:Buffer>*/;
417 CHECK_NEW_string__Buffer(var1
);
419 var6
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
421 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
422 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 72);
430 var11
= string__NativeString__to_s_with_length(var9
, var10
);
434 var12
= ((val
* (*)(val
*, val
*))(var6
->class->vft
[COLOR_string__Collection__join
]))(var6
, var8
) /* join on <var6:Array[String]>*/;
435 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var12
) /* append on <var_text:Buffer>*/;
441 var17
= string__NativeString__to_s_with_length(var15
, var16
);
445 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var14
) /* append on <var_text:Buffer>*/;
446 var18
= ((long (*)(val
*))(var_text
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_text
) /* length on <var_text:Buffer>*/;
447 { /* Inline kernel#Int#- (var_off,var18) */
448 var21
= var_off
- var18
;
455 { /* Inline kernel#Int#> (var_rest,var22) */
456 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
457 /* <var22:Int> isa OTHER */
458 var25
= 1; /* easy <var22:Int> isa OTHER*/
460 var_class_name
= type_kernel__Int
.name
;
461 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
462 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
465 var26
= var_rest
> var22
;
476 var31
= string__NativeString__to_s_with_length(var29
, var30
);
480 var32
= ((val
* (*)(val
*, long))(var28
->class->vft
[COLOR_string__String___42d
]))(var28
, var_rest
) /* * on <var28:String>*/;
481 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var32
) /* append on <var_text:Buffer>*/;
484 var33
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:Option>*/;
485 ((void (*)(val
*, val
*))(var_text
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var_text
, var33
) /* append on <var_text:Buffer>*/;
486 var34
= ((val
* (*)(val
*))(var_text
->class->vft
[COLOR_string__Object__to_s
]))(var_text
) /* to_s on <var_text:Buffer>*/;
492 /* method opts#Option#pretty for (self: Object, Int): String */
493 val
* VIRTUAL_opts__Option__pretty(val
* self
, long p0
) {
494 val
* var
/* : String */;
495 val
* var1
/* : String */;
496 var1
= opts__Option__pretty(self
, p0
);
501 /* method opts#Option#pretty_default for (self: Option): String */
502 val
* opts__Option__pretty_default(val
* self
) {
503 val
* var
/* : String */;
504 val
* var1
/* : nullable Object */;
505 val
* var_dv
/* var dv: nullable Object */;
506 val
* var2
/* : null */;
507 short int var3
/* : Bool */;
508 val
* var4
/* : Array[Object] */;
509 long var5
/* : Int */;
510 val
* var_
/* var : Array[Object] */;
512 val
* var6
/* : String */;
513 char* var7
/* : NativeString */;
514 long var8
/* : Int */;
515 val
* var9
/* : String */;
516 static val
* varonce10
;
517 val
* var11
/* : String */;
518 char* var12
/* : NativeString */;
519 long var13
/* : Int */;
520 val
* var14
/* : String */;
521 val
* var15
/* : String */;
522 static val
* varonce16
;
523 val
* var17
/* : String */;
524 char* var18
/* : NativeString */;
525 long var19
/* : Int */;
526 val
* var20
/* : String */;
527 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:Option>*/;
530 if (var_dv
== NULL
) {
531 var3
= 0; /* is null */
533 var3
= 1; /* arg is null and recv is not */
536 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
538 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
539 CHECK_NEW_array__Array(var4
);
546 var9
= string__NativeString__to_s_with_length(var7
, var8
);
550 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
551 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_dv
) /* add on <var_:Array[Object]>*/;
557 var14
= string__NativeString__to_s_with_length(var12
, var13
);
561 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var11
) /* add on <var_:Array[Object]>*/;
562 var15
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
572 var20
= string__NativeString__to_s_with_length(var18
, var19
);
581 /* method opts#Option#pretty_default for (self: Object): String */
582 val
* VIRTUAL_opts__Option__pretty_default(val
* self
) {
583 val
* var
/* : String */;
584 val
* var1
/* : String */;
585 var1
= opts__Option__pretty_default(self
);
590 /* method opts#Option#read_param for (self: Option, Iterator[String]) */
591 void opts__Option__read_param(val
* self
, val
* p0
) {
592 val
* var_it
/* var it: Iterator[String] */;
593 short int var
/* : Bool */;
596 self
->attrs
[COLOR_opts__Option___read
].s
= var
; /* _read on <self:Option> */
599 /* method opts#Option#read_param for (self: Object, Iterator[String]) */
600 void VIRTUAL_opts__Option__read_param(val
* self
, val
* p0
) {
601 opts__Option__read_param(self
, p0
);
604 /* method opts#OptionText#init for (self: OptionText, String) */
605 void opts__OptionText__init(val
* self
, val
* p0
) {
606 val
* var_text
/* var text: String */;
607 val
* var
/* : null */;
608 val
* var1
/* : null */;
612 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_text
, var
, var1
) /* init_opt on <self:OptionText>*/;
615 /* method opts#OptionText#init for (self: Object, String) */
616 void VIRTUAL_opts__OptionText__init(val
* self
, val
* p0
) {
617 opts__OptionText__init(self
, p0
);
620 /* method opts#OptionText#pretty for (self: OptionText, Int): String */
621 val
* opts__OptionText__pretty(val
* self
, long p0
) {
622 val
* var
/* : String */;
623 long var_off
/* var off: Int */;
624 val
* var1
/* : String */;
626 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_string__Object__to_s
]))(self
) /* to_s on <self:OptionText>*/;
632 /* method opts#OptionText#pretty for (self: Object, Int): String */
633 val
* VIRTUAL_opts__OptionText__pretty(val
* self
, long p0
) {
634 val
* var
/* : String */;
635 val
* var1
/* : String */;
636 var1
= opts__OptionText__pretty(self
, p0
);
641 /* method opts#OptionText#to_s for (self: OptionText): String */
642 val
* opts__OptionText__to_s(val
* self
) {
643 val
* var
/* : String */;
644 val
* var1
/* : String */;
645 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__helptext
]))(self
) /* helptext on <self:OptionText>*/;
651 /* method opts#OptionText#to_s for (self: Object): String */
652 val
* VIRTUAL_opts__OptionText__to_s(val
* self
) {
653 val
* var
/* : String */;
654 val
* var1
/* : String */;
655 var1
= opts__OptionText__to_s(self
);
660 /* method opts#OptionBool#init for (self: OptionBool, String, Array[String]) */
661 void opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
662 val
* var_help
/* var help: String */;
663 val
* var_names
/* var names: Array[String] */;
664 short int var
/* : Bool */;
665 val
* var1
/* : nullable Object */;
669 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
670 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionBool>*/;
673 /* method opts#OptionBool#init for (self: Object, String, Array[String]) */
674 void VIRTUAL_opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
675 opts__OptionBool__init(self
, p0
, p1
);
678 /* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */
679 void opts__OptionBool__read_param(val
* self
, val
* p0
) {
680 val
* var_it
/* var it: Iterator[String] */;
681 short int var
/* : Bool */;
682 val
* var1
/* : nullable Object */;
684 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionBool__read_param
]))(self
, p0
) /* read_param on <self:OptionBool>*/;
686 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
687 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var1
) /* value= on <self:OptionBool>*/;
690 /* method opts#OptionBool#read_param for (self: Object, Iterator[String]) */
691 void VIRTUAL_opts__OptionBool__read_param(val
* self
, val
* p0
) {
692 opts__OptionBool__read_param(self
, p0
);
695 /* method opts#OptionCount#init for (self: OptionCount, String, Array[String]) */
696 void opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
697 val
* var_help
/* var help: String */;
698 val
* var_names
/* var names: Array[String] */;
699 long var
/* : Int */;
700 val
* var1
/* : nullable Object */;
704 var1
= BOX_kernel__Int(var
); /* autobox from Int to nullable Object */
705 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionCount>*/;
708 /* method opts#OptionCount#init for (self: Object, String, Array[String]) */
709 void VIRTUAL_opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
710 opts__OptionCount__init(self
, p0
, p1
);
713 /* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */
714 void opts__OptionCount__read_param(val
* self
, val
* p0
) {
715 val
* var_it
/* var it: Iterator[String] */;
716 val
* var_
/* var : OptionCount */;
717 val
* var
/* : nullable Object */;
718 long var1
/* : Int */;
719 long var2
/* : Int */;
720 long var4
/* : Int */;
721 long var5
/* : Int */;
722 val
* var6
/* : nullable Object */;
724 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionCount__read_param
]))(self
, p0
) /* read_param on <self:OptionCount>*/;
726 var
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_opts__Option__value
]))(var_
) /* value on <var_:OptionCount>*/;
728 { /* Inline kernel#Int#+ (var,var1) */
729 var4
= ((struct instance_kernel__Int
*)var
)->value
; /* autounbox from nullable Object to Int */;
735 var6
= BOX_kernel__Int(var2
); /* autobox from Int to nullable Object */
736 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_opts__Option__value_61d
]))(var_
, var6
) /* value= on <var_:OptionCount>*/;
739 /* method opts#OptionCount#read_param for (self: Object, Iterator[String]) */
740 void VIRTUAL_opts__OptionCount__read_param(val
* self
, val
* p0
) {
741 opts__OptionCount__read_param(self
, p0
);
744 /* method opts#OptionParameter#convert for (self: OptionParameter, String): nullable Object */
745 val
* opts__OptionParameter__convert(val
* self
, val
* p0
) {
746 val
* var
/* : nullable Object */;
747 const char* var_class_name
;
748 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
749 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "convert", var_class_name
);
750 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 133);
755 /* method opts#OptionParameter#convert for (self: Object, String): nullable Object */
756 val
* VIRTUAL_opts__OptionParameter__convert(val
* self
, val
* p0
) {
757 val
* var
/* : nullable Object */;
758 val
* var1
/* : nullable Object */;
759 var1
= opts__OptionParameter__convert(self
, p0
);
764 /* method opts#OptionParameter#parameter_mandatory for (self: OptionParameter): Bool */
765 short int opts__OptionParameter__parameter_mandatory(val
* self
) {
766 short int var
/* : Bool */;
767 short int var1
/* : Bool */;
768 var1
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
773 /* method opts#OptionParameter#parameter_mandatory for (self: Object): Bool */
774 short int VIRTUAL_opts__OptionParameter__parameter_mandatory(val
* self
) {
775 short int var
/* : Bool */;
776 short int var1
/* : Bool */;
777 var1
= opts__OptionParameter__parameter_mandatory(self
);
782 /* method opts#OptionParameter#parameter_mandatory= for (self: OptionParameter, Bool) */
783 void opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
784 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= p0
; /* _parameter_mandatory on <self:OptionParameter> */
787 /* method opts#OptionParameter#parameter_mandatory= for (self: Object, Bool) */
788 void VIRTUAL_opts__OptionParameter__parameter_mandatory_61d(val
* self
, short int p0
) {
789 opts__OptionParameter__parameter_mandatory_61d(self
, p0
);
792 /* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */
793 void opts__OptionParameter__read_param(val
* self
, val
* p0
) {
794 val
* var_it
/* var it: Iterator[String] */;
795 short int var
/* : Bool */;
796 short int var1
/* : Bool */;
797 short int var_
/* var : Bool */;
798 val
* var2
/* : nullable Object */;
799 val
* var3
/* : nullable Object */;
800 char var4
/* : Char */;
801 short int var5
/* : Bool */;
802 short int var7
/* : Bool */;
803 char var8
/* : Char */;
804 short int var9
/* : Bool */;
805 val
* var10
/* : nullable Object */;
806 val
* var11
/* : nullable Object */;
807 short int var12
/* : Bool */;
808 val
* var13
/* : Array[String] */;
810 val
* var14
/* : String */;
811 char* var15
/* : NativeString */;
812 long var16
/* : Int */;
813 val
* var17
/* : String */;
814 val
* var18
/* : Array[String] */;
815 val
* var19
/* : nullable Object */;
816 static val
* varonce20
;
817 val
* var21
/* : String */;
818 char* var22
/* : NativeString */;
819 long var23
/* : Int */;
820 val
* var24
/* : String */;
821 val
* var25
/* : Array[Object] */;
822 long var26
/* : Int */;
823 val
* var27
/* : NativeArray[Object] */;
824 val
* var28
/* : String */;
826 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__read_param
]))(self
, p0
) /* read_param on <self:OptionParameter>*/;
827 var1
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
830 var2
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
831 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var2
) /* first on <var2:nullable Object(String)>*/;
833 { /* Inline kernel#Char#!= (var3,var4) */
834 var7
= (var3
!= NULL
) && (var3
->class == &class_kernel__Char
);
836 var8
= ((struct instance_kernel__Char
*)var3
)->value
; /* autounbox from nullable Object to Char */;
837 var7
= (var8
== var4
);
849 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
850 var11
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__convert
]))(self
, var10
) /* convert on <self:OptionParameter>*/;
851 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__Option__value_61d
]))(self
, var11
) /* value= on <self:OptionParameter>*/;
852 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
854 var12
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
856 var13
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionParameter> */
858 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
859 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 146);
865 var15
= "Parameter expected for option ";
867 var17
= string__NativeString__to_s_with_length(var15
, var16
);
871 var18
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__names
]))(self
) /* names on <self:OptionParameter>*/;
872 var19
= ((val
* (*)(val
*))(var18
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var18
) /* first on <var18:Array[String]>*/;
878 var24
= string__NativeString__to_s_with_length(var22
, var23
);
882 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
883 { /* var25 = array_instance Array[Object] */
885 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
886 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var14
;
887 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var19
;
888 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
889 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
890 CHECK_NEW_array__Array(var25
);
892 var28
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
893 ((void (*)(val
*, val
*))(var13
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var13
, var28
) /* add on <var13:Array[String]>*/;
899 /* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */
900 void VIRTUAL_opts__OptionParameter__read_param(val
* self
, val
* p0
) {
901 opts__OptionParameter__read_param(self
, p0
);
904 /* method opts#OptionParameter#init_opt for (self: OptionParameter, String, nullable Object, nullable Array[String]) */
905 void opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
906 short int var
/* : Bool */;
909 const struct type
* type_struct
;
910 const char* var_class_name
;
911 val
* var_h
/* var h: String */;
912 val
* var_d
/* var d: nullable Object */;
913 val
* var_n
/* var n: nullable Array[String] */;
914 short int var1
/* : Bool */;
915 /* Covariant cast for argument 1 (d) <p1:nullable Object> isa nullable VALUE */
916 /* <p1:nullable Object> isa nullable VALUE */
917 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
918 cltype
= type_struct
->color
;
919 idtype
= type_struct
->id
;
923 if(cltype
>= p1
->type
->table_size
) {
926 var
= p1
->type
->type_table
[cltype
] == idtype
;
930 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
931 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
932 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 151);
938 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__Option__init_opt
]))(self
, p0
, p1
, p2
) /* init_opt on <self:OptionParameter>*/;
940 self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
= var1
; /* _parameter_mandatory on <self:OptionParameter> */
943 /* method opts#OptionParameter#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
944 void VIRTUAL_opts__OptionParameter__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
945 opts__OptionParameter__init_opt(self
, p0
, p1
, p2
);
948 /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */
949 void opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
950 val
* var_help
/* var help: String */;
951 val
* var_names
/* var names: Array[String] */;
952 val
* var
/* : null */;
956 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionString>*/;
959 /* method opts#OptionString#init for (self: Object, String, Array[String]) */
960 void VIRTUAL_opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
961 opts__OptionString__init(self
, p0
, p1
);
964 /* method opts#OptionString#convert for (self: OptionString, String): nullable String */
965 val
* opts__OptionString__convert(val
* self
, val
* p0
) {
966 val
* var
/* : nullable String */;
967 val
* var_str
/* var str: String */;
968 short int var1
/* : Bool */;
971 const struct type
* type_struct
;
972 const char* var_class_name
;
974 /* <var_str:String> isa VALUE */
975 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
976 cltype
= type_struct
->color
;
977 idtype
= type_struct
->id
;
978 if(cltype
>= var_str
->type
->table_size
) {
981 var1
= var_str
->type
->type_table
[cltype
] == idtype
;
984 var_class_name
= var_str
== NULL ?
"null" : var_str
->type
->name
;
985 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
986 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 164);
994 /* method opts#OptionString#convert for (self: Object, String): nullable Object */
995 val
* VIRTUAL_opts__OptionString__convert(val
* self
, val
* p0
) {
996 val
* var
/* : nullable Object */;
997 val
* var1
/* : nullable String */;
998 var1
= opts__OptionString__convert(self
, p0
);
1003 /* method opts#OptionEnum#init for (self: OptionEnum, Array[String], String, Int, Array[String]) */
1004 void opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1005 val
* var_values
/* var values: Array[String] */;
1006 val
* var_help
/* var help: String */;
1007 long var_default
/* var default: Int */;
1008 val
* var_names
/* var names: Array[String] */;
1009 long var
/* : Int */;
1010 long var1
/* : Int */;
1011 short int var2
/* : Bool */;
1012 short int var4
/* : Bool */;
1015 const char* var_class_name
;
1016 short int var5
/* : Bool */;
1017 val
* var6
/* : Array[nullable Object] */;
1018 static val
* varonce
;
1019 val
* var7
/* : String */;
1020 char* var8
/* : NativeString */;
1021 long var9
/* : Int */;
1022 val
* var10
/* : String */;
1023 static val
* varonce11
;
1024 val
* var12
/* : String */;
1025 char* var13
/* : NativeString */;
1026 long var14
/* : Int */;
1027 val
* var15
/* : String */;
1028 val
* var16
/* : String */;
1029 static val
* varonce17
;
1030 val
* var18
/* : String */;
1031 char* var19
/* : NativeString */;
1032 long var20
/* : Int */;
1033 val
* var21
/* : String */;
1034 val
* var22
/* : Array[Object] */;
1035 long var23
/* : Int */;
1036 val
* var24
/* : NativeArray[Object] */;
1037 val
* var25
/* : String */;
1038 val
* var26
/* : nullable Object */;
1043 var
= ((long (*)(val
*))(var_values
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_values
) /* length on <var_values:Array[String]>*/;
1045 { /* Inline kernel#Int#> (var,var1) */
1046 /* Covariant cast for argument 0 (i) <var1:Int> isa OTHER */
1047 /* <var1:Int> isa OTHER */
1048 var4
= 1; /* easy <var1:Int> isa OTHER*/
1050 var_class_name
= type_kernel__Int
.name
;
1051 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1052 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
1061 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1062 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 174);
1065 var6
= ((val
* (*)(val
*))(var_values
->class->vft
[COLOR_array__Collection__to_a
]))(var_values
) /* to_a on <var_values:Array[String]>*/;
1066 self
->attrs
[COLOR_opts__OptionEnum___values
].val
= var6
; /* _values on <self:OptionEnum> */
1072 var10
= string__NativeString__to_s_with_length(var8
, var9
);
1081 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1085 var16
= ((val
* (*)(val
*, val
*))(var_values
->class->vft
[COLOR_string__Collection__join
]))(var_values
, var12
) /* join on <var_values:Array[String]>*/;
1091 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1095 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1096 { /* var22 = array_instance Array[Object] */
1098 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
1099 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var_help
;
1100 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var7
;
1101 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var16
;
1102 ((struct instance_array__NativeArray
*)var24
)->values
[3] = (val
*) var18
;
1103 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
1104 CHECK_NEW_array__Array(var22
);
1106 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
1107 var26
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1108 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var25
, var26
, var_names
) /* init_opt on <self:OptionEnum>*/;
1111 /* method opts#OptionEnum#init for (self: Object, Array[String], String, Int, Array[String]) */
1112 void VIRTUAL_opts__OptionEnum__init(val
* self
, val
* p0
, val
* p1
, long p2
, val
* p3
) {
1113 opts__OptionEnum__init(self
, p0
, p1
, p2
, p3
);
1116 /* method opts#OptionEnum#convert for (self: OptionEnum, String): Int */
1117 long opts__OptionEnum__convert(val
* self
, val
* p0
) {
1118 long var
/* : Int */;
1119 val
* var_str
/* var str: String */;
1120 val
* var1
/* : Array[String] */;
1121 long var2
/* : Int */;
1122 long var_id
/* var id: Int */;
1123 long var3
/* : Int */;
1124 long var4
/* : Int */;
1125 long var6
/* : Int */;
1126 short int var7
/* : Bool */;
1127 short int var9
/* : Bool */;
1128 val
* var10
/* : Array[Object] */;
1129 long var11
/* : Int */;
1130 val
* var_
/* var : Array[Object] */;
1131 static val
* varonce
;
1132 val
* var12
/* : String */;
1133 char* var13
/* : NativeString */;
1134 long var14
/* : Int */;
1135 val
* var15
/* : String */;
1136 val
* var16
/* : Array[String] */;
1137 static val
* varonce17
;
1138 val
* var18
/* : String */;
1139 char* var19
/* : NativeString */;
1140 long var20
/* : Int */;
1141 val
* var21
/* : String */;
1142 val
* var22
/* : String */;
1143 static val
* varonce23
;
1144 val
* var24
/* : String */;
1145 char* var25
/* : NativeString */;
1146 long var26
/* : Int */;
1147 val
* var27
/* : String */;
1148 val
* var28
/* : String */;
1149 val
* var_e
/* var e: String */;
1150 val
* var29
/* : Array[Object] */;
1151 long var30
/* : Int */;
1152 val
* var_31
/* var : Array[Object] */;
1153 static val
* varonce32
;
1154 val
* var33
/* : String */;
1155 char* var34
/* : NativeString */;
1156 long var35
/* : Int */;
1157 val
* var36
/* : String */;
1158 val
* var37
/* : Array[String] */;
1159 static val
* varonce38
;
1160 val
* var39
/* : String */;
1161 char* var40
/* : NativeString */;
1162 long var41
/* : Int */;
1163 val
* var42
/* : String */;
1164 val
* var43
/* : String */;
1165 static val
* varonce44
;
1166 val
* var45
/* : String */;
1167 char* var46
/* : NativeString */;
1168 long var47
/* : Int */;
1169 val
* var48
/* : String */;
1170 val
* var49
/* : String */;
1171 val
* var50
/* : String */;
1172 val
* var51
/* : Array[String] */;
1174 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1176 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1177 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 181);
1180 var2
= ((long (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead__index_of
]))(var1
, var_str
) /* index_of on <var1:Array[String]>*/;
1183 { /* Inline kernel#Int#unary - (var3) */
1189 { /* Inline kernel#Int#== (var_id,var4) */
1190 var9
= var_id
== var4
;
1196 var10
= NEW_array__Array(&type_array__Arraykernel__Object
);
1198 ((void (*)(val
*, long))(var10
->class->vft
[COLOR_array__Array__with_capacity
]))(var10
, var11
) /* with_capacity on <var10:Array[Object]>*/;
1199 CHECK_NEW_array__Array(var10
);
1204 var13
= "Unrecognized value for option ";
1206 var15
= string__NativeString__to_s_with_length(var13
, var14
);
1210 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1211 var16
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:OptionEnum> */
1212 if (var16
== NULL
) {
1213 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _names");
1214 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 183);
1222 var21
= string__NativeString__to_s_with_length(var19
, var20
);
1226 var22
= ((val
* (*)(val
*, val
*))(var16
->class->vft
[COLOR_string__Collection__join
]))(var16
, var18
) /* join on <var16:Array[String]>*/;
1227 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var22
) /* add on <var_:Array[Object]>*/;
1233 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1237 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var24
) /* add on <var_:Array[Object]>*/;
1238 var28
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1240 var29
= NEW_array__Array(&type_array__Arraykernel__Object
);
1242 ((void (*)(val
*, long))(var29
->class->vft
[COLOR_array__Array__with_capacity
]))(var29
, var30
) /* with_capacity on <var29:Array[Object]>*/;
1243 CHECK_NEW_array__Array(var29
);
1248 var34
= "Expected values are: ";
1250 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1254 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var33
) /* add on <var_31:Array[Object]>*/;
1255 var37
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1256 if (var37
== NULL
) {
1257 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1258 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 184);
1266 var42
= string__NativeString__to_s_with_length(var40
, var41
);
1270 var43
= ((val
* (*)(val
*, val
*))(var37
->class->vft
[COLOR_string__Collection__join
]))(var37
, var39
) /* join on <var37:Array[String]>*/;
1271 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var43
) /* add on <var_31:Array[Object]>*/;
1277 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1281 ((void (*)(val
*, val
*))(var_31
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_31
, var45
) /* add on <var_31:Array[Object]>*/;
1282 var49
= ((val
* (*)(val
*))(var_31
->class->vft
[COLOR_string__Object__to_s
]))(var_31
) /* to_s on <var_31:Array[Object]>*/;
1283 var50
= ((val
* (*)(val
*, val
*))(var_e
->class->vft
[COLOR_string__String___43d
]))(var_e
, var49
) /* + on <var_e:String>*/;
1285 var51
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionEnum> */
1286 if (var51
== NULL
) {
1287 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1288 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 185);
1291 ((void (*)(val
*, val
*))(var51
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var51
, var_e
) /* add on <var51:Array[String]>*/;
1299 /* method opts#OptionEnum#convert for (self: Object, String): nullable Object */
1300 val
* VIRTUAL_opts__OptionEnum__convert(val
* self
, val
* p0
) {
1301 val
* var
/* : nullable Object */;
1302 long var1
/* : Int */;
1303 val
* var2
/* : nullable Object */;
1304 var1
= opts__OptionEnum__convert(self
, p0
);
1305 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1310 /* method opts#OptionEnum#value_name for (self: OptionEnum): String */
1311 val
* opts__OptionEnum__value_name(val
* self
) {
1312 val
* var
/* : String */;
1313 val
* var1
/* : Array[String] */;
1314 val
* var2
/* : nullable Object */;
1315 val
* var3
/* : nullable Object */;
1316 long var4
/* : Int */;
1317 var1
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1319 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1320 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 190);
1323 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__value
]))(self
) /* value on <self:OptionEnum>*/;
1324 var4
= ((struct instance_kernel__Int
*)var2
)->value
; /* autounbox from nullable Object to Int */;
1325 var3
= ((val
* (*)(val
*, long))(var1
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var1
, var4
) /* [] on <var1:Array[String]>*/;
1331 /* method opts#OptionEnum#value_name for (self: Object): String */
1332 val
* VIRTUAL_opts__OptionEnum__value_name(val
* self
) {
1333 val
* var
/* : String */;
1334 val
* var1
/* : String */;
1335 var1
= opts__OptionEnum__value_name(self
);
1340 /* method opts#OptionEnum#pretty_default for (self: OptionEnum): String */
1341 val
* opts__OptionEnum__pretty_default(val
* self
) {
1342 val
* var
/* : String */;
1343 val
* var1
/* : nullable Object */;
1344 val
* var2
/* : null */;
1345 short int var3
/* : Bool */;
1346 val
* var4
/* : Array[Object] */;
1347 long var5
/* : Int */;
1348 val
* var_
/* var : Array[Object] */;
1349 static val
* varonce
;
1350 val
* var6
/* : String */;
1351 char* var7
/* : NativeString */;
1352 long var8
/* : Int */;
1353 val
* var9
/* : String */;
1354 val
* var10
/* : Array[String] */;
1355 val
* var11
/* : nullable Object */;
1356 val
* var12
/* : nullable Object */;
1357 long var13
/* : Int */;
1358 static val
* varonce14
;
1359 val
* var15
/* : String */;
1360 char* var16
/* : NativeString */;
1361 long var17
/* : Int */;
1362 val
* var18
/* : String */;
1363 val
* var19
/* : String */;
1364 static val
* varonce20
;
1365 val
* var21
/* : String */;
1366 char* var22
/* : NativeString */;
1367 long var23
/* : Int */;
1368 val
* var24
/* : String */;
1369 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1372 var3
= 0; /* is null */
1374 var3
= 1; /* arg is null and recv is not */
1377 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1379 ((void (*)(val
*, long))(var4
->class->vft
[COLOR_array__Array__with_capacity
]))(var4
, var5
) /* with_capacity on <var4:Array[Object]>*/;
1380 CHECK_NEW_array__Array(var4
);
1387 var9
= string__NativeString__to_s_with_length(var7
, var8
);
1391 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var6
) /* add on <var_:Array[Object]>*/;
1392 var10
= self
->attrs
[COLOR_opts__OptionEnum___values
].val
; /* _values on <self:OptionEnum> */
1393 if (var10
== NULL
) {
1394 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1395 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1398 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_opts__Option__default_value
]))(self
) /* default_value on <self:OptionEnum>*/;
1399 if (var11
== NULL
) {
1400 fprintf(stderr
, "Runtime error: %s", "Cast failed");
1401 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 195);
1404 var13
= ((struct instance_kernel__Int
*)var11
)->value
; /* autounbox from nullable Int to Int */;
1405 var12
= ((val
* (*)(val
*, long))(var10
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var10
, var13
) /* [] on <var10:Array[String]>*/;
1406 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
1412 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1416 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
1417 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1426 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1436 /* method opts#OptionEnum#pretty_default for (self: Object): String */
1437 val
* VIRTUAL_opts__OptionEnum__pretty_default(val
* self
) {
1438 val
* var
/* : String */;
1439 val
* var1
/* : String */;
1440 var1
= opts__OptionEnum__pretty_default(self
);
1445 /* method opts#OptionInt#init for (self: OptionInt, String, Int, Array[String]) */
1446 void opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1447 val
* var_help
/* var help: String */;
1448 long var_default
/* var default: Int */;
1449 val
* var_names
/* var names: Array[String] */;
1450 val
* var
/* : nullable Object */;
1454 var
= BOX_kernel__Int(var_default
); /* autobox from Int to nullable Object */
1455 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var
, var_names
) /* init_opt on <self:OptionInt>*/;
1458 /* method opts#OptionInt#init for (self: Object, String, Int, Array[String]) */
1459 void VIRTUAL_opts__OptionInt__init(val
* self
, val
* p0
, long p1
, val
* p2
) {
1460 opts__OptionInt__init(self
, p0
, p1
, p2
);
1463 /* method opts#OptionInt#convert for (self: OptionInt, String): Int */
1464 long opts__OptionInt__convert(val
* self
, val
* p0
) {
1465 long var
/* : Int */;
1466 val
* var_str
/* var str: String */;
1467 long var1
/* : Int */;
1469 var1
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_string__AbstractString__to_i
]))(var_str
) /* to_i on <var_str:String>*/;
1475 /* method opts#OptionInt#convert for (self: Object, String): nullable Object */
1476 val
* VIRTUAL_opts__OptionInt__convert(val
* self
, val
* p0
) {
1477 val
* var
/* : nullable Object */;
1478 long var1
/* : Int */;
1479 val
* var2
/* : nullable Object */;
1480 var1
= opts__OptionInt__convert(self
, p0
);
1481 var2
= BOX_kernel__Int(var1
); /* autobox from Int to nullable Object */
1486 /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */
1487 void opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1488 val
* var_help
/* var help: String */;
1489 val
* var_names
/* var names: Array[String] */;
1490 val
* var
/* : Array[String] */;
1491 val
* var1
/* : Array[String] */;
1492 short int var2
/* : Bool */;
1495 const struct type
* type_struct
;
1496 const char* var_class_name
;
1499 var
= NEW_array__Array(&type_array__Arraystring__String
);
1500 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[String]>*/;
1501 CHECK_NEW_array__Array(var
);
1502 self
->attrs
[COLOR_opts__OptionArray___values
].val
= var
; /* _values on <self:OptionArray> */
1503 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1505 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1506 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1509 /* <var1:Array[String]> isa nullable 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
>= var1
->type
->table_size
) {
1516 var2
= var1
->type
->type_table
[cltype
] == idtype
;
1519 var_class_name
= var1
== NULL ?
"null" : var1
->type
->name
;
1520 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "nullable VALUE", var_class_name
);
1521 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 218);
1524 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__init_opt
]))(self
, var_help
, var1
, var_names
) /* init_opt on <self:OptionArray>*/;
1527 /* method opts#OptionArray#init for (self: Object, String, Array[String]) */
1528 void VIRTUAL_opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1529 opts__OptionArray__init(self
, p0
, p1
);
1532 /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */
1533 val
* opts__OptionArray__convert(val
* self
, val
* p0
) {
1534 val
* var
/* : Array[String] */;
1535 val
* var_str
/* var str: String */;
1536 val
* var1
/* : Array[String] */;
1537 val
* var2
/* : Array[String] */;
1538 short int var3
/* : Bool */;
1541 const struct type
* type_struct
;
1542 const char* var_class_name
;
1544 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1546 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1547 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 224);
1550 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var1
, var_str
) /* add on <var1:Array[String]>*/;
1551 var2
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1553 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _values");
1554 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1557 /* <var2:Array[String]> isa VALUE */
1558 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1559 cltype
= type_struct
->color
;
1560 idtype
= type_struct
->id
;
1561 if(cltype
>= var2
->type
->table_size
) {
1564 var3
= var2
->type
->type_table
[cltype
] == idtype
;
1567 var_class_name
= var2
== NULL ?
"null" : var2
->type
->name
;
1568 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1569 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 225);
1577 /* method opts#OptionArray#convert for (self: Object, String): nullable Object */
1578 val
* VIRTUAL_opts__OptionArray__convert(val
* self
, val
* p0
) {
1579 val
* var
/* : nullable Object */;
1580 val
* var1
/* : Array[String] */;
1581 var1
= opts__OptionArray__convert(self
, p0
);
1586 /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */
1587 val
* opts__OptionContext__options(val
* self
) {
1588 val
* var
/* : Array[Option] */;
1589 val
* var1
/* : Array[Option] */;
1590 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1592 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1593 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 230);
1600 /* method opts#OptionContext#options for (self: Object): Array[Option] */
1601 val
* VIRTUAL_opts__OptionContext__options(val
* self
) {
1602 val
* var
/* : Array[Option] */;
1603 val
* var1
/* : Array[Option] */;
1604 var1
= opts__OptionContext__options(self
);
1609 /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */
1610 val
* opts__OptionContext__rest(val
* self
) {
1611 val
* var
/* : Array[String] */;
1612 val
* var1
/* : Array[String] */;
1613 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1615 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1616 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 231);
1623 /* method opts#OptionContext#rest for (self: Object): Array[String] */
1624 val
* VIRTUAL_opts__OptionContext__rest(val
* self
) {
1625 val
* var
/* : Array[String] */;
1626 val
* var1
/* : Array[String] */;
1627 var1
= opts__OptionContext__rest(self
);
1632 /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */
1633 val
* opts__OptionContext__errors(val
* self
) {
1634 val
* var
/* : Array[String] */;
1635 val
* var1
/* : Array[String] */;
1636 var1
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
1638 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
1639 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 232);
1646 /* method opts#OptionContext#errors for (self: Object): Array[String] */
1647 val
* VIRTUAL_opts__OptionContext__errors(val
* self
) {
1648 val
* var
/* : Array[String] */;
1649 val
* var1
/* : Array[String] */;
1650 var1
= opts__OptionContext__errors(self
);
1655 /* method opts#OptionContext#usage for (self: OptionContext) */
1656 void opts__OptionContext__usage(val
* self
) {
1657 long var
/* : Int */;
1658 long var_lmax
/* var lmax: Int */;
1659 val
* var1
/* : Array[Option] */;
1660 val
* var2
/* : Iterator[nullable Object] */;
1661 short int var3
/* : Bool */;
1662 val
* var4
/* : nullable Object */;
1663 val
* var_i
/* var i: Option */;
1664 long var5
/* : Int */;
1665 long var_l
/* var l: Int */;
1666 val
* var6
/* : Array[String] */;
1667 val
* var7
/* : Iterator[nullable Object] */;
1668 short int var8
/* : Bool */;
1669 val
* var9
/* : nullable Object */;
1670 val
* var_n
/* var n: String */;
1671 long var10
/* : Int */;
1672 long var11
/* : Int */;
1673 long var12
/* : Int */;
1674 long var14
/* : Int */;
1675 long var15
/* : Int */;
1676 long var17
/* : Int */;
1677 short int var18
/* : Bool */;
1678 short int var20
/* : Bool */;
1681 const char* var_class_name
;
1682 short int var21
/* : Bool */;
1683 val
* var23
/* : Array[Option] */;
1684 val
* var24
/* : Iterator[nullable Object] */;
1685 short int var25
/* : Bool */;
1686 val
* var26
/* : nullable Object */;
1687 val
* var_i27
/* var i: Option */;
1688 val
* var28
/* : String */;
1691 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1693 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1694 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 239);
1697 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var1
) /* iterator on <var1:Array[Option]>*/;
1699 var3
= ((short int (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var2
) /* is_ok on <var2:Iterator[nullable Object]>*/;
1701 var4
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var2
) /* item on <var2:Iterator[nullable Object]>*/;
1705 var6
= ((val
* (*)(val
*))(var_i
->class->vft
[COLOR_opts__Option__names
]))(var_i
) /* names on <var_i:Option>*/;
1706 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var6
) /* iterator on <var6:Array[String]>*/;
1708 var8
= ((short int (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var7
) /* is_ok on <var7:Iterator[nullable Object]>*/;
1710 var9
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var7
) /* item on <var7:Iterator[nullable Object]>*/;
1712 var10
= ((long (*)(val
*))(var_n
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_n
) /* length on <var_n:String>*/;
1714 { /* Inline kernel#Int#+ (var10,var11) */
1715 var14
= var10
+ var11
;
1718 RET_LABEL13
:(void)0;
1720 { /* Inline kernel#Int#+ (var_l,var12) */
1721 var17
= var_l
+ var12
;
1724 RET_LABEL16
:(void)0;
1727 CONTINUE_label
: (void)0;
1728 ((void (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var7
) /* next on <var7:Iterator[nullable Object]>*/;
1730 BREAK_label
: (void)0;
1731 { /* Inline kernel#Int#< (var_lmax,var_l) */
1732 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1733 /* <var_l:Int> isa OTHER */
1734 var20
= 1; /* easy <var_l:Int> isa OTHER*/
1736 var_class_name
= type_kernel__Int
.name
;
1737 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1738 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 261);
1741 var21
= var_lmax
< var_l
;
1744 RET_LABEL19
:(void)0;
1750 CONTINUE_label22
: (void)0;
1751 ((void (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var2
) /* next on <var2:Iterator[nullable Object]>*/;
1753 BREAK_label22
: (void)0;
1754 var23
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1755 if (var23
== NULL
) {
1756 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
1757 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 247);
1760 var24
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var23
) /* iterator on <var23:Array[Option]>*/;
1762 var25
= ((short int (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var24
) /* is_ok on <var24:Iterator[nullable Object]>*/;
1764 var26
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var24
) /* item on <var24:Iterator[nullable Object]>*/;
1766 var28
= ((val
* (*)(val
*, long))(var_i27
->class->vft
[COLOR_opts__Option__pretty
]))(var_i27
, var_lmax
) /* pretty on <var_i27:Option>*/;
1767 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var28
) /* print on <self:OptionContext>*/;
1768 CONTINUE_label29
: (void)0;
1769 ((void (*)(val
*))(var24
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var24
) /* next on <var24:Iterator[nullable Object]>*/;
1771 BREAK_label29
: (void)0;
1774 /* method opts#OptionContext#usage for (self: Object) */
1775 void VIRTUAL_opts__OptionContext__usage(val
* self
) {
1776 opts__OptionContext__usage(self
);
1779 /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */
1780 void opts__OptionContext__parse(val
* self
, val
* p0
) {
1781 val
* var_argv
/* var argv: Collection[String] */;
1782 val
* var
/* : Iterator[nullable Object] */;
1783 val
* var_it
/* var it: Iterator[String] */;
1785 var
= ((val
* (*)(val
*))(var_argv
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_argv
) /* iterator on <var_argv:Collection[String]>*/;
1787 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionContext__parse_intern
]))(self
, var_it
) /* parse_intern on <self:OptionContext>*/;
1790 /* method opts#OptionContext#parse for (self: Object, Collection[String]) */
1791 void VIRTUAL_opts__OptionContext__parse(val
* self
, val
* p0
) {
1792 opts__OptionContext__parse(self
, p0
);
1795 /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */
1796 void opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
1797 val
* var_it
/* var it: Iterator[String] */;
1798 short int var
/* : Bool */;
1799 short int var_parseargs
/* var parseargs: Bool */;
1800 val
* var1
/* : Array[String] */;
1801 val
* var_rest
/* var rest: Array[String] */;
1802 short int var2
/* : Bool */;
1803 short int var_
/* var : Bool */;
1804 short int var3
/* : Bool */;
1805 val
* var4
/* : nullable Object */;
1806 val
* var_str
/* var str: String */;
1807 static val
* varonce
;
1808 val
* var5
/* : String */;
1809 char* var6
/* : NativeString */;
1810 long var7
/* : Int */;
1811 val
* var8
/* : String */;
1812 short int var9
/* : Bool */;
1813 val
* var10
/* : Array[nullable Object] */;
1814 short int var11
/* : Bool */;
1815 short int var12
/* : Bool */;
1816 char var13
/* : Char */;
1817 long var14
/* : Int */;
1818 val
* var15
/* : nullable Object */;
1819 long var16
/* : Int */;
1820 short int var17
/* : Bool */;
1821 short int var19
/* : Bool */;
1822 short int var_20
/* var : Bool */;
1823 long var21
/* : Int */;
1824 long var22
/* : Int */;
1825 short int var23
/* : Bool */;
1826 short int var25
/* : Bool */;
1829 const char* var_class_name
;
1830 short int var26
/* : Bool */;
1831 short int var27
/* : Bool */;
1832 short int var_next_called
/* var next_called: Bool */;
1833 val
* var28
/* : Range[Int] */;
1834 long var29
/* : Int */;
1835 long var30
/* : Int */;
1836 val
* var31
/* : Discrete */;
1837 val
* var32
/* : Discrete */;
1838 val
* var33
/* : Iterator[nullable Object] */;
1839 short int var34
/* : Bool */;
1840 val
* var35
/* : nullable Object */;
1841 long var_i
/* var i: Int */;
1842 long var36
/* : Int */;
1843 static val
* varonce37
;
1844 val
* var38
/* : String */;
1845 char* var39
/* : NativeString */;
1846 long var40
/* : Int */;
1847 val
* var41
/* : String */;
1848 val
* var42
/* : nullable Object */;
1849 val
* var43
/* : String */;
1850 char var44
/* : Char */;
1851 val
* var45
/* : String */;
1852 val
* var_short_opt
/* var short_opt: String */;
1853 val
* var46
/* : Map[String, Option] */;
1854 short int var47
/* : Bool */;
1855 val
* var48
/* : Map[String, Option] */;
1856 val
* var49
/* : nullable Object */;
1857 val
* var_option
/* var option: Option */;
1858 short int var50
/* : Bool */;
1861 short int var53
/* : Bool */;
1862 short int var54
/* : Bool */;
1863 val
* var55
/* : Map[String, Option] */;
1864 short int var56
/* : Bool */;
1865 val
* var57
/* : Map[String, Option] */;
1866 val
* var58
/* : nullable Object */;
1867 val
* var_opt
/* var opt: Option */;
1868 val
* var59
/* : nullable Object */;
1869 val
* var61
/* : Array[Option] */;
1870 val
* var62
/* : Iterator[nullable Object] */;
1871 short int var63
/* : Bool */;
1872 val
* var64
/* : nullable Object */;
1873 val
* var_opt65
/* var opt: Option */;
1874 short int var66
/* : Bool */;
1875 short int var67
/* : Bool */;
1876 short int var_68
/* var : Bool */;
1877 short int var69
/* : Bool */;
1878 short int var70
/* : Bool */;
1879 val
* var71
/* : Array[String] */;
1880 static val
* varonce72
;
1881 val
* var73
/* : String */;
1882 char* var74
/* : NativeString */;
1883 long var75
/* : Int */;
1884 val
* var76
/* : String */;
1885 val
* var77
/* : Array[String] */;
1886 static val
* varonce78
;
1887 val
* var79
/* : String */;
1888 char* var80
/* : NativeString */;
1889 long var81
/* : Int */;
1890 val
* var82
/* : String */;
1891 val
* var83
/* : String */;
1892 static val
* varonce84
;
1893 val
* var85
/* : String */;
1894 char* var86
/* : NativeString */;
1895 long var87
/* : Int */;
1896 val
* var88
/* : String */;
1897 val
* var89
/* : Array[Object] */;
1898 long var90
/* : Int */;
1899 val
* var91
/* : NativeArray[Object] */;
1900 val
* var92
/* : String */;
1903 var_parseargs
= var
;
1904 ((void (*)(val
*))(self
->class->vft
[COLOR_opts__OptionContext__build
]))(self
) /* build on <self:OptionContext>*/;
1905 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1907 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _rest");
1908 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 263);
1913 var_
= var_parseargs
;
1915 var3
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
1921 var4
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1928 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1932 var9
= ((short int (*)(val
*, val
*))(var_str
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_str
, var5
) /* == on <var_str:String>*/;
1934 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1935 var10
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_array__Iterator__to_a
]))(var_it
) /* to_a on <var_it:Iterator[String]>*/;
1936 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rest
, var10
) /* add_all on <var_rest:Array[String]>*/;
1938 var_parseargs
= var11
;
1941 var15
= BOX_kernel__Char(var13
); /* autobox from Char to nullable Object */
1942 var14
= ((long (*)(val
*, val
*))(var_str
->class->vft
[COLOR_array__AbstractArrayRead__last_index_of
]))(var_str
, var15
) /* last_index_of on <var_str:String>*/;
1944 { /* Inline kernel#Int#== (var14,var16) */
1945 var19
= var14
== var16
;
1948 RET_LABEL18
:(void)0;
1952 var21
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1954 { /* Inline kernel#Int#> (var21,var22) */
1955 /* Covariant cast for argument 0 (i) <var22:Int> isa OTHER */
1956 /* <var22:Int> isa OTHER */
1957 var25
= 1; /* easy <var22:Int> isa OTHER*/
1959 var_class_name
= type_kernel__Int
.name
;
1960 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1961 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 263);
1964 var26
= var21
> var22
;
1967 RET_LABEL24
:(void)0;
1975 var_next_called
= var27
;
1976 var28
= NEW_range__Range(&type_range__Rangekernel__Int
);
1978 var30
= ((long (*)(val
*))(var_str
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_str
) /* length on <var_str:String>*/;
1979 var31
= BOX_kernel__Int(var29
); /* autobox from Int to Discrete */
1980 var32
= BOX_kernel__Int(var30
); /* autobox from Int to Discrete */
1981 ((void (*)(val
*, val
*, val
*))(var28
->class->vft
[COLOR_range__Range__init
]))(var28
, var31
, var32
) /* init on <var28:Range[Int]>*/;
1982 CHECK_NEW_range__Range(var28
);
1983 var33
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var28
) /* iterator on <var28:Range[Int]>*/;
1985 var34
= ((short int (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var33
) /* is_ok on <var33:Iterator[nullable Object]>*/;
1987 var35
= ((val
* (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var33
) /* item on <var33:Iterator[nullable Object]>*/;
1988 var36
= ((struct instance_kernel__Int
*)var35
)->value
; /* autounbox from nullable Object to Int */;
1995 var41
= string__NativeString__to_s_with_length(var39
, var40
);
1999 var42
= ((val
* (*)(val
*, long))(var_str
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_str
, var_i
) /* [] on <var_str:String>*/;
2000 var44
= ((struct instance_kernel__Char
*)var42
)->value
; /* autounbox from nullable Object to Char */;
2001 var43
= string__Char__to_s(var44
);
2002 var45
= ((val
* (*)(val
*, val
*))(var38
->class->vft
[COLOR_string__String___43d
]))(var38
, var43
) /* + on <var38:String>*/;
2003 var_short_opt
= var45
;
2004 var46
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2005 if (var46
== NULL
) {
2006 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2007 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 277);
2010 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]>*/;
2012 var48
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2013 if (var48
== NULL
) {
2014 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2015 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 278);
2018 var49
= ((val
* (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var48
, var_short_opt
) /* [] on <var48:Map[String, Option]>*/;
2020 /* <var_option:Option> isa OptionParameter */
2021 cltype51
= type_opts__OptionParameter
.color
;
2022 idtype52
= type_opts__OptionParameter
.id
;
2023 if(cltype51
>= var_option
->type
->table_size
) {
2026 var50
= var_option
->type
->type_table
[cltype51
] == idtype52
;
2029 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2031 var_next_called
= var53
;
2034 ((void (*)(val
*, val
*))(var_option
->class->vft
[COLOR_opts__Option__read_param
]))(var_option
, var_it
) /* read_param on <var_option:Option>*/;
2037 CONTINUE_label
: (void)0;
2038 ((void (*)(val
*))(var33
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var33
) /* next on <var33:Iterator[nullable Object]>*/;
2040 BREAK_label
: (void)0;
2041 var54
= !var_next_called
;
2043 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2047 var55
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2048 if (var55
== NULL
) {
2049 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2050 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 288);
2053 var56
= ((short int (*)(val
*, val
*))(var55
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var55
, var_str
) /* has_key on <var55:Map[String, Option]>*/;
2055 var57
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2056 if (var57
== NULL
) {
2057 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2058 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 289);
2061 var58
= ((val
* (*)(val
*, val
*))(var57
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var57
, var_str
) /* [] on <var57:Map[String, Option]>*/;
2063 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2064 ((void (*)(val
*, val
*))(var_opt
->class->vft
[COLOR_opts__Option__read_param
]))(var_opt
, var_it
) /* read_param on <var_opt:Option>*/;
2066 var59
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2067 ((void (*)(val
*, val
*))(var_rest
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_rest
, var59
) /* add on <var_rest:Array[String]>*/;
2068 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2072 CONTINUE_label60
: (void)0;
2074 BREAK_label60
: (void)0;
2075 var61
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2076 if (var61
== NULL
) {
2077 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2078 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 300);
2081 var62
= ((val
* (*)(val
*))(var61
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var61
) /* iterator on <var61:Array[Option]>*/;
2083 var63
= ((short int (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var62
) /* is_ok on <var62:Iterator[nullable Object]>*/;
2085 var64
= ((val
* (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var62
) /* item on <var62:Iterator[nullable Object]>*/;
2087 var67
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__mandatory
]))(var_opt65
) /* mandatory on <var_opt65:Option>*/;
2090 var69
= ((short int (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__read
]))(var_opt65
) /* read on <var_opt65:Option>*/;
2097 var71
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2098 if (var71
== NULL
) {
2099 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2100 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 302);
2106 var74
= "Mandatory option ";
2108 var76
= string__NativeString__to_s_with_length(var74
, var75
);
2112 var77
= ((val
* (*)(val
*))(var_opt65
->class->vft
[COLOR_opts__Option__names
]))(var_opt65
) /* names on <var_opt65:Option>*/;
2118 var82
= string__NativeString__to_s_with_length(var80
, var81
);
2122 var83
= ((val
* (*)(val
*, val
*))(var77
->class->vft
[COLOR_string__Collection__join
]))(var77
, var79
) /* join on <var77:Array[String]>*/;
2126 var86
= " not found.";
2128 var88
= string__NativeString__to_s_with_length(var86
, var87
);
2132 var89
= NEW_array__Array(&type_array__Arraykernel__Object
);
2133 { /* var89 = array_instance Array[Object] */
2135 var91
= NEW_array__NativeArray(var90
, &type_array__NativeArraykernel__Object
);
2136 ((struct instance_array__NativeArray
*)var91
)->values
[0] = (val
*) var73
;
2137 ((struct instance_array__NativeArray
*)var91
)->values
[1] = (val
*) var83
;
2138 ((struct instance_array__NativeArray
*)var91
)->values
[2] = (val
*) var85
;
2139 ((void (*)(val
*, val
*, long))(var89
->class->vft
[COLOR_array__Array__with_native
]))(var89
, var91
, var90
) /* with_native on <var89:Array[Object]>*/;
2140 CHECK_NEW_array__Array(var89
);
2142 var92
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_string__Object__to_s
]))(var89
) /* to_s on <var89:Array[Object]>*/;
2143 ((void (*)(val
*, val
*))(var71
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var71
, var92
) /* add on <var71:Array[String]>*/;
2146 CONTINUE_label93
: (void)0;
2147 ((void (*)(val
*))(var62
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var62
) /* next on <var62:Iterator[nullable Object]>*/;
2149 BREAK_label93
: (void)0;
2152 /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */
2153 void VIRTUAL_opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
2154 opts__OptionContext__parse_intern(self
, p0
);
2157 /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
2158 void opts__OptionContext__add_option(val
* self
, val
* p0
) {
2159 val
* var_opts
/* var opts: Array[Option] */;
2160 val
* var
/* : Iterator[nullable Object] */;
2161 short int var1
/* : Bool */;
2162 val
* var2
/* : nullable Object */;
2163 val
* var_opt
/* var opt: Option */;
2164 val
* var3
/* : Array[Option] */;
2166 var
= ((val
* (*)(val
*))(var_opts
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_opts
) /* iterator on <var_opts:Array[Option]>*/;
2168 var1
= ((short int (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var
) /* is_ok on <var:Iterator[nullable Object]>*/;
2170 var2
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var
) /* item on <var:Iterator[nullable Object]>*/;
2172 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2174 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2175 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 310);
2178 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var3
, var_opt
) /* add on <var3:Array[Option]>*/;
2179 CONTINUE_label
: (void)0;
2180 ((void (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var
) /* next on <var:Iterator[nullable Object]>*/;
2182 BREAK_label
: (void)0;
2185 /* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
2186 void VIRTUAL_opts__OptionContext__add_option(val
* self
, val
* p0
) {
2187 opts__OptionContext__add_option(self
, p0
);
2190 /* method opts#OptionContext#init for (self: OptionContext) */
2191 void opts__OptionContext__init(val
* self
) {
2192 val
* var
/* : Array[Option] */;
2193 val
* var1
/* : HashMap[String, Option] */;
2194 val
* var2
/* : Array[String] */;
2195 val
* var3
/* : Array[String] */;
2196 var
= NEW_array__Array(&type_array__Arrayopts__Option
);
2197 ((void (*)(val
*))(var
->class->vft
[COLOR_array__Array__init
]))(var
) /* init on <var:Array[Option]>*/;
2198 CHECK_NEW_array__Array(var
);
2199 self
->attrs
[COLOR_opts__OptionContext___options
].val
= var
; /* _options on <self:OptionContext> */
2200 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option
);
2201 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Option]>*/;
2202 CHECK_NEW_hash_collection__HashMap(var1
);
2203 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= var1
; /* _optmap on <self:OptionContext> */
2204 var2
= NEW_array__Array(&type_array__Arraystring__String
);
2205 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[String]>*/;
2206 CHECK_NEW_array__Array(var2
);
2207 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= var2
; /* _rest on <self:OptionContext> */
2208 var3
= NEW_array__Array(&type_array__Arraystring__String
);
2209 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[String]>*/;
2210 CHECK_NEW_array__Array(var3
);
2211 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= var3
; /* _errors on <self:OptionContext> */
2214 /* method opts#OptionContext#init for (self: Object) */
2215 void VIRTUAL_opts__OptionContext__init(val
* self
) {
2216 opts__OptionContext__init(self
);
2219 /* method opts#OptionContext#build for (self: OptionContext) */
2220 void opts__OptionContext__build(val
* self
) {
2221 val
* var
/* : Array[Option] */;
2222 val
* var1
/* : Iterator[nullable Object] */;
2223 short int var2
/* : Bool */;
2224 val
* var3
/* : nullable Object */;
2225 val
* var_o
/* var o: Option */;
2226 val
* var4
/* : Array[String] */;
2227 val
* var5
/* : Iterator[nullable Object] */;
2228 short int var6
/* : Bool */;
2229 val
* var7
/* : nullable Object */;
2230 val
* var_n
/* var n: String */;
2231 val
* var8
/* : Map[String, Option] */;
2232 var
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2234 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2235 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 324);
2238 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var
) /* iterator on <var:Array[Option]>*/;
2240 var2
= ((short int (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var1
) /* is_ok on <var1:Iterator[nullable Object]>*/;
2242 var3
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var1
) /* item on <var1:Iterator[nullable Object]>*/;
2244 var4
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__names
]))(var_o
) /* names on <var_o:Option>*/;
2245 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var4
) /* iterator on <var4:Array[String]>*/;
2247 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
2249 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
2251 var8
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2253 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _optmap");
2254 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 326);
2257 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var8
, var_n
, var_o
) /* []= on <var8:Map[String, Option]>*/;
2258 CONTINUE_label
: (void)0;
2259 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
2261 BREAK_label
: (void)0;
2262 CONTINUE_label9
: (void)0;
2263 ((void (*)(val
*))(var1
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var1
) /* next on <var1:Iterator[nullable Object]>*/;
2265 BREAK_label9
: (void)0;
2268 /* method opts#OptionContext#build for (self: Object) */
2269 void VIRTUAL_opts__OptionContext__build(val
* self
) {
2270 opts__OptionContext__build(self
);
2273 /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */
2274 val
* opts__OptionContext__get_errors(val
* self
) {
2275 val
* var
/* : Array[String] */;
2276 val
* var1
/* : Array[String] */;
2277 val
* var_errors
/* var errors: Array[String] */;
2278 val
* var2
/* : Array[String] */;
2279 val
* var3
/* : Array[Option] */;
2280 val
* var4
/* : Iterator[nullable Object] */;
2281 short int var5
/* : Bool */;
2282 val
* var6
/* : nullable Object */;
2283 val
* var_o
/* var o: Option */;
2284 val
* var7
/* : Array[String] */;
2285 val
* var8
/* : Iterator[nullable Object] */;
2286 short int var9
/* : Bool */;
2287 val
* var10
/* : nullable Object */;
2288 val
* var_e
/* var e: String */;
2289 var1
= NEW_array__Array(&type_array__Arraystring__String
);
2290 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[String]>*/;
2291 CHECK_NEW_array__Array(var1
);
2293 var2
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2295 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _errors");
2296 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 335);
2299 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_errors
, var2
) /* add_all on <var_errors:Array[String]>*/;
2300 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2302 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute _options");
2303 fprintf(stderr
, " (%s:%d)\n", "lib/opts.nit", 337);
2306 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var3
) /* iterator on <var3:Array[Option]>*/;
2308 var5
= ((short int (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var4
) /* is_ok on <var4:Iterator[nullable Object]>*/;
2310 var6
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var4
) /* item on <var4:Iterator[nullable Object]>*/;
2312 var7
= ((val
* (*)(val
*))(var_o
->class->vft
[COLOR_opts__Option__errors
]))(var_o
) /* errors on <var_o:Option>*/;
2313 var8
= ((val
* (*)(val
*))(var7
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var7
) /* iterator on <var7:Array[String]>*/;
2315 var9
= ((short int (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var8
) /* is_ok on <var8:Iterator[nullable Object]>*/;
2317 var10
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var8
) /* item on <var8:Iterator[nullable Object]>*/;
2319 ((void (*)(val
*, val
*))(var_errors
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_errors
, var_e
) /* add on <var_errors:Array[String]>*/;
2320 CONTINUE_label
: (void)0;
2321 ((void (*)(val
*))(var8
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var8
) /* next on <var8:Iterator[nullable Object]>*/;
2323 BREAK_label
: (void)0;
2324 CONTINUE_label11
: (void)0;
2325 ((void (*)(val
*))(var4
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var4
) /* next on <var4:Iterator[nullable Object]>*/;
2327 BREAK_label11
: (void)0;
2333 /* method opts#OptionContext#get_errors for (self: Object): Array[String] */
2334 val
* VIRTUAL_opts__OptionContext__get_errors(val
* self
) {
2335 val
* var
/* : Array[String] */;
2336 val
* var1
/* : Array[String] */;
2337 var1
= opts__OptionContext__get_errors(self
);