2 val_t
opts___Option___names(val_t self
) {
3 struct trace_t trace
= {NULL
, "opts::Option::names (bin/../lib/opts.nit:16,2--17:35)"};
4 trace
.prev
= tracehead
; tracehead
= &trace
;
5 tracehead
= trace
.prev
;
6 return ATTR_opts___Option____names( self
) /*Option::_names*/;
8 val_t
opts___Option___helptext(val_t self
) {
9 struct trace_t trace
= {NULL
, "opts::Option::helptext (bin/../lib/opts.nit:22,2--23:32)"};
10 trace
.prev
= tracehead
; tracehead
= &trace
;
11 tracehead
= trace
.prev
;
12 return ATTR_opts___Option____helptext( self
) /*Option::_helptext*/;
14 val_t
opts___Option___mandatory(val_t self
) {
15 struct trace_t trace
= {NULL
, "opts::Option::mandatory (bin/../lib/opts.nit:25,2--26:40)"};
16 trace
.prev
= tracehead
; tracehead
= &trace
;
17 tracehead
= trace
.prev
;
18 return ATTR_opts___Option____mandatory( self
) /*Option::_mandatory*/;
20 void opts___Option___mandatory__eq(val_t self
, val_t param0
) {
21 struct trace_t trace
= {NULL
, "opts::Option::mandatory= (bin/../lib/opts.nit:25,2--26:40)"};
22 trace
.prev
= tracehead
; tracehead
= &trace
;
23 ATTR_opts___Option____mandatory( self
) /*Option::_mandatory*/ = param0
;
24 tracehead
= trace
.prev
;
27 val_t
opts___Option___context(val_t self
) {
28 struct trace_t trace
= {NULL
, "opts::Option::context (bin/../lib/opts.nit:28,2--29:47)"};
29 trace
.prev
= tracehead
; tracehead
= &trace
;
30 tracehead
= trace
.prev
;
31 return ATTR_opts___Option____context( self
) /*Option::_context*/;
33 void opts___Option___context__eq(val_t self
, val_t param0
) {
34 struct trace_t trace
= {NULL
, "opts::Option::context= (bin/../lib/opts.nit:28,2--29:47)"};
35 trace
.prev
= tracehead
; tracehead
= &trace
;
36 ATTR_opts___Option____context( self
) /*Option::_context*/ = param0
;
37 tracehead
= trace
.prev
;
40 val_t
opts___Option___value(val_t self
) {
41 struct trace_t trace
= {NULL
, "opts::Option::value (bin/../lib/opts.nit:31,2--32:37)"};
42 trace
.prev
= tracehead
; tracehead
= &trace
;
43 tracehead
= trace
.prev
;
44 return ATTR_opts___Option____value( self
) /*Option::_value*/;
46 void opts___Option___value__eq(val_t self
, val_t param0
) {
47 struct trace_t trace
= {NULL
, "opts::Option::value= (bin/../lib/opts.nit:31,2--32:37)"};
48 trace
.prev
= tracehead
; tracehead
= &trace
;
49 ATTR_opts___Option____value( self
) /*Option::_value*/ = param0
;
50 tracehead
= trace
.prev
;
53 val_t
opts___Option___default_value(val_t self
) {
54 struct trace_t trace
= {NULL
, "opts::Option::default_value (bin/../lib/opts.nit:34,2--35:45)"};
55 trace
.prev
= tracehead
; tracehead
= &trace
;
56 tracehead
= trace
.prev
;
57 return ATTR_opts___Option____default_value( self
) /*Option::_default_value*/;
59 void opts___Option___default_value__eq(val_t self
, val_t param0
) {
60 struct trace_t trace
= {NULL
, "opts::Option::default_value= (bin/../lib/opts.nit:34,2--35:45)"};
61 trace
.prev
= tracehead
; tracehead
= &trace
;
62 ATTR_opts___Option____default_value( self
) /*Option::_default_value*/ = param0
;
63 tracehead
= trace
.prev
;
66 void opts___Option___init_opt(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
67 struct trace_t trace
= {NULL
, "opts::Option::init_opt (bin/../lib/opts.nit:37,2--47:26)"};
72 trace
.prev
= tracehead
; tracehead
= &trace
;
76 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Option
].i
]) return;
77 variable3
= TAG_Bool(( variable2
/*names*/ == NIT_NULL
/*null*/) || (( variable2
/*names*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable2
/*names*/,COLOR_kernel___Object_____eqeq
))( variable2
/*names*/, NIT_NULL
/*null*/) /*Array::==*/)));
78 if (UNTAG_Bool(variable3
)) { /*if*/
79 variable3
= NEW_array___Array___init(); /*new Array[String]*/
80 ATTR_opts___Option____names( self
) /*Option::_names*/ = variable3
;
82 variable3
= ((array___Collection___to_a_t
)CALL( variable2
/*names*/,COLOR_array___Collection___to_a
))( variable2
/*names*/) /*Array::to_a*/;
83 ATTR_opts___Option____names( self
) /*Option::_names*/ = variable3
;
85 ATTR_opts___Option____helptext( self
) /*Option::_helptext*/ = variable0
/*help*/;
86 ATTR_opts___Option____mandatory( self
) /*Option::_mandatory*/ = TAG_Bool(false);
87 ATTR_opts___Option____default_value( self
) /*Option::_default_value*/ = variable1
/*default*/;
88 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_Option
].i
] = 1;
89 tracehead
= trace
.prev
;
92 void opts___Option___add_aliases(val_t self
, val_t param0
) {
93 struct trace_t trace
= {NULL
, "opts::Option::add_aliases (bin/../lib/opts.nit:50,2--51:59)"};
96 trace
.prev
= tracehead
; tracehead
= &trace
;
97 /* check if p<Array[String] with p:String */
98 if (( param0
!=NIT_NULL
) && !VAL_ISA( param0
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:51,19--34\n"); nit_exit(1); } /*cast Array[String]*/;
100 variable1
= ATTR_opts___Option____names( self
) /*Option::_names*/;
101 ((abstract_collection___SimpleCollection___add_all_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add_all
))(variable1
, variable0
/*names*/) /*Array::add_all*/;
102 tracehead
= trace
.prev
;
105 val_t
opts___Option___to_s(val_t self
) {
106 struct trace_t trace
= {NULL
, "opts::Option::to_s (bin/../lib/opts.nit:53,2--54:35)"};
108 trace
.prev
= tracehead
; tracehead
= &trace
;
109 variable0
= ((opts___Option___pretty_t
)CALL( self
,COLOR_opts___Option___pretty
))( self
, TAG_Int(2)) /*Option::pretty*/;
111 return_label2
: while(false);
112 tracehead
= trace
.prev
;
115 val_t
opts___Option___pretty(val_t self
, val_t param0
) {
116 struct trace_t trace
= {NULL
, "opts::Option::pretty (bin/../lib/opts.nit:56,2--66:13)"};
121 trace
.prev
= tracehead
; tracehead
= &trace
;
123 variable2
= NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)); /*new String*/
124 variable1
= variable2
;
125 variable2
= ATTR_opts___Option____names( self
) /*Option::_names*/;
126 variable3
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
127 variable2
= ((string___Collection___join_t
)CALL(variable2
,COLOR_string___Collection___join
))(variable2
, variable3
) /*Array::join*/;
128 ((string___String___append_t
)CALL( variable1
/*text*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*text*/, variable2
) /*String::append*/;
129 variable2
= NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(2)); /*new String*/
130 ((string___String___append_t
)CALL( variable1
/*text*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*text*/, variable2
) /*String::append*/;
131 variable3
= ((array___AbstractArray___length_t
)CALL( variable1
/*text*/,COLOR_abstract_collection___Collection___length
))( variable1
/*text*/) /*String::length*/;
132 variable3
= TAG_Int(UNTAG_Int( variable0
/*off*/)-UNTAG_Int(variable3
));
133 variable2
= variable3
;
134 variable3
= TAG_Bool(UNTAG_Int( variable2
/*rest*/)>UNTAG_Int( TAG_Int(0)));
135 if (UNTAG_Bool(variable3
)) { /*if*/
136 variable3
= NEW_string___String___with_native(BOX_NativeString(" "), TAG_Int(1)); /*new String*/
137 variable3
= ((string___String_____star_t
)CALL(variable3
,COLOR_string___String_____star
))(variable3
, variable2
/*rest*/) /*String::**/;
138 ((string___String___append_t
)CALL( variable1
/*text*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*text*/, variable3
) /*String::append*/;
140 variable3
= ((opts___Option___helptext_t
)CALL( self
,COLOR_opts___Option___helptext
))( self
) /*Option::helptext*/;
141 ((string___String___append_t
)CALL( variable1
/*text*/,COLOR_abstract_collection___IndexedCollection___append
))( variable1
/*text*/, variable3
) /*String::append*/;
142 variable1
= variable1
/*text*/;
144 return_label3
: while(false);
145 tracehead
= trace
.prev
;
148 val_t
opts___Option___pretty_default(val_t self
) {
149 struct trace_t trace
= {NULL
, "opts::Option::pretty_default (bin/../lib/opts.nit:69,2--74:11)"};
157 trace
.prev
= tracehead
; tracehead
= &trace
;
158 variable0
= ((opts___Option___default_value_t
)CALL( self
,COLOR_opts___Option___default_value
))( self
) /*Option::default_value*/;
159 variable0
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable0
== NIT_NULL
/*null*/) || ((variable0
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable0
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable0
,COLOR_kernel___Object_____eqeq
))(variable0
, NIT_NULL
/*null*/) /*Object::==*/)))))));
160 if (UNTAG_Bool(variable0
)) { /*if*/
161 variable0
= NEW_string___String___init(); /*new String*/
162 variable1
= NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
163 variable2
= variable1
;
164 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
165 variable3
= ((opts___Option___default_value_t
)CALL( self
,COLOR_opts___Option___default_value
))( self
) /*Option::default_value*/;
166 variable4
= variable3
;
167 variable4
= ((string___String___to_s_t
)CALL(variable4
,COLOR_string___Object___to_s
))(variable4
) /*String::to_s*/;
168 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
169 variable5
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
170 variable6
= variable5
;
171 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
174 variable0
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
176 return_label4
: while(false);
177 tracehead
= trace
.prev
;
180 void opts___Option___read_param(val_t self
, val_t param0
) {
181 struct trace_t trace
= {NULL
, "opts::Option::read_param (bin/../lib/opts.nit:77,2--78:46)"};
182 trace
.prev
= tracehead
; tracehead
= &trace
;
183 fprintf(stderr
, "Deferred method read_param called (bin/../lib/opts.nit:77,2)\n");
185 tracehead
= trace
.prev
;
188 void opts___OptionText___init(val_t self
, val_t param0
, int* init_table
) {
189 struct trace_t trace
= {NULL
, "opts::OptionText::init (bin/../lib/opts.nit:83,2--48)"};
191 trace
.prev
= tracehead
; tracehead
= &trace
;
193 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionText
].i
]) return;
194 ((opts___Option___init_opt_t
)CALL( self
,COLOR_opts___Option___init_opt
))( self
, variable0
/*text*/, NIT_NULL
/*null*/, NIT_NULL
/*null*/, init_table
/*YYY*/) /*OptionText::init_opt*/;
195 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionText
].i
] = 1;
196 tracehead
= trace
.prev
;
199 val_t
opts___OptionText___pretty(val_t self
, val_t param0
) {
200 struct trace_t trace
= {NULL
, "opts::OptionText::pretty (bin/../lib/opts.nit:85,2--38)"};
203 trace
.prev
= tracehead
; tracehead
= &trace
;
205 variable1
= ((opts___OptionText___to_s_t
)CALL( self
,COLOR_string___Object___to_s
))( self
) /*OptionText::to_s*/;
207 return_label6
: while(false);
208 tracehead
= trace
.prev
;
211 val_t
opts___OptionText___to_s(val_t self
) {
212 struct trace_t trace
= {NULL
, "opts::OptionText::to_s (bin/../lib/opts.nit:87,2--35)"};
214 trace
.prev
= tracehead
; tracehead
= &trace
;
215 variable0
= ((opts___Option___helptext_t
)CALL( self
,COLOR_opts___Option___helptext
))( self
) /*OptionText::helptext*/;
217 return_label7
: while(false);
218 tracehead
= trace
.prev
;
221 void opts___OptionBool___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
222 struct trace_t trace
= {NULL
, "opts::OptionBool::init (bin/../lib/opts.nit:94,2--68)"};
225 trace
.prev
= tracehead
; tracehead
= &trace
;
227 /* check if p<Array[String] with p:String */
228 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:94,21--36\n"); nit_exit(1); } /*cast Array[String]*/;
230 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionBool
].i
]) return;
231 ((opts___Option___init_opt_t
)CALL( self
,COLOR_opts___Option___init_opt
))( self
, variable0
/*help*/, TAG_Bool(false), variable1
/*names*/, init_table
/*YYY*/) /*OptionBool::init_opt*/;
232 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionBool
].i
] = 1;
233 tracehead
= trace
.prev
;
236 void opts___OptionBool___read_param(val_t self
, val_t param0
) {
237 struct trace_t trace
= {NULL
, "opts::OptionBool::read_param (bin/../lib/opts.nit:96,2--42)"};
239 trace
.prev
= tracehead
; tracehead
= &trace
;
241 ((opts___Option___value__eq_t
)CALL( self
,COLOR_opts___Option___value__eq
))( self
, TAG_Bool(true)) /*OptionBool::value=*/;
242 tracehead
= trace
.prev
;
245 val_t
opts___OptionParameter___convert(val_t self
, val_t param0
) {
246 struct trace_t trace
= {NULL
, "opts::OptionParameter::convert (bin/../lib/opts.nit:102,2--43)"};
247 trace
.prev
= tracehead
; tracehead
= &trace
;
248 fprintf(stderr
, "Deferred method convert called (bin/../lib/opts.nit:102,2)\n");
250 tracehead
= trace
.prev
;
253 void opts___OptionParameter___read_param(val_t self
, val_t param0
) {
254 struct trace_t trace
= {NULL
, "opts::OptionParameter::read_param (bin/../lib/opts.nit:104,2--109:10)"};
257 trace
.prev
= tracehead
; tracehead
= &trace
;
259 variable1
= ((opts___Option___context_t
)CALL( self
,COLOR_opts___Option___context
))( self
) /*OptionParameter::context*/;
260 variable1
= TAG_Bool(!UNTAG_Bool(TAG_Bool((variable1
== NIT_NULL
/*null*/) || ((variable1
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN(variable1
, NIT_NULL
/*null*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL(variable1
,COLOR_kernel___Object_____eqeq
))(variable1
, NIT_NULL
/*null*/) /*OptionContext::==*/)))))));
261 if (!UNTAG_Bool(variable1
)) { fprintf(stderr
, "Assert failed: bin/../lib/opts.nit:106,3--24\n"); nit_exit(1);}
262 variable1
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___is_ok
))( variable0
/*it*/) /*Iterator::is_ok*/;
263 if (UNTAG_Bool(variable1
)) { /*if*/
264 variable1
= ((abstract_collection___Iterator___item_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___item
))( variable0
/*it*/) /*Iterator::item*/;
265 variable1
= ((opts___OptionParameter___convert_t
)CALL( self
,COLOR_opts___OptionParameter___convert
))( self
, variable1
) /*OptionParameter::convert*/;
266 ((opts___Option___value__eq_t
)CALL( self
,COLOR_opts___Option___value__eq
))( self
, variable1
) /*OptionParameter::value=*/;
267 ((abstract_collection___Iterator___next_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___next
))( variable0
/*it*/) /*Iterator::next*/;
269 tracehead
= trace
.prev
;
272 void opts___OptionParameter___init_opt(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
273 struct trace_t trace
= {NULL
, "opts::OptionParameter::init_opt (bin/../lib/opts.nit:115,2--32)"};
277 trace
.prev
= tracehead
; tracehead
= &trace
;
281 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionParameter
].i
]) return;
282 ((opts___Option___init_opt_t
)CALL( self
,COLOR_opts___Option___init_opt
))( self
, param0
, param1
, param2
, init_table
/*YYY*/) /*Option::init_opt*/;
283 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionParameter
].i
] = 1;
284 tracehead
= trace
.prev
;
287 void opts___OptionString___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
288 struct trace_t trace
= {NULL
, "opts::OptionString::init (bin/../lib/opts.nit:122,2--67)"};
291 trace
.prev
= tracehead
; tracehead
= &trace
;
293 /* check if p<Array[String] with p:String */
294 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:122,21--36\n"); nit_exit(1); } /*cast Array[String]*/;
296 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionString
].i
]) return;
297 ((opts___OptionParameter___init_opt_t
)CALL( self
,COLOR_opts___OptionParameter___init_opt
))( self
, variable0
/*help*/, NIT_NULL
/*null*/, variable1
/*names*/, init_table
/*YYY*/) /*OptionString::init_opt*/;
298 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionString
].i
] = 1;
299 tracehead
= trace
.prev
;
302 val_t
opts___OptionString___convert(val_t self
, val_t param0
) {
303 struct trace_t trace
= {NULL
, "opts::OptionString::convert (bin/../lib/opts.nit:124,2--38)"};
306 trace
.prev
= tracehead
; tracehead
= &trace
;
308 variable1
= variable0
/*str*/;
310 return_label13
: while(false);
311 tracehead
= trace
.prev
;
314 void opts___OptionEnum___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, val_t param3
, int* init_table
) {
315 struct trace_t trace
= {NULL
, "opts::OptionEnum::init (bin/../lib/opts.nit:132,2--136:55)"};
330 trace
.prev
= tracehead
; tracehead
= &trace
;
334 /* check if p<Array[String] with p:String */
335 if (( param3
!=NIT_NULL
) && !VAL_ISA( param3
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:132,56--71\n"); nit_exit(1); } /*cast Array[String]*/;
337 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionEnum
].i
]) return;
338 variable4
= TAG_Bool(!UNTAG_Bool(TAG_Bool(( variable0
/*enum*/ == NIT_NULL
/*null*/) || (( variable0
/*enum*/ != NIT_NULL
) && UNTAG_Bool(((array___AbstractArray_____eqeq_t
)CALL( variable0
/*enum*/,COLOR_kernel___Object_____eqeq
))( variable0
/*enum*/, NIT_NULL
/*null*/) /*Array::==*/)))));
339 variable5
= variable4
;
340 if (UNTAG_Bool(variable5
)) { /* and */
341 variable5
= ((array___AbstractArray___length_t
)CALL( variable0
/*enum*/,COLOR_abstract_collection___Collection___length
))( variable0
/*enum*/) /*Array::length*/;
342 variable5
= TAG_Bool(UNTAG_Int(variable5
)>UNTAG_Int( TAG_Int(0)));
344 variable4
= variable5
;
345 if (!UNTAG_Bool(variable4
)) { fprintf(stderr
, "Assert failed: bin/../lib/opts.nit:134,3--41\n"); nit_exit(1);}
346 variable4
= ((array___Collection___to_a_t
)CALL( variable0
/*enum*/,COLOR_array___Collection___to_a
))( variable0
/*enum*/) /*Array::to_a*/;
347 ATTR_opts___OptionEnum____enum( self
) /*OptionEnum::_enum*/ = variable4
;
348 variable4
= NEW_string___String___init(); /*new String*/
349 variable5
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
350 variable6
= variable5
;
351 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable6
) /*String::append*/;
352 variable7
= variable1
/*help*/;
353 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable7
) /*String::append*/;
354 variable8
= NEW_string___String___with_native(BOX_NativeString(" <"), TAG_Int(2)); /*new String*/
355 variable9
= variable8
;
356 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable9
) /*String::append*/;
357 variable10
= NEW_string___String___with_native(BOX_NativeString(", "), TAG_Int(2)); /*new String*/
358 variable10
= ((string___Collection___join_t
)CALL( variable0
/*enum*/,COLOR_string___Collection___join
))( variable0
/*enum*/, variable10
) /*Array::join*/;
359 variable11
= variable10
;
360 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable11
) /*String::append*/;
361 variable12
= NEW_string___String___with_native(BOX_NativeString(">"), TAG_Int(1)); /*new String*/
362 variable13
= variable12
;
363 ((string___String___append_t
)CALL(variable4
,COLOR_abstract_collection___IndexedCollection___append
))(variable4
, variable13
) /*String::append*/;
364 ((opts___OptionParameter___init_opt_t
)CALL( self
,COLOR_opts___OptionParameter___init_opt
))( self
, variable4
, variable2
/*default*/, variable3
/*names*/, init_table
/*YYY*/) /*OptionEnum::init_opt*/;
365 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionEnum
].i
] = 1;
366 tracehead
= trace
.prev
;
369 val_t
opts___OptionEnum___convert(val_t self
, val_t param0
) {
370 struct trace_t trace
= {NULL
, "opts::OptionEnum::convert (bin/../lib/opts.nit:139,2--142:11)"};
374 trace
.prev
= tracehead
; tracehead
= &trace
;
376 variable2
= ATTR_opts___OptionEnum____enum( self
) /*OptionEnum::_enum*/;
377 variable2
= ((array___AbstractArray___index_of_t
)CALL(variable2
,COLOR_abstract_collection___IndexedCollection___index_of
))(variable2
, variable0
/*str*/) /*Array::index_of*/;
378 variable1
= variable2
;
379 variable1
= variable1
/*id*/;
381 return_label15
: while(false);
382 tracehead
= trace
.prev
;
385 val_t
opts___OptionEnum___pretty_default(val_t self
) {
386 struct trace_t trace
= {NULL
, "opts::OptionEnum::pretty_default (bin/../lib/opts.nit:145,2--150:12)"};
395 trace
.prev
= tracehead
; tracehead
= &trace
;
396 variable0
= ((opts___Option___default_value_t
)CALL( self
,COLOR_opts___Option___default_value
))( self
) /*OptionEnum::default_value*/;
397 variable0
= TAG_Bool((variable0
)!=( NIT_NULL
/*null*/));
398 if (UNTAG_Bool(variable0
)) { /*if*/
399 variable0
= NEW_string___String___init(); /*new String*/
400 variable1
= NEW_string___String___with_native(BOX_NativeString(" ("), TAG_Int(2)); /*new String*/
401 variable2
= variable1
;
402 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable2
) /*String::append*/;
403 variable3
= ATTR_opts___OptionEnum____enum( self
) /*OptionEnum::_enum*/;
404 variable4
= ((opts___Option___default_value_t
)CALL( self
,COLOR_opts___Option___default_value
))( self
) /*OptionEnum::default_value*/;
405 variable5
= variable4
;
406 variable6
= TAG_Bool(UNTAG_Int( variable5
/*index*/)>=UNTAG_Int( TAG_Int(0)));
407 variable7
= variable6
;
408 if (UNTAG_Bool(variable7
)) { /* and */
409 variable7
= variable3
;
410 variable7
= ATTR_array___AbstractArray____length(variable7
) /*Array::_length*/;
411 variable7
= TAG_Bool(UNTAG_Int( variable5
/*index*/)<UNTAG_Int(variable7
));
413 variable6
= variable7
;
414 if (!UNTAG_Bool(variable6
)) { fprintf(stderr
, "Assert 'index' failed: bin/../lib/standard//array.nit:229,3--46\n"); nit_exit(1);}
415 variable6
= variable3
;
416 variable6
= ATTR_array___Array____items(variable6
) /*Array::_items*/;
417 variable6
= UNBOX_NativeArray(variable6
)[UNTAG_Int( variable5
/*index*/)];
419 return_label17
: while(false);
420 variable3
= variable6
;
421 variable4
= variable3
;
422 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable4
) /*String::append*/;
423 variable5
= NEW_string___String___with_native(BOX_NativeString(")"), TAG_Int(1)); /*new String*/
424 variable6
= variable5
;
425 ((string___String___append_t
)CALL(variable0
,COLOR_abstract_collection___IndexedCollection___append
))(variable0
, variable6
) /*String::append*/;
428 variable0
= NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
431 return_label16
: while(false);
432 tracehead
= trace
.prev
;
435 void opts___OptionInt___init(val_t self
, val_t param0
, val_t param1
, val_t param2
, int* init_table
) {
436 struct trace_t trace
= {NULL
, "opts::OptionInt::init (bin/../lib/opts.nit:159,2--84)"};
440 trace
.prev
= tracehead
; tracehead
= &trace
;
443 /* check if p<Array[String] with p:String */
444 if (( param2
!=NIT_NULL
) && !VAL_ISA( param2
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:159,35--50\n"); nit_exit(1); } /*cast Array[String]*/;
446 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionInt
].i
]) return;
447 ((opts___OptionParameter___init_opt_t
)CALL( self
,COLOR_opts___OptionParameter___init_opt
))( self
, variable0
/*help*/, variable1
/*default*/, variable2
/*names*/, init_table
/*YYY*/) /*OptionInt::init_opt*/;
448 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionInt
].i
] = 1;
449 tracehead
= trace
.prev
;
452 val_t
opts___OptionInt___convert(val_t self
, val_t param0
) {
453 struct trace_t trace
= {NULL
, "opts::OptionInt::convert (bin/../lib/opts.nit:161,2--43)"};
456 trace
.prev
= tracehead
; tracehead
= &trace
;
458 variable1
= ((string___String___to_i_t
)CALL( variable0
/*str*/,COLOR_string___String___to_i
))( variable0
/*str*/) /*String::to_i*/;
460 return_label19
: while(false);
461 tracehead
= trace
.prev
;
464 void opts___OptionArray___init(val_t self
, val_t param0
, val_t param1
, int* init_table
) {
465 struct trace_t trace
= {NULL
, "opts::OptionArray::init (bin/../lib/opts.nit:168,2--171:31)"};
469 trace
.prev
= tracehead
; tracehead
= &trace
;
471 /* check if p<Array[String] with p:String */
472 if (( param1
!=NIT_NULL
) && !VAL_ISA( param1
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:168,21--36\n"); nit_exit(1); } /*cast Array[String]*/;
474 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionArray
].i
]) return;
475 variable2
= NEW_array___Array___init(); /*new Array[String]*/
476 ATTR_opts___OptionArray____values( self
) /*OptionArray::_values*/ = variable2
;
477 variable2
= ATTR_opts___OptionArray____values( self
) /*OptionArray::_values*/;
478 ((opts___OptionParameter___init_opt_t
)CALL( self
,COLOR_opts___OptionParameter___init_opt
))( self
, variable0
/*help*/, variable2
, variable1
/*names*/, init_table
/*YYY*/) /*OptionArray::init_opt*/;
479 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionArray
].i
] = 1;
480 tracehead
= trace
.prev
;
483 val_t
opts___OptionArray___convert(val_t self
, val_t param0
) {
484 struct trace_t trace
= {NULL
, "opts::OptionArray::convert (bin/../lib/opts.nit:175,2--178:16)"};
487 trace
.prev
= tracehead
; tracehead
= &trace
;
489 variable1
= ATTR_opts___OptionArray____values( self
) /*OptionArray::_values*/;
490 ((array___AbstractArray___add_t
)CALL(variable1
,COLOR_abstract_collection___SimpleCollection___add
))(variable1
, variable0
/*str*/) /*Array::add*/;
491 variable1
= ATTR_opts___OptionArray____values( self
) /*OptionArray::_values*/;
493 return_label21
: while(false);
494 tracehead
= trace
.prev
;
497 val_t
opts___OptionContext___options(val_t self
) {
498 struct trace_t trace
= {NULL
, "opts::OptionContext::options (bin/../lib/opts.nit:183,2--37)"};
499 trace
.prev
= tracehead
; tracehead
= &trace
;
500 tracehead
= trace
.prev
;
501 return ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/;
503 val_t
opts___OptionContext___rest(val_t self
) {
504 struct trace_t trace
= {NULL
, "opts::OptionContext::rest (bin/../lib/opts.nit:184,2--34)"};
505 trace
.prev
= tracehead
; tracehead
= &trace
;
506 tracehead
= trace
.prev
;
507 return ATTR_opts___OptionContext____rest( self
) /*OptionContext::_rest*/;
509 void opts___OptionContext___usage(val_t self
) {
510 struct trace_t trace
= {NULL
, "opts::OptionContext::usage (bin/../lib/opts.nit:188,2--200:22)"};
518 trace
.prev
= tracehead
; tracehead
= &trace
;
519 variable0
= TAG_Int(1);
520 variable1
= ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/;
521 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Array::iterator*/;
522 while (true) { /*for*/
523 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
524 if (!UNTAG_Bool(variable2
)) break; /*for*/
525 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
526 variable3
= TAG_Int(3);
527 variable4
= ((opts___Option___names_t
)CALL( variable2
/*i*/,COLOR_opts___Option___names
))( variable2
/*i*/) /*Option::names*/;
528 variable4
= ((array___AbstractArray___iterator_t
)CALL(variable4
,COLOR_abstract_collection___Collection___iterator
))(variable4
) /*Array::iterator*/;
529 while (true) { /*for*/
530 variable5
= ((array___ArrayIterator___is_ok_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___is_ok
))(variable4
) /*ArrayIterator::is_ok*/;
531 if (!UNTAG_Bool(variable5
)) break; /*for*/
532 variable5
= ((array___ArrayIterator___item_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___item
))(variable4
) /*ArrayIterator::item*/;
533 variable6
= ((array___AbstractArray___length_t
)CALL( variable5
/*n*/,COLOR_abstract_collection___Collection___length
))( variable5
/*n*/) /*String::length*/;
534 variable6
= TAG_Int(UNTAG_Int(variable6
)+UNTAG_Int( TAG_Int(2)));
535 variable3
= TAG_Int(UNTAG_Int(variable3
)+UNTAG_Int(variable6
)) /*l*/;
536 continue_24
: while(0);
537 ((array___ArrayIterator___next_t
)CALL(variable4
,COLOR_abstract_collection___Iterator___next
))(variable4
) /*ArrayIterator::next*/;
540 variable4
= TAG_Bool(UNTAG_Int( variable0
/*lmax*/)<UNTAG_Int( variable3
/*l*/));
541 if (UNTAG_Bool(variable4
)) { /*if*/
542 variable0
= variable3
/*l*/ /*lmax=*/;
544 continue_23
: while(0);
545 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
548 variable1
= ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/;
549 variable1
= ((array___AbstractArray___iterator_t
)CALL(variable1
,COLOR_abstract_collection___Collection___iterator
))(variable1
) /*Array::iterator*/;
550 while (true) { /*for*/
551 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
552 if (!UNTAG_Bool(variable2
)) break; /*for*/
553 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
554 variable3
= ((opts___Option___pretty_t
)CALL( variable2
/*i*/,COLOR_opts___Option___pretty
))( variable2
/*i*/, variable0
/*lmax*/) /*Option::pretty*/;
555 ((file___Object___print_t
)CALL( self
,COLOR_file___Object___print
))( self
, variable3
) /*OptionContext::print*/;
556 continue_25
: while(0);
557 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
560 tracehead
= trace
.prev
;
563 void opts___OptionContext___parse(val_t self
, val_t param0
) {
564 struct trace_t trace
= {NULL
, "opts::OptionContext::parse (bin/../lib/opts.nit:204,2--208:17)"};
568 trace
.prev
= tracehead
; tracehead
= &trace
;
570 variable2
= ((abstract_collection___Collection___iterator_t
)CALL( variable0
/*argv*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*argv*/) /*Collection::iterator*/;
571 variable1
= variable2
;
572 ((opts___OptionContext___parse_intern_t
)CALL( self
,COLOR_opts___OptionContext___parse_intern
))( self
, variable1
/*it*/) /*OptionContext::parse_intern*/;
573 tracehead
= trace
.prev
;
576 void opts___OptionContext___parse_intern(val_t self
, val_t param0
) {
577 struct trace_t trace
= {NULL
, "opts::OptionContext::parse_intern (bin/../lib/opts.nit:211,2--230:12)"};
584 trace
.prev
= tracehead
; tracehead
= &trace
;
586 variable1
= TAG_Bool(true);
587 ((opts___OptionContext___build_t
)CALL( self
,COLOR_opts___OptionContext___build
))( self
) /*OptionContext::build*/;
588 variable3
= ATTR_opts___OptionContext____rest( self
) /*OptionContext::_rest*/;
589 variable2
= variable3
;
590 while (true) { /*while*/
591 variable3
= variable1
/*parseargs*/;
592 if (UNTAG_Bool(variable3
)) { /* and */
593 variable3
= ((abstract_collection___Iterator___is_ok_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___is_ok
))( variable0
/*it*/) /*Iterator::is_ok*/;
595 if (!UNTAG_Bool(variable3
)) break; /* while*/
596 variable4
= ((abstract_collection___Iterator___item_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___item
))( variable0
/*it*/) /*Iterator::item*/;
597 variable3
= variable4
;
598 variable4
= NEW_string___String___with_native(BOX_NativeString("--"), TAG_Int(2)); /*new String*/
599 variable4
= TAG_Bool(( variable3
/*str*/ == variable4
) || (( variable3
/*str*/ != NIT_NULL
) && UNTAG_Bool(((string___String_____eqeq_t
)CALL( variable3
/*str*/,COLOR_kernel___Object_____eqeq
))( variable3
/*str*/, variable4
) /*String::==*/)));
600 if (UNTAG_Bool(variable4
)) { /*if*/
601 ((abstract_collection___Iterator___next_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___next
))( variable0
/*it*/) /*Iterator::next*/;
602 variable4
= ((array___Iterator___to_a_t
)CALL( variable0
/*it*/,COLOR_array___Iterator___to_a
))( variable0
/*it*/) /*Iterator::to_a*/;
603 ((abstract_collection___SimpleCollection___add_all_t
)CALL( variable2
/*rest*/,COLOR_abstract_collection___SimpleCollection___add_all
))( variable2
/*rest*/, variable4
) /*Array::add_all*/;
604 variable1
= TAG_Bool(false) /*parseargs=*/;
606 variable4
= ATTR_opts___OptionContext____optmap( self
) /*OptionContext::_optmap*/;
607 variable4
= ((abstract_collection___Map___has_key_t
)CALL(variable4
,COLOR_abstract_collection___Map___has_key
))(variable4
, variable3
/*str*/) /*Map::has_key*/;
608 if (UNTAG_Bool(variable4
)) { /*if*/
609 variable5
= ATTR_opts___OptionContext____optmap( self
) /*OptionContext::_optmap*/;
610 variable5
= ((abstract_collection___Map_____bra_t
)CALL(variable5
,COLOR_abstract_collection___Map_____bra
))(variable5
, variable3
/*str*/) /*Map::[]*/;
611 variable4
= variable5
;
612 ((abstract_collection___Iterator___next_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___next
))( variable0
/*it*/) /*Iterator::next*/;
613 ((opts___Option___read_param_t
)CALL( variable4
/*opt*/,COLOR_opts___Option___read_param
))( variable4
/*opt*/, variable0
/*it*/) /*Option::read_param*/;
615 variable4
= ((abstract_collection___Iterator___item_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___item
))( variable0
/*it*/) /*Iterator::item*/;
616 ((array___AbstractArray___add_t
)CALL( variable2
/*rest*/,COLOR_abstract_collection___SimpleCollection___add
))( variable2
/*rest*/, variable4
) /*Array::add*/;
617 ((abstract_collection___Iterator___next_t
)CALL( variable0
/*it*/,COLOR_abstract_collection___Iterator___next
))( variable0
/*it*/) /*Iterator::next*/;
620 continue_28
: while(0);
623 tracehead
= trace
.prev
;
626 void opts___OptionContext___add_option(val_t self
, val_t param0
) {
627 struct trace_t trace
= {NULL
, "opts::OptionContext::add_option (bin/../lib/opts.nit:236,2--240:19)"};
632 trace
.prev
= tracehead
; tracehead
= &trace
;
633 /* check if p<Array[Option] with p:Option */
634 if (( param0
!=NIT_NULL
) && !VAL_ISA( param0
, COLOR_Array
, ID_Array
)) { fprintf(stderr
, "Cast failled at bin/../lib/opts.nit:236,18--32\n"); nit_exit(1); } /*cast Array[Option]*/;
636 variable1
= ((array___AbstractArray___iterator_t
)CALL( variable0
/*opts*/,COLOR_abstract_collection___Collection___iterator
))( variable0
/*opts*/) /*Array::iterator*/;
637 while (true) { /*for*/
638 variable2
= ((array___ArrayIterator___is_ok_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___is_ok
))(variable1
) /*ArrayIterator::is_ok*/;
639 if (!UNTAG_Bool(variable2
)) break; /*for*/
640 variable2
= ((array___ArrayIterator___item_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___item
))(variable1
) /*ArrayIterator::item*/;
641 ((opts___Option___context__eq_t
)CALL( variable2
/*opt*/,COLOR_opts___Option___context__eq
))( variable2
/*opt*/, self
) /*Option::context=*/;
642 variable3
= ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/;
643 ((array___AbstractArray___add_t
)CALL(variable3
,COLOR_abstract_collection___SimpleCollection___add
))(variable3
, variable2
/*opt*/) /*Array::add*/;
644 continue_30
: while(0);
645 ((array___ArrayIterator___next_t
)CALL(variable1
,COLOR_abstract_collection___Iterator___next
))(variable1
) /*ArrayIterator::next*/;
648 tracehead
= trace
.prev
;
651 void opts___OptionContext___init(val_t self
, int* init_table
) {
652 struct trace_t trace
= {NULL
, "opts::OptionContext::init (bin/../lib/opts.nit:244,2--248:26)"};
654 trace
.prev
= tracehead
; tracehead
= &trace
;
655 if (init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionContext
].i
]) return;
656 variable0
= NEW_array___Array___init(); /*new Array[Option]*/
657 ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/ = variable0
;
658 variable0
= NEW_hash___HashMap___init(); /*new HashMap[String, Option]*/
659 ATTR_opts___OptionContext____optmap( self
) /*OptionContext::_optmap*/ = variable0
;
660 variable0
= NEW_array___Array___init(); /*new Array[String]*/
661 ATTR_opts___OptionContext____rest( self
) /*OptionContext::_rest*/ = variable0
;
662 init_table
[VAL2OBJ( self
)->vft
[INIT_TABLE_POS_OptionContext
].i
] = 1;
663 tracehead
= trace
.prev
;
666 void opts___OptionContext___build(val_t self
) {
667 struct trace_t trace
= {NULL
, "opts::OptionContext::build (bin/../lib/opts.nit:251,2--255:18)"};
673 trace
.prev
= tracehead
; tracehead
= &trace
;
674 variable0
= ATTR_opts___OptionContext____options( self
) /*OptionContext::_options*/;
675 variable0
= ((array___AbstractArray___iterator_t
)CALL(variable0
,COLOR_abstract_collection___Collection___iterator
))(variable0
) /*Array::iterator*/;
676 while (true) { /*for*/
677 variable1
= ((array___ArrayIterator___is_ok_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___is_ok
))(variable0
) /*ArrayIterator::is_ok*/;
678 if (!UNTAG_Bool(variable1
)) break; /*for*/
679 variable1
= ((array___ArrayIterator___item_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___item
))(variable0
) /*ArrayIterator::item*/;
680 variable2
= ((opts___Option___names_t
)CALL( variable1
/*o*/,COLOR_opts___Option___names
))( variable1
/*o*/) /*Option::names*/;
681 variable2
= ((array___AbstractArray___iterator_t
)CALL(variable2
,COLOR_abstract_collection___Collection___iterator
))(variable2
) /*Array::iterator*/;
682 while (true) { /*for*/
683 variable3
= ((array___ArrayIterator___is_ok_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___is_ok
))(variable2
) /*ArrayIterator::is_ok*/;
684 if (!UNTAG_Bool(variable3
)) break; /*for*/
685 variable3
= ((array___ArrayIterator___item_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___item
))(variable2
) /*ArrayIterator::item*/;
686 variable4
= ATTR_opts___OptionContext____optmap( self
) /*OptionContext::_optmap*/;
687 ((abstract_collection___Map_____braeq_t
)CALL(variable4
,COLOR_abstract_collection___Map_____braeq
))(variable4
, variable3
/*n*/, variable1
/*o*/) /*Map::[]=*/;
688 continue_34
: while(0);
689 ((array___ArrayIterator___next_t
)CALL(variable2
,COLOR_abstract_collection___Iterator___next
))(variable2
) /*ArrayIterator::next*/;
692 continue_33
: while(0);
693 ((array___ArrayIterator___next_t
)CALL(variable0
,COLOR_abstract_collection___Iterator___next
))(variable0
) /*ArrayIterator::next*/;
696 tracehead
= trace
.prev
;