1 /* This C file is generated by NIT to compile module separate_options. */
2 #include "separate_options._sep.h"
3 val_t
separate_options___ToolContext___separate_options(val_t p0
){
4 struct {struct stack_frame_t me
;} fra
;
7 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
8 fra
.me
.file
= LOCATE_separate_options
;
10 fra
.me
.meth
= LOCATE_separate_options___ToolContext___separate_options
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
16 /* separate_options.nit:10 */
17 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "@separate_options", LOCATE_separate_options
, 10);
22 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 void separate_options___ToolContext___separate_options__eq(val_t p0
, val_t p1
){
27 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
29 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
30 fra
.me
.file
= LOCATE_separate_options
;
32 fra
.me
.meth
= LOCATE_separate_options___ToolContext___separate_options__eq
;
35 fra
.me
.nitni_local_ref_head
= NULL
;
36 fra
.me
.REG
[0] = NIT_NULL
;
37 fra
.me
.REG
[1] = NIT_NULL
;
40 /* separate_options.nit:10 */
41 ATTR_separate_options___ToolContext_____atseparate_options(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
42 stack_frame_head
= fra
.me
.prev
;
45 val_t
separate_options___ToolContext___opt_cc_lib_paths(val_t p0
){
46 struct {struct stack_frame_t me
;} fra
;
49 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
50 fra
.me
.file
= LOCATE_separate_options
;
52 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_lib_paths
;
55 fra
.me
.nitni_local_ref_head
= NULL
;
56 fra
.me
.REG
[0] = NIT_NULL
;
58 /* separate_options.nit:12 */
59 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0])!=NIT_NULL
);
60 if (UNTAG_Bool(REGB0
)) {
62 nit_abort("Uninitialized attribute %s", "@opt_cc_lib_paths", LOCATE_separate_options
, 12);
64 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0]);
65 stack_frame_head
= fra
.me
.prev
;
68 void separate_options___ToolContext___opt_cc_lib_paths__eq(val_t p0
, val_t p1
){
69 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
71 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
72 fra
.me
.file
= LOCATE_separate_options
;
74 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_lib_paths__eq
;
77 fra
.me
.nitni_local_ref_head
= NULL
;
78 fra
.me
.REG
[0] = NIT_NULL
;
79 fra
.me
.REG
[1] = NIT_NULL
;
82 /* separate_options.nit:12 */
83 ATTR_separate_options___ToolContext_____atopt_cc_lib_paths(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
84 stack_frame_head
= fra
.me
.prev
;
87 val_t
separate_options___ToolContext___opt_cc_libs(val_t p0
){
88 struct {struct stack_frame_t me
;} fra
;
91 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
92 fra
.me
.file
= LOCATE_separate_options
;
94 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_libs
;
97 fra
.me
.nitni_local_ref_head
= NULL
;
98 fra
.me
.REG
[0] = NIT_NULL
;
100 /* separate_options.nit:13 */
101 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0])!=NIT_NULL
);
102 if (UNTAG_Bool(REGB0
)) {
104 nit_abort("Uninitialized attribute %s", "@opt_cc_libs", LOCATE_separate_options
, 13);
106 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0]);
107 stack_frame_head
= fra
.me
.prev
;
108 return fra
.me
.REG
[0];
110 void separate_options___ToolContext___opt_cc_libs__eq(val_t p0
, val_t p1
){
111 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
113 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
114 fra
.me
.file
= LOCATE_separate_options
;
116 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_libs__eq
;
117 fra
.me
.has_broke
= 0;
119 fra
.me
.nitni_local_ref_head
= NULL
;
120 fra
.me
.REG
[0] = NIT_NULL
;
121 fra
.me
.REG
[1] = NIT_NULL
;
124 /* separate_options.nit:13 */
125 ATTR_separate_options___ToolContext_____atopt_cc_libs(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
126 stack_frame_head
= fra
.me
.prev
;
129 val_t
separate_options___ToolContext___opt_cc_include_paths(val_t p0
){
130 struct {struct stack_frame_t me
;} fra
;
133 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
134 fra
.me
.file
= LOCATE_separate_options
;
136 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_include_paths
;
137 fra
.me
.has_broke
= 0;
139 fra
.me
.nitni_local_ref_head
= NULL
;
140 fra
.me
.REG
[0] = NIT_NULL
;
142 /* separate_options.nit:14 */
143 REGB0
= TAG_Bool(ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0])!=NIT_NULL
);
144 if (UNTAG_Bool(REGB0
)) {
146 nit_abort("Uninitialized attribute %s", "@opt_cc_include_paths", LOCATE_separate_options
, 14);
148 fra
.me
.REG
[0] = ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0]);
149 stack_frame_head
= fra
.me
.prev
;
150 return fra
.me
.REG
[0];
152 void separate_options___ToolContext___opt_cc_include_paths__eq(val_t p0
, val_t p1
){
153 struct {struct stack_frame_t me
; val_t MORE_REG
[1];} fra
;
155 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
156 fra
.me
.file
= LOCATE_separate_options
;
158 fra
.me
.meth
= LOCATE_separate_options___ToolContext___opt_cc_include_paths__eq
;
159 fra
.me
.has_broke
= 0;
161 fra
.me
.nitni_local_ref_head
= NULL
;
162 fra
.me
.REG
[0] = NIT_NULL
;
163 fra
.me
.REG
[1] = NIT_NULL
;
166 /* separate_options.nit:14 */
167 ATTR_separate_options___ToolContext_____atopt_cc_include_paths(fra
.me
.REG
[0]) = fra
.me
.REG
[1];
168 stack_frame_head
= fra
.me
.prev
;
171 void separate_options___ToolContext___init(val_t p0
, int* init_table
){
172 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_toolcontext___ToolContext
].i
;
173 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
176 if (init_table
[itpos0
]) return;
177 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
178 fra
.me
.file
= LOCATE_separate_options
;
180 fra
.me
.meth
= LOCATE_separate_options___ToolContext___init
;
181 fra
.me
.has_broke
= 0;
183 fra
.me
.nitni_local_ref_head
= NULL
;
184 fra
.me
.REG
[0] = NIT_NULL
;
185 fra
.me
.REG
[1] = NIT_NULL
;
186 fra
.me
.REG
[2] = NIT_NULL
;
187 fra
.me
.REG
[3] = NIT_NULL
;
189 /* separate_options.nit:16 */
190 fra
.me
.REG
[1] = fra
.me
.REG
[0];
191 /* separate_options.nit:18 */
192 CALL_SUPER_separate_options___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
193 /* separate_options.nit:20 */
194 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
196 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
197 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
198 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
199 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
200 /* separate_options.nit:21 */
201 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
203 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
204 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
205 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
206 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
207 /* separate_options.nit:22 */
208 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
210 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
211 fra
.me
.REG
[1] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
212 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
213 CALL_opts___OptionContext___add_option(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
214 stack_frame_head
= fra
.me
.prev
;
215 init_table
[itpos0
] = 1;
218 void separate_options___ToolContext___integrate_separate_options(val_t p0
, val_t p1
){
219 struct {struct stack_frame_t me
; val_t MORE_REG
[5];} fra
;
225 static val_t once_value_1
; /* Once value */
226 static val_t once_value_2
; /* Once value */
227 static val_t once_value_3
; /* Once value */
228 static val_t once_value_4
; /* Once value */
229 static val_t once_value_5
; /* Once value */
230 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
231 fra
.me
.file
= LOCATE_separate_options
;
233 fra
.me
.meth
= LOCATE_separate_options___ToolContext___integrate_separate_options
;
234 fra
.me
.has_broke
= 0;
236 fra
.me
.nitni_local_ref_head
= NULL
;
237 fra
.me
.REG
[0] = NIT_NULL
;
238 fra
.me
.REG
[1] = NIT_NULL
;
239 fra
.me
.REG
[2] = NIT_NULL
;
240 fra
.me
.REG
[3] = NIT_NULL
;
241 fra
.me
.REG
[4] = NIT_NULL
;
242 fra
.me
.REG
[5] = NIT_NULL
;
245 /* separate_options.nit:27 */
246 fra
.me
.REG
[1] = CALL_standard___string_search___String___split(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
247 /* ../lib/standard/collection/array.nit:269 */
249 /* ../lib/standard/collection/array.nit:270 */
250 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
251 if (UNTAG_Bool(REGB1
)) {
253 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
255 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
256 /* ../lib/standard/collection/array.nit:271 */
257 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
258 /* ../lib/standard/collection/array.nit:272 */
260 /* ../lib/standard/collection/array.nit:24 */
261 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
262 if (UNTAG_Bool(REGB1
)) {
264 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
266 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
267 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
268 if (UNTAG_Bool(REGB2
)) {
270 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
272 /* ../lib/standard/kernel.nit:232 */
273 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
274 /* ../lib/standard/collection/array.nit:272 */
275 if (UNTAG_Bool(REGB1
)) {
276 /* ../lib/standard/collection/array.nit:273 */
277 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
278 if (UNTAG_Bool(REGB1
)) {
279 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
281 /* ../lib/standard/collection/array.nit:718 */
282 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
283 /* separate_options.nit:28 */
285 fra
.me
.REG
[4] = BOX_NativeString("\n");
287 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB1
);
288 once_value_1
= fra
.me
.REG
[4];
289 register_static_object(&once_value_1
);
290 } else fra
.me
.REG
[4] = once_value_1
;
291 fra
.me
.REG
[4] = fra
.me
.REG
[4];
292 fra
.me
.REG
[4] = CALL_standard___file___String___strip_extension(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
293 fra
.me
.REG
[3] = fra
.me
.REG
[4];
294 /* separate_options.nit:29 */
295 fra
.me
.REG
[4] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
296 REGB1
= TAG_Char(' ');
297 fra
.me
.REG
[3] = CALL_standard___string_search___String___split_with(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB1
);
298 CALL_opts___OptionContext___parse(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[3]);
299 /* separate_options.nit:30 */
300 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
301 fra
.me
.REG
[3] = CALL_opts___OptionContext___rest(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
302 /* ../lib/standard/collection/array.nit:24 */
303 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3])!=NIT_NULL
);
304 if (UNTAG_Bool(REGB1
)) {
306 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
308 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[3]);
309 /* separate_options.nit:30 */
311 REGB3
= TAG_Bool(VAL_ISA(REGB2
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB1
), VTID_standard___kernel___Comparable___OTHER(REGB1
))) /*cast OTHER*/;
312 if (UNTAG_Bool(REGB3
)) {
314 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
316 /* ../lib/standard/kernel.nit:234 */
317 REGB2
= TAG_Bool(UNTAG_Int(REGB1
)>UNTAG_Int(REGB2
));
318 /* separate_options.nit:30 */
319 if (UNTAG_Bool(REGB2
)) {
320 /* separate_options.nit:31 */
322 fra
.me
.REG
[3] = NEW_Array_standard___collection___array___Array___with_capacity(REGB2
);
324 fra
.me
.REG
[4] = BOX_NativeString("module ");
326 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
327 once_value_2
= fra
.me
.REG
[4];
328 register_static_object(&once_value_2
);
329 } else fra
.me
.REG
[4] = once_value_2
;
330 fra
.me
.REG
[4] = fra
.me
.REG
[4];
331 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
332 fra
.me
.REG
[4] = CALL_standard___string___Object___to_s(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
333 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
335 fra
.me
.REG
[4] = BOX_NativeString(" args file has unknown args: ");
337 fra
.me
.REG
[4] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[4], REGB2
);
338 once_value_3
= fra
.me
.REG
[4];
339 register_static_object(&once_value_3
);
340 } else fra
.me
.REG
[4] = once_value_3
;
341 fra
.me
.REG
[4] = fra
.me
.REG
[4];
342 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
343 fra
.me
.REG
[4] = CALL_separate_options___ToolContext___separate_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
344 fra
.me
.REG
[4] = CALL_opts___OptionContext___rest(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
346 fra
.me
.REG
[5] = BOX_NativeString(", ");
348 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
349 once_value_4
= fra
.me
.REG
[5];
350 register_static_object(&once_value_4
);
351 } else fra
.me
.REG
[5] = once_value_4
;
352 fra
.me
.REG
[5] = fra
.me
.REG
[5];
353 fra
.me
.REG
[5] = CALL_standard___string___Collection___join(fra
.me
.REG
[4])(fra
.me
.REG
[4], fra
.me
.REG
[5]);
354 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
356 fra
.me
.REG
[5] = BOX_NativeString("");
358 fra
.me
.REG
[5] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[5], REGB2
);
359 once_value_5
= fra
.me
.REG
[5];
360 register_static_object(&once_value_5
);
361 } else fra
.me
.REG
[5] = once_value_5
;
362 fra
.me
.REG
[5] = fra
.me
.REG
[5];
363 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[5]);
364 fra
.me
.REG
[3] = CALL_standard___string___Object___to_s(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
365 CALL_toolcontext___ToolContext___warning(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
, fra
.me
.REG
[3]);
367 /* ../lib/standard/collection/array.nit:274 */
369 /* ../lib/standard/kernel.nit:235 */
370 REGB2
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB2
));
371 /* ../lib/standard/collection/array.nit:274 */
374 /* ../lib/standard/collection/array.nit:272 */
379 /* separate_options.nit:35 */
380 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_lib_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
381 fra
.me
.REG
[1] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
382 fra
.me
.REG
[1] = CALL_opts___Option___value(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
383 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[1]);
384 /* separate_options.nit:36 */
385 fra
.me
.REG
[1] = CALL_compiling___compiling_base___ToolContext___cc_libs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
386 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
387 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
388 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
389 /* separate_options.nit:37 */
390 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_include_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
391 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
392 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
393 CALL_standard___collection___abstract_collection___Sequence___append(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
394 stack_frame_head
= fra
.me
.prev
;
397 void separate_options___MMSrcModule___compile_separate_module(val_t p0
, val_t p1
){
398 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
401 static val_t once_value_1
; /* Once value */
402 static val_t once_value_2
; /* Once value */
403 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
404 fra
.me
.file
= LOCATE_separate_options
;
406 fra
.me
.meth
= LOCATE_separate_options___MMSrcModule___compile_separate_module
;
407 fra
.me
.has_broke
= 0;
409 fra
.me
.nitni_local_ref_head
= NULL
;
410 fra
.me
.REG
[0] = NIT_NULL
;
411 fra
.me
.REG
[1] = NIT_NULL
;
412 fra
.me
.REG
[2] = NIT_NULL
;
413 fra
.me
.REG
[3] = NIT_NULL
;
416 /* separate_options.nit:43 */
417 fra
.me
.REG
[2] = fra
.me
.REG
[0];
418 fra
.me
.REG
[3] = fra
.me
.REG
[1];
419 /* separate_options.nit:45 */
420 CALL_SUPER_separate_options___MMSrcModule___compile_separate_module(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
421 /* separate_options.nit:48 */
423 fra
.me
.REG
[1] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
425 fra
.me
.REG
[0] = BOX_NativeString("");
427 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
428 once_value_1
= fra
.me
.REG
[0];
429 register_static_object(&once_value_1
);
430 } else fra
.me
.REG
[0] = once_value_1
;
431 fra
.me
.REG
[0] = fra
.me
.REG
[0];
432 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
433 fra
.me
.REG
[2] = CALL_metamodel___abstractmetamodel___MMModule___location(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
434 fra
.me
.REG
[2] = CALL_location___Location___file(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
435 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
436 if (UNTAG_Bool(REGB0
)) {
437 nit_abort("Reciever is null", NULL
, LOCATE_separate_options
, 48);
439 fra
.me
.REG
[2] = CALL_location___SourceFile___filename(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
440 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
442 fra
.me
.REG
[2] = BOX_NativeString(".args");
444 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
445 once_value_2
= fra
.me
.REG
[2];
446 register_static_object(&once_value_2
);
447 } else fra
.me
.REG
[2] = once_value_2
;
448 fra
.me
.REG
[2] = fra
.me
.REG
[2];
449 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
450 fra
.me
.REG
[1] = CALL_standard___string___Object___to_s(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
451 /* separate_options.nit:49 */
452 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
453 if (UNTAG_Bool(REGB0
)) {
454 /* separate_options.nit:50 */
455 fra
.me
.REG
[1] = NEW_IFStream_standard___file___IFStream___open(fra
.me
.REG
[1]);
456 /* separate_options.nit:51 */
457 fra
.me
.REG
[2] = CALL_standard___stream___IStream___read_all(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
458 /* separate_options.nit:52 */
459 CALL_standard___stream___IOS___close(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
460 /* separate_options.nit:54 */
461 fra
.me
.REG
[3] = CALL_compiling___compiling_base___CProgram___program(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
462 fra
.me
.REG
[3] = CALL_program___Program___tc(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
463 CALL_separate_options___ToolContext___integrate_separate_options(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[2]);
465 stack_frame_head
= fra
.me
.prev
;