1 /* This C file is generated by NIT to compile module nitc. */
3 val_t
nitc___NitCompiler___opt_output(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_nitc
;
10 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output
;
13 fra
.me
.nitni_local_ref_head
= NULL
;
14 fra
.me
.REG
[0] = NIT_NULL
;
17 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0])!=NIT_NULL
);
18 if (UNTAG_Bool(REGB0
)) {
20 nit_abort("Uninitialized attribute %s", "_opt_output", LOCATE_nitc
, 32);
22 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output(fra
.me
.REG
[0]);
23 stack_frame_head
= fra
.me
.prev
;
26 val_t
nitc___NitCompiler___opt_boost(val_t p0
){
27 struct {struct stack_frame_t me
;} fra
;
30 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
31 fra
.me
.file
= LOCATE_nitc
;
33 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_boost
;
36 fra
.me
.nitni_local_ref_head
= NULL
;
37 fra
.me
.REG
[0] = NIT_NULL
;
40 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0])!=NIT_NULL
);
41 if (UNTAG_Bool(REGB0
)) {
43 nit_abort("Uninitialized attribute %s", "_opt_boost", LOCATE_nitc
, 33);
45 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_boost(fra
.me
.REG
[0]);
46 stack_frame_head
= fra
.me
.prev
;
49 val_t
nitc___NitCompiler___opt_no_cc(val_t p0
){
50 struct {struct stack_frame_t me
;} fra
;
53 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
54 fra
.me
.file
= LOCATE_nitc
;
56 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_no_cc
;
59 fra
.me
.nitni_local_ref_head
= NULL
;
60 fra
.me
.REG
[0] = NIT_NULL
;
63 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0])!=NIT_NULL
);
64 if (UNTAG_Bool(REGB0
)) {
66 nit_abort("Uninitialized attribute %s", "_opt_no_cc", LOCATE_nitc
, 34);
68 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_no_cc(fra
.me
.REG
[0]);
69 stack_frame_head
= fra
.me
.prev
;
72 val_t
nitc___NitCompiler___opt_cc_no_link(val_t p0
){
73 struct {struct stack_frame_t me
;} fra
;
76 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
77 fra
.me
.file
= LOCATE_nitc
;
79 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_cc_no_link
;
82 fra
.me
.nitni_local_ref_head
= NULL
;
83 fra
.me
.REG
[0] = NIT_NULL
;
86 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0])!=NIT_NULL
);
87 if (UNTAG_Bool(REGB0
)) {
89 nit_abort("Uninitialized attribute %s", "_opt_cc_no_link", LOCATE_nitc
, 35);
91 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_cc_no_link(fra
.me
.REG
[0]);
92 stack_frame_head
= fra
.me
.prev
;
95 val_t
nitc___NitCompiler___opt_clibdir(val_t p0
){
96 struct {struct stack_frame_t me
;} fra
;
99 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
100 fra
.me
.file
= LOCATE_nitc
;
102 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_clibdir
;
103 fra
.me
.has_broke
= 0;
105 fra
.me
.nitni_local_ref_head
= NULL
;
106 fra
.me
.REG
[0] = NIT_NULL
;
109 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0])!=NIT_NULL
);
110 if (UNTAG_Bool(REGB0
)) {
112 nit_abort("Uninitialized attribute %s", "_opt_clibdir", LOCATE_nitc
, 36);
114 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_clibdir(fra
.me
.REG
[0]);
115 stack_frame_head
= fra
.me
.prev
;
116 return fra
.me
.REG
[0];
118 val_t
nitc___NitCompiler___opt_bindir(val_t p0
){
119 struct {struct stack_frame_t me
;} fra
;
122 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
123 fra
.me
.file
= LOCATE_nitc
;
125 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_bindir
;
126 fra
.me
.has_broke
= 0;
128 fra
.me
.nitni_local_ref_head
= NULL
;
129 fra
.me
.REG
[0] = NIT_NULL
;
132 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0])!=NIT_NULL
);
133 if (UNTAG_Bool(REGB0
)) {
135 nit_abort("Uninitialized attribute %s", "_opt_bindir", LOCATE_nitc
, 37);
137 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_bindir(fra
.me
.REG
[0]);
138 stack_frame_head
= fra
.me
.prev
;
139 return fra
.me
.REG
[0];
141 val_t
nitc___NitCompiler___opt_compdir(val_t p0
){
142 struct {struct stack_frame_t me
;} fra
;
145 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
146 fra
.me
.file
= LOCATE_nitc
;
148 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_compdir
;
149 fra
.me
.has_broke
= 0;
151 fra
.me
.nitni_local_ref_head
= NULL
;
152 fra
.me
.REG
[0] = NIT_NULL
;
155 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0])!=NIT_NULL
);
156 if (UNTAG_Bool(REGB0
)) {
158 nit_abort("Uninitialized attribute %s", "_opt_compdir", LOCATE_nitc
, 38);
160 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_compdir(fra
.me
.REG
[0]);
161 stack_frame_head
= fra
.me
.prev
;
162 return fra
.me
.REG
[0];
164 val_t
nitc___NitCompiler___opt_extension_prefix(val_t p0
){
165 struct {struct stack_frame_t me
;} fra
;
168 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
169 fra
.me
.file
= LOCATE_nitc
;
171 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_extension_prefix
;
172 fra
.me
.has_broke
= 0;
174 fra
.me
.nitni_local_ref_head
= NULL
;
175 fra
.me
.REG
[0] = NIT_NULL
;
178 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0])!=NIT_NULL
);
179 if (UNTAG_Bool(REGB0
)) {
181 nit_abort("Uninitialized attribute %s", "_opt_extension_prefix", LOCATE_nitc
, 39);
183 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_extension_prefix(fra
.me
.REG
[0]);
184 stack_frame_head
= fra
.me
.prev
;
185 return fra
.me
.REG
[0];
187 val_t
nitc___NitCompiler___opt_output_format(val_t p0
){
188 struct {struct stack_frame_t me
;} fra
;
191 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
192 fra
.me
.file
= LOCATE_nitc
;
194 fra
.me
.meth
= LOCATE_nitc___NitCompiler___opt_output_format
;
195 fra
.me
.has_broke
= 0;
197 fra
.me
.nitni_local_ref_head
= NULL
;
198 fra
.me
.REG
[0] = NIT_NULL
;
201 REGB0
= TAG_Bool(ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0])!=NIT_NULL
);
202 if (UNTAG_Bool(REGB0
)) {
204 nit_abort("Uninitialized attribute %s", "_opt_output_format", LOCATE_nitc
, 40);
206 fra
.me
.REG
[0] = ATTR_nitc___NitCompiler____opt_output_format(fra
.me
.REG
[0]);
207 stack_frame_head
= fra
.me
.prev
;
208 return fra
.me
.REG
[0];
210 void nitc___NitCompiler___init(val_t p0
, int* init_table
){
211 int itpos0
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_nitc___NitCompiler
].i
;
212 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
215 static val_t once_value_1
; /* Once value */
216 if (init_table
[itpos0
]) return;
217 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
218 fra
.me
.file
= LOCATE_nitc
;
220 fra
.me
.meth
= LOCATE_nitc___NitCompiler___init
;
221 fra
.me
.has_broke
= 0;
223 fra
.me
.nitni_local_ref_head
= NULL
;
224 fra
.me
.REG
[0] = NIT_NULL
;
225 fra
.me
.REG
[1] = NIT_NULL
;
226 fra
.me
.REG
[2] = NIT_NULL
;
227 fra
.me
.REG
[3] = NIT_NULL
;
230 fra
.me
.REG
[1] = fra
.me
.REG
[0];
233 fra
.me
.REG
[2] = BOX_NativeString("nitc");
235 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
236 once_value_1
= fra
.me
.REG
[2];
237 register_static_object(&once_value_1
);
238 } else fra
.me
.REG
[2] = once_value_1
;
239 fra
.me
.REG
[2] = fra
.me
.REG
[2];
240 CALL_abstracttool___AbstractCompiler___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2], init_table
);
242 fra
.me
.REG
[2] = CALL_toolcontext___ToolContext___option_context(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
244 fra
.me
.REG
[0] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
245 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
246 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
247 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
248 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
249 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_no_cc(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
250 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
251 fra
.me
.REG
[3] = CALL_nitc___NitCompiler___opt_cc_no_link(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
252 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
253 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
254 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[3]);
255 fra
.me
.REG
[3] = CALL_separate_options___ToolContext___opt_cc_lib_paths(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_separate_options___ToolContext___opt_cc_include_paths(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_clibdir(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_bindir(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_nitc___NitCompiler___opt_compdir(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_nitc___NitCompiler___opt_extension_prefix(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
[1] = CALL_nitc___NitCompiler___opt_output_format(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
[1]);
269 CALL_opts___OptionContext___add_option(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
270 stack_frame_head
= fra
.me
.prev
;
271 init_table
[itpos0
] = 1;
274 void nitc___NitCompiler___process_options(val_t p0
){
275 struct {struct stack_frame_t me
; val_t MORE_REG
[3];} fra
;
279 static val_t once_value_1
; /* Once value */
280 static val_t once_value_2
; /* Once value */
281 static val_t once_value_3
; /* Once value */
282 static val_t once_value_4
; /* Once value */
283 static val_t once_value_5
; /* Once value */
284 static val_t once_value_6
; /* Once value */
285 static val_t once_value_7
; /* Once value */
286 static val_t once_value_8
; /* Once value */
287 static val_t once_value_9
; /* Once value */
288 static val_t once_value_10
; /* Once value */
289 static val_t once_value_11
; /* Once value */
290 static val_t once_value_12
; /* Once value */
291 static val_t once_value_13
; /* Once value */
292 static val_t once_value_14
; /* Once value */
293 static val_t once_value_15
; /* Once value */
294 static val_t once_value_16
; /* Once value */
295 static val_t once_value_17
; /* Once value */
296 static val_t once_value_18
; /* Once value */
297 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
298 fra
.me
.file
= LOCATE_nitc
;
300 fra
.me
.meth
= LOCATE_nitc___NitCompiler___process_options
;
301 fra
.me
.has_broke
= 0;
303 fra
.me
.nitni_local_ref_head
= NULL
;
304 fra
.me
.REG
[0] = NIT_NULL
;
305 fra
.me
.REG
[1] = NIT_NULL
;
306 fra
.me
.REG
[2] = NIT_NULL
;
307 fra
.me
.REG
[3] = NIT_NULL
;
310 fra
.me
.REG
[1] = fra
.me
.REG
[0];
312 CALL_SUPER_nitc___NitCompiler___process_options(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
314 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_output(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
315 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
316 CALL_compiling___compiling_base___ToolContext___output_file__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
318 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_boost(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
319 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
320 CALL_compiling___compiling_base___ToolContext___boost__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
322 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_no_cc(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___no_cc__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
326 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_cc_no_link(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 REGB0
= TAG_Bool(!UNTAG_Bool(fra
.me
.REG
[0]));
329 CALL_compiling___compiling_base___ToolContext___cc_link__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], REGB0
);
331 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
332 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_lib_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
333 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
334 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
336 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
337 fra
.me
.REG
[0] = CALL_separate_options___ToolContext___opt_cc_libs(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
338 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
339 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
341 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
342 fra
.me
.REG
[2] = CALL_separate_options___ToolContext___opt_cc_include_paths(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
343 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
344 CALL_standard___collection___abstract_collection___SimpleCollection___add_all(fra
.me
.REG
[0])(fra
.me
.REG
[0], fra
.me
.REG
[2]);
346 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_extension_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
347 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
349 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
350 if (UNTAG_Bool(REGB0
)) {
352 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
353 if (UNTAG_Bool(REGB1
)) {
354 REGB1
= TAG_Bool(false);
357 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
361 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
362 if (UNTAG_Bool(REGB0
)) {
363 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
366 fra
.me
.REG
[2] = BOX_NativeString("");
368 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
369 once_value_1
= fra
.me
.REG
[2];
370 register_static_object(&once_value_1
);
371 } else fra
.me
.REG
[2] = once_value_1
;
372 fra
.me
.REG
[2] = fra
.me
.REG
[2];
373 CALL_compiling___compiling_base___ToolContext___ext_prefix__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
376 fra
.me
.REG
[2] = CALL_nitc___NitCompiler___opt_compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
377 fra
.me
.REG
[2] = CALL_opts___Option___value(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
378 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
380 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
381 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
382 if (UNTAG_Bool(REGB0
)) {
384 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
385 if (UNTAG_Bool(REGB1
)) {
386 REGB1
= TAG_Bool(false);
389 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
393 if (UNTAG_Bool(REGB0
)) {
397 fra
.me
.REG
[2] = BOX_NativeString("NIT_COMPDIR");
399 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
400 once_value_3
= fra
.me
.REG
[2];
401 register_static_object(&once_value_3
);
402 } else fra
.me
.REG
[2] = once_value_3
;
403 fra
.me
.REG
[2] = fra
.me
.REG
[2];
404 fra
.me
.REG
[2] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
405 fra
.me
.REG
[2] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
406 once_value_2
= fra
.me
.REG
[2];
407 register_static_object(&once_value_2
);
408 } else fra
.me
.REG
[2] = once_value_2
;
409 fra
.me
.REG
[2] = fra
.me
.REG
[2];
411 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
412 REGB0
= TAG_Bool(!UNTAG_Bool(REGB0
));
413 if (UNTAG_Bool(REGB0
)) {
415 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
418 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
419 REGB0
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
420 if (UNTAG_Bool(REGB0
)) {
422 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
423 if (UNTAG_Bool(REGB1
)) {
424 REGB1
= TAG_Bool(false);
427 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[2])(fra
.me
.REG
[2], NIT_NULL
);
431 if (UNTAG_Bool(REGB0
)) {
434 fra
.me
.REG
[2] = BOX_NativeString(".nit_compile");
436 fra
.me
.REG
[2] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[2], REGB0
);
437 once_value_4
= fra
.me
.REG
[2];
438 register_static_object(&once_value_4
);
439 } else fra
.me
.REG
[2] = once_value_4
;
440 fra
.me
.REG
[2] = fra
.me
.REG
[2];
441 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[2]);
445 fra
.me
.REG
[2] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
446 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___ext_prefix(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
447 fra
.me
.REG
[0] = CALL_standard___string___String_____plus(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
448 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
450 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___compdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
451 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
452 if (UNTAG_Bool(REGB0
)) {
453 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 71);
455 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
456 CALL_compiling___compiling_base___ToolContext___compdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
458 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
459 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
460 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
462 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
463 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
464 if (UNTAG_Bool(REGB0
)) {
466 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
467 if (UNTAG_Bool(REGB1
)) {
468 REGB1
= TAG_Bool(false);
471 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
475 if (UNTAG_Bool(REGB0
)) {
479 fra
.me
.REG
[0] = BOX_NativeString("NIT_DIR");
481 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
482 once_value_6
= fra
.me
.REG
[0];
483 register_static_object(&once_value_6
);
484 } else fra
.me
.REG
[0] = once_value_6
;
485 fra
.me
.REG
[0] = fra
.me
.REG
[0];
486 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
487 fra
.me
.REG
[0] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
488 once_value_5
= fra
.me
.REG
[0];
489 register_static_object(&once_value_5
);
490 } else fra
.me
.REG
[0] = once_value_5
;
491 fra
.me
.REG
[0] = fra
.me
.REG
[0];
493 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
494 if (UNTAG_Bool(REGB0
)) {
497 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
499 fra
.me
.REG
[3] = BOX_NativeString("");
501 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
502 once_value_7
= fra
.me
.REG
[3];
503 register_static_object(&once_value_7
);
504 } else fra
.me
.REG
[3] = once_value_7
;
505 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]);
507 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
508 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
509 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
510 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
512 fra
.me
.REG
[3] = BOX_NativeString("/../clib");
514 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
515 once_value_8
= fra
.me
.REG
[3];
516 register_static_object(&once_value_8
);
517 } else fra
.me
.REG
[3] = once_value_8
;
518 fra
.me
.REG
[3] = fra
.me
.REG
[3];
519 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
520 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
521 fra
.me
.REG
[0] = fra
.me
.REG
[2];
523 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
524 if (UNTAG_Bool(REGB0
)) {
525 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
530 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
532 fra
.me
.REG
[3] = BOX_NativeString("");
534 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
535 once_value_9
= fra
.me
.REG
[3];
536 register_static_object(&once_value_9
);
537 } else fra
.me
.REG
[3] = once_value_9
;
538 fra
.me
.REG
[3] = fra
.me
.REG
[3];
539 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
540 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
541 if (!once_value_10
) {
542 fra
.me
.REG
[3] = BOX_NativeString("/clib");
544 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
545 once_value_10
= fra
.me
.REG
[3];
546 register_static_object(&once_value_10
);
547 } else fra
.me
.REG
[3] = once_value_10
;
548 fra
.me
.REG
[3] = fra
.me
.REG
[3];
549 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
550 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
551 fra
.me
.REG
[0] = fra
.me
.REG
[2];
553 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
554 if (UNTAG_Bool(REGB0
)) {
555 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
559 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
560 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
561 if (UNTAG_Bool(REGB0
)) {
563 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
564 if (UNTAG_Bool(REGB1
)) {
565 REGB1
= TAG_Bool(false);
568 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
572 if (UNTAG_Bool(REGB0
)) {
574 if (!once_value_11
) {
575 fra
.me
.REG
[0] = BOX_NativeString("Error: Cannot locate NIT C library directory. Uses --clibdir or envvar NIT_DIR.");
577 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
578 once_value_11
= fra
.me
.REG
[0];
579 register_static_object(&once_value_11
);
580 } else fra
.me
.REG
[0] = once_value_11
;
581 fra
.me
.REG
[0] = fra
.me
.REG
[0];
582 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
586 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___clibdir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
587 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
588 if (UNTAG_Bool(REGB0
)) {
589 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 87);
591 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
592 CALL_compiling___compiling_base___ToolContext___clibdir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
594 fra
.me
.REG
[0] = CALL_nitc___NitCompiler___opt_bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
595 fra
.me
.REG
[0] = CALL_opts___Option___value(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
596 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
598 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
599 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
600 if (UNTAG_Bool(REGB0
)) {
602 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
603 if (UNTAG_Bool(REGB1
)) {
604 REGB1
= TAG_Bool(false);
607 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
611 if (UNTAG_Bool(REGB0
)) {
613 if (!once_value_12
) {
614 if (!once_value_13
) {
615 fra
.me
.REG
[0] = BOX_NativeString("NIT_DIR");
617 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
618 once_value_13
= fra
.me
.REG
[0];
619 register_static_object(&once_value_13
);
620 } else fra
.me
.REG
[0] = once_value_13
;
621 fra
.me
.REG
[0] = fra
.me
.REG
[0];
622 fra
.me
.REG
[0] = CALL_standard___symbol___String___to_symbol(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
623 fra
.me
.REG
[0] = CALL_standard___environ___Symbol___environ(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
624 once_value_12
= fra
.me
.REG
[0];
625 register_static_object(&once_value_12
);
626 } else fra
.me
.REG
[0] = once_value_12
;
627 fra
.me
.REG
[0] = fra
.me
.REG
[0];
629 REGB0
= CALL_standard___collection___abstract_collection___Collection___is_empty(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
630 if (UNTAG_Bool(REGB0
)) {
633 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
634 if (!once_value_14
) {
635 fra
.me
.REG
[3] = BOX_NativeString("");
637 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
638 once_value_14
= fra
.me
.REG
[3];
639 register_static_object(&once_value_14
);
640 } else fra
.me
.REG
[3] = once_value_14
;
641 fra
.me
.REG
[3] = fra
.me
.REG
[3];
642 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
643 fra
.me
.REG
[3] = CALL_standard___kernel___Object___sys(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
644 fra
.me
.REG
[3] = CALL_standard___string___Sys___program_name(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
645 fra
.me
.REG
[3] = CALL_standard___file___String___dirname(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
646 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
647 if (!once_value_15
) {
648 fra
.me
.REG
[3] = BOX_NativeString("/../bin");
650 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
651 once_value_15
= fra
.me
.REG
[3];
652 register_static_object(&once_value_15
);
653 } else fra
.me
.REG
[3] = once_value_15
;
654 fra
.me
.REG
[3] = fra
.me
.REG
[3];
655 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
656 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
657 fra
.me
.REG
[0] = fra
.me
.REG
[2];
659 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
660 if (UNTAG_Bool(REGB0
)) {
661 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
666 fra
.me
.REG
[2] = NEW_Array_standard___collection___array___Array___with_capacity(REGB0
);
667 if (!once_value_16
) {
668 fra
.me
.REG
[3] = BOX_NativeString("");
670 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
671 once_value_16
= fra
.me
.REG
[3];
672 register_static_object(&once_value_16
);
673 } else fra
.me
.REG
[3] = once_value_16
;
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 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[0]);
677 if (!once_value_17
) {
678 fra
.me
.REG
[3] = BOX_NativeString("/bin");
680 fra
.me
.REG
[3] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[3], REGB0
);
681 once_value_17
= fra
.me
.REG
[3];
682 register_static_object(&once_value_17
);
683 } else fra
.me
.REG
[3] = once_value_17
;
684 fra
.me
.REG
[3] = fra
.me
.REG
[3];
685 CALL_standard___collection___abstract_collection___SimpleCollection___add(fra
.me
.REG
[2])(fra
.me
.REG
[2], fra
.me
.REG
[3]);
686 fra
.me
.REG
[2] = CALL_standard___string___Object___to_s(fra
.me
.REG
[2])(fra
.me
.REG
[2]);
687 fra
.me
.REG
[0] = fra
.me
.REG
[2];
689 REGB0
= CALL_standard___file___String___file_exists(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
690 if (UNTAG_Bool(REGB0
)) {
691 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
695 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
696 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
697 if (UNTAG_Bool(REGB0
)) {
699 REGB1
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
700 if (UNTAG_Bool(REGB1
)) {
701 REGB1
= TAG_Bool(false);
704 REGB1
= CALL_standard___kernel___Object_____eqeq(fra
.me
.REG
[0])(fra
.me
.REG
[0], NIT_NULL
);
708 if (UNTAG_Bool(REGB0
)) {
710 if (!once_value_18
) {
711 fra
.me
.REG
[0] = BOX_NativeString("Error: Cannot locate NIT tools directory. Uses --bindir or envvar NIT_DIR.");
713 fra
.me
.REG
[0] = NEW_String_standard___string___String___with_native(fra
.me
.REG
[0], REGB0
);
714 once_value_18
= fra
.me
.REG
[0];
715 register_static_object(&once_value_18
);
716 } else fra
.me
.REG
[0] = once_value_18
;
717 fra
.me
.REG
[0] = fra
.me
.REG
[0];
718 CALL_toolcontext___ToolContext___fatal_error(fra
.me
.REG
[1])(fra
.me
.REG
[1], NIT_NULL
, fra
.me
.REG
[0]);
722 fra
.me
.REG
[0] = CALL_compiling___compiling_base___ToolContext___bindir(fra
.me
.REG
[1])(fra
.me
.REG
[1]);
723 REGB0
= TAG_Bool(fra
.me
.REG
[0]==NIT_NULL
);
724 if (UNTAG_Bool(REGB0
)) {
725 nit_abort("Reciever is null", NULL
, LOCATE_nitc
, 103);
727 fra
.me
.REG
[0] = CALL_standard___file___String___simplify_path(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
728 CALL_compiling___compiling_base___ToolContext___bindir__eq(fra
.me
.REG
[1])(fra
.me
.REG
[1], fra
.me
.REG
[0]);
729 stack_frame_head
= fra
.me
.prev
;
732 void nitc___NitCompiler___perform_work(val_t p0
, val_t p1
){
733 struct {struct stack_frame_t me
; val_t MORE_REG
[4];} fra
;
738 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
739 fra
.me
.file
= LOCATE_nitc
;
741 fra
.me
.meth
= LOCATE_nitc___NitCompiler___perform_work
;
742 fra
.me
.has_broke
= 0;
744 fra
.me
.nitni_local_ref_head
= NULL
;
745 fra
.me
.REG
[0] = NIT_NULL
;
746 fra
.me
.REG
[1] = NIT_NULL
;
747 fra
.me
.REG
[2] = NIT_NULL
;
748 fra
.me
.REG
[3] = NIT_NULL
;
749 fra
.me
.REG
[4] = NIT_NULL
;
752 /* ../lib/standard/collection/array.nit:269 */
754 /* ../lib/standard/collection/array.nit:270 */
755 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
756 if (UNTAG_Bool(REGB1
)) {
758 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 270);
760 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
761 /* ../lib/standard/collection/array.nit:271 */
762 fra
.me
.REG
[2] = ATTR_standard___collection___array___Array____items(fra
.me
.REG
[1]);
763 /* ../lib/standard/collection/array.nit:272 */
765 /* ../lib/standard/collection/array.nit:24 */
766 REGB1
= TAG_Bool(ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1])!=NIT_NULL
);
767 if (UNTAG_Bool(REGB1
)) {
769 nit_abort("Uninitialized attribute %s", "_length", LOCATE_standard___collection___array
, 24);
771 REGB1
= ATTR_standard___collection___array___AbstractArrayRead____length(fra
.me
.REG
[1]);
772 REGB2
= TAG_Bool(VAL_ISA(REGB1
, VTCOLOR_standard___kernel___Comparable___OTHER(REGB0
), VTID_standard___kernel___Comparable___OTHER(REGB0
))) /*cast OTHER*/;
773 if (UNTAG_Bool(REGB2
)) {
775 nit_abort("Cast failed", NULL
, LOCATE_standard___kernel
, 0);
777 /* ../lib/standard/kernel.nit:232 */
778 REGB1
= TAG_Bool(UNTAG_Int(REGB0
)<UNTAG_Int(REGB1
));
779 /* ../lib/standard/collection/array.nit:272 */
780 if (UNTAG_Bool(REGB1
)) {
781 /* ../lib/standard/collection/array.nit:273 */
782 REGB1
= TAG_Bool(fra
.me
.REG
[2]==NIT_NULL
);
783 if (UNTAG_Bool(REGB1
)) {
784 nit_abort("Reciever is null", NULL
, LOCATE_standard___collection___array
, 273);
786 /* ../lib/standard/collection/array.nit:718 */
787 fra
.me
.REG
[3] = ((Nit_NativeArray
)fra
.me
.REG
[2])->val
[UNTAG_Int(REGB0
)];
789 fra
.me
.REG
[3] = NEW_Program_program___Program___init(fra
.me
.REG
[3], fra
.me
.REG
[0]);
791 fra
.me
.REG
[4] = CALL_nitc___NitCompiler___opt_output_format(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
792 fra
.me
.REG
[4] = CALL_opts___OptionEnum___value_name(fra
.me
.REG
[4])(fra
.me
.REG
[4]);
793 CALL_compiling___Program___output_format__eq(fra
.me
.REG
[3])(fra
.me
.REG
[3], fra
.me
.REG
[4]);
795 CALL_program___Program___compute_main_method(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
797 CALL_program___Program___generate_allocation_iroutines(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
799 REGB1
= CALL_program___ToolContext___global(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
800 if (UNTAG_Bool(REGB1
)) {
801 CALL_global___Program___do_global_analysis(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
804 CALL_compiling___table_computation___Program___do_table_computation(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
806 CALL_compiling___Program___compile_prog(fra
.me
.REG
[3])(fra
.me
.REG
[3]);
807 /* ../lib/standard/collection/array.nit:274 */
809 /* ../lib/standard/kernel.nit:235 */
810 REGB1
= TAG_Int(UNTAG_Int(REGB0
)+UNTAG_Int(REGB1
));
811 /* ../lib/standard/collection/array.nit:274 */
814 /* ../lib/standard/collection/array.nit:272 */
819 stack_frame_head
= fra
.me
.prev
;
822 void nitc___ToolContext___init(val_t p0
, int* init_table
){
823 int itpos1
= VAL2OBJ(p0
)->vft
[INIT_TABLE_POS_toolcontext___ToolContext
].i
;
824 struct {struct stack_frame_t me
;} fra
;
826 if (init_table
[itpos1
]) return;
827 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
828 fra
.me
.file
= LOCATE_nitc
;
830 fra
.me
.meth
= LOCATE_nitc___ToolContext___init
;
831 fra
.me
.has_broke
= 0;
833 fra
.me
.nitni_local_ref_head
= NULL
;
834 fra
.me
.REG
[0] = NIT_NULL
;
837 CALL_SUPER_nitc___ToolContext___init(fra
.me
.REG
[0])(fra
.me
.REG
[0], init_table
);
838 stack_frame_head
= fra
.me
.prev
;
839 init_table
[itpos1
] = 1;
842 void nitc___Sys___main(val_t p0
){
843 struct {struct stack_frame_t me
;} fra
;
845 fra
.me
.prev
= stack_frame_head
; stack_frame_head
= &fra
.me
;
846 fra
.me
.file
= LOCATE_nitc
;
848 fra
.me
.meth
= LOCATE_nitc___Sys___main
;
849 fra
.me
.has_broke
= 0;
851 fra
.me
.nitni_local_ref_head
= NULL
;
852 fra
.me
.REG
[0] = NIT_NULL
;
855 fra
.me
.REG
[0] = NEW_NitCompiler_nitc___NitCompiler___init();
857 CALL_abstracttool___AbstractCompiler___exec_cmd_line(fra
.me
.REG
[0])(fra
.me
.REG
[0]);
858 stack_frame_head
= fra
.me
.prev
;