1 /* This C file is generated by NIT to compile module nitc. */
3 static const char LOCATE_nitc___NitCompiler___opt_output
[] = "nitc::NitCompiler::opt_output";
4 val_t
nitc___NitCompiler___opt_output(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_nitc
;
11 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output
;
14 fra
.me
.nitni_local_ref_head
= NULL
;
15 fra
.me
.REG
[0] = NIT_NULL
;
18 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0])!=NIT_NULL
);
19 if (UNTAG_Bool(REGB0
)) {
21 nit_abort("Uninitialized attribute %s", "_opt_output", LOCATE_nitc
, 33);
23 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0]);
24 stack_frame_head
= fra
.me
.prev
;
27 static const char LOCATE_nitc___NitCompiler___opt_boost
[] = "nitc::NitCompiler::opt_boost";
28 val_t
nitc___NitCompiler___opt_boost(val_t p0
){
29 struct {struct stack_frame_t me
;} fra
;
32 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
33 fra
.me
.file
= LOCATE_nitc
;
35 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_boost
;
38 fra
.me
.nitni_local_ref_head
= NULL
;
39 fra
.me
.REG
[0] = NIT_NULL
;
42 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0])!=NIT_NULL
);
43 if (UNTAG_Bool(REGB0
)) {
45 nit_abort("Uninitialized attribute %s", "_opt_boost", LOCATE_nitc
, 34);
47 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0]);
48 stack_frame_head
= fra
.me
.prev
;
51 static const char LOCATE_nitc___NitCompiler___opt_no_cc
[] = "nitc::NitCompiler::opt_no_cc";
52 val_t
nitc___NitCompiler___opt_no_cc(val_t p0
){
53 struct {struct stack_frame_t me
;} fra
;
56 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
57 fra
.me
.file
= LOCATE_nitc
;
59 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_no_cc
;
62 fra
.me
.nitni_local_ref_head
= NULL
;
63 fra
.me
.REG
[0] = NIT_NULL
;
66 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0])!=NIT_NULL
);
67 if (UNTAG_Bool(REGB0
)) {
69 nit_abort("Uninitialized attribute %s", "_opt_no_cc", LOCATE_nitc
, 35);
71 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0]);
72 stack_frame_head
= fra
.me
.prev
;
75 static const char LOCATE_nitc___NitCompiler___opt_cc_no_link
[] = "nitc::NitCompiler::opt_cc_no_link";
76 val_t
nitc___NitCompiler___opt_cc_no_link(val_t p0
){
77 struct {struct stack_frame_t me
;} fra
;
80 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
81 fra
.me
.file
= LOCATE_nitc
;
83 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_cc_no_link
;
86 fra
.me
.nitni_local_ref_head
= NULL
;
87 fra
.me
.REG
[0] = NIT_NULL
;
90 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0])!=NIT_NULL
);
91 if (UNTAG_Bool(REGB0
)) {
93 nit_abort("Uninitialized attribute %s", "_opt_cc_no_link", LOCATE_nitc
, 36);
95 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0]);
96 stack_frame_head
= fra
.me
.prev
;
99 static const char LOCATE_nitc___NitCompiler___opt_clibdir
[] = "nitc::NitCompiler::opt_clibdir";
100 val_t
nitc___NitCompiler___opt_clibdir(val_t p0
){
101 struct {struct stack_frame_t me
;} fra
;
104 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
105 fra
.me
.file
= LOCATE_nitc
;
107 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_clibdir
;
108 fra
.me
.has_broke
= 0;
110 fra
.me
.nitni_local_ref_head
= NULL
;
111 fra
.me
.REG
[0] = NIT_NULL
;
114 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0])!=NIT_NULL
);
115 if (UNTAG_Bool(REGB0
)) {
117 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc
, 37);
119 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0]);
120 stack_frame_head
= fra
.me
.prev
;
121 return fra
.me
.REG
[0];
123 static const char LOCATE_nitc___NitCompiler___opt_bindir
[] = "nitc::NitCompiler::opt_bindir";
124 val_t
nitc___NitCompiler___opt_bindir(val_t p0
){
125 struct {struct stack_frame_t me
;} fra
;
128 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
129 fra
.me
.file
= LOCATE_nitc
;
131 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_bindir
;
132 fra
.me
.has_broke
= 0;
134 fra
.me
.nitni_local_ref_head
= NULL
;
135 fra
.me
.REG
[0] = NIT_NULL
;
138 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0])!=NIT_NULL
);
139 if (UNTAG_Bool(REGB0
)) {
141 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc
, 38);
143 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0]);
144 stack_frame_head
= fra
.me
.prev
;
145 return fra
.me
.REG
[0];
147 static const char LOCATE_nitc___NitCompiler___opt_compdir
[] = "nitc::NitCompiler::opt_compdir";
148 val_t
nitc___NitCompiler___opt_compdir(val_t p0
){
149 struct {struct stack_frame_t me
;} fra
;
152 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
153 fra
.me
.file
= LOCATE_nitc
;
155 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_compdir
;
156 fra
.me
.has_broke
= 0;
158 fra
.me
.nitni_local_ref_head
= NULL
;
159 fra
.me
.REG
[0] = NIT_NULL
;
162 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0])!=NIT_NULL
);
163 if (UNTAG_Bool(REGB0
)) {
165 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc
, 39);
167 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0]);
168 stack_frame_head
= fra
.me
.prev
;
169 return fra
.me
.REG
[0];
171 static const char LOCATE_nitc___NitCompiler___opt_extension_prefix
[] = "nitc::NitCompiler::opt_extension_prefix";
172 val_t
nitc___NitCompiler___opt_extension_prefix(val_t p0
){
173 struct {struct stack_frame_t me
;} fra
;
176 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
177 fra
.me
.file
= LOCATE_nitc
;
179 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_extension_prefix
;
180 fra
.me
.has_broke
= 0;
182 fra
.me
.nitni_local_ref_head
= NULL
;
183 fra
.me
.REG
[0] = NIT_NULL
;
186 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0])!=NIT_NULL
);
187 if (UNTAG_Bool(REGB0
)) {
189 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc
, 40);
191 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0]);
192 stack_frame_head
= fra
.me
.prev
;
193 return fra
.me
.REG
[0];
195 static const char LOCATE_nitc___NitCompiler___opt_output_format
[] = "nitc::NitCompiler::opt_output_format";
196 val_t
nitc___NitCompiler___opt_output_format(val_t p0
){
197 struct {struct stack_frame_t me
;} fra
;
200 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
201 fra
.me
.file
= LOCATE_nitc
;
203 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output_format
;
204 fra
.me
.has_broke
= 0;
206 fra
.me
.nitni_local_ref_head
= NULL
;
207 fra
.me
.REG
[0] = NIT_NULL
;
210 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0])!=NIT_NULL
);
211 if (UNTAG_Bool(REGB0
)) {
213 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc
, 41);
215 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0]);
216 stack_frame_head
= fra
.me
.prev
;
217 return fra
.me
.REG
[0];
219 static const char LOCATE_nitc___NitCompiler___init
[] = "nitc::NitCompiler::init";
220 void nitc___NitCompiler___init(val_t p0
, int* init_table
){
221 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_nitc___NitCompiler
].i
;
222 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
225 static val_t once_value_1
; /* Once value */
226 if (init_table
[itpos0
]) return;
227 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
228 fra
.me
.file
= LOCATE_nitc
;
230 fra
.me
.meth
= LOCATE_nitc___NitCompiler___init
;
231 fra
.me
.has_broke
= 0;
233 fra
.me
.nitni_local_ref_head
= NULL
;
234 fra
.me
.REG
[0] = NIT_NULL
;
235 fra
.me
.REG
[1] = NIT_NULL
;
236 fra
.me
.REG
[2] = NIT_NULL
;
237 fra
.me
.REG
[3] = NIT_NULL
;
240 fra
.me
.REG
[1] = fra
.me
.REG
[0];
243 fra
.me
.REG
[2] = BOX_NativeString("nitc");
245 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
246 once_value_1
= fra
.me
.REG
[2];
247 register_static_object(&once_value_1
);
248 } else fra
.me
.REG
[2] = once_value_1
;
249 fra
.me
.REG
[2] = fra
.me
.REG
[2];
250 CALL_abstracttool___AbstractCompiler___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], init_table
);
252 fra
.me
.REG
[2] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
254 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
255 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
256 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
257 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
258 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
259 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
260 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
261 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
262 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
263 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
264 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
265 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
266 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
267 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
268 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
269 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
270 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
271 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
272 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
273 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
274 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
275 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
276 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
277 fra
.me
.REG
[1] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
278 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[1]);
279 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
280 stack_frame_head
= fra
.me
.prev
;
281 init_table
[itpos0
] = 1;
284 static const char LOCATE_nitc___NitCompiler___process_options
[] = "nitc::NitCompiler::(toolcontext::ToolContext::process_options)";
285 void nitc___NitCompiler___process_options(val_t p0
){
286 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
290 static val_t once_value_1
; /* Once value */
291 static val_t once_value_2
; /* Once value */
292 static val_t once_value_3
; /* Once value */
293 static val_t once_value_4
; /* Once value */
294 static val_t once_value_5
; /* Once value */
295 static val_t once_value_6
; /* Once value */
296 static val_t once_value_7
; /* Once value */
297 static val_t once_value_8
; /* Once value */
298 static val_t once_value_9
; /* Once value */
299 static val_t once_value_10
; /* Once value */
300 static val_t once_value_11
; /* Once value */
301 static val_t once_value_12
; /* Once value */
302 static val_t once_value_13
; /* Once value */
303 static val_t once_value_14
; /* Once value */
304 static val_t once_value_15
; /* Once value */
305 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
306 fra
.me
.file
= LOCATE_nitc
;
308 fra
.me
.meth
= LOCATE_nitc___NitCompiler___process_options
;
309 fra
.me
.has_broke
= 0;
311 fra
.me
.nitni_local_ref_head
= NULL
;
312 fra
.me
.REG
[0] = NIT_NULL
;
313 fra
.me
.REG
[1] = NIT_NULL
;
314 fra
.me
.REG
[2] = NIT_NULL
;
315 fra
.me
.REG
[3] = NIT_NULL
;
318 fra
.me
.REG
[1] = fra
.me
.REG
[0];
320 CALL_SUPER_nitc___NitCompiler___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
322 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
323 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
324 CALL_compiling___compiling_base___ToolContext___output_file__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
326 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
327 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
328 CALL_compiling___compiling_base___ToolContext___boost__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
330 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
331 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
332 CALL_compiling___compiling_base___ToolContext___no_cc__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
334 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
335 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
336 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
337 CALL_compiling___compiling_base___ToolContext___cc_link__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
339 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
340 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
341 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
342 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
344 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
345 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
346 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
347 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
349 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
350 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
351 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
352 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
354 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
355 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
357 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
358 if (UNTAG_Bool(REGB0
)) {
360 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
361 if (UNTAG_Bool(REGB1
)) {
365 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
369 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
370 if (UNTAG_Bool(REGB0
)) {
371 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
374 fra
.me
.REG
[2] = BOX_NativeString("");
376 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
377 once_value_1
= fra
.me
.REG
[2];
378 register_static_object(&once_value_1
);
379 } else fra
.me
.REG
[2] = once_value_1
;
380 fra
.me
.REG
[2] = fra
.me
.REG
[2];
381 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
384 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
385 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
386 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
388 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
389 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
390 if (UNTAG_Bool(REGB0
)) {
392 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
393 if (UNTAG_Bool(REGB1
)) {
397 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
401 if (UNTAG_Bool(REGB0
)) {
404 fra
.me
.REG
[2] = BOX_NativeString("NIT_COMPDIR");
406 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
407 once_value_2
= fra
.me
.REG
[2];
408 register_static_object(&once_value_2
);
409 } else fra
.me
.REG
[2] = once_value_2
;
410 fra
.me
.REG
[2] = fra
.me
.REG
[2];
411 fra
.me
.REG
[2] = CALL_standard___environ___String___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
413 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
414 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
415 if (UNTAG_Bool(REGB0
)) {
417 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
420 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
421 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
422 if (UNTAG_Bool(REGB0
)) {
424 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
425 if (UNTAG_Bool(REGB1
)) {
429 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
433 if (UNTAG_Bool(REGB0
)) {
436 fra
.me
.REG
[2] = BOX_NativeString(".nit_compile");
438 fra
.me
.REG
[2] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[2])(fra
.me
.REG
[2], REGB0
);
439 once_value_3
= fra
.me
.REG
[2];
440 register_static_object(&once_value_3
);
441 } else fra
.me
.REG
[2] = once_value_3
;
442 fra
.me
.REG
[2] = fra
.me
.REG
[2];
443 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
447 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
448 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
449 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
450 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
452 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
453 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
454 if (UNTAG_Bool(REGB0
)) {
455 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 72);
457 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
458 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
460 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
461 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
462 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
464 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
465 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
466 if (UNTAG_Bool(REGB0
)) {
468 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
469 if (UNTAG_Bool(REGB1
)) {
473 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
477 if (UNTAG_Bool(REGB0
)) {
480 fra
.me
.REG
[0] = BOX_NativeString("NIT_DIR");
482 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
483 once_value_4
= fra
.me
.REG
[0];
484 register_static_object(&once_value_4
);
485 } else fra
.me
.REG
[0] = once_value_4
;
486 fra
.me
.REG
[0] = fra
.me
.REG
[0];
487 fra
.me
.REG
[0] = CALL_standard___environ___String___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
489 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
490 if (UNTAG_Bool(REGB0
)) {
493 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
495 fra
.me
.REG
[3] = BOX_NativeString("");
497 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
498 once_value_5
= fra
.me
.REG
[3];
499 register_static_object(&once_value_5
);
500 } else fra
.me
.REG
[3] = once_value_5
;
501 fra
.me
.REG
[3] = fra
.me
.REG
[3];
502 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
503 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
504 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
505 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
506 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
508 fra
.me
.REG
[3] = BOX_NativeString("/../clib");
510 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
511 once_value_6
= fra
.me
.REG
[3];
512 register_static_object(&once_value_6
);
513 } else fra
.me
.REG
[3] = once_value_6
;
514 fra
.me
.REG
[3] = fra
.me
.REG
[3];
515 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
516 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
517 fra
.me
.REG
[0] = fra
.me
.REG
[2];
519 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
520 if (UNTAG_Bool(REGB0
)) {
521 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
526 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
528 fra
.me
.REG
[3] = BOX_NativeString("");
530 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
531 once_value_7
= fra
.me
.REG
[3];
532 register_static_object(&once_value_7
);
533 } else fra
.me
.REG
[3] = once_value_7
;
534 fra
.me
.REG
[3] = fra
.me
.REG
[3];
535 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
536 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
538 fra
.me
.REG
[3] = BOX_NativeString("/clib");
540 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
541 once_value_8
= fra
.me
.REG
[3];
542 register_static_object(&once_value_8
);
543 } else fra
.me
.REG
[3] = once_value_8
;
544 fra
.me
.REG
[3] = fra
.me
.REG
[3];
545 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
546 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
547 fra
.me
.REG
[0] = fra
.me
.REG
[2];
549 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
550 if (UNTAG_Bool(REGB0
)) {
551 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
555 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
556 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
557 if (UNTAG_Bool(REGB0
)) {
559 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
560 if (UNTAG_Bool(REGB1
)) {
564 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
568 if (UNTAG_Bool(REGB0
)) {
571 fra
.me
.REG
[0] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
573 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
574 once_value_9
= fra
.me
.REG
[0];
575 register_static_object(&once_value_9
);
576 } else fra
.me
.REG
[0] = once_value_9
;
577 fra
.me
.REG
[0] = fra
.me
.REG
[0];
578 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
582 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
583 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
584 if (UNTAG_Bool(REGB0
)) {
585 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 88);
587 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
588 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
590 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
591 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
592 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
594 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
596 if (UNTAG_Bool(REGB0
)) {
598 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
599 if (UNTAG_Bool(REGB1
)) {
603 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
607 if (UNTAG_Bool(REGB0
)) {
609 if (!once_value_10
) {
610 fra
.me
.REG
[0] = BOX_NativeString("NIT_DIR");
612 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
613 once_value_10
= fra
.me
.REG
[0];
614 register_static_object(&once_value_10
);
615 } else fra
.me
.REG
[0] = once_value_10
;
616 fra
.me
.REG
[0] = fra
.me
.REG
[0];
617 fra
.me
.REG
[0] = CALL_standard___environ___String___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
619 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
620 if (UNTAG_Bool(REGB0
)) {
623 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
624 if (!once_value_11
) {
625 fra
.me
.REG
[3] = BOX_NativeString("");
627 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
628 once_value_11
= fra
.me
.REG
[3];
629 register_static_object(&once_value_11
);
630 } else fra
.me
.REG
[3] = once_value_11
;
631 fra
.me
.REG
[3] = fra
.me
.REG
[3];
632 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
633 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
634 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
635 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
636 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
637 if (!once_value_12
) {
638 fra
.me
.REG
[3] = BOX_NativeString("/../bin");
640 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
641 once_value_12
= fra
.me
.REG
[3];
642 register_static_object(&once_value_12
);
643 } else fra
.me
.REG
[3] = once_value_12
;
644 fra
.me
.REG
[3] = fra
.me
.REG
[3];
645 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
646 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
647 fra
.me
.REG
[0] = fra
.me
.REG
[2];
649 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
650 if (UNTAG_Bool(REGB0
)) {
651 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
656 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
657 if (!once_value_13
) {
658 fra
.me
.REG
[3] = BOX_NativeString("");
660 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
661 once_value_13
= fra
.me
.REG
[3];
662 register_static_object(&once_value_13
);
663 } else fra
.me
.REG
[3] = once_value_13
;
664 fra
.me
.REG
[3] = fra
.me
.REG
[3];
665 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
666 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
667 if (!once_value_14
) {
668 fra
.me
.REG
[3] = BOX_NativeString("/bin");
670 fra
.me
.REG
[3] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[3])(fra
.me
.REG
[3], REGB0
);
671 once_value_14
= fra
.me
.REG
[3];
672 register_static_object(&once_value_14
);
673 } else fra
.me
.REG
[3] = once_value_14
;
674 fra
.me
.REG
[3] = fra
.me
.REG
[3];
675 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
676 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
677 fra
.me
.REG
[0] = fra
.me
.REG
[2];
679 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
680 if (UNTAG_Bool(REGB0
)) {
681 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
685 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
686 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
687 if (UNTAG_Bool(REGB0
)) {
689 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
690 if (UNTAG_Bool(REGB1
)) {
694 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
698 if (UNTAG_Bool(REGB0
)) {
700 if (!once_value_15
) {
701 fra
.me
.REG
[0] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
703 fra
.me
.REG
[0] = CALL_standard___string___NativeString___to_s_with_length(fra
.me
.REG
[0])(fra
.me
.REG
[0], REGB0
);
704 once_value_15
= fra
.me
.REG
[0];
705 register_static_object(&once_value_15
);
706 } else fra
.me
.REG
[0] = once_value_15
;
707 fra
.me
.REG
[0] = fra
.me
.REG
[0];
708 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
712 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
713 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
714 if (UNTAG_Bool(REGB0
)) {
715 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 104);
717 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
718 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
719 stack_frame_head
= fra
.me
.prev
;
722 static const char LOCATE_nitc___NitCompiler___perform_work
[] = "nitc::NitCompiler::(abstracttool::AbstractCompiler::perform_work)";
723 void nitc___NitCompiler___perform_work(val_t p0
, val_t p1
){
724 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
729 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
730 fra
.me
.file
= LOCATE_nitc
;
732 fra
.me
.meth
= LOCATE_nitc___NitCompiler___perform_work
;
733 fra
.me
.has_broke
= 0;
735 fra
.me
.nitni_local_ref_head
= NULL
;
736 fra
.me
.REG
[0] = NIT_NULL
;
737 fra
.me
.REG
[1] = NIT_NULL
;
738 fra
.me
.REG
[2] = NIT_NULL
;
739 fra
.me
.REG
[3] = NIT_NULL
;
740 fra
.me
.REG
[4] = NIT_NULL
;
743 /* ../lib/standard/collection/array.nit:270 */
745 /* ../lib/standard/collection/array.nit:271 */
746 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
747 if (UNTAG_Bool(REGB1
)) {
749 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 271);
751 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
752 /* ../lib/standard/collection/array.nit:272 */
753 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
754 /* ../lib/standard/collection/array.nit:273 */
756 /* ../lib/standard/collection/array.nit:24 */
757 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
758 if (UNTAG_Bool(REGB1
)) {
760 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
762 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
763 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
764 if (UNTAG_Bool(REGB2
)) {
766 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
768 /* ../lib/standard/kernel.nit:242 */
769 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
770 /* ../lib/standard/collection/array.nit:273 */
771 if (UNTAG_Bool(REGB1
)) {
772 /* ../lib/standard/collection/array.nit:274 */
773 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
774 if (UNTAG_Bool(REGB1
)) {
775 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 274);
777 /* ../lib/standard/collection/array.nit:725 */
778 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
780 fra
.me
.REG
[3] = NEW_Program_program___Program___init(fra
.me
.REG
[3], fra
.me
.REG
[0]);
782 fra
.me
.REG
[4] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
783 fra
.me
.REG
[4] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
784 CALL_compiling___Program___output_format__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
786 CALL_program___Program___compute_main_method(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
788 CALL_program___Program___generate_allocation_iroutines(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
790 REGB1
= CALL_program___ToolContext___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
791 if (UNTAG_Bool(REGB1
)) {
792 CALL_global___Program___do_global_analysis(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
795 CALL_compiling___table_computation___Program___do_table_computation(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
797 CALL_compiling___Program___compile_prog(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
798 /* ../lib/standard/collection/array.nit:275 */
800 /* ../lib/standard/kernel.nit:245 */
801 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
802 /* ../lib/standard/collection/array.nit:275 */
805 /* ../lib/standard/collection/array.nit:273 */
810 stack_frame_head
= fra
.me
.prev
;
813 static const char LOCATE_nitc___ToolContext___init
[] = "nitc::ToolContext::(toolcontext::ToolContext::init)";
814 void nitc___ToolContext___init(val_t p0
, int* init_table
){
815 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_toolcontext___ToolContext
].i
;
816 struct {struct stack_frame_t me
;} fra
;
818 if (init_table
[itpos1
]) return;
819 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
820 fra
.me
.file
= LOCATE_nitc
;
822 fra
.me
.meth
= LOCATE_nitc___ToolContext___init
;
823 fra
.me
.has_broke
= 0;
825 fra
.me
.nitni_local_ref_head
= NULL
;
826 fra
.me
.REG
[0] = NIT_NULL
;
829 CALL_SUPER_nitc___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
830 stack_frame_head
= fra
.me
.prev
;
831 init_table
[itpos1
] = 1;
834 static const char LOCATE_nitc___Sys___main
[] = "nitc::Sys::(kernel::Sys::main)";
835 void nitc___Sys___main(val_t p0
){
836 struct {struct stack_frame_t me
;} fra
;
838 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
839 fra
.me
.file
= LOCATE_nitc
;
841 fra
.me
.meth
= LOCATE_nitc___Sys___main
;
842 fra
.me
.has_broke
= 0;
844 fra
.me
.nitni_local_ref_head
= NULL
;
845 fra
.me
.REG
[0] = NIT_NULL
;
848 fra
.me
.REG
[0] = NEW_NitCompiler_nitc___NitCompiler___init();
850 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
851 stack_frame_head
= fra
.me
.prev
;