1 /* This C file is generated by NIT to compile module separate_options. */
2 #include "separate_options._sep.h"
3 static const char LOCATE_separate_options___ToolContext___separate_options
[] = "separate_options::ToolContext::separate_options";
4 val_t
separate_options___ToolContext___separate_options(val_t p0
){
5 struct {struct stack_frame_t me
;} fra
;
8 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
9 fra
.me
.file
= LOCATE_separate_options
;
11 fra
.me
.meth
= LOCATE_separate_options___ToolContext___separate_options
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
17 /* separate_options.nit:28 */
18 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "@separate_options", LOCATE_separate_options
, 28);
23 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_separate_options___ToolContext___separate_options__eq
[] = "separate_options::ToolContext::separate_options=";
28 void separate_options___ToolContext___separate_options__eq(val_t p0
, val_t p1
){
29 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
31 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
32 fra
.me
.file
= LOCATE_separate_options
;
34 fra
.me
.meth
= LOCATE_separate_options___ToolContext___separate_options__eq
;
37 fra
.me
.nitni_local_ref_head
= NULL
;
38 fra
.me
.REG
[0] = NIT_NULL
;
39 fra
.me
.REG
[1] = NIT_NULL
;
42 /* separate_options.nit:28 */
43 ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
44 stack_frame_head
= fra
.me
.prev
;
47 static const char LOCATE_separate_options___ToolContext___opt_cc_lib_paths
[] = "separate_options::ToolContext::opt_cc_lib_paths";
48 val_t
separate_options___ToolContext___opt_cc_lib_paths(val_t p0
){
49 struct {struct stack_frame_t me
;} fra
;
52 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
53 fra
.me
.file
= LOCATE_separate_options
;
55 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_lib_paths
;
58 fra
.me
.nitni_local_ref_head
= NULL
;
59 fra
.me
.REG
[0] = NIT_NULL
;
61 /* separate_options.nit:30 */
62 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0])!=NIT_NULL
);
63 if (UNTAG_Bool(REGB0
)) {
65 nit_abort("Uninitialized attribute %s", "@opt_cc_lib_paths", LOCATE_separate_options
, 30);
67 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0]);
68 stack_frame_head
= fra
.me
.prev
;
71 static const char LOCATE_separate_options___ToolContext___opt_cc_lib_paths__eq
[] = "separate_options::ToolContext::opt_cc_lib_paths=";
72 void separate_options___ToolContext___opt_cc_lib_paths__eq(val_t p0
, val_t p1
){
73 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
75 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
76 fra
.me
.file
= LOCATE_separate_options
;
78 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_lib_paths__eq
;
81 fra
.me
.nitni_local_ref_head
= NULL
;
82 fra
.me
.REG
[0] = NIT_NULL
;
83 fra
.me
.REG
[1] = NIT_NULL
;
86 /* separate_options.nit:30 */
87 ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
88 stack_frame_head
= fra
.me
.prev
;
91 static const char LOCATE_separate_options___ToolContext___opt_cc_libs
[] = "separate_options::ToolContext::opt_cc_libs";
92 val_t
separate_options___ToolContext___opt_cc_libs(val_t p0
){
93 struct {struct stack_frame_t me
;} fra
;
96 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
97 fra
.me
.file
= LOCATE_separate_options
;
99 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_libs
;
100 fra
.me
.has_broke
= 0;
102 fra
.me
.nitni_local_ref_head
= NULL
;
103 fra
.me
.REG
[0] = NIT_NULL
;
105 /* separate_options.nit:31 */
106 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0])!=NIT_NULL
);
107 if (UNTAG_Bool(REGB0
)) {
109 nit_abort("Uninitialized attribute %s", "@opt_cc_libs", LOCATE_separate_options
, 31);
111 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0]);
112 stack_frame_head
= fra
.me
.prev
;
113 return fra
.me
.REG
[0];
115 static const char LOCATE_separate_options___ToolContext___opt_cc_libs__eq
[] = "separate_options::ToolContext::opt_cc_libs=";
116 void separate_options___ToolContext___opt_cc_libs__eq(val_t p0
, val_t p1
){
117 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
119 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
120 fra
.me
.file
= LOCATE_separate_options
;
122 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_libs__eq
;
123 fra
.me
.has_broke
= 0;
125 fra
.me
.nitni_local_ref_head
= NULL
;
126 fra
.me
.REG
[0] = NIT_NULL
;
127 fra
.me
.REG
[1] = NIT_NULL
;
130 /* separate_options.nit:31 */
131 ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
132 stack_frame_head
= fra
.me
.prev
;
135 static const char LOCATE_separate_options___ToolContext___opt_cc_include_paths
[] = "separate_options::ToolContext::opt_cc_include_paths";
136 val_t
separate_options___ToolContext___opt_cc_include_paths(val_t p0
){
137 struct {struct stack_frame_t me
;} fra
;
140 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
141 fra
.me
.file
= LOCATE_separate_options
;
143 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_include_paths
;
144 fra
.me
.has_broke
= 0;
146 fra
.me
.nitni_local_ref_head
= NULL
;
147 fra
.me
.REG
[0] = NIT_NULL
;
149 /* separate_options.nit:32 */
150 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0])!=NIT_NULL
);
151 if (UNTAG_Bool(REGB0
)) {
153 nit_abort("Uninitialized attribute %s", "@opt_cc_include_paths", LOCATE_separate_options
, 32);
155 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0]);
156 stack_frame_head
= fra
.me
.prev
;
157 return fra
.me
.REG
[0];
159 static const char LOCATE_separate_options___ToolContext___opt_cc_include_paths__eq
[] = "separate_options::ToolContext::opt_cc_include_paths=";
160 void separate_options___ToolContext___opt_cc_include_paths__eq(val_t p0
, val_t p1
){
161 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
163 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
164 fra
.me
.file
= LOCATE_separate_options
;
166 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_include_paths__eq
;
167 fra
.me
.has_broke
= 0;
169 fra
.me
.nitni_local_ref_head
= NULL
;
170 fra
.me
.REG
[0] = NIT_NULL
;
171 fra
.me
.REG
[1] = NIT_NULL
;
174 /* separate_options.nit:32 */
175 ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
176 stack_frame_head
= fra
.me
.prev
;
179 static const char LOCATE_separate_options___ToolContext___init
[] = "separate_options::ToolContext::(toolcontext::ToolContext::init)";
180 void separate_options___ToolContext___init(val_t p0
, int* init_table
){
181 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_toolcontext___ToolContext
].i
;
182 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
185 if (init_table
[itpos0
]) return;
186 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
187 fra
.me
.file
= LOCATE_separate_options
;
189 fra
.me
.meth
= LOCATE_separate_options___ToolContext___init
;
190 fra
.me
.has_broke
= 0;
192 fra
.me
.nitni_local_ref_head
= NULL
;
193 fra
.me
.REG
[0] = NIT_NULL
;
194 fra
.me
.REG
[1] = NIT_NULL
;
195 fra
.me
.REG
[2] = NIT_NULL
;
196 fra
.me
.REG
[3] = NIT_NULL
;
198 /* separate_options.nit:34 */
199 fra
.me
.REG
[1] = fra
.me
.REG
[0];
200 /* separate_options.nit:36 */
201 CALL_SUPER_separate_options___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
202 /* separate_options.nit:38 */
203 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
205 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
206 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
207 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
208 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
209 /* separate_options.nit:39 */
210 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
212 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
213 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
214 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
215 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
216 /* separate_options.nit:40 */
217 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
219 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
220 fra
.me
.REG
[1] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
221 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
222 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
223 stack_frame_head
= fra
.me
.prev
;
224 init_table
[itpos0
] = 1;
227 static const char LOCATE_separate_options___ToolContext___integrate_separate_options
[] = "separate_options::ToolContext::integrate_separate_options";
228 void separate_options___ToolContext___integrate_separate_options(val_t p0
, val_t p1
, val_t p2
){
229 struct {struct stack_frame_t me
; val_t MORE_REG
[7];} fra
;
236 static val_t once_value_1
; /* Once value */
237 static val_t once_value_3
; /* Once value */
238 static val_t once_value_4
; /* Once value */
239 static val_t once_value_5
; /* Once value */
240 static val_t once_value_6
; /* Once value */
241 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
242 fra
.me
.file
= LOCATE_separate_options
;
244 fra
.me
.meth
= LOCATE_separate_options___ToolContext___integrate_separate_options
;
245 fra
.me
.has_broke
= 0;
247 fra
.me
.nitni_local_ref_head
= NULL
;
248 fra
.me
.REG
[0] = NIT_NULL
;
249 fra
.me
.REG
[1] = NIT_NULL
;
250 fra
.me
.REG
[2] = NIT_NULL
;
251 fra
.me
.REG
[3] = NIT_NULL
;
252 fra
.me
.REG
[4] = NIT_NULL
;
253 fra
.me
.REG
[5] = NIT_NULL
;
254 fra
.me
.REG
[6] = NIT_NULL
;
255 fra
.me
.REG
[7] = NIT_NULL
;
259 /* separate_options.nit:45 */
260 fra
.me
.REG
[1] = CALL_standard___string_search___String___split(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
261 /* ../lib/standard/collection/array.nit:269 */
263 /* ../lib/standard/collection/array.nit:270 */
264 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
265 if (UNTAG_Bool(REGB1
)) {
267 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
269 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
270 /* ../lib/standard/collection/array.nit:271 */
271 fra
.me
.REG
[3] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
272 /* ../lib/standard/collection/array.nit:272 */
274 /* ../lib/standard/collection/array.nit:24 */
275 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
276 if (UNTAG_Bool(REGB1
)) {
278 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
280 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
281 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
282 if (UNTAG_Bool(REGB2
)) {
284 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
286 /* ../lib/standard/kernel.nit:235 */
287 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
288 /* ../lib/standard/collection/array.nit:272 */
289 if (UNTAG_Bool(REGB1
)) {
290 /* ../lib/standard/collection/array.nit:273 */
291 REGB1
= TAG_Bool(fra
.me
.REG
[3]==NIT_NULL
);
292 if (UNTAG_Bool(REGB1
)) {
293 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
295 /* ../lib/standard/collection/array.nit:718 */
296 fra
.me
.REG
[4] = ((Nit_NativeArray
)fra
.me
.REG
[3])->val
[UNTAG_Int(REGB0
)];
297 /* separate_options.nit:46 */
299 fra
.me
.REG
[5] = BOX_NativeString("\n");
301 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB1
);
302 once_value_1
= fra
.me
.REG
[5];
303 register_static_object(&once_value_1
);
304 } else fra
.me
.REG
[5] = once_value_1
;
305 fra
.me
.REG
[5] = fra
.me
.REG
[5];
306 fra
.me
.REG
[5] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
307 fra
.me
.REG
[4] = fra
.me
.REG
[5];
308 /* separate_options.nit:47 */
309 fra
.me
.REG
[5] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
310 REGB1
= TAG_Char(' ');
311 fra
.me
.REG
[4] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[4])(fra
.me
.REG
[4], REGB1
);
312 CALL_opts___OptionContext___parse(fra
.me
.REG
[5])(fra
.me
.REG
[5], fra
.me
.REG
[4]);
313 /* separate_options.nit:48 */
314 fra
.me
.REG
[4] = NEW_Array_standard___collection___array___Array___init();
315 /* separate_options.nit:49 */
316 fra
.me
.REG
[5] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
317 fra
.me
.REG
[5] = CALL_opts___OptionContext___rest(fra
.me
.REG
[5])(fra
.me
.REG
[5]);
318 /* ../lib/standard/collection/array.nit:269 */
320 /* ../lib/standard/collection/array.nit:270 */
321 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
322 if (UNTAG_Bool(REGB2
)) {
324 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
326 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
327 /* ../lib/standard/collection/array.nit:271 */
328 fra
.me
.REG
[6] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[5]);
329 /* ../lib/standard/collection/array.nit:272 */
331 /* ../lib/standard/collection/array.nit:24 */
332 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5])!=NIT_NULL
);
333 if (UNTAG_Bool(REGB2
)) {
335 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
337 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[5]);
338 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
339 if (UNTAG_Bool(REGB3
)) {
341 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
343 /* ../lib/standard/kernel.nit:235 */
344 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)<UNTAG_Int(REGB2
));
345 /* ../lib/standard/collection/array.nit:272 */
346 if (UNTAG_Bool(REGB2
)) {
347 /* ../lib/standard/collection/array.nit:273 */
348 REGB2
= TAG_Bool(fra
.me
.REG
[6]==NIT_NULL
);
349 if (UNTAG_Bool(REGB2
)) {
350 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
352 /* ../lib/standard/collection/array.nit:718 */
353 fra
.me
.REG
[7] = ((Nit_NativeArray
)fra
.me
.REG
[6])->val
[UNTAG_Int(REGB1
)];
354 /* ../lib/standard/collection/array.nit:24 */
355 REGB2
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7])!=NIT_NULL
);
356 if (UNTAG_Bool(REGB2
)) {
358 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
360 REGB2
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[7]);
361 /* separate_options.nit:49 */
363 REGB4
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB2
), VTID_standard___kernel___Comparable___OTHER(REGB2
))) /*cast OTHER*/;
364 if (UNTAG_Bool(REGB4
)) {
366 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
368 /* ../lib/standard/kernel.nit:237 */
369 REGB3
= TAG_Bool(UNTAG_Int(REGB2
)>UNTAG_Int(REGB3
));
370 /* separate_options.nit:49 */
371 if (UNTAG_Bool(REGB3
)) {
372 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[7]);
374 /* ../lib/standard/collection/array.nit:274 */
376 /* ../lib/standard/kernel.nit:238 */
377 REGB3
= TAG_Int(UNTAG_Int(REGB1
)+UNTAG_Int(REGB3
));
378 /* ../lib/standard/collection/array.nit:274 */
381 /* ../lib/standard/collection/array.nit:272 */
386 /* ../lib/standard/collection/array.nit:24 */
387 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4])!=NIT_NULL
);
388 if (UNTAG_Bool(REGB1
)) {
390 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
392 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[4]);
393 /* separate_options.nit:50 */
395 REGB2
= TAG_Bool(VAL_ISA(REGB3
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
396 if (UNTAG_Bool(REGB2
)) {
398 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
400 /* ../lib/standard/kernel.nit:237 */
401 REGB3
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB3
));
402 /* separate_options.nit:50 */
403 if (UNTAG_Bool(REGB3
)) {
404 /* separate_options.nit:51 */
406 fra
.me
.REG
[6] = NEW_Array_standard___collection___array___Array___with_capacity(REGB3
);
408 fra
.me
.REG
[5] = BOX_NativeString("module \"");
410 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
411 once_value_3
= fra
.me
.REG
[5];
412 register_static_object(&once_value_3
);
413 } else fra
.me
.REG
[5] = once_value_3
;
414 fra
.me
.REG
[5] = fra
.me
.REG
[5];
415 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
416 fra
.me
.REG
[5] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
417 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
419 fra
.me
.REG
[5] = BOX_NativeString("\" args file has unknown args: ");
421 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
422 once_value_4
= fra
.me
.REG
[5];
423 register_static_object(&once_value_4
);
424 } else fra
.me
.REG
[5] = once_value_4
;
425 fra
.me
.REG
[5] = fra
.me
.REG
[5];
426 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
428 fra
.me
.REG
[5] = BOX_NativeString(", ");
430 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
431 once_value_5
= fra
.me
.REG
[5];
432 register_static_object(&once_value_5
);
433 } else fra
.me
.REG
[5] = once_value_5
;
434 fra
.me
.REG
[5] = fra
.me
.REG
[5];
435 fra
.me
.REG
[5] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
436 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
438 fra
.me
.REG
[5] = BOX_NativeString("");
440 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB3
);
441 once_value_6
= fra
.me
.REG
[5];
442 register_static_object(&once_value_6
);
443 } else fra
.me
.REG
[5] = once_value_6
;
444 fra
.me
.REG
[5] = fra
.me
.REG
[5];
445 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[6])(fra
.me
.REG
[6], fra
.me
.REG
[5]);
446 fra
.me
.REG
[6] = CALL_standard___string___Object___to_s(fra
.me
.REG
[6])(fra
.me
.REG
[6]);
447 CALL_toolcontext___ToolContext___error(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[6]);
449 /* ../lib/standard/collection/array.nit:274 */
451 /* ../lib/standard/kernel.nit:238 */
452 REGB3
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB3
));
453 /* ../lib/standard/collection/array.nit:274 */
456 /* ../lib/standard/collection/array.nit:272 */
461 /* separate_options.nit:55 */
462 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_lib_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
463 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
464 fra
.me
.REG
[3] = CALL_opts___Option___value(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
465 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
466 /* separate_options.nit:56 */
467 fra
.me
.REG
[3] = CALL_compiling___compiling_base___ToolContext___cc_libs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
468 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
469 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
470 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
471 /* separate_options.nit:57 */
472 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_include_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
473 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
474 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
475 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
476 stack_frame_head
= fra
.me
.prev
;
479 static const char LOCATE_separate_options___MMSrcModule___compile_separate_module
[] = "separate_options::MMSrcModule::(compiling::MMModule::compile_separate_module)";
480 void separate_options___MMSrcModule___compile_separate_module(val_t p0
, val_t p1
){
481 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
484 static val_t once_value_1
; /* Once value */
485 static val_t once_value_2
; /* Once value */
486 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
487 fra
.me
.file
= LOCATE_separate_options
;
489 fra
.me
.meth
= LOCATE_separate_options___MMSrcModule___compile_separate_module
;
490 fra
.me
.has_broke
= 0;
492 fra
.me
.nitni_local_ref_head
= NULL
;
493 fra
.me
.REG
[0] = NIT_NULL
;
494 fra
.me
.REG
[1] = NIT_NULL
;
495 fra
.me
.REG
[2] = NIT_NULL
;
496 fra
.me
.REG
[3] = NIT_NULL
;
499 /* separate_options.nit:63 */
500 fra
.me
.REG
[2] = fra
.me
.REG
[0];
501 fra
.me
.REG
[3] = fra
.me
.REG
[1];
502 /* separate_options.nit:65 */
503 CALL_SUPER_separate_options___MMSrcModule___compile_separate_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
504 /* separate_options.nit:68 */
506 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
508 fra
.me
.REG
[0] = BOX_NativeString("");
510 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
511 once_value_1
= fra
.me
.REG
[0];
512 register_static_object(&once_value_1
);
513 } else fra
.me
.REG
[0] = once_value_1
;
514 fra
.me
.REG
[0] = fra
.me
.REG
[0];
515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
516 fra
.me
.REG
[0] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
517 fra
.me
.REG
[0] = CALL_location___Location___file(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
518 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
519 if (UNTAG_Bool(REGB0
)) {
520 nit_abort("Reciever is null", NULL
, LOCATE_separate_options
, 68);
522 fra
.me
.REG
[0] = CALL_location___SourceFile___filename(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
523 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
525 fra
.me
.REG
[0] = BOX_NativeString(".args");
527 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
528 once_value_2
= fra
.me
.REG
[0];
529 register_static_object(&once_value_2
);
530 } else fra
.me
.REG
[0] = once_value_2
;
531 fra
.me
.REG
[0] = fra
.me
.REG
[0];
532 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
533 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
534 /* separate_options.nit:69 */
535 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
536 if (UNTAG_Bool(REGB0
)) {
537 /* separate_options.nit:70 */
538 fra
.me
.REG
[1] = NEW_IFStream_standard___file___IFStream___open(fra
.me
.REG
[1]);
539 /* separate_options.nit:71 */
540 fra
.me
.REG
[0] = CALL_standard___stream___IStream___read_all(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
541 /* separate_options.nit:72 */
542 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
543 /* separate_options.nit:74 */
544 fra
.me
.REG
[1] = CALL_compiling___compiling_base___CProgram___program(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
545 fra
.me
.REG
[1] = CALL_program___Program___tc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
546 CALL_separate_options___ToolContext___integrate_separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0], fra
.me
.REG
[2]);
547 /* separate_options.nit:75 */
548 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CProgram___program(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
549 fra
.me
.REG
[3] = CALL_program___Program___tc(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
550 CALL_toolcontext___ToolContext___check_errors(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
552 stack_frame_head
= fra
.me
.prev
;