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> */
7 if (unlikely(var1
== NULL
)) {
8 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
9 PRINT_ERROR(" (%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 val
* var3
/* : Array[String] */;
21 { /* Inline opts#Option#names (self) on <self:Object(Option)> */
22 var3
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Object(Option)> */
23 if (unlikely(var3
== NULL
)) {
24 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
25 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
35 /* method opts#Option#names= for (self: Option, Array[String]) */
36 void opts__Option__names_61d(val
* self
, val
* p0
) {
37 self
->attrs
[COLOR_opts__Option___names
].val
= p0
; /* _names on <self:Option> */
40 /* method opts#Option#names= for (self: Object, Array[String]) */
41 void VIRTUAL_opts__Option__names_61d(val
* self
, val
* p0
) {
42 { /* Inline opts#Option#names= (self,p0) on <self:Object(Option)> */
43 self
->attrs
[COLOR_opts__Option___names
].val
= p0
; /* _names on <self:Object(Option)> */
48 /* method opts#Option#helptext for (self: Option): String */
49 val
* opts__Option__helptext(val
* self
) {
50 val
* var
/* : String */;
51 val
* var1
/* : String */;
52 var1
= self
->attrs
[COLOR_opts__Option___helptext
].val
; /* _helptext on <self:Option> */
53 if (unlikely(var1
== NULL
)) {
54 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext");
55 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25);
62 /* method opts#Option#helptext for (self: Object): String */
63 val
* VIRTUAL_opts__Option__helptext(val
* self
) {
64 val
* var
/* : String */;
65 val
* var1
/* : String */;
66 val
* var3
/* : String */;
67 { /* Inline opts#Option#helptext (self) on <self:Object(Option)> */
68 var3
= self
->attrs
[COLOR_opts__Option___helptext
].val
; /* _helptext on <self:Object(Option)> */
69 if (unlikely(var3
== NULL
)) {
70 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext");
71 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25);
81 /* method opts#Option#helptext= for (self: Option, String) */
82 void opts__Option__helptext_61d(val
* self
, val
* p0
) {
83 self
->attrs
[COLOR_opts__Option___helptext
].val
= p0
; /* _helptext on <self:Option> */
86 /* method opts#Option#helptext= for (self: Object, String) */
87 void VIRTUAL_opts__Option__helptext_61d(val
* self
, val
* p0
) {
88 { /* Inline opts#Option#helptext= (self,p0) on <self:Object(Option)> */
89 self
->attrs
[COLOR_opts__Option___helptext
].val
= p0
; /* _helptext on <self:Object(Option)> */
94 /* method opts#Option#errors for (self: Option): Array[String] */
95 val
* opts__Option__errors(val
* self
) {
96 val
* var
/* : Array[String] */;
97 val
* var1
/* : Array[String] */;
98 var1
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:Option> */
99 if (unlikely(var1
== NULL
)) {
100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
101 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28);
108 /* method opts#Option#errors for (self: Object): Array[String] */
109 val
* VIRTUAL_opts__Option__errors(val
* self
) {
110 val
* var
/* : Array[String] */;
111 val
* var1
/* : Array[String] */;
112 val
* var3
/* : Array[String] */;
113 { /* Inline opts#Option#errors (self) on <self:Object(Option)> */
114 var3
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:Object(Option)> */
115 if (unlikely(var3
== NULL
)) {
116 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
117 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28);
127 /* method opts#Option#mandatory for (self: Option): Bool */
128 short int opts__Option__mandatory(val
* self
) {
129 short int var
/* : Bool */;
130 short int var1
/* : Bool */;
131 var1
= self
->attrs
[COLOR_opts__Option___mandatory
].s
; /* _mandatory on <self:Option> */
136 /* method opts#Option#mandatory for (self: Object): Bool */
137 short int VIRTUAL_opts__Option__mandatory(val
* self
) {
138 short int var
/* : Bool */;
139 short int var1
/* : Bool */;
140 short int var3
/* : Bool */;
141 { /* Inline opts#Option#mandatory (self) on <self:Object(Option)> */
142 var3
= self
->attrs
[COLOR_opts__Option___mandatory
].s
; /* _mandatory on <self:Object(Option)> */
150 /* method opts#Option#hidden for (self: Option): Bool */
151 short int opts__Option__hidden(val
* self
) {
152 short int var
/* : Bool */;
153 short int var1
/* : Bool */;
154 var1
= self
->attrs
[COLOR_opts__Option___hidden
].s
; /* _hidden on <self:Option> */
159 /* method opts#Option#hidden for (self: Object): Bool */
160 short int VIRTUAL_opts__Option__hidden(val
* self
) {
161 short int var
/* : Bool */;
162 short int var1
/* : Bool */;
163 short int var3
/* : Bool */;
164 { /* Inline opts#Option#hidden (self) on <self:Object(Option)> */
165 var3
= self
->attrs
[COLOR_opts__Option___hidden
].s
; /* _hidden on <self:Object(Option)> */
173 /* method opts#Option#read for (self: Option): Bool */
174 short int opts__Option__read(val
* self
) {
175 short int var
/* : Bool */;
176 short int var1
/* : Bool */;
177 var1
= self
->attrs
[COLOR_opts__Option___read
].s
; /* _read on <self:Option> */
182 /* method opts#Option#read for (self: Object): Bool */
183 short int VIRTUAL_opts__Option__read(val
* self
) {
184 short int var
/* : Bool */;
185 short int var1
/* : Bool */;
186 short int var3
/* : Bool */;
187 { /* Inline opts#Option#read (self) on <self:Object(Option)> */
188 var3
= self
->attrs
[COLOR_opts__Option___read
].s
; /* _read on <self:Object(Option)> */
196 /* method opts#Option#read= for (self: Option, Bool) */
197 void opts__Option__read_61d(val
* self
, short int p0
) {
198 self
->attrs
[COLOR_opts__Option___read
].s
= p0
; /* _read on <self:Option> */
201 /* method opts#Option#read= for (self: Object, Bool) */
202 void VIRTUAL_opts__Option__read_61d(val
* self
, short int p0
) {
203 { /* Inline opts#Option#read= (self,p0) on <self:Object(Option)> */
204 self
->attrs
[COLOR_opts__Option___read
].s
= p0
; /* _read on <self:Object(Option)> */
209 /* method opts#Option#value for (self: Option): nullable Object */
210 val
* opts__Option__value(val
* self
) {
211 val
* var
/* : nullable Object */;
212 val
* var1
/* : nullable Object */;
213 var1
= self
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <self:Option> */
218 /* method opts#Option#value for (self: Object): nullable Object */
219 val
* VIRTUAL_opts__Option__value(val
* self
) {
220 val
* var
/* : nullable Object */;
221 val
* var1
/* : nullable Object */;
222 val
* var3
/* : nullable Object */;
223 { /* Inline opts#Option#value (self) on <self:Object(Option)> */
224 var3
= self
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <self:Object(Option)> */
232 /* method opts#Option#value= for (self: Option, nullable Object) */
233 void opts__Option__value_61d(val
* self
, val
* p0
) {
234 short int var
/* : Bool */;
237 const struct type
* type_struct
;
238 short int is_nullable
;
239 const char* var_class_name
;
240 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa VALUE */
241 /* <p0:nullable Object> isa VALUE */
242 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
243 cltype
= type_struct
->color
;
244 idtype
= type_struct
->id
;
245 is_nullable
= type_struct
->is_nullable
;
249 if(cltype
>= p0
->type
->table_size
) {
252 var
= p0
->type
->type_table
[cltype
] == idtype
;
255 if (unlikely(!var
)) {
256 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
257 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
258 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
261 self
->attrs
[COLOR_opts__Option___value
].val
= p0
; /* _value on <self:Option> */
264 /* method opts#Option#value= for (self: Object, nullable Object) */
265 void VIRTUAL_opts__Option__value_61d(val
* self
, val
* p0
) {
266 short int var
/* : Bool */;
269 const struct type
* type_struct
;
270 short int is_nullable
;
271 const char* var_class_name
;
272 { /* Inline opts#Option#value= (self,p0) on <self:Object(Option)> */
273 /* Covariant cast for argument 0 (value) <p0:nullable Object> isa VALUE */
274 /* <p0:nullable Object> isa VALUE */
275 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
276 cltype
= type_struct
->color
;
277 idtype
= type_struct
->id
;
278 is_nullable
= type_struct
->is_nullable
;
282 if(cltype
>= p0
->type
->table_size
) {
285 var
= p0
->type
->type_table
[cltype
] == idtype
;
288 if (unlikely(!var
)) {
289 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
290 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
291 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
294 self
->attrs
[COLOR_opts__Option___value
].val
= p0
; /* _value on <self:Object(Option)> */
299 /* method opts#Option#default_value= for (self: Option, nullable Object) */
300 void opts__Option__default_value_61d(val
* self
, val
* p0
) {
301 short int var
/* : Bool */;
304 const struct type
* type_struct
;
305 short int is_nullable
;
306 const char* var_class_name
;
307 /* Covariant cast for argument 0 (default_value) <p0:nullable Object> isa VALUE */
308 /* <p0:nullable Object> isa VALUE */
309 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
310 cltype
= type_struct
->color
;
311 idtype
= type_struct
->id
;
312 is_nullable
= type_struct
->is_nullable
;
316 if(cltype
>= p0
->type
->table_size
) {
319 var
= p0
->type
->type_table
[cltype
] == idtype
;
322 if (unlikely(!var
)) {
323 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
324 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
325 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43);
328 self
->attrs
[COLOR_opts__Option___default_value
].val
= p0
; /* _default_value on <self:Option> */
331 /* method opts#Option#default_value= for (self: Object, nullable Object) */
332 void VIRTUAL_opts__Option__default_value_61d(val
* self
, val
* p0
) {
333 short int var
/* : Bool */;
336 const struct type
* type_struct
;
337 short int is_nullable
;
338 const char* var_class_name
;
339 { /* Inline opts#Option#default_value= (self,p0) on <self:Object(Option)> */
340 /* Covariant cast for argument 0 (default_value) <p0:nullable Object> isa VALUE */
341 /* <p0:nullable Object> isa VALUE */
342 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
343 cltype
= type_struct
->color
;
344 idtype
= type_struct
->id
;
345 is_nullable
= type_struct
->is_nullable
;
349 if(cltype
>= p0
->type
->table_size
) {
352 var
= p0
->type
->type_table
[cltype
] == idtype
;
355 if (unlikely(!var
)) {
356 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
357 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
358 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43);
361 self
->attrs
[COLOR_opts__Option___default_value
].val
= p0
; /* _default_value on <self:Object(Option)> */
366 /* method opts#Option#init for (self: Option, String, nullable Object, nullable Array[String]) */
367 void opts__Option__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
368 short int var
/* : Bool */;
371 const struct type
* type_struct
;
372 short int is_nullable
;
373 const char* var_class_name
;
374 val
* var_help
/* var help: String */;
375 val
* var_default
/* var default: nullable Object */;
376 val
* var_names
/* var names: nullable Array[String] */;
377 /* Covariant cast for argument 1 (default) <p1:nullable Object> isa VALUE */
378 /* <p1:nullable Object> isa VALUE */
379 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
380 cltype
= type_struct
->color
;
381 idtype
= type_struct
->id
;
382 is_nullable
= type_struct
->is_nullable
;
386 if(cltype
>= p1
->type
->table_size
) {
389 var
= p1
->type
->type_table
[cltype
] == idtype
;
392 if (unlikely(!var
)) {
393 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
394 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
395 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 46);
402 opts__Option__init_opt(self
, var_help
, var_default
, var_names
); /* Direct call opts#Option#init_opt on <self:Option>*/
406 /* method opts#Option#init for (self: Object, String, nullable Object, nullable Array[String]) */
407 void VIRTUAL_opts__Option__init(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
408 opts__Option__init(self
, p0
, p1
, p2
); /* Direct call opts#Option#init on <self:Object(Option)>*/
411 /* method opts#Option#init_opt for (self: Option, String, nullable Object, nullable Array[String]) */
412 void opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
413 short int var
/* : Bool */;
416 const struct type
* type_struct
;
417 short int is_nullable
;
418 const char* var_class_name
;
419 val
* var_help
/* var help: String */;
420 val
* var_default
/* var default: nullable Object */;
421 val
* var_names
/* var names: nullable Array[String] */;
422 val
* var1
/* : null */;
423 short int var2
/* : Bool */;
424 short int var3
/* : Bool */;
425 val
* var4
/* : Array[String] */;
426 val
* var6
/* : Array[nullable Object] */;
427 short int var10
/* : Bool */;
430 const struct type
* type_struct13
;
431 short int is_nullable14
;
432 const char* var_class_name15
;
433 short int var17
/* : Bool */;
436 const struct type
* type_struct20
;
437 short int is_nullable21
;
438 const char* var_class_name22
;
439 /* Covariant cast for argument 1 (default) <p1:nullable Object> isa VALUE */
440 /* <p1:nullable Object> isa VALUE */
441 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
442 cltype
= type_struct
->color
;
443 idtype
= type_struct
->id
;
444 is_nullable
= type_struct
->is_nullable
;
448 if(cltype
>= p1
->type
->table_size
) {
451 var
= p1
->type
->type_table
[cltype
] == idtype
;
454 if (unlikely(!var
)) {
455 var_class_name
= p1
== NULL ?
"null" : p1
->type
->name
;
456 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
457 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 52);
464 if (var_names
== NULL
) {
465 var2
= 1; /* is null */
467 var2
= 0; /* arg is null but recv is not */
470 var3
= abstract_collection__SequenceRead___61d_61d(var_names
, var1
);
474 var4
= NEW_array__Array(&type_array__Arraystring__String
);
476 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[String]>*/
479 { /* Inline opts#Option#names= (self,var4) on <self:Option> */
480 self
->attrs
[COLOR_opts__Option___names
].val
= var4
; /* _names on <self:Option> */
486 var6
= array__Collection__to_a(var_names
);
489 { /* Inline opts#Option#names= (self,var6) on <self:Option> */
490 self
->attrs
[COLOR_opts__Option___names
].val
= var6
; /* _names on <self:Option> */
496 { /* Inline opts#Option#helptext= (self,var_help) on <self:Option> */
497 self
->attrs
[COLOR_opts__Option___helptext
].val
= var_help
; /* _helptext on <self:Option> */
502 { /* Inline opts#Option#default_value= (self,var_default) on <self:Option> */
503 /* Covariant cast for argument 0 (default_value) <var_default:nullable Object> isa VALUE */
504 /* <var_default:nullable Object> isa VALUE */
505 type_struct13
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
506 cltype11
= type_struct13
->color
;
507 idtype12
= type_struct13
->id
;
508 is_nullable14
= type_struct13
->is_nullable
;
509 if(var_default
== NULL
) {
510 var10
= is_nullable14
;
512 if(cltype11
>= var_default
->type
->table_size
) {
515 var10
= var_default
->type
->type_table
[cltype11
] == idtype12
;
518 if (unlikely(!var10
)) {
519 var_class_name15
= var_default
== NULL ?
"null" : var_default
->type
->name
;
520 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name15
);
521 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 43);
524 self
->attrs
[COLOR_opts__Option___default_value
].val
= var_default
; /* _default_value on <self:Option> */
529 { /* Inline opts#Option#value= (self,var_default) on <self:Option> */
530 /* Covariant cast for argument 0 (value) <var_default:nullable Object> isa VALUE */
531 /* <var_default:nullable Object> isa VALUE */
532 type_struct20
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
533 cltype18
= type_struct20
->color
;
534 idtype19
= type_struct20
->id
;
535 is_nullable21
= type_struct20
->is_nullable
;
536 if(var_default
== NULL
) {
537 var17
= is_nullable21
;
539 if(cltype18
>= var_default
->type
->table_size
) {
542 var17
= var_default
->type
->type_table
[cltype18
] == idtype19
;
545 if (unlikely(!var17
)) {
546 var_class_name22
= var_default
== NULL ?
"null" : var_default
->type
->name
;
547 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name22
);
548 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
551 self
->attrs
[COLOR_opts__Option___value
].val
= var_default
; /* _value on <self:Option> */
557 /* method opts#Option#init_opt for (self: Object, String, nullable Object, nullable Array[String]) */
558 void VIRTUAL_opts__Option__init_opt(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
559 opts__Option__init_opt(self
, p0
, p1
, p2
); /* Direct call opts#Option#init_opt on <self:Object(Option)>*/
562 /* method opts#Option#to_s for (self: Option): String */
563 val
* opts__Option__to_s(val
* self
) {
564 val
* var
/* : String */;
565 long var1
/* : Int */;
566 val
* var2
/* : String */;
569 var2
= opts__Option__pretty(self
, var1
);
576 /* method opts#Option#to_s for (self: Object): String */
577 val
* VIRTUAL_opts__Option__to_s(val
* self
) {
578 val
* var
/* : String */;
579 val
* var1
/* : String */;
580 var1
= opts__Option__to_s(self
);
585 /* method opts#Option#pretty for (self: Option, Int): String */
586 val
* opts__Option__pretty(val
* self
, long p0
) {
587 val
* var
/* : String */;
588 long var_off
/* var off: Int */;
589 val
* var1
/* : FlatBuffer */;
591 val
* var2
/* : String */;
592 char* var3
/* : NativeString */;
593 long var4
/* : Int */;
594 val
* var5
/* : FlatString */;
595 val
* var_text
/* var text: FlatBuffer */;
596 val
* var6
/* : Array[String] */;
597 val
* var8
/* : Array[String] */;
598 static val
* varonce9
;
599 val
* var10
/* : String */;
600 char* var11
/* : NativeString */;
601 long var12
/* : Int */;
602 val
* var13
/* : FlatString */;
603 val
* var14
/* : String */;
604 static val
* varonce15
;
605 val
* var16
/* : String */;
606 char* var17
/* : NativeString */;
607 long var18
/* : Int */;
608 val
* var19
/* : FlatString */;
609 long var20
/* : Int */;
610 long var22
/* : Int */;
611 long var23
/* : Int */;
612 short int var25
/* : Bool */;
615 const char* var_class_name
;
616 long var26
/* : Int */;
617 long var_rest
/* var rest: Int */;
618 long var27
/* : Int */;
619 short int var28
/* : Bool */;
620 short int var30
/* : Bool */;
623 const char* var_class_name33
;
624 short int var34
/* : Bool */;
625 static val
* varonce35
;
626 val
* var36
/* : String */;
627 char* var37
/* : NativeString */;
628 long var38
/* : Int */;
629 val
* var39
/* : FlatString */;
630 val
* var40
/* : String */;
631 val
* var41
/* : String */;
632 val
* var43
/* : String */;
633 val
* var44
/* : String */;
635 var1
= NEW_string__FlatBuffer(&type_string__FlatBuffer
);
641 var5
= string__NativeString__to_s_with_length(var3
, var4
);
646 string__FlatBuffer__from(var1
, var2
); /* Direct call string#FlatBuffer#from on <var1:FlatBuffer>*/
650 { /* Inline opts#Option#names (self) on <self:Option> */
651 var8
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:Option> */
652 if (unlikely(var8
== NULL
)) {
653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
654 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
666 var13
= string__NativeString__to_s_with_length(var11
, var12
);
671 var14
= string__Collection__join(var6
, var10
);
674 string__FlatBuffer__append(var_text
, var14
); /* Direct call string#FlatBuffer#append on <var_text:FlatBuffer>*/
681 var19
= string__NativeString__to_s_with_length(var17
, var18
);
686 string__FlatBuffer__append(var_text
, var16
); /* Direct call string#FlatBuffer#append on <var_text:FlatBuffer>*/
689 { /* Inline string#FlatText#length (var_text) on <var_text:FlatBuffer> */
690 var22
= var_text
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_text:FlatBuffer> */
696 { /* Inline kernel#Int#- (var_off,var20) on <var_off:Int> */
697 /* Covariant cast for argument 0 (i) <var20:Int> isa OTHER */
698 /* <var20:Int> isa OTHER */
699 var25
= 1; /* easy <var20:Int> isa OTHER*/
700 if (unlikely(!var25
)) {
701 var_class_name
= type_kernel__Int
.name
;
702 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
703 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 331);
706 var26
= var_off
- var20
;
715 { /* Inline kernel#Int#> (var_rest,var27) on <var_rest:Int> */
716 /* Covariant cast for argument 0 (i) <var27:Int> isa OTHER */
717 /* <var27:Int> isa OTHER */
718 var30
= 1; /* easy <var27:Int> isa OTHER*/
719 if (unlikely(!var30
)) {
720 var_class_name33
= type_kernel__Int
.name
;
721 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name33
);
722 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
725 var34
= var_rest
> var27
;
737 var39
= string__NativeString__to_s_with_length(var37
, var38
);
742 var40
= string__FlatString___42d(var36
, var_rest
);
745 string__FlatBuffer__append(var_text
, var40
); /* Direct call string#FlatBuffer#append on <var_text:FlatBuffer>*/
750 { /* Inline opts#Option#helptext (self) on <self:Option> */
751 var43
= self
->attrs
[COLOR_opts__Option___helptext
].val
; /* _helptext on <self:Option> */
752 if (unlikely(var43
== NULL
)) {
753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _helptext");
754 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 25);
762 string__FlatBuffer__append(var_text
, var41
); /* Direct call string#FlatBuffer#append on <var_text:FlatBuffer>*/
765 var44
= string__FlatBuffer__to_s(var_text
);
772 /* method opts#Option#pretty for (self: Object, Int): String */
773 val
* VIRTUAL_opts__Option__pretty(val
* self
, long p0
) {
774 val
* var
/* : String */;
775 val
* var1
/* : String */;
776 var1
= opts__Option__pretty(self
, p0
);
781 /* method opts#Option#read_param for (self: Option, Iterator[String]) */
782 void opts__Option__read_param(val
* self
, val
* p0
) {
783 val
* var_it
/* var it: Iterator[String] */;
784 short int var
/* : Bool */;
788 { /* Inline opts#Option#read= (self,var) on <self:Option> */
789 self
->attrs
[COLOR_opts__Option___read
].s
= var
; /* _read on <self:Option> */
795 /* method opts#Option#read_param for (self: Object, Iterator[String]) */
796 void VIRTUAL_opts__Option__read_param(val
* self
, val
* p0
) {
797 opts__Option__read_param(self
, p0
); /* Direct call opts#Option#read_param on <self:Object(Option)>*/
800 /* method opts#OptionBool#init for (self: OptionBool, String, Array[String]) */
801 void opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
802 val
* var_help
/* var help: String */;
803 val
* var_names
/* var names: Array[String] */;
804 short int var
/* : Bool */;
805 val
* var1
/* : nullable Object */;
810 var1
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
811 opts__Option__init(self
, var_help
, var1
, var_names
); /* Direct call opts#Option#init on <self:OptionBool>*/
815 /* method opts#OptionBool#init for (self: Object, String, Array[String]) */
816 void VIRTUAL_opts__OptionBool__init(val
* self
, val
* p0
, val
* p1
) {
817 opts__OptionBool__init(self
, p0
, p1
); /* Direct call opts#OptionBool#init on <self:Object(OptionBool)>*/
820 /* method opts#OptionBool#read_param for (self: OptionBool, Iterator[String]) */
821 void opts__OptionBool__read_param(val
* self
, val
* p0
) {
822 val
* var_it
/* var it: Iterator[String] */;
823 short int var
/* : Bool */;
824 short int var2
/* : Bool */;
827 const struct type
* type_struct
;
828 const char* var_class_name
;
829 val
* var3
/* : nullable Object */;
832 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionBool__read_param
]))(self
, p0
) /* read_param on <self:OptionBool>*/;
836 { /* Inline opts#Option#value= (self,var) on <self:OptionBool> */
837 /* Covariant cast for argument 0 (value) <var:Bool> isa VALUE */
838 /* <var:Bool> isa VALUE */
839 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
840 cltype
= type_struct
->color
;
841 idtype
= type_struct
->id
;
842 if(cltype
>= (&type_kernel__Bool
)->table_size
) {
845 var2
= (&type_kernel__Bool
)->type_table
[cltype
] == idtype
;
847 if (unlikely(!var2
)) {
848 var_class_name
= type_kernel__Bool
.name
;
849 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
850 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
853 var3
= BOX_kernel__Bool(var
); /* autobox from Bool to nullable Object */
854 self
->attrs
[COLOR_opts__Option___value
].val
= var3
; /* _value on <self:OptionBool> */
860 /* method opts#OptionBool#read_param for (self: Object, Iterator[String]) */
861 void VIRTUAL_opts__OptionBool__read_param(val
* self
, val
* p0
) {
862 opts__OptionBool__read_param(self
, p0
); /* Direct call opts#OptionBool#read_param on <self:Object(OptionBool)>*/
865 /* method opts#OptionCount#init for (self: OptionCount, String, Array[String]) */
866 void opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
867 val
* var_help
/* var help: String */;
868 val
* var_names
/* var names: Array[String] */;
869 long var
/* : Int */;
870 val
* var1
/* : nullable Object */;
875 var1
= BOX_kernel__Int(var
); /* autobox from Int to nullable Object */
876 opts__Option__init(self
, var_help
, var1
, var_names
); /* Direct call opts#Option#init on <self:OptionCount>*/
880 /* method opts#OptionCount#init for (self: Object, String, Array[String]) */
881 void VIRTUAL_opts__OptionCount__init(val
* self
, val
* p0
, val
* p1
) {
882 opts__OptionCount__init(self
, p0
, p1
); /* Direct call opts#OptionCount#init on <self:Object(OptionCount)>*/
885 /* method opts#OptionCount#read_param for (self: OptionCount, Iterator[String]) */
886 void opts__OptionCount__read_param(val
* self
, val
* p0
) {
887 val
* var_it
/* var it: Iterator[String] */;
888 val
* var_
/* var : OptionCount */;
889 val
* var
/* : nullable Object */;
890 val
* var2
/* : nullable Object */;
891 long var3
/* : Int */;
892 long var4
/* : Int */;
893 short int var6
/* : Bool */;
896 const char* var_class_name
;
897 long var7
/* : Int */;
898 long var8
/* : Int */;
899 short int var10
/* : Bool */;
902 const struct type
* type_struct
;
903 const char* var_class_name13
;
904 val
* var14
/* : nullable Object */;
907 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionCount__read_param
]))(self
, p0
) /* read_param on <self:OptionCount>*/;
911 { /* Inline opts#Option#value (var_) on <var_:OptionCount> */
912 var2
= var_
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var_:OptionCount> */
919 { /* Inline kernel#Int#+ (var,var3) on <var:nullable Object(Int)> */
920 /* Covariant cast for argument 0 (i) <var3:Int> isa OTHER */
921 /* <var3:Int> isa OTHER */
922 var6
= 1; /* easy <var3:Int> isa OTHER*/
923 if (unlikely(!var6
)) {
924 var_class_name
= type_kernel__Int
.name
;
925 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
926 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
929 var7
= ((struct instance_kernel__Int
*)var
)->value
; /* autounbox from nullable Object to Int */;
937 { /* Inline opts#Option#value= (var_,var4) on <var_:OptionCount> */
938 /* Covariant cast for argument 0 (value) <var4:Int> isa VALUE */
939 /* <var4:Int> isa VALUE */
940 type_struct
= var_
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
941 cltype11
= type_struct
->color
;
942 idtype12
= type_struct
->id
;
943 if(cltype11
>= (&type_kernel__Int
)->table_size
) {
946 var10
= (&type_kernel__Int
)->type_table
[cltype11
] == idtype12
;
948 if (unlikely(!var10
)) {
949 var_class_name13
= type_kernel__Int
.name
;
950 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name13
);
951 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
954 var14
= BOX_kernel__Int(var4
); /* autobox from Int to nullable Object */
955 var_
->attrs
[COLOR_opts__Option___value
].val
= var14
; /* _value on <var_:OptionCount> */
961 /* method opts#OptionCount#read_param for (self: Object, Iterator[String]) */
962 void VIRTUAL_opts__OptionCount__read_param(val
* self
, val
* p0
) {
963 opts__OptionCount__read_param(self
, p0
); /* Direct call opts#OptionCount#read_param on <self:Object(OptionCount)>*/
966 /* method opts#OptionParameter#parameter_mandatory for (self: OptionParameter): Bool */
967 short int opts__OptionParameter__parameter_mandatory(val
* self
) {
968 short int var
/* : Bool */;
969 short int var1
/* : Bool */;
970 var1
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
975 /* method opts#OptionParameter#parameter_mandatory for (self: Object): Bool */
976 short int VIRTUAL_opts__OptionParameter__parameter_mandatory(val
* self
) {
977 short int var
/* : Bool */;
978 short int var1
/* : Bool */;
979 short int var3
/* : Bool */;
980 { /* Inline opts#OptionParameter#parameter_mandatory (self) on <self:Object(OptionParameter)> */
981 var3
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:Object(OptionParameter)> */
989 /* method opts#OptionParameter#read_param for (self: OptionParameter, Iterator[String]) */
990 void opts__OptionParameter__read_param(val
* self
, val
* p0
) {
991 val
* var_it
/* var it: Iterator[String] */;
992 short int var
/* : Bool */;
993 short int var1
/* : Bool */;
994 short int var_
/* var : Bool */;
995 val
* var2
/* : nullable Object */;
996 val
* var3
/* : SequenceRead[Char] */;
997 val
* var5
/* : SequenceRead[Char] */;
998 val
* var6
/* : nullable Object */;
999 char var7
/* : Char */;
1000 short int var8
/* : Bool */;
1001 short int var9
/* : Bool */;
1002 short int var11
/* : Bool */;
1003 char var12
/* : Char */;
1004 short int var13
/* : Bool */;
1005 val
* var14
/* : nullable Object */;
1006 val
* var15
/* : nullable Object */;
1007 short int var17
/* : Bool */;
1010 const struct type
* type_struct
;
1011 short int is_nullable
;
1012 const char* var_class_name
;
1013 short int var18
/* : Bool */;
1014 short int var20
/* : Bool */;
1015 val
* var21
/* : Array[String] */;
1016 val
* var23
/* : Array[String] */;
1017 static val
* varonce
;
1018 val
* var24
/* : String */;
1019 char* var25
/* : NativeString */;
1020 long var26
/* : Int */;
1021 val
* var27
/* : FlatString */;
1022 val
* var28
/* : Array[String] */;
1023 val
* var30
/* : Array[String] */;
1024 val
* var31
/* : nullable Object */;
1025 static val
* varonce32
;
1026 val
* var33
/* : String */;
1027 char* var34
/* : NativeString */;
1028 long var35
/* : Int */;
1029 val
* var36
/* : FlatString */;
1030 val
* var37
/* : Array[Object] */;
1031 long var38
/* : Int */;
1032 val
* var39
/* : NativeArray[Object] */;
1033 val
* var40
/* : String */;
1036 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__read_param
]))(self
, p0
) /* read_param on <self:OptionParameter>*/;
1039 var1
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
1044 var2
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1047 { /* Inline string#FlatString#chars (var2) on <var2:nullable Object(String)> */
1048 var5
= var2
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var2:nullable Object(String)> */
1049 if (unlikely(var5
== NULL
)) {
1050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
1051 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
1059 var6
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var3
) /* first on <var3:SequenceRead[Char]>*/;
1063 { /* Inline kernel#Char#!= (var6,var7) on <var6:nullable Object(Char)> */
1064 var11
= (var6
!= NULL
) && (var6
->class == &class_kernel__Char
);
1066 var12
= ((struct instance_kernel__Char
*)var6
)->value
; /* autounbox from nullable Object to Char */;
1067 var11
= (var12
== var7
);
1072 RET_LABEL10
:(void)0;
1082 var14
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
1085 var15
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_opts__OptionParameter__convert
]))(self
, var14
) /* convert on <self:OptionParameter>*/;
1088 { /* Inline opts#Option#value= (self,var15) on <self:OptionParameter> */
1089 /* Covariant cast for argument 0 (value) <var15:nullable Object> isa VALUE */
1090 /* <var15:nullable Object> isa VALUE */
1091 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1092 cltype
= type_struct
->color
;
1093 idtype
= type_struct
->id
;
1094 is_nullable
= type_struct
->is_nullable
;
1096 var17
= is_nullable
;
1098 if(cltype
>= var15
->type
->table_size
) {
1101 var17
= var15
->type
->type_table
[cltype
] == idtype
;
1104 if (unlikely(!var17
)) {
1105 var_class_name
= var15
== NULL ?
"null" : var15
->type
->name
;
1106 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1107 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 40);
1110 self
->attrs
[COLOR_opts__Option___value
].val
= var15
; /* _value on <self:OptionParameter> */
1111 RET_LABEL16
:(void)0;
1115 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
1119 { /* Inline opts#OptionParameter#parameter_mandatory (self) on <self:OptionParameter> */
1120 var20
= self
->attrs
[COLOR_opts__OptionParameter___parameter_mandatory
].s
; /* _parameter_mandatory on <self:OptionParameter> */
1122 RET_LABEL19
:(void)0;
1127 { /* Inline opts#Option#errors (self) on <self:OptionParameter> */
1128 var23
= self
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <self:OptionParameter> */
1129 if (unlikely(var23
== NULL
)) {
1130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
1131 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28);
1135 RET_LABEL22
:(void)0;
1141 var25
= "Parameter expected for option ";
1143 var27
= string__NativeString__to_s_with_length(var25
, var26
);
1148 { /* Inline opts#Option#names (self) on <self:OptionParameter> */
1149 var30
= self
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <self:OptionParameter> */
1150 if (unlikely(var30
== NULL
)) {
1151 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
1152 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
1156 RET_LABEL29
:(void)0;
1160 var31
= abstract_collection__SequenceRead__first(var28
);
1167 var36
= string__NativeString__to_s_with_length(var34
, var35
);
1171 var37
= NEW_array__Array(&type_array__Arraykernel__Object
);
1172 { /* var37 = array_instance Array[Object] */
1174 var39
= NEW_array__NativeArray(var38
, &type_array__NativeArraykernel__Object
);
1175 ((struct instance_array__NativeArray
*)var39
)->values
[0] = (val
*) var24
;
1176 ((struct instance_array__NativeArray
*)var39
)->values
[1] = (val
*) var31
;
1177 ((struct instance_array__NativeArray
*)var39
)->values
[2] = (val
*) var33
;
1179 ((void (*)(val
*, val
*, long))(var37
->class->vft
[COLOR_array__Array__with_native
]))(var37
, var39
, var38
) /* with_native on <var37:Array[Object]>*/;
1183 var40
= ((val
* (*)(val
*))(var37
->class->vft
[COLOR_string__Object__to_s
]))(var37
) /* to_s on <var37:Array[Object]>*/;
1186 array__Array__add(var21
, var40
); /* Direct call array#Array#add on <var21:Array[String]>*/
1193 /* method opts#OptionParameter#read_param for (self: Object, Iterator[String]) */
1194 void VIRTUAL_opts__OptionParameter__read_param(val
* self
, val
* p0
) {
1195 opts__OptionParameter__read_param(self
, p0
); /* Direct call opts#OptionParameter#read_param on <self:Object(OptionParameter)>*/
1198 /* method opts#OptionString#init for (self: OptionString, String, Array[String]) */
1199 void opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
1200 val
* var_help
/* var help: String */;
1201 val
* var_names
/* var names: Array[String] */;
1202 val
* var
/* : null */;
1203 short int var1
/* : Bool */;
1206 const struct type
* type_struct
;
1207 short int is_nullable
;
1208 const char* var_class_name
;
1212 /* <var:null> isa VALUE */
1213 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1214 cltype
= type_struct
->color
;
1215 idtype
= type_struct
->id
;
1216 is_nullable
= type_struct
->is_nullable
;
1220 if(cltype
>= var
->type
->table_size
) {
1223 var1
= var
->type
->type_table
[cltype
] == idtype
;
1226 if (unlikely(!var1
)) {
1227 var_class_name
= var
== NULL ?
"null" : var
->type
->name
;
1228 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1229 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 162);
1233 opts__Option__init(self
, var_help
, var
, var_names
); /* Direct call opts#Option#init on <self:OptionString>*/
1237 /* method opts#OptionString#init for (self: Object, String, Array[String]) */
1238 void VIRTUAL_opts__OptionString__init(val
* self
, val
* p0
, val
* p1
) {
1239 opts__OptionString__init(self
, p0
, p1
); /* Direct call opts#OptionString#init on <self:Object(OptionString)>*/
1242 /* method opts#OptionString#convert for (self: OptionString, String): nullable String */
1243 val
* opts__OptionString__convert(val
* self
, val
* p0
) {
1244 val
* var
/* : nullable String */;
1245 val
* var_str
/* var str: String */;
1246 short int var1
/* : Bool */;
1249 const struct type
* type_struct
;
1250 const char* var_class_name
;
1252 /* <var_str:String> isa VALUE */
1253 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1254 cltype
= type_struct
->color
;
1255 idtype
= type_struct
->id
;
1256 if(cltype
>= var_str
->type
->table_size
) {
1259 var1
= var_str
->type
->type_table
[cltype
] == idtype
;
1261 if (unlikely(!var1
)) {
1262 var_class_name
= var_str
== NULL ?
"null" : var_str
->type
->name
;
1263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1264 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 164);
1272 /* method opts#OptionString#convert for (self: Object, String): nullable Object */
1273 val
* VIRTUAL_opts__OptionString__convert(val
* self
, val
* p0
) {
1274 val
* var
/* : nullable Object */;
1275 val
* var1
/* : nullable String */;
1276 var1
= opts__OptionString__convert(self
, p0
);
1281 /* method opts#OptionArray#init for (self: OptionArray, String, Array[String]) */
1282 void opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1283 val
* var_help
/* var help: String */;
1284 val
* var_names
/* var names: Array[String] */;
1285 val
* var
/* : Array[String] */;
1286 val
* var2
/* : Array[String] */;
1287 val
* var4
/* : Array[String] */;
1288 short int var5
/* : Bool */;
1291 const struct type
* type_struct
;
1292 const char* var_class_name
;
1295 var
= NEW_array__Array(&type_array__Arraystring__String
);
1297 array__Array__init(var
); /* Direct call array#Array#init on <var:Array[String]>*/
1300 { /* Inline opts#OptionArray#values= (self,var) on <self:OptionArray> */
1301 self
->attrs
[COLOR_opts__OptionArray___values
].val
= var
; /* _values on <self:OptionArray> */
1306 { /* Inline opts#OptionArray#values (self) on <self:OptionArray> */
1307 var4
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1308 if (unlikely(var4
== NULL
)) {
1309 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
1310 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 237);
1317 /* <var2:Array[String]> isa VALUE */
1318 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1319 cltype
= type_struct
->color
;
1320 idtype
= type_struct
->id
;
1321 if(cltype
>= var2
->type
->table_size
) {
1324 var5
= var2
->type
->type_table
[cltype
] == idtype
;
1326 if (unlikely(!var5
)) {
1327 var_class_name
= var2
== NULL ?
"null" : var2
->type
->name
;
1328 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1329 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 234);
1333 opts__Option__init(self
, var_help
, var2
, var_names
); /* Direct call opts#Option#init on <self:OptionArray>*/
1337 /* method opts#OptionArray#init for (self: Object, String, Array[String]) */
1338 void VIRTUAL_opts__OptionArray__init(val
* self
, val
* p0
, val
* p1
) {
1339 opts__OptionArray__init(self
, p0
, p1
); /* Direct call opts#OptionArray#init on <self:Object(OptionArray)>*/
1342 /* method opts#OptionArray#values for (self: OptionArray): Array[String] */
1343 val
* opts__OptionArray__values(val
* self
) {
1344 val
* var
/* : Array[String] */;
1345 val
* var1
/* : Array[String] */;
1346 var1
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1347 if (unlikely(var1
== NULL
)) {
1348 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
1349 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 237);
1356 /* method opts#OptionArray#values for (self: Object): Array[String] */
1357 val
* VIRTUAL_opts__OptionArray__values(val
* self
) {
1358 val
* var
/* : Array[String] */;
1359 val
* var1
/* : Array[String] */;
1360 val
* var3
/* : Array[String] */;
1361 { /* Inline opts#OptionArray#values (self) on <self:Object(OptionArray)> */
1362 var3
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:Object(OptionArray)> */
1363 if (unlikely(var3
== NULL
)) {
1364 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
1365 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 237);
1375 /* method opts#OptionArray#values= for (self: OptionArray, Array[String]) */
1376 void opts__OptionArray__values_61d(val
* self
, val
* p0
) {
1377 self
->attrs
[COLOR_opts__OptionArray___values
].val
= p0
; /* _values on <self:OptionArray> */
1380 /* method opts#OptionArray#values= for (self: Object, Array[String]) */
1381 void VIRTUAL_opts__OptionArray__values_61d(val
* self
, val
* p0
) {
1382 { /* Inline opts#OptionArray#values= (self,p0) on <self:Object(OptionArray)> */
1383 self
->attrs
[COLOR_opts__OptionArray___values
].val
= p0
; /* _values on <self:Object(OptionArray)> */
1388 /* method opts#OptionArray#convert for (self: OptionArray, String): Array[String] */
1389 val
* opts__OptionArray__convert(val
* self
, val
* p0
) {
1390 val
* var
/* : Array[String] */;
1391 val
* var_str
/* var str: String */;
1392 val
* var1
/* : Array[String] */;
1393 val
* var3
/* : Array[String] */;
1394 val
* var4
/* : Array[String] */;
1395 val
* var6
/* : Array[String] */;
1396 short int var7
/* : Bool */;
1399 const struct type
* type_struct
;
1400 const char* var_class_name
;
1403 { /* Inline opts#OptionArray#values (self) on <self:OptionArray> */
1404 var3
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1405 if (unlikely(var3
== NULL
)) {
1406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
1407 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 237);
1415 array__Array__add(var1
, var_str
); /* Direct call array#Array#add on <var1:Array[String]>*/
1418 { /* Inline opts#OptionArray#values (self) on <self:OptionArray> */
1419 var6
= self
->attrs
[COLOR_opts__OptionArray___values
].val
; /* _values on <self:OptionArray> */
1420 if (unlikely(var6
== NULL
)) {
1421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _values");
1422 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 237);
1429 /* <var4:Array[String]> isa VALUE */
1430 type_struct
= self
->type
->resolution_table
->types
[COLOR_opts__Option_VTVALUE
];
1431 cltype
= type_struct
->color
;
1432 idtype
= type_struct
->id
;
1433 if(cltype
>= var4
->type
->table_size
) {
1436 var7
= var4
->type
->type_table
[cltype
] == idtype
;
1438 if (unlikely(!var7
)) {
1439 var_class_name
= var4
== NULL ?
"null" : var4
->type
->name
;
1440 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1441 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 241);
1449 /* method opts#OptionArray#convert for (self: Object, String): nullable Object */
1450 val
* VIRTUAL_opts__OptionArray__convert(val
* self
, val
* p0
) {
1451 val
* var
/* : nullable Object */;
1452 val
* var1
/* : Array[String] */;
1453 var1
= opts__OptionArray__convert(self
, p0
);
1458 /* method opts#OptionContext#options for (self: OptionContext): Array[Option] */
1459 val
* opts__OptionContext__options(val
* self
) {
1460 val
* var
/* : Array[Option] */;
1461 val
* var1
/* : Array[Option] */;
1462 var1
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1463 if (unlikely(var1
== NULL
)) {
1464 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
1465 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
1472 /* method opts#OptionContext#options for (self: Object): Array[Option] */
1473 val
* VIRTUAL_opts__OptionContext__options(val
* self
) {
1474 val
* var
/* : Array[Option] */;
1475 val
* var1
/* : Array[Option] */;
1476 val
* var3
/* : Array[Option] */;
1477 { /* Inline opts#OptionContext#options (self) on <self:Object(OptionContext)> */
1478 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:Object(OptionContext)> */
1479 if (unlikely(var3
== NULL
)) {
1480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
1481 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
1491 /* method opts#OptionContext#options= for (self: OptionContext, Array[Option]) */
1492 void opts__OptionContext__options_61d(val
* self
, val
* p0
) {
1493 self
->attrs
[COLOR_opts__OptionContext___options
].val
= p0
; /* _options on <self:OptionContext> */
1496 /* method opts#OptionContext#options= for (self: Object, Array[Option]) */
1497 void VIRTUAL_opts__OptionContext__options_61d(val
* self
, val
* p0
) {
1498 { /* Inline opts#OptionContext#options= (self,p0) on <self:Object(OptionContext)> */
1499 self
->attrs
[COLOR_opts__OptionContext___options
].val
= p0
; /* _options on <self:Object(OptionContext)> */
1504 /* method opts#OptionContext#rest for (self: OptionContext): Array[String] */
1505 val
* opts__OptionContext__rest(val
* self
) {
1506 val
* var
/* : Array[String] */;
1507 val
* var1
/* : Array[String] */;
1508 var1
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
1509 if (unlikely(var1
== NULL
)) {
1510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
1511 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250);
1518 /* method opts#OptionContext#rest for (self: Object): Array[String] */
1519 val
* VIRTUAL_opts__OptionContext__rest(val
* self
) {
1520 val
* var
/* : Array[String] */;
1521 val
* var1
/* : Array[String] */;
1522 val
* var3
/* : Array[String] */;
1523 { /* Inline opts#OptionContext#rest (self) on <self:Object(OptionContext)> */
1524 var3
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:Object(OptionContext)> */
1525 if (unlikely(var3
== NULL
)) {
1526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
1527 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250);
1537 /* method opts#OptionContext#rest= for (self: OptionContext, Array[String]) */
1538 void opts__OptionContext__rest_61d(val
* self
, val
* p0
) {
1539 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= p0
; /* _rest on <self:OptionContext> */
1542 /* method opts#OptionContext#rest= for (self: Object, Array[String]) */
1543 void VIRTUAL_opts__OptionContext__rest_61d(val
* self
, val
* p0
) {
1544 { /* Inline opts#OptionContext#rest= (self,p0) on <self:Object(OptionContext)> */
1545 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= p0
; /* _rest on <self:Object(OptionContext)> */
1550 /* method opts#OptionContext#errors for (self: OptionContext): Array[String] */
1551 val
* opts__OptionContext__errors(val
* self
) {
1552 val
* var
/* : Array[String] */;
1553 val
* var1
/* : Array[String] */;
1554 var1
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
1555 if (unlikely(var1
== NULL
)) {
1556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
1557 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 253);
1564 /* method opts#OptionContext#errors for (self: Object): Array[String] */
1565 val
* VIRTUAL_opts__OptionContext__errors(val
* self
) {
1566 val
* var
/* : Array[String] */;
1567 val
* var1
/* : Array[String] */;
1568 val
* var3
/* : Array[String] */;
1569 { /* Inline opts#OptionContext#errors (self) on <self:Object(OptionContext)> */
1570 var3
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:Object(OptionContext)> */
1571 if (unlikely(var3
== NULL
)) {
1572 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
1573 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 253);
1583 /* method opts#OptionContext#errors= for (self: OptionContext, Array[String]) */
1584 void opts__OptionContext__errors_61d(val
* self
, val
* p0
) {
1585 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= p0
; /* _errors on <self:OptionContext> */
1588 /* method opts#OptionContext#errors= for (self: Object, Array[String]) */
1589 void VIRTUAL_opts__OptionContext__errors_61d(val
* self
, val
* p0
) {
1590 { /* Inline opts#OptionContext#errors= (self,p0) on <self:Object(OptionContext)> */
1591 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= p0
; /* _errors on <self:Object(OptionContext)> */
1596 /* method opts#OptionContext#optmap for (self: OptionContext): Map[String, Option] */
1597 val
* opts__OptionContext__optmap(val
* self
) {
1598 val
* var
/* : Map[String, Option] */;
1599 val
* var1
/* : Map[String, Option] */;
1600 var1
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
1601 if (unlikely(var1
== NULL
)) {
1602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
1603 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
1610 /* method opts#OptionContext#optmap for (self: Object): Map[String, Option] */
1611 val
* VIRTUAL_opts__OptionContext__optmap(val
* self
) {
1612 val
* var
/* : Map[String, Option] */;
1613 val
* var1
/* : Map[String, Option] */;
1614 val
* var3
/* : Map[String, Option] */;
1615 { /* Inline opts#OptionContext#optmap (self) on <self:Object(OptionContext)> */
1616 var3
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:Object(OptionContext)> */
1617 if (unlikely(var3
== NULL
)) {
1618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
1619 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
1629 /* method opts#OptionContext#optmap= for (self: OptionContext, Map[String, Option]) */
1630 void opts__OptionContext__optmap_61d(val
* self
, val
* p0
) {
1631 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= p0
; /* _optmap on <self:OptionContext> */
1634 /* method opts#OptionContext#optmap= for (self: Object, Map[String, Option]) */
1635 void VIRTUAL_opts__OptionContext__optmap_61d(val
* self
, val
* p0
) {
1636 { /* Inline opts#OptionContext#optmap= (self,p0) on <self:Object(OptionContext)> */
1637 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= p0
; /* _optmap on <self:Object(OptionContext)> */
1642 /* method opts#OptionContext#init for (self: OptionContext) */
1643 void opts__OptionContext__init(val
* self
) {
1644 val
* var
/* : Array[Option] */;
1645 val
* var2
/* : HashMap[String, Option] */;
1646 val
* var4
/* : Array[String] */;
1647 val
* var6
/* : Array[String] */;
1648 var
= NEW_array__Array(&type_array__Arrayopts__Option
);
1650 array__Array__init(var
); /* Direct call array#Array#init on <var:Array[Option]>*/
1653 { /* Inline opts#OptionContext#options= (self,var) on <self:OptionContext> */
1654 self
->attrs
[COLOR_opts__OptionContext___options
].val
= var
; /* _options on <self:OptionContext> */
1658 var2
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringopts__Option
);
1660 hash_collection__HashMap__init(var2
); /* Direct call hash_collection#HashMap#init on <var2:HashMap[String, Option]>*/
1663 { /* Inline opts#OptionContext#optmap= (self,var2) on <self:OptionContext> */
1664 self
->attrs
[COLOR_opts__OptionContext___optmap
].val
= var2
; /* _optmap on <self:OptionContext> */
1668 var4
= NEW_array__Array(&type_array__Arraystring__String
);
1670 array__Array__init(var4
); /* Direct call array#Array#init on <var4:Array[String]>*/
1673 { /* Inline opts#OptionContext#rest= (self,var4) on <self:OptionContext> */
1674 self
->attrs
[COLOR_opts__OptionContext___rest
].val
= var4
; /* _rest on <self:OptionContext> */
1678 var6
= NEW_array__Array(&type_array__Arraystring__String
);
1680 array__Array__init(var6
); /* Direct call array#Array#init on <var6:Array[String]>*/
1683 { /* Inline opts#OptionContext#errors= (self,var6) on <self:OptionContext> */
1684 self
->attrs
[COLOR_opts__OptionContext___errors
].val
= var6
; /* _errors on <self:OptionContext> */
1690 /* method opts#OptionContext#init for (self: Object) */
1691 void VIRTUAL_opts__OptionContext__init(val
* self
) {
1692 opts__OptionContext__init(self
); /* Direct call opts#OptionContext#init on <self:Object(OptionContext)>*/
1695 /* method opts#OptionContext#add_option for (self: OptionContext, Array[Option]) */
1696 void opts__OptionContext__add_option(val
* self
, val
* p0
) {
1697 val
* var_opts
/* var opts: Array[Option] */;
1698 val
* var
/* : Array[Option] */;
1699 val
* var2
/* : Array[Option] */;
1702 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
1703 var2
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1704 if (unlikely(var2
== NULL
)) {
1705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
1706 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
1714 abstract_collection__SimpleCollection__add_all(var
, var_opts
); /* Direct call abstract_collection#SimpleCollection#add_all on <var:Array[Option]>*/
1718 /* method opts#OptionContext#add_option for (self: Object, Array[Option]) */
1719 void VIRTUAL_opts__OptionContext__add_option(val
* self
, val
* p0
) {
1720 opts__OptionContext__add_option(self
, p0
); /* Direct call opts#OptionContext#add_option on <self:Object(OptionContext)>*/
1723 /* method opts#OptionContext#usage for (self: OptionContext) */
1724 void opts__OptionContext__usage(val
* self
) {
1725 long var
/* : Int */;
1726 long var_lmax
/* var lmax: Int */;
1727 val
* var1
/* : Array[Option] */;
1728 val
* var3
/* : Array[Option] */;
1729 val
* var4
/* : ArrayIterator[nullable Object] */;
1730 short int var5
/* : Bool */;
1731 val
* var6
/* : nullable Object */;
1732 val
* var_i
/* var i: Option */;
1733 long var7
/* : Int */;
1734 long var_l
/* var l: Int */;
1735 val
* var8
/* : Array[String] */;
1736 val
* var10
/* : Array[String] */;
1737 val
* var11
/* : ArrayIterator[nullable Object] */;
1738 short int var12
/* : Bool */;
1739 val
* var13
/* : nullable Object */;
1740 val
* var_n
/* var n: String */;
1741 long var14
/* : Int */;
1742 long var16
/* : Int */;
1743 long var17
/* : Int */;
1744 long var18
/* : Int */;
1745 short int var20
/* : Bool */;
1748 const char* var_class_name
;
1749 long var21
/* : Int */;
1750 long var22
/* : Int */;
1751 short int var24
/* : Bool */;
1754 const char* var_class_name27
;
1755 long var28
/* : Int */;
1756 short int var29
/* : Bool */;
1757 short int var31
/* : Bool */;
1760 const char* var_class_name34
;
1761 short int var35
/* : Bool */;
1762 val
* var37
/* : Array[Option] */;
1763 val
* var39
/* : Array[Option] */;
1764 val
* var40
/* : ArrayIterator[nullable Object] */;
1765 short int var41
/* : Bool */;
1766 val
* var42
/* : nullable Object */;
1767 val
* var_i43
/* var i: Option */;
1768 short int var44
/* : Bool */;
1769 short int var46
/* : Bool */;
1770 short int var47
/* : Bool */;
1771 val
* var48
/* : String */;
1775 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
1776 var3
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1777 if (unlikely(var3
== NULL
)) {
1778 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
1779 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
1787 var4
= array__AbstractArrayRead__iterator(var1
);
1791 var5
= array__ArrayIterator__is_ok(var4
);
1795 var6
= array__ArrayIterator__item(var4
);
1801 { /* Inline opts#Option#names (var_i) on <var_i:Option> */
1802 var10
= var_i
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <var_i:Option> */
1803 if (unlikely(var10
== NULL
)) {
1804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
1805 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
1813 var11
= array__AbstractArrayRead__iterator(var8
);
1817 var12
= array__ArrayIterator__is_ok(var11
);
1821 var13
= array__ArrayIterator__item(var11
);
1825 { /* Inline string#FlatText#length (var_n) on <var_n:String> */
1826 var16
= var_n
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_n:String> */
1828 RET_LABEL15
:(void)0;
1833 { /* Inline kernel#Int#+ (var14,var17) on <var14:Int> */
1834 /* Covariant cast for argument 0 (i) <var17:Int> isa OTHER */
1835 /* <var17:Int> isa OTHER */
1836 var20
= 1; /* easy <var17:Int> isa OTHER*/
1837 if (unlikely(!var20
)) {
1838 var_class_name
= type_kernel__Int
.name
;
1839 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1840 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1843 var21
= var14
+ var17
;
1846 RET_LABEL19
:(void)0;
1850 { /* Inline kernel#Int#+ (var_l,var18) on <var_l:Int> */
1851 /* Covariant cast for argument 0 (i) <var18:Int> isa OTHER */
1852 /* <var18:Int> isa OTHER */
1853 var24
= 1; /* easy <var18:Int> isa OTHER*/
1854 if (unlikely(!var24
)) {
1855 var_class_name27
= type_kernel__Int
.name
;
1856 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name27
);
1857 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 328);
1860 var28
= var_l
+ var18
;
1863 RET_LABEL23
:(void)0;
1867 CONTINUE_label
: (void)0;
1869 array__ArrayIterator__next(var11
); /* Direct call array#ArrayIterator#next on <var11:ArrayIterator[nullable Object]>*/
1872 BREAK_label
: (void)0;
1874 { /* Inline kernel#Int#< (var_lmax,var_l) on <var_lmax:Int> */
1875 /* Covariant cast for argument 0 (i) <var_l:Int> isa OTHER */
1876 /* <var_l:Int> isa OTHER */
1877 var31
= 1; /* easy <var_l:Int> isa OTHER*/
1878 if (unlikely(!var31
)) {
1879 var_class_name34
= type_kernel__Int
.name
;
1880 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name34
);
1881 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 325);
1884 var35
= var_lmax
< var_l
;
1887 RET_LABEL30
:(void)0;
1894 CONTINUE_label36
: (void)0;
1896 array__ArrayIterator__next(var4
); /* Direct call array#ArrayIterator#next on <var4:ArrayIterator[nullable Object]>*/
1899 BREAK_label36
: (void)0;
1901 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
1902 var39
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
1903 if (unlikely(var39
== NULL
)) {
1904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
1905 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
1909 RET_LABEL38
:(void)0;
1913 var40
= array__AbstractArrayRead__iterator(var37
);
1917 var41
= array__ArrayIterator__is_ok(var40
);
1921 var42
= array__ArrayIterator__item(var40
);
1925 { /* Inline opts#Option#hidden (var_i43) on <var_i43:Option> */
1926 var46
= var_i43
->attrs
[COLOR_opts__Option___hidden
].s
; /* _hidden on <var_i43:Option> */
1928 RET_LABEL45
:(void)0;
1934 var48
= opts__Option__pretty(var_i43
, var_lmax
);
1937 file__Object__print(self
, var48
); /* Direct call file#Object#print on <self:OptionContext>*/
1941 CONTINUE_label49
: (void)0;
1943 array__ArrayIterator__next(var40
); /* Direct call array#ArrayIterator#next on <var40:ArrayIterator[nullable Object]>*/
1946 BREAK_label49
: (void)0;
1949 /* method opts#OptionContext#usage for (self: Object) */
1950 void VIRTUAL_opts__OptionContext__usage(val
* self
) {
1951 opts__OptionContext__usage(self
); /* Direct call opts#OptionContext#usage on <self:Object(OptionContext)>*/
1954 /* method opts#OptionContext#parse for (self: OptionContext, Collection[String]) */
1955 void opts__OptionContext__parse(val
* self
, val
* p0
) {
1956 val
* var_argv
/* var argv: Collection[String] */;
1957 val
* var
/* : Iterator[nullable Object] */;
1958 val
* var_it
/* var it: Iterator[String] */;
1961 var
= ((val
* (*)(val
*))(var_argv
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_argv
) /* iterator on <var_argv:Collection[String]>*/;
1965 opts__OptionContext__parse_intern(self
, var_it
); /* Direct call opts#OptionContext#parse_intern on <self:OptionContext>*/
1969 /* method opts#OptionContext#parse for (self: Object, Collection[String]) */
1970 void VIRTUAL_opts__OptionContext__parse(val
* self
, val
* p0
) {
1971 opts__OptionContext__parse(self
, p0
); /* Direct call opts#OptionContext#parse on <self:Object(OptionContext)>*/
1974 /* method opts#OptionContext#parse_intern for (self: OptionContext, Iterator[String]) */
1975 void opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
1976 val
* var_it
/* var it: Iterator[String] */;
1977 short int var
/* : Bool */;
1978 short int var_parseargs
/* var parseargs: Bool */;
1979 val
* var1
/* : Array[String] */;
1980 val
* var3
/* : Array[String] */;
1981 val
* var_rest
/* var rest: Array[String] */;
1982 short int var4
/* : Bool */;
1983 short int var_
/* var : Bool */;
1984 short int var5
/* : Bool */;
1985 val
* var6
/* : nullable Object */;
1986 val
* var_str
/* var str: String */;
1987 static val
* varonce
;
1988 val
* var7
/* : String */;
1989 char* var8
/* : NativeString */;
1990 long var9
/* : Int */;
1991 val
* var10
/* : FlatString */;
1992 short int var11
/* : Bool */;
1993 short int var12
/* : Bool */;
1994 val
* var13
/* : Array[nullable Object] */;
1995 short int var14
/* : Bool */;
1996 short int var15
/* : Bool */;
1997 val
* var16
/* : SequenceRead[Char] */;
1998 val
* var18
/* : SequenceRead[Char] */;
1999 char var19
/* : Char */;
2000 long var20
/* : Int */;
2001 val
* var21
/* : nullable Object */;
2002 long var22
/* : Int */;
2003 short int var23
/* : Bool */;
2004 short int var24
/* : Bool */;
2005 short int var26
/* : Bool */;
2006 short int var_27
/* var : Bool */;
2007 long var28
/* : Int */;
2008 long var30
/* : Int */;
2009 long var31
/* : Int */;
2010 short int var32
/* : Bool */;
2011 short int var34
/* : Bool */;
2014 const char* var_class_name
;
2015 short int var35
/* : Bool */;
2016 short int var36
/* : Bool */;
2017 short int var_next_called
/* var next_called: Bool */;
2018 val
* var37
/* : Range[Int] */;
2019 long var38
/* : Int */;
2020 long var39
/* : Int */;
2021 long var41
/* : Int */;
2022 val
* var42
/* : Discrete */;
2023 val
* var43
/* : Discrete */;
2024 val
* var44
/* : Iterator[Discrete] */;
2025 short int var45
/* : Bool */;
2026 val
* var46
/* : nullable Object */;
2027 long var_i
/* var i: Int */;
2028 long var47
/* : Int */;
2029 static val
* varonce48
;
2030 val
* var49
/* : String */;
2031 char* var50
/* : NativeString */;
2032 long var51
/* : Int */;
2033 val
* var52
/* : FlatString */;
2034 val
* var53
/* : SequenceRead[Char] */;
2035 val
* var55
/* : SequenceRead[Char] */;
2036 val
* var56
/* : nullable Object */;
2037 val
* var57
/* : String */;
2038 char var58
/* : Char */;
2039 val
* var59
/* : String */;
2040 val
* var_short_opt
/* var short_opt: String */;
2041 val
* var60
/* : Map[String, Option] */;
2042 val
* var62
/* : Map[String, Option] */;
2043 short int var63
/* : Bool */;
2044 val
* var64
/* : Map[String, Option] */;
2045 val
* var66
/* : Map[String, Option] */;
2046 val
* var67
/* : nullable Object */;
2047 val
* var_option
/* var option: Option */;
2048 short int var68
/* : Bool */;
2051 short int var71
/* : Bool */;
2052 short int var72
/* : Bool */;
2053 val
* var73
/* : Map[String, Option] */;
2054 val
* var75
/* : Map[String, Option] */;
2055 short int var76
/* : Bool */;
2056 val
* var77
/* : Map[String, Option] */;
2057 val
* var79
/* : Map[String, Option] */;
2058 val
* var80
/* : nullable Object */;
2059 val
* var_opt
/* var opt: Option */;
2060 val
* var81
/* : nullable Object */;
2061 val
* var83
/* : Array[Option] */;
2062 val
* var85
/* : Array[Option] */;
2063 val
* var86
/* : ArrayIterator[nullable Object] */;
2064 short int var87
/* : Bool */;
2065 val
* var88
/* : nullable Object */;
2066 val
* var_opt89
/* var opt: Option */;
2067 short int var90
/* : Bool */;
2068 short int var91
/* : Bool */;
2069 short int var93
/* : Bool */;
2070 short int var_94
/* var : Bool */;
2071 short int var95
/* : Bool */;
2072 short int var97
/* : Bool */;
2073 short int var98
/* : Bool */;
2074 val
* var99
/* : Array[String] */;
2075 val
* var101
/* : Array[String] */;
2076 static val
* varonce102
;
2077 val
* var103
/* : String */;
2078 char* var104
/* : NativeString */;
2079 long var105
/* : Int */;
2080 val
* var106
/* : FlatString */;
2081 val
* var107
/* : Array[String] */;
2082 val
* var109
/* : Array[String] */;
2083 static val
* varonce110
;
2084 val
* var111
/* : String */;
2085 char* var112
/* : NativeString */;
2086 long var113
/* : Int */;
2087 val
* var114
/* : FlatString */;
2088 val
* var115
/* : String */;
2089 static val
* varonce116
;
2090 val
* var117
/* : String */;
2091 char* var118
/* : NativeString */;
2092 long var119
/* : Int */;
2093 val
* var120
/* : FlatString */;
2094 val
* var121
/* : Array[Object] */;
2095 long var122
/* : Int */;
2096 val
* var123
/* : NativeArray[Object] */;
2097 val
* var124
/* : String */;
2100 var_parseargs
= var
;
2102 opts__OptionContext__build(self
); /* Direct call opts#OptionContext#build on <self:OptionContext>*/
2105 { /* Inline opts#OptionContext#rest (self) on <self:OptionContext> */
2106 var3
= self
->attrs
[COLOR_opts__OptionContext___rest
].val
; /* _rest on <self:OptionContext> */
2107 if (unlikely(var3
== NULL
)) {
2108 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _rest");
2109 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 250);
2118 var_
= var_parseargs
;
2121 var5
= ((short int (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var_it
) /* is_ok on <var_it:Iterator[String]>*/;
2129 var6
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2137 var10
= string__NativeString__to_s_with_length(var8
, var9
);
2142 var12
= string__FlatString___61d_61d(var_str
, var7
);
2147 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2150 var13
= array__Iterator__to_a(var_it
);
2153 abstract_collection__SimpleCollection__add_all(var_rest
, var13
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_rest:Array[String]>*/
2156 var_parseargs
= var14
;
2159 { /* Inline string#FlatString#chars (var_str) on <var_str:String> */
2160 var18
= var_str
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_str:String> */
2161 if (unlikely(var18
== NULL
)) {
2162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2163 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2167 RET_LABEL17
:(void)0;
2172 var21
= BOX_kernel__Char(var19
); /* autobox from Char to nullable Object */
2173 var20
= ((long (*)(val
*, val
*))(var16
->class->vft
[COLOR_abstract_collection__SequenceRead__last_index_of
]))(var16
, var21
) /* last_index_of on <var16:SequenceRead[Char]>*/;
2177 { /* Inline kernel#Int#== (var20,var22) on <var20:Int> */
2178 var26
= var20
== var22
;
2181 RET_LABEL25
:(void)0;
2188 { /* Inline string#FlatText#length (var_str) on <var_str:String> */
2189 var30
= var_str
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_str:String> */
2191 RET_LABEL29
:(void)0;
2196 { /* Inline kernel#Int#> (var28,var31) on <var28:Int> */
2197 /* Covariant cast for argument 0 (i) <var31:Int> isa OTHER */
2198 /* <var31:Int> isa OTHER */
2199 var34
= 1; /* easy <var31:Int> isa OTHER*/
2200 if (unlikely(!var34
)) {
2201 var_class_name
= type_kernel__Int
.name
;
2202 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2203 PRINT_ERROR(" (%s:%d)\n", "lib/standard/kernel.nit", 327);
2206 var35
= var28
> var31
;
2209 RET_LABEL33
:(void)0;
2218 var_next_called
= var36
;
2219 var37
= NEW_range__Range(&type_range__Rangekernel__Int
);
2222 { /* Inline string#FlatText#length (var_str) on <var_str:String> */
2223 var41
= var_str
->attrs
[COLOR_string__FlatText___length
].l
; /* _length on <var_str:String> */
2225 RET_LABEL40
:(void)0;
2229 var42
= BOX_kernel__Int(var38
); /* autobox from Int to Discrete */
2230 var43
= BOX_kernel__Int(var39
); /* autobox from Int to Discrete */
2231 range__Range__without_last(var37
, var42
, var43
); /* Direct call range#Range#without_last on <var37:Range[Int]>*/
2234 var44
= range__Range__iterator(var37
);
2238 var45
= ((short int (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var44
) /* is_ok on <var44:Iterator[Discrete]>*/;
2242 var46
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var44
) /* item on <var44:Iterator[Discrete]>*/;
2244 var47
= ((struct instance_kernel__Int
*)var46
)->value
; /* autounbox from nullable Object to Int */;
2251 var52
= string__NativeString__to_s_with_length(var50
, var51
);
2256 { /* Inline string#FlatString#chars (var_str) on <var_str:String> */
2257 var55
= var_str
->attrs
[COLOR_string__FlatString___chars
].val
; /* _chars on <var_str:String> */
2258 if (unlikely(var55
== NULL
)) {
2259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _chars");
2260 PRINT_ERROR(" (%s:%d)\n", "lib/standard/string.nit", 746);
2264 RET_LABEL54
:(void)0;
2268 var56
= ((val
* (*)(val
*, long))(var53
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var53
, var_i
) /* [] on <var53:SequenceRead[Char]>*/;
2271 var58
= ((struct instance_kernel__Char
*)var56
)->value
; /* autounbox from nullable Object to Char */;
2272 var57
= string__Char__to_s(var58
);
2275 var59
= string__FlatString___43d(var49
, var57
);
2277 var_short_opt
= var59
;
2279 { /* Inline opts#OptionContext#optmap (self) on <self:OptionContext> */
2280 var62
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2281 if (unlikely(var62
== NULL
)) {
2282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
2283 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
2287 RET_LABEL61
:(void)0;
2291 var63
= abstract_collection__MapRead__has_key(var60
, var_short_opt
);
2295 { /* Inline opts#OptionContext#optmap (self) on <self:OptionContext> */
2296 var66
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2297 if (unlikely(var66
== NULL
)) {
2298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
2299 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
2303 RET_LABEL65
:(void)0;
2307 var67
= ((val
* (*)(val
*, val
*))(var64
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var64
, var_short_opt
) /* [] on <var64:Map[String, Option]>*/;
2310 /* <var_option:Option> isa OptionParameter */
2311 cltype69
= type_opts__OptionParameter
.color
;
2312 idtype70
= type_opts__OptionParameter
.id
;
2313 if(cltype69
>= var_option
->type
->table_size
) {
2316 var68
= var_option
->type
->type_table
[cltype69
] == idtype70
;
2320 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2323 var_next_called
= var71
;
2327 ((void (*)(val
*, val
*))(var_option
->class->vft
[COLOR_opts__Option__read_param
]))(var_option
, var_it
) /* read_param on <var_option:Option>*/;
2331 CONTINUE_label
: (void)0;
2333 ((void (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var44
) /* next on <var44:Iterator[Discrete]>*/;
2336 BREAK_label
: (void)0;
2337 var72
= !var_next_called
;
2340 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2346 { /* Inline opts#OptionContext#optmap (self) on <self:OptionContext> */
2347 var75
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2348 if (unlikely(var75
== NULL
)) {
2349 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
2350 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
2354 RET_LABEL74
:(void)0;
2358 var76
= abstract_collection__MapRead__has_key(var73
, var_str
);
2362 { /* Inline opts#OptionContext#optmap (self) on <self:OptionContext> */
2363 var79
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2364 if (unlikely(var79
== NULL
)) {
2365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
2366 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
2370 RET_LABEL78
:(void)0;
2374 var80
= ((val
* (*)(val
*, val
*))(var77
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var77
, var_str
) /* [] on <var77:Map[String, Option]>*/;
2378 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2381 ((void (*)(val
*, val
*))(var_opt
->class->vft
[COLOR_opts__Option__read_param
]))(var_opt
, var_it
) /* read_param on <var_opt:Option>*/;
2385 var81
= ((val
* (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var_it
) /* item on <var_it:Iterator[String]>*/;
2388 array__Array__add(var_rest
, var81
); /* Direct call array#Array#add on <var_rest:Array[String]>*/
2391 ((void (*)(val
*))(var_it
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var_it
) /* next on <var_it:Iterator[String]>*/;
2396 CONTINUE_label82
: (void)0;
2398 BREAK_label82
: (void)0;
2400 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
2401 var85
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2402 if (unlikely(var85
== NULL
)) {
2403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
2404 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
2408 RET_LABEL84
:(void)0;
2412 var86
= array__AbstractArrayRead__iterator(var83
);
2416 var87
= array__ArrayIterator__is_ok(var86
);
2420 var88
= array__ArrayIterator__item(var86
);
2424 { /* Inline opts#Option#mandatory (var_opt89) on <var_opt89:Option> */
2425 var93
= var_opt89
->attrs
[COLOR_opts__Option___mandatory
].s
; /* _mandatory on <var_opt89:Option> */
2427 RET_LABEL92
:(void)0;
2433 { /* Inline opts#Option#read (var_opt89) on <var_opt89:Option> */
2434 var97
= var_opt89
->attrs
[COLOR_opts__Option___read
].s
; /* _read on <var_opt89:Option> */
2436 RET_LABEL96
:(void)0;
2446 { /* Inline opts#OptionContext#errors (self) on <self:OptionContext> */
2447 var101
= self
->attrs
[COLOR_opts__OptionContext___errors
].val
; /* _errors on <self:OptionContext> */
2448 if (unlikely(var101
== NULL
)) {
2449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
2450 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 253);
2454 RET_LABEL100
:(void)0;
2458 var103
= varonce102
;
2460 var104
= "Mandatory option ";
2462 var106
= string__NativeString__to_s_with_length(var104
, var105
);
2464 varonce102
= var103
;
2467 { /* Inline opts#Option#names (var_opt89) on <var_opt89:Option> */
2468 var109
= var_opt89
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <var_opt89:Option> */
2469 if (unlikely(var109
== NULL
)) {
2470 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
2471 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
2475 RET_LABEL108
:(void)0;
2479 var111
= varonce110
;
2483 var114
= string__NativeString__to_s_with_length(var112
, var113
);
2485 varonce110
= var111
;
2488 var115
= string__Collection__join(var107
, var111
);
2491 var117
= varonce116
;
2493 var118
= " not found.";
2495 var120
= string__NativeString__to_s_with_length(var118
, var119
);
2497 varonce116
= var117
;
2499 var121
= NEW_array__Array(&type_array__Arraykernel__Object
);
2500 { /* var121 = array_instance Array[Object] */
2502 var123
= NEW_array__NativeArray(var122
, &type_array__NativeArraykernel__Object
);
2503 ((struct instance_array__NativeArray
*)var123
)->values
[0] = (val
*) var103
;
2504 ((struct instance_array__NativeArray
*)var123
)->values
[1] = (val
*) var115
;
2505 ((struct instance_array__NativeArray
*)var123
)->values
[2] = (val
*) var117
;
2507 ((void (*)(val
*, val
*, long))(var121
->class->vft
[COLOR_array__Array__with_native
]))(var121
, var123
, var122
) /* with_native on <var121:Array[Object]>*/;
2511 var124
= ((val
* (*)(val
*))(var121
->class->vft
[COLOR_string__Object__to_s
]))(var121
) /* to_s on <var121:Array[Object]>*/;
2514 array__Array__add(var99
, var124
); /* Direct call array#Array#add on <var99:Array[String]>*/
2518 CONTINUE_label125
: (void)0;
2520 array__ArrayIterator__next(var86
); /* Direct call array#ArrayIterator#next on <var86:ArrayIterator[nullable Object]>*/
2523 BREAK_label125
: (void)0;
2526 /* method opts#OptionContext#parse_intern for (self: Object, Iterator[String]) */
2527 void VIRTUAL_opts__OptionContext__parse_intern(val
* self
, val
* p0
) {
2528 opts__OptionContext__parse_intern(self
, p0
); /* Direct call opts#OptionContext#parse_intern on <self:Object(OptionContext)>*/
2531 /* method opts#OptionContext#build for (self: OptionContext) */
2532 void opts__OptionContext__build(val
* self
) {
2533 val
* var
/* : Array[Option] */;
2534 val
* var2
/* : Array[Option] */;
2535 val
* var3
/* : ArrayIterator[nullable Object] */;
2536 short int var4
/* : Bool */;
2537 val
* var5
/* : nullable Object */;
2538 val
* var_o
/* var o: Option */;
2539 val
* var6
/* : Array[String] */;
2540 val
* var8
/* : Array[String] */;
2541 val
* var9
/* : ArrayIterator[nullable Object] */;
2542 short int var10
/* : Bool */;
2543 val
* var11
/* : nullable Object */;
2544 val
* var_n
/* var n: String */;
2545 val
* var12
/* : Map[String, Option] */;
2546 val
* var14
/* : Map[String, Option] */;
2548 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
2549 var2
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2550 if (unlikely(var2
== NULL
)) {
2551 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
2552 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
2560 var3
= array__AbstractArrayRead__iterator(var
);
2564 var4
= array__ArrayIterator__is_ok(var3
);
2568 var5
= array__ArrayIterator__item(var3
);
2572 { /* Inline opts#Option#names (var_o) on <var_o:Option> */
2573 var8
= var_o
->attrs
[COLOR_opts__Option___names
].val
; /* _names on <var_o:Option> */
2574 if (unlikely(var8
== NULL
)) {
2575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
2576 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 19);
2584 var9
= array__AbstractArrayRead__iterator(var6
);
2588 var10
= array__ArrayIterator__is_ok(var9
);
2592 var11
= array__ArrayIterator__item(var9
);
2596 { /* Inline opts#OptionContext#optmap (self) on <self:OptionContext> */
2597 var14
= self
->attrs
[COLOR_opts__OptionContext___optmap
].val
; /* _optmap on <self:OptionContext> */
2598 if (unlikely(var14
== NULL
)) {
2599 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _optmap");
2600 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 256);
2604 RET_LABEL13
:(void)0;
2608 ((void (*)(val
*, val
*, val
*))(var12
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var12
, var_n
, var_o
) /* []= on <var12:Map[String, Option]>*/;
2610 CONTINUE_label
: (void)0;
2612 array__ArrayIterator__next(var9
); /* Direct call array#ArrayIterator#next on <var9:ArrayIterator[nullable Object]>*/
2615 BREAK_label
: (void)0;
2616 CONTINUE_label15
: (void)0;
2618 array__ArrayIterator__next(var3
); /* Direct call array#ArrayIterator#next on <var3:ArrayIterator[nullable Object]>*/
2621 BREAK_label15
: (void)0;
2624 /* method opts#OptionContext#build for (self: Object) */
2625 void VIRTUAL_opts__OptionContext__build(val
* self
) {
2626 opts__OptionContext__build(self
); /* Direct call opts#OptionContext#build on <self:Object(OptionContext)>*/
2629 /* method opts#OptionContext#get_errors for (self: OptionContext): Array[String] */
2630 val
* opts__OptionContext__get_errors(val
* self
) {
2631 val
* var
/* : Array[String] */;
2632 val
* var1
/* : Array[String] */;
2633 val
* var_errors
/* var errors: Array[String] */;
2634 val
* var2
/* : Array[Option] */;
2635 val
* var4
/* : Array[Option] */;
2636 val
* var5
/* : ArrayIterator[nullable Object] */;
2637 short int var6
/* : Bool */;
2638 val
* var7
/* : nullable Object */;
2639 val
* var_o
/* var o: Option */;
2640 val
* var8
/* : Array[String] */;
2641 val
* var10
/* : Array[String] */;
2642 val
* var11
/* : ArrayIterator[nullable Object] */;
2643 short int var12
/* : Bool */;
2644 val
* var13
/* : nullable Object */;
2645 val
* var_e
/* var e: String */;
2646 var1
= NEW_array__Array(&type_array__Arraystring__String
);
2648 array__Array__init(var1
); /* Direct call array#Array#init on <var1:Array[String]>*/
2652 abstract_collection__SimpleCollection__add_all(var_errors
, var_errors
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_errors:Array[String]>*/
2655 { /* Inline opts#OptionContext#options (self) on <self:OptionContext> */
2656 var4
= self
->attrs
[COLOR_opts__OptionContext___options
].val
; /* _options on <self:OptionContext> */
2657 if (unlikely(var4
== NULL
)) {
2658 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _options");
2659 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 247);
2667 var5
= array__AbstractArrayRead__iterator(var2
);
2671 var6
= array__ArrayIterator__is_ok(var5
);
2675 var7
= array__ArrayIterator__item(var5
);
2679 { /* Inline opts#Option#errors (var_o) on <var_o:Option> */
2680 var10
= var_o
->attrs
[COLOR_opts__Option___errors
].val
; /* _errors on <var_o:Option> */
2681 if (unlikely(var10
== NULL
)) {
2682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _errors");
2683 PRINT_ERROR(" (%s:%d)\n", "lib/opts.nit", 28);
2691 var11
= array__AbstractArrayRead__iterator(var8
);
2695 var12
= array__ArrayIterator__is_ok(var11
);
2699 var13
= array__ArrayIterator__item(var11
);
2703 array__Array__add(var_errors
, var_e
); /* Direct call array#Array#add on <var_errors:Array[String]>*/
2705 CONTINUE_label
: (void)0;
2707 array__ArrayIterator__next(var11
); /* Direct call array#ArrayIterator#next on <var11:ArrayIterator[nullable Object]>*/
2710 BREAK_label
: (void)0;
2711 CONTINUE_label14
: (void)0;
2713 array__ArrayIterator__next(var5
); /* Direct call array#ArrayIterator#next on <var5:ArrayIterator[nullable Object]>*/
2716 BREAK_label14
: (void)0;
2722 /* method opts#OptionContext#get_errors for (self: Object): Array[String] */
2723 val
* VIRTUAL_opts__OptionContext__get_errors(val
* self
) {
2724 val
* var
/* : Array[String] */;
2725 val
* var1
/* : Array[String] */;
2726 var1
= opts__OptionContext__get_errors(self
);