First NIT release and new clean mercurial repository
[nit.git] / c_src / opts._sep.c
1 #include "opts._sep.h"
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*/;
7 }
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*/;
13 }
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*/;
19 }
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;
25 return;
26 }
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*/;
32 }
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;
38 return;
39 }
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*/;
45 }
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;
51 return;
52 }
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*/;
58 }
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;
64 return;
65 }
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)"};
68 val_t variable0;
69 val_t variable1;
70 val_t variable2;
71 val_t variable3;
72 trace.prev = tracehead; tracehead = &trace;
73 variable0 = param0;
74 variable1 = param1;
75 variable2 = param2;
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;
81 } else { /*if*/
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;
84 }
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;
90 return;
91 }
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)"};
94 val_t variable0;
95 val_t variable1;
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]*/;
99 variable0 = param0;
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;
103 return;
104 }
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)"};
107 val_t variable0;
108 trace.prev = tracehead; tracehead = &trace;
109 variable0 = ((opts___Option___pretty_t)CALL( self,COLOR_opts___Option___pretty))( self, TAG_Int(2)) /*Option::pretty*/;
110 goto return_label2;
111 return_label2: while(false);
112 tracehead = trace.prev;
113 return variable0;
114 }
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)"};
117 val_t variable0;
118 val_t variable1;
119 val_t variable2;
120 val_t variable3;
121 trace.prev = tracehead; tracehead = &trace;
122 variable0 = param0;
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*/;
139 }
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*/;
143 goto return_label3;
144 return_label3: while(false);
145 tracehead = trace.prev;
146 return variable1;
147 }
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)"};
150 val_t variable0;
151 val_t variable1;
152 val_t variable2;
153 val_t variable3;
154 val_t variable4;
155 val_t variable5;
156 val_t variable6;
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*/;
172 goto return_label4;
173 }
174 variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
175 goto return_label4;
176 return_label4: while(false);
177 tracehead = trace.prev;
178 return variable0;
179 }
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");
184 nit_exit(1);
185 tracehead = trace.prev;
186 return;
187 }
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)"};
190 val_t variable0;
191 trace.prev = tracehead; tracehead = &trace;
192 variable0 = param0;
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;
197 return;
198 }
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)"};
201 val_t variable0;
202 val_t variable1;
203 trace.prev = tracehead; tracehead = &trace;
204 variable0 = param0;
205 variable1 = ((opts___OptionText___to_s_t)CALL( self,COLOR_string___Object___to_s))( self) /*OptionText::to_s*/;
206 goto return_label6;
207 return_label6: while(false);
208 tracehead = trace.prev;
209 return variable1;
210 }
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)"};
213 val_t variable0;
214 trace.prev = tracehead; tracehead = &trace;
215 variable0 = ((opts___Option___helptext_t)CALL( self,COLOR_opts___Option___helptext))( self) /*OptionText::helptext*/;
216 goto return_label7;
217 return_label7: while(false);
218 tracehead = trace.prev;
219 return variable0;
220 }
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)"};
223 val_t variable0;
224 val_t variable1;
225 trace.prev = tracehead; tracehead = &trace;
226 variable0 = param0;
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]*/;
229 variable1 = param1;
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;
234 return;
235 }
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)"};
238 val_t variable0;
239 trace.prev = tracehead; tracehead = &trace;
240 variable0 = param0;
241 ((opts___Option___value__eq_t)CALL( self,COLOR_opts___Option___value__eq))( self, TAG_Bool(true)) /*OptionBool::value=*/;
242 tracehead = trace.prev;
243 return;
244 }
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");
249 nit_exit(1);
250 tracehead = trace.prev;
251 return NIT_NULL;
252 }
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)"};
255 val_t variable0;
256 val_t variable1;
257 trace.prev = tracehead; tracehead = &trace;
258 variable0 = param0;
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*/;
268 }
269 tracehead = trace.prev;
270 return;
271 }
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)"};
274 val_t variable0;
275 val_t variable1;
276 val_t variable2;
277 trace.prev = tracehead; tracehead = &trace;
278 variable0 = param0;
279 variable1 = param1;
280 variable2 = param2;
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;
285 return;
286 }
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)"};
289 val_t variable0;
290 val_t variable1;
291 trace.prev = tracehead; tracehead = &trace;
292 variable0 = param0;
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]*/;
295 variable1 = param1;
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;
300 return;
301 }
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)"};
304 val_t variable0;
305 val_t variable1;
306 trace.prev = tracehead; tracehead = &trace;
307 variable0 = param0;
308 variable1 = variable0 /*str*/;
309 goto return_label13;
310 return_label13: while(false);
311 tracehead = trace.prev;
312 return variable1;
313 }
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)"};
316 val_t variable0;
317 val_t variable1;
318 val_t variable2;
319 val_t variable3;
320 val_t variable4;
321 val_t variable5;
322 val_t variable6;
323 val_t variable7;
324 val_t variable8;
325 val_t variable9;
326 val_t variable10;
327 val_t variable11;
328 val_t variable12;
329 val_t variable13;
330 trace.prev = tracehead; tracehead = &trace;
331 variable0 = param0;
332 variable1 = param1;
333 variable2 = param2;
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]*/;
336 variable3 = param3;
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)));
343 }
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;
367 return;
368 }
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)"};
371 val_t variable0;
372 val_t variable1;
373 val_t variable2;
374 trace.prev = tracehead; tracehead = &trace;
375 variable0 = param0;
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*/;
380 goto return_label15;
381 return_label15: while(false);
382 tracehead = trace.prev;
383 return variable1;
384 }
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)"};
387 val_t variable0;
388 val_t variable1;
389 val_t variable2;
390 val_t variable3;
391 val_t variable4;
392 val_t variable5;
393 val_t variable6;
394 val_t variable7;
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));
412 }
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*/)];
418 goto return_label17;
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*/;
426 goto return_label16;
427 } else { /*if*/
428 variable0 = NEW_string___String___with_native(BOX_NativeString(""), TAG_Int(0)); /*new String*/
429 goto return_label16;
430 }
431 return_label16: while(false);
432 tracehead = trace.prev;
433 return variable0;
434 }
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)"};
437 val_t variable0;
438 val_t variable1;
439 val_t variable2;
440 trace.prev = tracehead; tracehead = &trace;
441 variable0 = param0;
442 variable1 = param1;
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]*/;
445 variable2 = param2;
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;
450 return;
451 }
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)"};
454 val_t variable0;
455 val_t variable1;
456 trace.prev = tracehead; tracehead = &trace;
457 variable0 = param0;
458 variable1 = ((string___String___to_i_t)CALL( variable0 /*str*/,COLOR_string___String___to_i))( variable0 /*str*/) /*String::to_i*/;
459 goto return_label19;
460 return_label19: while(false);
461 tracehead = trace.prev;
462 return variable1;
463 }
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)"};
466 val_t variable0;
467 val_t variable1;
468 val_t variable2;
469 trace.prev = tracehead; tracehead = &trace;
470 variable0 = param0;
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]*/;
473 variable1 = param1;
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;
481 return;
482 }
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)"};
485 val_t variable0;
486 val_t variable1;
487 trace.prev = tracehead; tracehead = &trace;
488 variable0 = param0;
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*/;
492 goto return_label21;
493 return_label21: while(false);
494 tracehead = trace.prev;
495 return variable1;
496 }
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*/;
502 }
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*/;
508 }
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)"};
511 val_t variable0;
512 val_t variable1;
513 val_t variable2;
514 val_t variable3;
515 val_t variable4;
516 val_t variable5;
517 val_t variable6;
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*/;
538 }
539 break_24: while(0);
540 variable4 = TAG_Bool(UNTAG_Int( variable0 /*lmax*/)<UNTAG_Int( variable3 /*l*/));
541 if (UNTAG_Bool(variable4)) { /*if*/
542 variable0 = variable3 /*l*/ /*lmax=*/;
543 }
544 continue_23: while(0);
545 ((array___ArrayIterator___next_t)CALL(variable1,COLOR_abstract_collection___Iterator___next))(variable1) /*ArrayIterator::next*/;
546 }
547 break_23: while(0);
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*/;
558 }
559 break_25: while(0);
560 tracehead = trace.prev;
561 return;
562 }
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)"};
565 val_t variable0;
566 val_t variable1;
567 val_t variable2;
568 trace.prev = tracehead; tracehead = &trace;
569 variable0 = param0;
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;
574 return;
575 }
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)"};
578 val_t variable0;
579 val_t variable1;
580 val_t variable2;
581 val_t variable3;
582 val_t variable4;
583 val_t variable5;
584 trace.prev = tracehead; tracehead = &trace;
585 variable0 = param0;
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*/;
594 }
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=*/;
605 } else { /*if*/
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*/;
614 } else { /*if*/
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*/;
618 }
619 }
620 continue_28: while(0);
621 }
622 break_28: while(0);
623 tracehead = trace.prev;
624 return;
625 }
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)"};
628 val_t variable0;
629 val_t variable1;
630 val_t variable2;
631 val_t variable3;
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]*/;
635 variable0 = param0;
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*/;
646 }
647 break_30: while(0);
648 tracehead = trace.prev;
649 return;
650 }
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)"};
653 val_t variable0;
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;
664 return;
665 }
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)"};
668 val_t variable0;
669 val_t variable1;
670 val_t variable2;
671 val_t variable3;
672 val_t variable4;
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*/;
690 }
691 break_34: while(0);
692 continue_33: while(0);
693 ((array___ArrayIterator___next_t)CALL(variable0,COLOR_abstract_collection___Iterator___next))(variable0) /*ArrayIterator::next*/;
694 }
695 break_33: while(0);
696 tracehead = trace.prev;
697 return;
698 }