1 #include "nitc__abstract_compiler.sep.0.h"
2 /* method abstract_compiler$ToolContext$opt_output for (self: ToolContext): OptionString */
3 val
* nitc__abstract_compiler___ToolContext___opt_output(val
* self
) {
4 val
* var
/* : OptionString */;
5 val
* var1
/* : OptionString */;
6 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
7 if (unlikely(var1
== NULL
)) {
8 if(catchStack
.cursor
>= 0){
9 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
11 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
12 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
19 /* method abstract_compiler$ToolContext$opt_dir for (self: ToolContext): OptionString */
20 val
* nitc__abstract_compiler___ToolContext___opt_dir(val
* self
) {
21 val
* var
/* : OptionString */;
22 val
* var1
/* : OptionString */;
23 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
24 if (unlikely(var1
== NULL
)) {
25 if(catchStack
.cursor
>= 0){
26 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
28 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
29 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
36 /* method abstract_compiler$ToolContext$opt_no_cc for (self: ToolContext): OptionBool */
37 val
* nitc__abstract_compiler___ToolContext___opt_no_cc(val
* self
) {
38 val
* var
/* : OptionBool */;
39 val
* var1
/* : OptionBool */;
40 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
41 if (unlikely(var1
== NULL
)) {
42 if(catchStack
.cursor
>= 0){
43 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
45 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
46 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
53 /* method abstract_compiler$ToolContext$opt_no_main for (self: ToolContext): OptionBool */
54 val
* nitc__abstract_compiler___ToolContext___opt_no_main(val
* self
) {
55 val
* var
/* : OptionBool */;
56 val
* var1
/* : OptionBool */;
57 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
58 if (unlikely(var1
== NULL
)) {
59 if(catchStack
.cursor
>= 0){
60 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
62 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
63 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
70 /* method abstract_compiler$ToolContext$opt_make_flags for (self: ToolContext): OptionString */
71 val
* nitc__abstract_compiler___ToolContext___opt_make_flags(val
* self
) {
72 val
* var
/* : OptionString */;
73 val
* var1
/* : OptionString */;
74 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
75 if (unlikely(var1
== NULL
)) {
76 if(catchStack
.cursor
>= 0){
77 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
79 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
80 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
87 /* method abstract_compiler$ToolContext$opt_max_c_lines for (self: ToolContext): OptionInt */
88 val
* nitc__abstract_compiler___ToolContext___opt_max_c_lines(val
* self
) {
89 val
* var
/* : OptionInt */;
90 val
* var1
/* : OptionInt */;
91 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
92 if (unlikely(var1
== NULL
)) {
93 if(catchStack
.cursor
>= 0){
94 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
96 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
97 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
104 /* method abstract_compiler$ToolContext$opt_group_c_files for (self: ToolContext): OptionBool */
105 val
* nitc__abstract_compiler___ToolContext___opt_group_c_files(val
* self
) {
106 val
* var
/* : OptionBool */;
107 val
* var1
/* : OptionBool */;
108 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
109 if (unlikely(var1
== NULL
)) {
110 if(catchStack
.cursor
>= 0){
111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
121 /* method abstract_compiler$ToolContext$opt_compile_dir for (self: ToolContext): OptionString */
122 val
* nitc__abstract_compiler___ToolContext___opt_compile_dir(val
* self
) {
123 val
* var
/* : OptionString */;
124 val
* var1
/* : OptionString */;
125 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
126 if (unlikely(var1
== NULL
)) {
127 if(catchStack
.cursor
>= 0){
128 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
130 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
131 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
138 /* method abstract_compiler$ToolContext$opt_hardening for (self: ToolContext): OptionBool */
139 val
* nitc__abstract_compiler___ToolContext___opt_hardening(val
* self
) {
140 val
* var
/* : OptionBool */;
141 val
* var1
/* : OptionBool */;
142 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
143 if (unlikely(var1
== NULL
)) {
144 if(catchStack
.cursor
>= 0){
145 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 46);
155 /* method abstract_compiler$ToolContext$opt_no_check_covariance for (self: ToolContext): OptionBool */
156 val
* nitc__abstract_compiler___ToolContext___opt_no_check_covariance(val
* self
) {
157 val
* var
/* : OptionBool */;
158 val
* var1
/* : OptionBool */;
159 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
160 if (unlikely(var1
== NULL
)) {
161 if(catchStack
.cursor
>= 0){
162 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
165 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
172 /* method abstract_compiler$ToolContext$opt_no_check_attr_isset for (self: ToolContext): OptionBool */
173 val
* nitc__abstract_compiler___ToolContext___opt_no_check_attr_isset(val
* self
) {
174 val
* var
/* : OptionBool */;
175 val
* var1
/* : OptionBool */;
176 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
177 if (unlikely(var1
== NULL
)) {
178 if(catchStack
.cursor
>= 0){
179 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
181 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
182 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
189 /* method abstract_compiler$ToolContext$opt_no_check_assert for (self: ToolContext): OptionBool */
190 val
* nitc__abstract_compiler___ToolContext___opt_no_check_assert(val
* self
) {
191 val
* var
/* : OptionBool */;
192 val
* var1
/* : OptionBool */;
193 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
194 if (unlikely(var1
== NULL
)) {
195 if(catchStack
.cursor
>= 0){
196 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
198 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
199 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
206 /* method abstract_compiler$ToolContext$opt_no_check_autocast for (self: ToolContext): OptionBool */
207 val
* nitc__abstract_compiler___ToolContext___opt_no_check_autocast(val
* self
) {
208 val
* var
/* : OptionBool */;
209 val
* var1
/* : OptionBool */;
210 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
211 if (unlikely(var1
== NULL
)) {
212 if(catchStack
.cursor
>= 0){
213 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
215 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
216 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
223 /* method abstract_compiler$ToolContext$opt_no_check_null for (self: ToolContext): OptionBool */
224 val
* nitc__abstract_compiler___ToolContext___opt_no_check_null(val
* self
) {
225 val
* var
/* : OptionBool */;
226 val
* var1
/* : OptionBool */;
227 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
228 if (unlikely(var1
== NULL
)) {
229 if(catchStack
.cursor
>= 0){
230 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
233 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
240 /* method abstract_compiler$ToolContext$opt_no_check_all for (self: ToolContext): OptionBool */
241 val
* nitc__abstract_compiler___ToolContext___opt_no_check_all(val
* self
) {
242 val
* var
/* : OptionBool */;
243 val
* var1
/* : OptionBool */;
244 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
245 if (unlikely(var1
== NULL
)) {
246 if(catchStack
.cursor
>= 0){
247 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
250 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
257 /* method abstract_compiler$ToolContext$opt_typing_test_metrics for (self: ToolContext): OptionBool */
258 val
* nitc__abstract_compiler___ToolContext___opt_typing_test_metrics(val
* self
) {
259 val
* var
/* : OptionBool */;
260 val
* var1
/* : OptionBool */;
261 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
262 if (unlikely(var1
== NULL
)) {
263 if(catchStack
.cursor
>= 0){
264 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
266 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
267 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
274 /* method abstract_compiler$ToolContext$opt_invocation_metrics for (self: ToolContext): OptionBool */
275 val
* nitc__abstract_compiler___ToolContext___opt_invocation_metrics(val
* self
) {
276 val
* var
/* : OptionBool */;
277 val
* var1
/* : OptionBool */;
278 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
279 if (unlikely(var1
== NULL
)) {
280 if(catchStack
.cursor
>= 0){
281 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
284 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 62);
291 /* method abstract_compiler$ToolContext$opt_isset_checks_metrics for (self: ToolContext): OptionBool */
292 val
* nitc__abstract_compiler___ToolContext___opt_isset_checks_metrics(val
* self
) {
293 val
* var
/* : OptionBool */;
294 val
* var1
/* : OptionBool */;
295 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
296 if (unlikely(var1
== NULL
)) {
297 if(catchStack
.cursor
>= 0){
298 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
301 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 64);
308 /* method abstract_compiler$ToolContext$opt_no_stacktrace for (self: ToolContext): OptionBool */
309 val
* nitc__abstract_compiler___ToolContext___opt_no_stacktrace(val
* self
) {
310 val
* var
/* : OptionBool */;
311 val
* var1
/* : OptionBool */;
312 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <self:ToolContext> */
313 if (unlikely(var1
== NULL
)) {
314 if(catchStack
.cursor
>= 0){
315 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
318 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
325 /* method abstract_compiler$ToolContext$opt_no_gcc_directive for (self: ToolContext): OptionArray */
326 val
* nitc__abstract_compiler___ToolContext___opt_no_gcc_directive(val
* self
) {
327 val
* var
/* : OptionArray */;
328 val
* var1
/* : OptionArray */;
329 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
330 if (unlikely(var1
== NULL
)) {
331 if(catchStack
.cursor
>= 0){
332 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 68);
342 /* method abstract_compiler$ToolContext$opt_release for (self: ToolContext): OptionBool */
343 val
* nitc__abstract_compiler___ToolContext___opt_release(val
* self
) {
344 val
* var
/* : OptionBool */;
345 val
* var1
/* : OptionBool */;
346 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
347 if (unlikely(var1
== NULL
)) {
348 if(catchStack
.cursor
>= 0){
349 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
351 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
352 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 70);
359 /* method abstract_compiler$ToolContext$opt_debug for (self: ToolContext): OptionBool */
360 val
* nitc__abstract_compiler___ToolContext___opt_debug(val
* self
) {
361 val
* var
/* : OptionBool */;
362 val
* var1
/* : OptionBool */;
363 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <self:ToolContext> */
364 if (unlikely(var1
== NULL
)) {
365 if(catchStack
.cursor
>= 0){
366 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
368 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
369 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
376 /* method abstract_compiler$ToolContext$init for (self: ToolContext) */
377 void nitc__abstract_compiler___ToolContext___core__kernel__Object__init(val
* self
) {
378 val
* var
/* : OptionContext */;
379 val
* var2
/* : OptionContext */;
380 val
* var3
/* : OptionString */;
381 val
* var5
/* : OptionString */;
382 val
* var6
/* : OptionString */;
383 val
* var8
/* : OptionString */;
384 val
* var9
/* : OptionBool */;
385 val
* var11
/* : OptionBool */;
386 val
* var12
/* : OptionBool */;
387 val
* var14
/* : OptionBool */;
388 val
* var15
/* : OptionString */;
389 val
* var17
/* : OptionString */;
390 val
* var18
/* : OptionString */;
391 val
* var20
/* : OptionString */;
392 val
* var21
/* : OptionBool */;
393 val
* var23
/* : OptionBool */;
394 val
* var24
/* : Array[Option] */;
395 val
* var25
/* : NativeArray[Option] */;
396 val
* var26
/* : OptionContext */;
397 val
* var28
/* : OptionContext */;
398 val
* var29
/* : OptionBool */;
399 val
* var31
/* : OptionBool */;
400 val
* var32
/* : OptionBool */;
401 val
* var34
/* : OptionBool */;
402 val
* var35
/* : OptionBool */;
403 val
* var37
/* : OptionBool */;
404 val
* var38
/* : OptionBool */;
405 val
* var40
/* : OptionBool */;
406 val
* var41
/* : OptionBool */;
407 val
* var43
/* : OptionBool */;
408 val
* var44
/* : OptionBool */;
409 val
* var46
/* : OptionBool */;
410 val
* var47
/* : Array[Option] */;
411 val
* var48
/* : NativeArray[Option] */;
412 val
* var49
/* : OptionContext */;
413 val
* var51
/* : OptionContext */;
414 val
* var52
/* : OptionBool */;
415 val
* var54
/* : OptionBool */;
416 val
* var55
/* : OptionBool */;
417 val
* var57
/* : OptionBool */;
418 val
* var58
/* : OptionBool */;
419 val
* var60
/* : OptionBool */;
420 val
* var61
/* : Array[Option] */;
421 val
* var62
/* : NativeArray[Option] */;
422 val
* var63
/* : OptionContext */;
423 val
* var65
/* : OptionContext */;
424 val
* var66
/* : OptionBool */;
425 val
* var68
/* : OptionBool */;
426 val
* var69
/* : Array[Option] */;
427 val
* var70
/* : NativeArray[Option] */;
428 val
* var71
/* : OptionContext */;
429 val
* var73
/* : OptionContext */;
430 val
* var74
/* : OptionArray */;
431 val
* var76
/* : OptionArray */;
432 val
* var77
/* : Array[Option] */;
433 val
* var78
/* : NativeArray[Option] */;
434 val
* var79
/* : OptionContext */;
435 val
* var81
/* : OptionContext */;
436 val
* var82
/* : OptionBool */;
437 val
* var84
/* : OptionBool */;
438 val
* var85
/* : Array[Option] */;
439 val
* var86
/* : NativeArray[Option] */;
440 val
* var87
/* : OptionContext */;
441 val
* var89
/* : OptionContext */;
442 val
* var90
/* : OptionInt */;
443 val
* var92
/* : OptionInt */;
444 val
* var93
/* : OptionBool */;
445 val
* var95
/* : OptionBool */;
446 val
* var96
/* : Array[Option] */;
447 val
* var97
/* : NativeArray[Option] */;
448 val
* var98
/* : OptionContext */;
449 val
* var100
/* : OptionContext */;
450 val
* var101
/* : OptionBool */;
451 val
* var103
/* : OptionBool */;
452 val
* var104
/* : Array[Option] */;
453 val
* var105
/* : NativeArray[Option] */;
454 val
* var106
/* : OptionBool */;
455 val
* var108
/* : OptionBool */;
457 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
460 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
461 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
462 if (unlikely(var2
== NULL
)) {
463 if(catchStack
.cursor
>= 0){
464 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
467 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
475 { /* Inline abstract_compiler$ToolContext$opt_output (self) on <self:ToolContext> */
476 var5
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
477 if (unlikely(var5
== NULL
)) {
478 if(catchStack
.cursor
>= 0){
479 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
482 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
490 { /* Inline abstract_compiler$ToolContext$opt_dir (self) on <self:ToolContext> */
491 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
492 if (unlikely(var8
== NULL
)) {
493 if(catchStack
.cursor
>= 0){
494 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
496 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
497 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
505 { /* Inline abstract_compiler$ToolContext$opt_no_cc (self) on <self:ToolContext> */
506 var11
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
507 if (unlikely(var11
== NULL
)) {
508 if(catchStack
.cursor
>= 0){
509 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
520 { /* Inline abstract_compiler$ToolContext$opt_no_main (self) on <self:ToolContext> */
521 var14
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
522 if (unlikely(var14
== NULL
)) {
523 if(catchStack
.cursor
>= 0){
524 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
527 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
535 { /* Inline abstract_compiler$ToolContext$opt_make_flags (self) on <self:ToolContext> */
536 var17
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
537 if (unlikely(var17
== NULL
)) {
538 if(catchStack
.cursor
>= 0){
539 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
541 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
542 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
550 { /* Inline abstract_compiler$ToolContext$opt_compile_dir (self) on <self:ToolContext> */
551 var20
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
552 if (unlikely(var20
== NULL
)) {
553 if(catchStack
.cursor
>= 0){
554 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
557 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
565 { /* Inline abstract_compiler$ToolContext$opt_hardening (self) on <self:ToolContext> */
566 var23
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
567 if (unlikely(var23
== NULL
)) {
568 if(catchStack
.cursor
>= 0){
569 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
572 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 46);
579 var24
= NEW_core__Array(&type_core__Array__opts__Option
);
580 { /* var24 = array_instance Array[Option] */
581 var25
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__opts__Option
);
582 ((struct instance_core__NativeArray
*)var25
)->values
[0] = (val
*) var3
;
583 ((struct instance_core__NativeArray
*)var25
)->values
[1] = (val
*) var6
;
584 ((struct instance_core__NativeArray
*)var25
)->values
[2] = (val
*) var9
;
585 ((struct instance_core__NativeArray
*)var25
)->values
[3] = (val
*) var12
;
586 ((struct instance_core__NativeArray
*)var25
)->values
[4] = (val
*) var15
;
587 ((struct instance_core__NativeArray
*)var25
)->values
[5] = (val
*) var18
;
588 ((struct instance_core__NativeArray
*)var25
)->values
[6] = (val
*) var21
;
590 ((void(*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_core__array__Array__with_native
]))(var24
, var25
, 7l); /* with_native on <var24:Array[Option]>*/
594 opts___opts__OptionContext___add_option(var
, var24
); /* Direct call opts$OptionContext$add_option on <var:OptionContext>*/
597 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
598 var28
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
599 if (unlikely(var28
== NULL
)) {
600 if(catchStack
.cursor
>= 0){
601 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
604 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
612 { /* Inline abstract_compiler$ToolContext$opt_no_check_covariance (self) on <self:ToolContext> */
613 var31
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
614 if (unlikely(var31
== NULL
)) {
615 if(catchStack
.cursor
>= 0){
616 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
618 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
619 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
627 { /* Inline abstract_compiler$ToolContext$opt_no_check_attr_isset (self) on <self:ToolContext> */
628 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
629 if (unlikely(var34
== NULL
)) {
630 if(catchStack
.cursor
>= 0){
631 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
633 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
634 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
642 { /* Inline abstract_compiler$ToolContext$opt_no_check_assert (self) on <self:ToolContext> */
643 var37
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
644 if (unlikely(var37
== NULL
)) {
645 if(catchStack
.cursor
>= 0){
646 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
648 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
649 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
657 { /* Inline abstract_compiler$ToolContext$opt_no_check_autocast (self) on <self:ToolContext> */
658 var40
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
659 if (unlikely(var40
== NULL
)) {
660 if(catchStack
.cursor
>= 0){
661 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
664 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
672 { /* Inline abstract_compiler$ToolContext$opt_no_check_null (self) on <self:ToolContext> */
673 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
674 if (unlikely(var43
== NULL
)) {
675 if(catchStack
.cursor
>= 0){
676 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
678 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
679 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
687 { /* Inline abstract_compiler$ToolContext$opt_no_check_all (self) on <self:ToolContext> */
688 var46
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
689 if (unlikely(var46
== NULL
)) {
690 if(catchStack
.cursor
>= 0){
691 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
701 var47
= NEW_core__Array(&type_core__Array__opts__Option
);
702 { /* var47 = array_instance Array[Option] */
703 var48
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__opts__Option
);
704 ((struct instance_core__NativeArray
*)var48
)->values
[0] = (val
*) var29
;
705 ((struct instance_core__NativeArray
*)var48
)->values
[1] = (val
*) var32
;
706 ((struct instance_core__NativeArray
*)var48
)->values
[2] = (val
*) var35
;
707 ((struct instance_core__NativeArray
*)var48
)->values
[3] = (val
*) var38
;
708 ((struct instance_core__NativeArray
*)var48
)->values
[4] = (val
*) var41
;
709 ((struct instance_core__NativeArray
*)var48
)->values
[5] = (val
*) var44
;
711 ((void(*)(val
* self
, val
* p0
, long p1
))(var47
->class->vft
[COLOR_core__array__Array__with_native
]))(var47
, var48
, 6l); /* with_native on <var47:Array[Option]>*/
715 opts___opts__OptionContext___add_option(var26
, var47
); /* Direct call opts$OptionContext$add_option on <var26:OptionContext>*/
718 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
719 var51
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
720 if (unlikely(var51
== NULL
)) {
721 if(catchStack
.cursor
>= 0){
722 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
725 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
733 { /* Inline abstract_compiler$ToolContext$opt_typing_test_metrics (self) on <self:ToolContext> */
734 var54
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
735 if (unlikely(var54
== NULL
)) {
736 if(catchStack
.cursor
>= 0){
737 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
739 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
740 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
748 { /* Inline abstract_compiler$ToolContext$opt_invocation_metrics (self) on <self:ToolContext> */
749 var57
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
750 if (unlikely(var57
== NULL
)) {
751 if(catchStack
.cursor
>= 0){
752 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
755 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 62);
763 { /* Inline abstract_compiler$ToolContext$opt_isset_checks_metrics (self) on <self:ToolContext> */
764 var60
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
765 if (unlikely(var60
== NULL
)) {
766 if(catchStack
.cursor
>= 0){
767 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
770 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 64);
777 var61
= NEW_core__Array(&type_core__Array__opts__Option
);
778 { /* var61 = array_instance Array[Option] */
779 var62
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__opts__Option
);
780 ((struct instance_core__NativeArray
*)var62
)->values
[0] = (val
*) var52
;
781 ((struct instance_core__NativeArray
*)var62
)->values
[1] = (val
*) var55
;
782 ((struct instance_core__NativeArray
*)var62
)->values
[2] = (val
*) var58
;
784 ((void(*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_core__array__Array__with_native
]))(var61
, var62
, 3l); /* with_native on <var61:Array[Option]>*/
788 opts___opts__OptionContext___add_option(var49
, var61
); /* Direct call opts$OptionContext$add_option on <var49:OptionContext>*/
791 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
792 var65
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
793 if (unlikely(var65
== NULL
)) {
794 if(catchStack
.cursor
>= 0){
795 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
798 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
806 { /* Inline abstract_compiler$ToolContext$opt_no_stacktrace (self) on <self:ToolContext> */
807 var68
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <self:ToolContext> */
808 if (unlikely(var68
== NULL
)) {
809 if(catchStack
.cursor
>= 0){
810 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
812 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
813 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
820 var69
= NEW_core__Array(&type_core__Array__opts__Option
);
821 { /* var69 = array_instance Array[Option] */
822 var70
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
823 ((struct instance_core__NativeArray
*)var70
)->values
[0] = (val
*) var66
;
825 ((void(*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_core__array__Array__with_native
]))(var69
, var70
, 1l); /* with_native on <var69:Array[Option]>*/
829 opts___opts__OptionContext___add_option(var63
, var69
); /* Direct call opts$OptionContext$add_option on <var63:OptionContext>*/
832 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
833 var73
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
834 if (unlikely(var73
== NULL
)) {
835 if(catchStack
.cursor
>= 0){
836 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
839 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
847 { /* Inline abstract_compiler$ToolContext$opt_no_gcc_directive (self) on <self:ToolContext> */
848 var76
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
849 if (unlikely(var76
== NULL
)) {
850 if(catchStack
.cursor
>= 0){
851 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
853 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
854 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 68);
861 var77
= NEW_core__Array(&type_core__Array__opts__Option
);
862 { /* var77 = array_instance Array[Option] */
863 var78
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
864 ((struct instance_core__NativeArray
*)var78
)->values
[0] = (val
*) var74
;
866 ((void(*)(val
* self
, val
* p0
, long p1
))(var77
->class->vft
[COLOR_core__array__Array__with_native
]))(var77
, var78
, 1l); /* with_native on <var77:Array[Option]>*/
870 opts___opts__OptionContext___add_option(var71
, var77
); /* Direct call opts$OptionContext$add_option on <var71:OptionContext>*/
873 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
874 var81
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
875 if (unlikely(var81
== NULL
)) {
876 if(catchStack
.cursor
>= 0){
877 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
880 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
888 { /* Inline abstract_compiler$ToolContext$opt_release (self) on <self:ToolContext> */
889 var84
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
890 if (unlikely(var84
== NULL
)) {
891 if(catchStack
.cursor
>= 0){
892 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
895 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 70);
902 var85
= NEW_core__Array(&type_core__Array__opts__Option
);
903 { /* var85 = array_instance Array[Option] */
904 var86
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
905 ((struct instance_core__NativeArray
*)var86
)->values
[0] = (val
*) var82
;
907 ((void(*)(val
* self
, val
* p0
, long p1
))(var85
->class->vft
[COLOR_core__array__Array__with_native
]))(var85
, var86
, 1l); /* with_native on <var85:Array[Option]>*/
911 opts___opts__OptionContext___add_option(var79
, var85
); /* Direct call opts$OptionContext$add_option on <var79:OptionContext>*/
914 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
915 var89
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
916 if (unlikely(var89
== NULL
)) {
917 if(catchStack
.cursor
>= 0){
918 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
920 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
921 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
929 { /* Inline abstract_compiler$ToolContext$opt_max_c_lines (self) on <self:ToolContext> */
930 var92
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
931 if (unlikely(var92
== NULL
)) {
932 if(catchStack
.cursor
>= 0){
933 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
936 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
944 { /* Inline abstract_compiler$ToolContext$opt_group_c_files (self) on <self:ToolContext> */
945 var95
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
946 if (unlikely(var95
== NULL
)) {
947 if(catchStack
.cursor
>= 0){
948 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
951 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
958 var96
= NEW_core__Array(&type_core__Array__opts__Option
);
959 { /* var96 = array_instance Array[Option] */
960 var97
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__opts__Option
);
961 ((struct instance_core__NativeArray
*)var97
)->values
[0] = (val
*) var90
;
962 ((struct instance_core__NativeArray
*)var97
)->values
[1] = (val
*) var93
;
964 ((void(*)(val
* self
, val
* p0
, long p1
))(var96
->class->vft
[COLOR_core__array__Array__with_native
]))(var96
, var97
, 2l); /* with_native on <var96:Array[Option]>*/
968 opts___opts__OptionContext___add_option(var87
, var96
); /* Direct call opts$OptionContext$add_option on <var87:OptionContext>*/
971 { /* Inline toolcontext$ToolContext$option_context (self) on <self:ToolContext> */
972 var100
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
973 if (unlikely(var100
== NULL
)) {
974 if(catchStack
.cursor
>= 0){
975 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
978 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 357);
986 { /* Inline abstract_compiler$ToolContext$opt_debug (self) on <self:ToolContext> */
987 var103
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <self:ToolContext> */
988 if (unlikely(var103
== NULL
)) {
989 if(catchStack
.cursor
>= 0){
990 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
992 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
993 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
997 RET_LABEL102
:(void)0;
1000 var104
= NEW_core__Array(&type_core__Array__opts__Option
);
1001 { /* var104 = array_instance Array[Option] */
1002 var105
= NEW_core__NativeArray((int)1l, &type_core__NativeArray__opts__Option
);
1003 ((struct instance_core__NativeArray
*)var105
)->values
[0] = (val
*) var101
;
1005 ((void(*)(val
* self
, val
* p0
, long p1
))(var104
->class->vft
[COLOR_core__array__Array__with_native
]))(var104
, var105
, 1l); /* with_native on <var104:Array[Option]>*/
1009 opts___opts__OptionContext___add_option(var98
, var104
); /* Direct call opts$OptionContext$add_option on <var98:OptionContext>*/
1012 { /* Inline abstract_compiler$ToolContext$opt_no_main (self) on <self:ToolContext> */
1013 var108
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
1014 if (unlikely(var108
== NULL
)) {
1015 if(catchStack
.cursor
>= 0){
1016 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
1019 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
1023 RET_LABEL107
:(void)0;
1027 { /* Inline opts$Option$hidden= (var106,1) on <var106:OptionBool> */
1028 var106
->attrs
[COLOR_opts__Option___hidden
].s
= 1; /* _hidden on <var106:OptionBool> */
1029 RET_LABEL109
:(void)0;
1034 /* method abstract_compiler$ToolContext$process_options for (self: ToolContext, Sequence[String]) */
1035 void nitc__abstract_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
1036 val
* var_args
/* var args: Sequence[String] */;
1037 short int var
/* : Bool */;
1038 val
* var1
/* : OptionString */;
1039 val
* var3
/* : OptionString */;
1040 val
* var4
/* : nullable Object */;
1041 val
* var6
/* : nullable Object */;
1042 short int var7
/* : Bool */;
1043 short int var8
/* : Bool */;
1044 val
* var_other
/* var other: nullable Object */;
1045 short int var10
/* : Bool */;
1046 short int var11
/* : Bool */;
1047 short int var_
/* var : Bool */;
1048 val
* var12
/* : OptionString */;
1049 val
* var14
/* : OptionString */;
1050 val
* var15
/* : nullable Object */;
1051 val
* var17
/* : nullable Object */;
1052 short int var18
/* : Bool */;
1053 short int var19
/* : Bool */;
1054 short int var21
/* : Bool */;
1055 short int var22
/* : Bool */;
1056 val
* var23
/* : Sys */;
1057 static val
* varonce
;
1058 val
* var24
/* : String */;
1059 char* var25
/* : CString */;
1060 val
* var26
/* : String */;
1061 val
* var27
/* : nullable Int */;
1062 val
* var28
/* : nullable Int */;
1063 val
* var29
/* : nullable Bool */;
1064 val
* var30
/* : nullable Bool */;
1065 val
* var31
/* : Sys */;
1066 val
* var33
/* : OptionBool */;
1067 val
* var35
/* : OptionBool */;
1068 val
* var36
/* : nullable Object */;
1069 val
* var38
/* : nullable Object */;
1070 short int var39
/* : Bool */;
1071 val
* var40
/* : OptionBool */;
1072 val
* var42
/* : OptionBool */;
1073 short int var44
/* : Bool */;
1076 const struct type
* type_struct
;
1077 const char* var_class_name
;
1078 val
* var45
/* : nullable Object */;
1079 val
* var46
/* : OptionBool */;
1080 val
* var48
/* : OptionBool */;
1081 short int var50
/* : Bool */;
1084 const struct type
* type_struct53
;
1085 const char* var_class_name54
;
1086 val
* var55
/* : nullable Object */;
1087 val
* var56
/* : OptionBool */;
1088 val
* var58
/* : OptionBool */;
1089 short int var60
/* : Bool */;
1092 const struct type
* type_struct63
;
1093 const char* var_class_name64
;
1094 val
* var65
/* : nullable Object */;
1095 val
* var66
/* : OptionBool */;
1096 val
* var68
/* : OptionBool */;
1097 short int var70
/* : Bool */;
1100 const struct type
* type_struct73
;
1101 const char* var_class_name74
;
1102 val
* var75
/* : nullable Object */;
1103 val
* var76
/* : OptionBool */;
1104 val
* var78
/* : OptionBool */;
1105 short int var80
/* : Bool */;
1108 const struct type
* type_struct83
;
1109 const char* var_class_name84
;
1110 val
* var85
/* : nullable Object */;
1113 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__abstract_compiler___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
1116 { /* Inline abstract_compiler$ToolContext$opt_output (self) on <self:ToolContext> */
1117 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
1118 if (unlikely(var3
== NULL
)) {
1119 if(catchStack
.cursor
>= 0){
1120 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
1123 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
1131 { /* Inline opts$Option$value (var1) on <var1:OptionString> */
1132 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionString> */
1138 var7
= 0; /* is null */
1140 var7
= 1; /* arg is null and recv is not */
1143 { /* Inline kernel$Object$!= (var4,((val*)NULL)) on <var4:nullable Object(nullable String)> */
1144 var_other
= ((val
*)NULL
);
1146 var10
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var4
, var_other
); /* == on <var4:nullable Object(String)>*/
1158 { /* Inline abstract_compiler$ToolContext$opt_dir (self) on <self:ToolContext> */
1159 var14
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
1160 if (unlikely(var14
== NULL
)) {
1161 if(catchStack
.cursor
>= 0){
1162 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
1165 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
1169 RET_LABEL13
:(void)0;
1173 { /* Inline opts$Option$value (var12) on <var12:OptionString> */
1174 var17
= var12
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var12:OptionString> */
1176 RET_LABEL16
:(void)0;
1179 if (var15
== NULL
) {
1180 var18
= 0; /* is null */
1182 var18
= 1; /* arg is null and recv is not */
1185 { /* Inline kernel$Object$!= (var15,((val*)NULL)) on <var15:nullable Object(nullable String)> */
1186 var_other
= ((val
*)NULL
);
1188 var21
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var15
, var_other
); /* == on <var15:nullable Object(String)>*/
1193 RET_LABEL20
:(void)0;
1203 if (likely(varonce
!=NULL
)) {
1206 var25
= "Option Error: cannot use both --dir and --output";
1207 var27
= (val
*)(48l<<2|1);
1208 var28
= (val
*)(48l<<2|1);
1209 var29
= (val
*)((long)(0)<<2|3);
1210 var30
= (val
*)((long)(0)<<2|3);
1211 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
1216 core__file___Sys___print(var23
, var24
); /* Direct call file$Sys$print on <var23:Sys>*/
1220 { /* Inline kernel$Sys$exit (var31,1l) on <var31:Sys> */
1222 RET_LABEL32
:(void)0;
1228 { /* Inline abstract_compiler$ToolContext$opt_no_check_all (self) on <self:ToolContext> */
1229 var35
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
1230 if (unlikely(var35
== NULL
)) {
1231 if(catchStack
.cursor
>= 0){
1232 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1234 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
1235 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
1239 RET_LABEL34
:(void)0;
1243 { /* Inline opts$Option$value (var33) on <var33:OptionBool> */
1244 var38
= var33
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var33:OptionBool> */
1246 RET_LABEL37
:(void)0;
1249 var39
= (short int)((long)(var36
)>>2);
1252 { /* Inline abstract_compiler$ToolContext$opt_no_check_covariance (self) on <self:ToolContext> */
1253 var42
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
1254 if (unlikely(var42
== NULL
)) {
1255 if(catchStack
.cursor
>= 0){
1256 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
1259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
1263 RET_LABEL41
:(void)0;
1267 { /* Inline opts$Option$value= (var40,1) on <var40:OptionBool> */
1268 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1269 /* <1:Bool> isa VALUE */
1270 type_struct
= var40
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1271 cltype
= type_struct
->color
;
1272 idtype
= type_struct
->id
;
1273 if(cltype
>= (&type_core__Bool
)->table_size
) {
1276 var44
= (&type_core__Bool
)->type_table
[cltype
] == idtype
;
1278 if (unlikely(!var44
)) {
1279 var_class_name
= type_core__Bool
.name
;
1280 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1281 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1284 var45
= (val
*)((long)(1)<<2|3);
1285 var40
->attrs
[COLOR_opts__Option___value
].val
= var45
; /* _value on <var40:OptionBool> */
1286 RET_LABEL43
:(void)0;
1290 { /* Inline abstract_compiler$ToolContext$opt_no_check_attr_isset (self) on <self:ToolContext> */
1291 var48
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
1292 if (unlikely(var48
== NULL
)) {
1293 if(catchStack
.cursor
>= 0){
1294 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
1297 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
1301 RET_LABEL47
:(void)0;
1305 { /* Inline opts$Option$value= (var46,1) on <var46:OptionBool> */
1306 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1307 /* <1:Bool> isa VALUE */
1308 type_struct53
= var46
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1309 cltype51
= type_struct53
->color
;
1310 idtype52
= type_struct53
->id
;
1311 if(cltype51
>= (&type_core__Bool
)->table_size
) {
1314 var50
= (&type_core__Bool
)->type_table
[cltype51
] == idtype52
;
1316 if (unlikely(!var50
)) {
1317 var_class_name54
= type_core__Bool
.name
;
1318 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name54
);
1319 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1322 var55
= (val
*)((long)(1)<<2|3);
1323 var46
->attrs
[COLOR_opts__Option___value
].val
= var55
; /* _value on <var46:OptionBool> */
1324 RET_LABEL49
:(void)0;
1328 { /* Inline abstract_compiler$ToolContext$opt_no_check_assert (self) on <self:ToolContext> */
1329 var58
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
1330 if (unlikely(var58
== NULL
)) {
1331 if(catchStack
.cursor
>= 0){
1332 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
1339 RET_LABEL57
:(void)0;
1343 { /* Inline opts$Option$value= (var56,1) on <var56:OptionBool> */
1344 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1345 /* <1:Bool> isa VALUE */
1346 type_struct63
= var56
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1347 cltype61
= type_struct63
->color
;
1348 idtype62
= type_struct63
->id
;
1349 if(cltype61
>= (&type_core__Bool
)->table_size
) {
1352 var60
= (&type_core__Bool
)->type_table
[cltype61
] == idtype62
;
1354 if (unlikely(!var60
)) {
1355 var_class_name64
= type_core__Bool
.name
;
1356 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name64
);
1357 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1360 var65
= (val
*)((long)(1)<<2|3);
1361 var56
->attrs
[COLOR_opts__Option___value
].val
= var65
; /* _value on <var56:OptionBool> */
1362 RET_LABEL59
:(void)0;
1366 { /* Inline abstract_compiler$ToolContext$opt_no_check_autocast (self) on <self:ToolContext> */
1367 var68
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
1368 if (unlikely(var68
== NULL
)) {
1369 if(catchStack
.cursor
>= 0){
1370 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1372 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
1373 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
1377 RET_LABEL67
:(void)0;
1381 { /* Inline opts$Option$value= (var66,1) on <var66:OptionBool> */
1382 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1383 /* <1:Bool> isa VALUE */
1384 type_struct73
= var66
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1385 cltype71
= type_struct73
->color
;
1386 idtype72
= type_struct73
->id
;
1387 if(cltype71
>= (&type_core__Bool
)->table_size
) {
1390 var70
= (&type_core__Bool
)->type_table
[cltype71
] == idtype72
;
1392 if (unlikely(!var70
)) {
1393 var_class_name74
= type_core__Bool
.name
;
1394 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name74
);
1395 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1398 var75
= (val
*)((long)(1)<<2|3);
1399 var66
->attrs
[COLOR_opts__Option___value
].val
= var75
; /* _value on <var66:OptionBool> */
1400 RET_LABEL69
:(void)0;
1404 { /* Inline abstract_compiler$ToolContext$opt_no_check_null (self) on <self:ToolContext> */
1405 var78
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
1406 if (unlikely(var78
== NULL
)) {
1407 if(catchStack
.cursor
>= 0){
1408 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1410 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
1411 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
1415 RET_LABEL77
:(void)0;
1419 { /* Inline opts$Option$value= (var76,1) on <var76:OptionBool> */
1420 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1421 /* <1:Bool> isa VALUE */
1422 type_struct83
= var76
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1423 cltype81
= type_struct83
->color
;
1424 idtype82
= type_struct83
->id
;
1425 if(cltype81
>= (&type_core__Bool
)->table_size
) {
1428 var80
= (&type_core__Bool
)->type_table
[cltype81
] == idtype82
;
1430 if (unlikely(!var80
)) {
1431 var_class_name84
= type_core__Bool
.name
;
1432 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name84
);
1433 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1436 var85
= (val
*)((long)(1)<<2|3);
1437 var76
->attrs
[COLOR_opts__Option___value
].val
= var85
; /* _value on <var76:OptionBool> */
1438 RET_LABEL79
:(void)0;
1445 /* method abstract_compiler$ModelBuilder$write_and_make for (self: ModelBuilder, AbstractCompiler) */
1446 void nitc__abstract_compiler___ModelBuilder___write_and_make(val
* self
, val
* p0
) {
1447 val
* var_compiler
/* var compiler: AbstractCompiler */;
1448 val
* var
/* : Platform */;
1449 val
* var2
/* : Platform */;
1450 val
* var_platform
/* var platform: Platform */;
1451 val
* var3
/* : ToolContext */;
1452 val
* var5
/* : ToolContext */;
1453 val
* var6
/* : Toolchain */;
1454 val
* var_toolchain
/* var toolchain: Toolchain */;
1457 { /* Inline abstract_compiler$AbstractCompiler$target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
1458 var2
= var_compiler
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
1459 if (unlikely(var2
== NULL
)) {
1460 if(catchStack
.cursor
>= 0){
1461 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1463 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
1464 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 563);
1473 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (self) on <self:ModelBuilder> */
1474 var5
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1475 if (unlikely(var5
== NULL
)) {
1476 if(catchStack
.cursor
>= 0){
1477 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1479 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1480 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1488 var6
= nitc__abstract_compiler___Platform___toolchain(var_platform
, var3
, var_compiler
);
1490 var_toolchain
= var6
;
1492 { /* Inline abstract_compiler$AbstractCompiler$toolchain= (var_compiler,var_toolchain) on <var_compiler:AbstractCompiler> */
1493 var_compiler
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
= var_toolchain
; /* _toolchain on <var_compiler:AbstractCompiler> */
1498 nitc___nitc__MakefileToolchain___Toolchain__write_and_make(var_toolchain
); /* Direct call abstract_compiler$MakefileToolchain$write_and_make on <var_toolchain:Toolchain>*/
1502 /* method abstract_compiler$Platform$toolchain for (self: Platform, ToolContext, AbstractCompiler): Toolchain */
1503 val
* nitc__abstract_compiler___Platform___toolchain(val
* self
, val
* p0
, val
* p1
) {
1504 val
* var
/* : Toolchain */;
1505 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1506 val
* var_compiler
/* var compiler: AbstractCompiler */;
1507 val
* var1
/* : MakefileToolchain */;
1508 var_toolcontext
= p0
;
1510 var1
= NEW_nitc__MakefileToolchain(&type_nitc__MakefileToolchain
);
1512 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__Toolchain__toolcontext_61d
]))(var1
, var_toolcontext
); /* toolcontext= on <var1:MakefileToolchain>*/
1515 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__Toolchain__compiler_61d
]))(var1
, var_compiler
); /* compiler= on <var1:MakefileToolchain>*/
1518 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:MakefileToolchain>*/
1525 /* method abstract_compiler$Toolchain$toolcontext for (self: Toolchain): ToolContext */
1526 val
* nitc___nitc__Toolchain___toolcontext(val
* self
) {
1527 val
* var
/* : ToolContext */;
1528 val
* var1
/* : ToolContext */;
1529 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1530 if (unlikely(var1
== NULL
)) {
1531 if(catchStack
.cursor
>= 0){
1532 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1535 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1542 /* method abstract_compiler$Toolchain$toolcontext= for (self: Toolchain, ToolContext) */
1543 void nitc___nitc__Toolchain___toolcontext_61d(val
* self
, val
* p0
) {
1544 self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
= p0
; /* _toolcontext on <self:Toolchain> */
1547 /* method abstract_compiler$Toolchain$compiler for (self: Toolchain): AbstractCompiler */
1548 val
* nitc___nitc__Toolchain___compiler(val
* self
) {
1549 val
* var
/* : AbstractCompiler */;
1550 val
* var1
/* : AbstractCompiler */;
1551 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:Toolchain> */
1552 if (unlikely(var1
== NULL
)) {
1553 if(catchStack
.cursor
>= 0){
1554 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1556 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1557 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
1564 /* method abstract_compiler$Toolchain$compiler= for (self: Toolchain, AbstractCompiler) */
1565 void nitc___nitc__Toolchain___compiler_61d(val
* self
, val
* p0
) {
1566 self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
= p0
; /* _compiler on <self:Toolchain> */
1569 /* method abstract_compiler$Toolchain$root_compile_dir for (self: Toolchain): String */
1570 val
* nitc___nitc__Toolchain___root_compile_dir(val
* self
) {
1571 val
* var
/* : String */;
1572 val
* var1
/* : ToolContext */;
1573 val
* var3
/* : ToolContext */;
1574 val
* var4
/* : OptionString */;
1575 val
* var6
/* : OptionString */;
1576 val
* var7
/* : nullable Object */;
1577 val
* var9
/* : nullable Object */;
1578 val
* var_compile_dir
/* var compile_dir: nullable String */;
1579 short int var10
/* : Bool */;
1580 short int var11
/* : Bool */;
1581 static val
* varonce
;
1582 val
* var12
/* : String */;
1583 char* var13
/* : CString */;
1584 val
* var14
/* : String */;
1585 val
* var15
/* : nullable Int */;
1586 val
* var16
/* : nullable Int */;
1587 val
* var17
/* : nullable Bool */;
1588 val
* var18
/* : nullable Bool */;
1590 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:Toolchain> */
1591 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1592 if (unlikely(var3
== NULL
)) {
1593 if(catchStack
.cursor
>= 0){
1594 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1597 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1605 { /* Inline abstract_compiler$ToolContext$opt_compile_dir (var1) on <var1:ToolContext> */
1606 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var1:ToolContext> */
1607 if (unlikely(var6
== NULL
)) {
1608 if(catchStack
.cursor
>= 0){
1609 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1611 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1612 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
1620 { /* Inline opts$Option$value (var4) on <var4:OptionString> */
1621 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
1626 var_compile_dir
= var7
;
1627 if (var_compile_dir
== NULL
) {
1628 var10
= 1; /* is null */
1630 var10
= 0; /* arg is null but recv is not */
1633 var11
= ((short int(*)(val
* self
, val
* p0
))(var_compile_dir
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_compile_dir
, ((val
*)NULL
)); /* == on <var_compile_dir:nullable String>*/
1637 if (likely(varonce
!=NULL
)) {
1640 var13
= "nit_compile";
1641 var15
= (val
*)(11l<<2|1);
1642 var16
= (val
*)(11l<<2|1);
1643 var17
= (val
*)((long)(0)<<2|3);
1644 var18
= (val
*)((long)(0)<<2|3);
1645 var14
= core__flat___CString___to_s_unsafe(var13
, var15
, var16
, var17
, var18
);
1649 var_compile_dir
= var12
;
1652 var
= var_compile_dir
;
1657 /* method abstract_compiler$Toolchain$compile_dir for (self: Toolchain): String */
1658 val
* nitc___nitc__Toolchain___compile_dir(val
* self
) {
1659 val
* var
/* : String */;
1660 val
* var1
/* : String */;
1662 var1
= nitc___nitc__Toolchain___root_compile_dir(self
);
1669 /* method abstract_compiler$Toolchain$init for (self: Toolchain) */
1670 void nitc___nitc__Toolchain___core__kernel__Object__init(val
* self
) {
1672 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__Toolchain___core__kernel__Object__init
]))(self
); /* init on <self:Toolchain>*/
1676 /* method abstract_compiler$MakefileToolchain$write_and_make for (self: MakefileToolchain) */
1677 void nitc___nitc__MakefileToolchain___Toolchain__write_and_make(val
* self
) {
1678 val
* var
/* : ToolContext */;
1679 val
* var2
/* : ToolContext */;
1680 val
* var3
/* : OptionBool */;
1681 val
* var5
/* : OptionBool */;
1682 val
* var6
/* : nullable Object */;
1683 val
* var8
/* : nullable Object */;
1684 short int var9
/* : Bool */;
1685 short int var_debug
/* var debug: Bool */;
1686 val
* var10
/* : String */;
1687 val
* var_compile_dir
/* var compile_dir: String */;
1688 val
* var11
/* : ToolContext */;
1689 val
* var13
/* : ToolContext */;
1690 val
* var14
/* : OptionString */;
1691 val
* var16
/* : OptionString */;
1692 val
* var17
/* : nullable Object */;
1693 val
* var19
/* : nullable Object */;
1694 short int var20
/* : Bool */;
1695 short int var21
/* : Bool */;
1696 short int var_auto_remove
/* var auto_remove: Bool */;
1697 val
* var22
/* : Sys */;
1698 long var23
/* : Int */;
1699 long var25
/* : Int */;
1700 long var_time0
/* var time0: Int */;
1701 val
* var26
/* : ToolContext */;
1702 val
* var28
/* : ToolContext */;
1703 static val
* varonce
;
1704 val
* var29
/* : String */;
1705 char* var30
/* : CString */;
1706 val
* var31
/* : String */;
1707 val
* var32
/* : nullable Int */;
1708 val
* var33
/* : nullable Int */;
1709 val
* var34
/* : nullable Bool */;
1710 val
* var35
/* : nullable Bool */;
1711 val
* var36
/* : String */;
1712 val
* var37
/* : nullable Error */;
1713 val
* var38
/* : nullable Error */;
1714 val
* var39
/* : Array[String] */;
1715 val
* var_cfiles
/* var cfiles: Array[String] */;
1716 val
* var40
/* : Sys */;
1717 long var41
/* : Int */;
1718 long var43
/* : Int */;
1719 long var_time1
/* var time1: Int */;
1720 val
* var44
/* : ToolContext */;
1721 val
* var46
/* : ToolContext */;
1722 val
* var48
/* : NativeArray[String] */;
1723 static val
* varonce47
;
1724 static val
* varonce49
;
1725 val
* var50
/* : String */;
1726 char* var51
/* : CString */;
1727 val
* var52
/* : String */;
1728 val
* var53
/* : nullable Int */;
1729 val
* var54
/* : nullable Int */;
1730 val
* var55
/* : nullable Bool */;
1731 val
* var56
/* : nullable Bool */;
1732 static val
* varonce57
;
1733 val
* var58
/* : String */;
1734 char* var59
/* : CString */;
1735 val
* var60
/* : String */;
1736 val
* var61
/* : nullable Int */;
1737 val
* var62
/* : nullable Int */;
1738 val
* var63
/* : nullable Bool */;
1739 val
* var64
/* : nullable Bool */;
1740 long var65
/* : Int */;
1741 short int var67
/* : Bool */;
1744 const char* var_class_name
;
1745 long var68
/* : Int */;
1746 val
* var69
/* : String */;
1747 val
* var70
/* : String */;
1748 val
* var71
/* : ToolContext */;
1749 val
* var73
/* : ToolContext */;
1750 val
* var74
/* : OptionBool */;
1751 val
* var76
/* : OptionBool */;
1752 val
* var77
/* : nullable Object */;
1753 val
* var79
/* : nullable Object */;
1754 short int var80
/* : Bool */;
1755 val
* var81
/* : ToolContext */;
1756 val
* var83
/* : ToolContext */;
1757 static val
* varonce84
;
1758 val
* var85
/* : String */;
1759 char* var86
/* : CString */;
1760 val
* var87
/* : String */;
1761 val
* var88
/* : nullable Int */;
1762 val
* var89
/* : nullable Int */;
1763 val
* var90
/* : nullable Bool */;
1764 val
* var91
/* : nullable Bool */;
1765 val
* var92
/* : Sys */;
1766 val
* var94
/* : Sys */;
1767 val
* var96
/* : NativeArray[String] */;
1768 static val
* varonce95
;
1769 static val
* varonce97
;
1770 val
* var98
/* : String */;
1771 char* var99
/* : CString */;
1772 val
* var100
/* : String */;
1773 val
* var101
/* : nullable Int */;
1774 val
* var102
/* : nullable Int */;
1775 val
* var103
/* : nullable Bool */;
1776 val
* var104
/* : nullable Bool */;
1777 static val
* varonce105
;
1778 val
* var106
/* : String */;
1779 char* var107
/* : CString */;
1780 val
* var108
/* : String */;
1781 val
* var109
/* : nullable Int */;
1782 val
* var110
/* : nullable Int */;
1783 val
* var111
/* : nullable Bool */;
1784 val
* var112
/* : nullable Bool */;
1785 val
* var113
/* : String */;
1786 val
* var114
/* : String */;
1787 val
* var115
/* : String */;
1788 long var116
/* : Int */;
1789 val
* var117
/* : Sys */;
1790 long var118
/* : Int */;
1791 long var120
/* : Int */;
1792 val
* var121
/* : ToolContext */;
1793 val
* var123
/* : ToolContext */;
1794 val
* var125
/* : NativeArray[String] */;
1795 static val
* varonce124
;
1796 static val
* varonce126
;
1797 val
* var127
/* : String */;
1798 char* var128
/* : CString */;
1799 val
* var129
/* : String */;
1800 val
* var130
/* : nullable Int */;
1801 val
* var131
/* : nullable Int */;
1802 val
* var132
/* : nullable Bool */;
1803 val
* var133
/* : nullable Bool */;
1804 static val
* varonce134
;
1805 val
* var135
/* : String */;
1806 char* var136
/* : CString */;
1807 val
* var137
/* : String */;
1808 val
* var138
/* : nullable Int */;
1809 val
* var139
/* : nullable Int */;
1810 val
* var140
/* : nullable Bool */;
1811 val
* var141
/* : nullable Bool */;
1812 long var142
/* : Int */;
1813 short int var144
/* : Bool */;
1816 const char* var_class_name147
;
1817 long var148
/* : Int */;
1818 val
* var149
/* : String */;
1819 val
* var150
/* : String */;
1821 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
1822 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1823 if (unlikely(var2
== NULL
)) {
1824 if(catchStack
.cursor
>= 0){
1825 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1827 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1828 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1836 { /* Inline abstract_compiler$ToolContext$opt_debug (var) on <var:ToolContext> */
1837 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <var:ToolContext> */
1838 if (unlikely(var5
== NULL
)) {
1839 if(catchStack
.cursor
>= 0){
1840 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1842 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
1843 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
1851 { /* Inline opts$Option$value (var3) on <var3:OptionBool> */
1852 var8
= var3
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var3:OptionBool> */
1857 var9
= (short int)((long)(var6
)>>2);
1860 var10
= nitc___nitc__Toolchain___compile_dir(self
);
1862 var_compile_dir
= var10
;
1864 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
1865 var13
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1866 if (unlikely(var13
== NULL
)) {
1867 if(catchStack
.cursor
>= 0){
1868 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1870 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1871 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1875 RET_LABEL12
:(void)0;
1879 { /* Inline abstract_compiler$ToolContext$opt_compile_dir (var11) on <var11:ToolContext> */
1880 var16
= var11
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var11:ToolContext> */
1881 if (unlikely(var16
== NULL
)) {
1882 if(catchStack
.cursor
>= 0){
1883 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1885 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1886 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
1890 RET_LABEL15
:(void)0;
1894 { /* Inline opts$Option$value (var14) on <var14:OptionString> */
1895 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionString> */
1897 RET_LABEL18
:(void)0;
1900 if (var17
== NULL
) {
1901 var20
= 1; /* is null */
1903 var20
= 0; /* arg is null but recv is not */
1906 var21
= ((short int(*)(val
* self
, val
* p0
))(var17
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var17
, ((val
*)NULL
)); /* == on <var17:nullable Object(nullable String)>*/
1909 var_auto_remove
= var20
;
1911 var_auto_remove
= 0;
1916 { /* Inline time$Sys$get_time (var22) on <var22:Sys> */
1917 struct nitni_instance
* var_for_c_0
;
1918 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1919 var_for_c_0
->value
= var22
;
1920 var25
= core__time___Sys_get_time___impl(var_for_c_0
);
1923 RET_LABEL24
:(void)0;
1928 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
1929 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1930 if (unlikely(var28
== NULL
)) {
1931 if(catchStack
.cursor
>= 0){
1932 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1934 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1935 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1939 RET_LABEL27
:(void)0;
1942 if (likely(varonce
!=NULL
)) {
1945 var30
= "*** WRITING C ***";
1946 var32
= (val
*)(17l<<2|1);
1947 var33
= (val
*)(17l<<2|1);
1948 var34
= (val
*)((long)(0)<<2|3);
1949 var35
= (val
*)((long)(0)<<2|3);
1950 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
1955 nitc___nitc__ToolContext___info(var26
, var29
, 1l); /* Direct call toolcontext$ToolContext$info on <var26:ToolContext>*/
1958 var36
= nitc___nitc__Toolchain___root_compile_dir(self
);
1961 var37
= core__file___String___mkdir(var36
, ((val
*)NULL
));
1964 var38
= core__file___String___mkdir(var_compile_dir
, ((val
*)NULL
));
1966 var39
= NEW_core__Array(&type_core__Array__core__String
);
1968 core___core__Array___core__kernel__Object__init(var39
); /* Direct call array$Array$init on <var39:Array[String]>*/
1972 nitc___nitc__MakefileToolchain___write_files(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler$MakefileToolchain$write_files on <self:MakefileToolchain>*/
1975 nitc___nitc__MakefileToolchain___write_makefile(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler$MakefileToolchain$write_makefile on <self:MakefileToolchain>*/
1979 { /* Inline time$Sys$get_time (var40) on <var40:Sys> */
1980 struct nitni_instance
* var_for_c_0
;
1981 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1982 var_for_c_0
->value
= var40
;
1983 var43
= core__time___Sys_get_time___impl(var_for_c_0
);
1986 RET_LABEL42
:(void)0;
1991 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
1992 var46
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1993 if (unlikely(var46
== NULL
)) {
1994 if(catchStack
.cursor
>= 0){
1995 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
1997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1998 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
2002 RET_LABEL45
:(void)0;
2005 if (unlikely(varonce47
==NULL
)) {
2006 var48
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2007 if (likely(varonce49
!=NULL
)) {
2010 var51
= "*** END WRITING C: ";
2011 var53
= (val
*)(19l<<2|1);
2012 var54
= (val
*)(19l<<2|1);
2013 var55
= (val
*)((long)(0)<<2|3);
2014 var56
= (val
*)((long)(0)<<2|3);
2015 var52
= core__flat___CString___to_s_unsafe(var51
, var53
, var54
, var55
, var56
);
2019 ((struct instance_core__NativeArray
*)var48
)->values
[0]=var50
;
2020 if (likely(varonce57
!=NULL
)) {
2024 var61
= (val
*)(4l<<2|1);
2025 var62
= (val
*)(4l<<2|1);
2026 var63
= (val
*)((long)(0)<<2|3);
2027 var64
= (val
*)((long)(0)<<2|3);
2028 var60
= core__flat___CString___to_s_unsafe(var59
, var61
, var62
, var63
, var64
);
2032 ((struct instance_core__NativeArray
*)var48
)->values
[2]=var58
;
2038 { /* Inline kernel$Int$- (var_time1,var_time0) on <var_time1:Int> */
2039 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
2040 /* <var_time0:Int> isa OTHER */
2041 var67
= 1; /* easy <var_time0:Int> isa OTHER*/
2042 if (unlikely(!var67
)) {
2043 var_class_name
= type_core__Int
.name
;
2044 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2045 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2048 var68
= var_time1
- var_time0
;
2051 RET_LABEL66
:(void)0;
2054 var69
= core__flat___Int___core__abstract_text__Object__to_s(var65
);
2055 ((struct instance_core__NativeArray
*)var48
)->values
[1]=var69
;
2057 var70
= ((val
*(*)(val
* self
))(var48
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var48
); /* native_to_s on <var48:NativeArray[String]>*/
2061 nitc___nitc__ToolContext___info(var44
, var70
, 2l); /* Direct call toolcontext$ToolContext$info on <var44:ToolContext>*/
2064 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
2065 var73
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2066 if (unlikely(var73
== NULL
)) {
2067 if(catchStack
.cursor
>= 0){
2068 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2071 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
2075 RET_LABEL72
:(void)0;
2079 { /* Inline abstract_compiler$ToolContext$opt_no_cc (var71) on <var71:ToolContext> */
2080 var76
= var71
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <var71:ToolContext> */
2081 if (unlikely(var76
== NULL
)) {
2082 if(catchStack
.cursor
>= 0){
2083 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2085 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
2086 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
2090 RET_LABEL75
:(void)0;
2094 { /* Inline opts$Option$value (var74) on <var74:OptionBool> */
2095 var79
= var74
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var74:OptionBool> */
2097 RET_LABEL78
:(void)0;
2100 var80
= (short int)((long)(var77
)>>2);
2105 var_time0
= var_time1
;
2107 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
2108 var83
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2109 if (unlikely(var83
== NULL
)) {
2110 if(catchStack
.cursor
>= 0){
2111 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2113 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2114 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
2118 RET_LABEL82
:(void)0;
2121 if (likely(varonce84
!=NULL
)) {
2124 var86
= "*** COMPILING C ***";
2125 var88
= (val
*)(19l<<2|1);
2126 var89
= (val
*)(19l<<2|1);
2127 var90
= (val
*)((long)(0)<<2|3);
2128 var91
= (val
*)((long)(0)<<2|3);
2129 var87
= core__flat___CString___to_s_unsafe(var86
, var88
, var89
, var90
, var91
);
2134 nitc___nitc__ToolContext___info(var81
, var85
, 1l); /* Direct call toolcontext$ToolContext$info on <var81:ToolContext>*/
2137 nitc___nitc__MakefileToolchain___compile_c_code(self
, var_compile_dir
); /* Direct call abstract_compiler$MakefileToolchain$compile_c_code on <self:MakefileToolchain>*/
2139 if (var_auto_remove
){
2141 { /* Inline kernel$Object$sys (self) on <self:MakefileToolchain> */
2145 RET_LABEL93
:(void)0;
2148 if (unlikely(varonce95
==NULL
)) {
2149 var96
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2150 if (likely(varonce97
!=NULL
)) {
2153 var99
= "rm -r -- \'";
2154 var101
= (val
*)(10l<<2|1);
2155 var102
= (val
*)(10l<<2|1);
2156 var103
= (val
*)((long)(0)<<2|3);
2157 var104
= (val
*)((long)(0)<<2|3);
2158 var100
= core__flat___CString___to_s_unsafe(var99
, var101
, var102
, var103
, var104
);
2162 ((struct instance_core__NativeArray
*)var96
)->values
[0]=var98
;
2163 if (likely(varonce105
!=NULL
)) {
2164 var106
= varonce105
;
2167 var109
= (val
*)(2l<<2|1);
2168 var110
= (val
*)(2l<<2|1);
2169 var111
= (val
*)((long)(0)<<2|3);
2170 var112
= (val
*)((long)(0)<<2|3);
2171 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
2173 varonce105
= var106
;
2175 ((struct instance_core__NativeArray
*)var96
)->values
[2]=var106
;
2181 var113
= nitc___nitc__Toolchain___root_compile_dir(self
);
2184 var114
= core___core__Text___escape_to_sh(var113
);
2186 ((struct instance_core__NativeArray
*)var96
)->values
[1]=var114
;
2188 var115
= ((val
*(*)(val
* self
))(var96
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var96
); /* native_to_s on <var96:NativeArray[String]>*/
2192 var116
= core__exec___Sys___system(var92
, var115
);
2198 { /* Inline time$Sys$get_time (var117) on <var117:Sys> */
2199 struct nitni_instance
* var_for_c_0
;
2200 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
2201 var_for_c_0
->value
= var117
;
2202 var120
= core__time___Sys_get_time___impl(var_for_c_0
);
2205 RET_LABEL119
:(void)0;
2210 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
2211 var123
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2212 if (unlikely(var123
== NULL
)) {
2213 if(catchStack
.cursor
>= 0){
2214 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2216 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2217 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
2221 RET_LABEL122
:(void)0;
2224 if (unlikely(varonce124
==NULL
)) {
2225 var125
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
2226 if (likely(varonce126
!=NULL
)) {
2227 var127
= varonce126
;
2229 var128
= "*** END COMPILING C: ";
2230 var130
= (val
*)(21l<<2|1);
2231 var131
= (val
*)(21l<<2|1);
2232 var132
= (val
*)((long)(0)<<2|3);
2233 var133
= (val
*)((long)(0)<<2|3);
2234 var129
= core__flat___CString___to_s_unsafe(var128
, var130
, var131
, var132
, var133
);
2236 varonce126
= var127
;
2238 ((struct instance_core__NativeArray
*)var125
)->values
[0]=var127
;
2239 if (likely(varonce134
!=NULL
)) {
2240 var135
= varonce134
;
2243 var138
= (val
*)(4l<<2|1);
2244 var139
= (val
*)(4l<<2|1);
2245 var140
= (val
*)((long)(0)<<2|3);
2246 var141
= (val
*)((long)(0)<<2|3);
2247 var137
= core__flat___CString___to_s_unsafe(var136
, var138
, var139
, var140
, var141
);
2249 varonce134
= var135
;
2251 ((struct instance_core__NativeArray
*)var125
)->values
[2]=var135
;
2253 var125
= varonce124
;
2257 { /* Inline kernel$Int$- (var_time1,var_time0) on <var_time1:Int> */
2258 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
2259 /* <var_time0:Int> isa OTHER */
2260 var144
= 1; /* easy <var_time0:Int> isa OTHER*/
2261 if (unlikely(!var144
)) {
2262 var_class_name147
= type_core__Int
.name
;
2263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name147
);
2264 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
2267 var148
= var_time1
- var_time0
;
2270 RET_LABEL143
:(void)0;
2273 var149
= core__flat___Int___core__abstract_text__Object__to_s(var142
);
2274 ((struct instance_core__NativeArray
*)var125
)->values
[1]=var149
;
2276 var150
= ((val
*(*)(val
* self
))(var125
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var125
); /* native_to_s on <var125:NativeArray[String]>*/
2278 varonce124
= var125
;
2280 nitc___nitc__ToolContext___info(var121
, var150
, 2l); /* Direct call toolcontext$ToolContext$info on <var121:ToolContext>*/
2284 /* method abstract_compiler$MakefileToolchain$write_files for (self: MakefileToolchain, String, Array[String]) */
2285 void nitc___nitc__MakefileToolchain___write_files(val
* self
, val
* p0
, val
* p1
) {
2286 val
* var_compile_dir
/* var compile_dir: String */;
2287 val
* var_cfiles
/* var cfiles: Array[String] */;
2288 val
* var
/* : AbstractCompiler */;
2289 val
* var2
/* : AbstractCompiler */;
2290 val
* var3
/* : Platform */;
2291 val
* var5
/* : Platform */;
2292 val
* var_platform
/* var platform: Platform */;
2293 short int var6
/* : Bool */;
2294 val
* var7
/* : AbstractCompiler */;
2295 val
* var9
/* : AbstractCompiler */;
2296 static val
* varonce
;
2297 val
* var10
/* : String */;
2298 char* var11
/* : CString */;
2299 val
* var12
/* : String */;
2300 val
* var13
/* : nullable Int */;
2301 val
* var14
/* : nullable Int */;
2302 val
* var15
/* : nullable Bool */;
2303 val
* var16
/* : nullable Bool */;
2304 val
* var_cc_opt_with_libgc
/* var cc_opt_with_libgc: String */;
2305 short int var17
/* : Bool */;
2306 short int var18
/* : Bool */;
2307 static val
* varonce19
;
2308 val
* var20
/* : String */;
2309 char* var21
/* : CString */;
2310 val
* var22
/* : String */;
2311 val
* var23
/* : nullable Int */;
2312 val
* var24
/* : nullable Int */;
2313 val
* var25
/* : nullable Bool */;
2314 val
* var26
/* : nullable Bool */;
2315 val
* var27
/* : ExternCFile */;
2316 static val
* varonce28
;
2317 val
* var29
/* : String */;
2318 char* var30
/* : CString */;
2319 val
* var31
/* : String */;
2320 val
* var32
/* : nullable Int */;
2321 val
* var33
/* : nullable Int */;
2322 val
* var34
/* : nullable Bool */;
2323 val
* var35
/* : nullable Bool */;
2324 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
2325 static val
* varonce36
;
2326 val
* var37
/* : String */;
2327 char* var38
/* : CString */;
2328 val
* var39
/* : String */;
2329 val
* var40
/* : nullable Int */;
2330 val
* var41
/* : nullable Int */;
2331 val
* var42
/* : nullable Bool */;
2332 val
* var43
/* : nullable Bool */;
2333 short int var44
/* : Bool */;
2334 val
* var_other
/* var other: nullable Object */;
2335 short int var46
/* : Bool */;
2336 short int var47
/* : Bool */;
2337 val
* var48
/* : Array[String] */;
2338 val
* var50
/* : Array[String] */;
2339 static val
* varonce51
;
2340 val
* var52
/* : String */;
2341 char* var53
/* : CString */;
2342 val
* var54
/* : String */;
2343 val
* var55
/* : nullable Int */;
2344 val
* var56
/* : nullable Int */;
2345 val
* var57
/* : nullable Bool */;
2346 val
* var58
/* : nullable Bool */;
2347 val
* var59
/* : AbstractCompiler */;
2348 val
* var61
/* : AbstractCompiler */;
2349 val
* var62
/* : Array[ExternFile] */;
2350 val
* var64
/* : Array[ExternFile] */;
2351 val
* var65
/* : ToolContext */;
2352 val
* var67
/* : ToolContext */;
2353 val
* var68
/* : nullable String */;
2354 val
* var70
/* : nullable String */;
2355 static val
* varonce71
;
2356 val
* var72
/* : String */;
2357 char* var73
/* : CString */;
2358 val
* var74
/* : String */;
2359 val
* var75
/* : nullable Int */;
2360 val
* var76
/* : nullable Int */;
2361 val
* var77
/* : nullable Bool */;
2362 val
* var78
/* : nullable Bool */;
2363 val
* var79
/* : String */;
2364 val
* var_clib
/* var clib: String */;
2365 val
* var80
/* : AbstractCompiler */;
2366 val
* var82
/* : AbstractCompiler */;
2367 val
* var83
/* : Array[String] */;
2368 val
* var85
/* : Array[String] */;
2369 val
* var87
/* : NativeArray[String] */;
2370 static val
* varonce86
;
2371 static val
* varonce88
;
2372 val
* var89
/* : String */;
2373 char* var90
/* : CString */;
2374 val
* var91
/* : String */;
2375 val
* var92
/* : nullable Int */;
2376 val
* var93
/* : nullable Int */;
2377 val
* var94
/* : nullable Bool */;
2378 val
* var95
/* : nullable Bool */;
2379 val
* var96
/* : String */;
2380 val
* var97
/* : AbstractCompiler */;
2381 val
* var99
/* : AbstractCompiler */;
2382 val
* var100
/* : Array[String] */;
2383 val
* var102
/* : Array[String] */;
2384 val
* var104
/* : NativeArray[String] */;
2385 static val
* varonce103
;
2386 static val
* varonce105
;
2387 val
* var106
/* : String */;
2388 char* var107
/* : CString */;
2389 val
* var108
/* : String */;
2390 val
* var109
/* : nullable Int */;
2391 val
* var110
/* : nullable Int */;
2392 val
* var111
/* : nullable Bool */;
2393 val
* var112
/* : nullable Bool */;
2394 val
* var113
/* : String */;
2395 val
* var114
/* : AbstractCompiler */;
2396 val
* var116
/* : AbstractCompiler */;
2397 val
* var117
/* : MModule */;
2398 val
* var119
/* : MModule */;
2399 val
* var120
/* : POSetElement[MModule] */;
2400 val
* var122
/* : POSetElement[MModule] */;
2401 val
* var123
/* : Collection[nullable Object] */;
2402 val
* var_
/* var : Collection[MModule] */;
2403 val
* var124
/* : Iterator[nullable Object] */;
2404 val
* var_125
/* var : Iterator[MModule] */;
2405 short int var126
/* : Bool */;
2406 val
* var127
/* : nullable Object */;
2407 val
* var_m
/* var m: MModule */;
2408 val
* var128
/* : AbstractCompiler */;
2409 val
* var130
/* : AbstractCompiler */;
2410 val
* var131
/* : AbstractCompiler */;
2411 val
* var133
/* : AbstractCompiler */;
2412 val
* var134
/* : Array[String] */;
2413 val
* var136
/* : Array[String] */;
2414 val
* var_137
/* var : Array[String] */;
2415 val
* var138
/* : IndexedIterator[nullable Object] */;
2416 val
* var_139
/* var : IndexedIterator[String] */;
2417 short int var140
/* : Bool */;
2418 val
* var142
/* : nullable Object */;
2419 val
* var_src
/* var src: String */;
2420 val
* var143
/* : String */;
2421 val
* var_basename
/* var basename: String */;
2422 val
* var145
/* : NativeArray[String] */;
2423 static val
* varonce144
;
2424 static val
* varonce146
;
2425 val
* var147
/* : String */;
2426 char* var148
/* : CString */;
2427 val
* var149
/* : String */;
2428 val
* var150
/* : nullable Int */;
2429 val
* var151
/* : nullable Int */;
2430 val
* var152
/* : nullable Bool */;
2431 val
* var153
/* : nullable Bool */;
2432 val
* var154
/* : String */;
2433 val
* var_dst
/* var dst: String */;
2434 val
* var155
/* : AbstractCompiler */;
2435 val
* var157
/* : AbstractCompiler */;
2436 val
* var158
/* : CodeWriter */;
2437 val
* var160
/* : CodeWriter */;
2438 val
* var161
/* : CodeFile */;
2439 val
* var163
/* : CodeFile */;
2440 val
* var164
/* : String */;
2441 val
* var166
/* : String */;
2442 static val
* varonce167
;
2443 val
* var168
/* : String */;
2444 char* var169
/* : CString */;
2445 val
* var170
/* : String */;
2446 val
* var171
/* : nullable Int */;
2447 val
* var172
/* : nullable Int */;
2448 val
* var173
/* : nullable Bool */;
2449 val
* var174
/* : nullable Bool */;
2450 val
* var175
/* : Text */;
2451 val
* var_hfilename
/* var hfilename: String */;
2452 val
* var177
/* : NativeArray[String] */;
2453 static val
* varonce176
;
2454 static val
* varonce178
;
2455 val
* var179
/* : String */;
2456 char* var180
/* : CString */;
2457 val
* var181
/* : String */;
2458 val
* var182
/* : nullable Int */;
2459 val
* var183
/* : nullable Int */;
2460 val
* var184
/* : nullable Bool */;
2461 val
* var185
/* : nullable Bool */;
2462 val
* var186
/* : String */;
2463 val
* var_hfilepath
/* var hfilepath: String */;
2464 val
* var187
/* : FileWriter */;
2465 val
* var_h
/* var h: FileWriter */;
2466 val
* var188
/* : AbstractCompiler */;
2467 val
* var190
/* : AbstractCompiler */;
2468 val
* var191
/* : CodeWriter */;
2469 val
* var193
/* : CodeWriter */;
2470 val
* var194
/* : Array[String] */;
2471 val
* var196
/* : Array[String] */;
2472 val
* var_197
/* var : Array[String] */;
2473 val
* var198
/* : IndexedIterator[nullable Object] */;
2474 val
* var_199
/* var : IndexedIterator[String] */;
2475 short int var200
/* : Bool */;
2476 val
* var202
/* : nullable Object */;
2477 val
* var_l
/* var l: String */;
2478 static val
* varonce203
;
2479 val
* var204
/* : String */;
2480 char* var205
/* : CString */;
2481 val
* var206
/* : String */;
2482 val
* var207
/* : nullable Int */;
2483 val
* var208
/* : nullable Int */;
2484 val
* var209
/* : nullable Bool */;
2485 val
* var210
/* : nullable Bool */;
2486 val
* var211
/* : AbstractCompiler */;
2487 val
* var213
/* : AbstractCompiler */;
2488 val
* var214
/* : CodeWriter */;
2489 val
* var216
/* : CodeWriter */;
2490 val
* var217
/* : Array[String] */;
2491 val
* var219
/* : Array[String] */;
2492 val
* var_220
/* var : Array[String] */;
2493 val
* var221
/* : IndexedIterator[nullable Object] */;
2494 val
* var_222
/* var : IndexedIterator[String] */;
2495 short int var223
/* : Bool */;
2496 val
* var225
/* : nullable Object */;
2497 val
* var_l226
/* var l: String */;
2498 static val
* varonce227
;
2499 val
* var228
/* : String */;
2500 char* var229
/* : CString */;
2501 val
* var230
/* : String */;
2502 val
* var231
/* : nullable Int */;
2503 val
* var232
/* : nullable Int */;
2504 val
* var233
/* : nullable Bool */;
2505 val
* var234
/* : nullable Bool */;
2506 val
* var235
/* : ToolContext */;
2507 val
* var237
/* : ToolContext */;
2508 val
* var238
/* : OptionInt */;
2509 val
* var240
/* : OptionInt */;
2510 val
* var241
/* : nullable Object */;
2511 val
* var243
/* : nullable Object */;
2512 long var244
/* : Int */;
2513 long var_max_c_lines
/* var max_c_lines: Int */;
2514 val
* var245
/* : AbstractCompiler */;
2515 val
* var247
/* : AbstractCompiler */;
2516 val
* var248
/* : Array[CodeFile] */;
2517 val
* var250
/* : Array[CodeFile] */;
2518 val
* var_251
/* var : Array[CodeFile] */;
2519 val
* var252
/* : IndexedIterator[nullable Object] */;
2520 val
* var_253
/* var : IndexedIterator[CodeFile] */;
2521 short int var254
/* : Bool */;
2522 val
* var256
/* : nullable Object */;
2523 val
* var_f
/* var f: CodeFile */;
2524 long var_i
/* var i: Int */;
2525 long var_count
/* var count: Int */;
2526 val
* var_file
/* var file: nullable FileWriter */;
2527 val
* var257
/* : Array[CodeWriter] */;
2528 val
* var259
/* : Array[CodeWriter] */;
2529 val
* var_260
/* var : Array[CodeWriter] */;
2530 val
* var261
/* : IndexedIterator[nullable Object] */;
2531 val
* var_262
/* var : IndexedIterator[CodeWriter] */;
2532 short int var263
/* : Bool */;
2533 val
* var265
/* : nullable Object */;
2534 val
* var_vis
/* var vis: CodeWriter */;
2535 val
* var266
/* : AbstractCompiler */;
2536 val
* var268
/* : AbstractCompiler */;
2537 val
* var269
/* : CodeWriter */;
2538 val
* var271
/* : CodeWriter */;
2539 short int var272
/* : Bool */;
2540 val
* var_other274
/* var other: nullable Object */;
2541 short int var275
/* : Bool */;
2542 short int var277
/* : Bool */;
2543 val
* var279
/* : Array[String] */;
2544 val
* var281
/* : Array[String] */;
2545 long var282
/* : Int */;
2546 long var284
/* : Int */;
2547 val
* var285
/* : Array[String] */;
2548 val
* var287
/* : Array[String] */;
2549 long var288
/* : Int */;
2550 long var290
/* : Int */;
2551 long var291
/* : Int */;
2552 short int var293
/* : Bool */;
2555 const char* var_class_name
;
2556 long var294
/* : Int */;
2557 long var_total_lines
/* var total_lines: Int */;
2558 short int var295
/* : Bool */;
2559 short int var297
/* : Bool */;
2560 long var298
/* : Int */;
2561 short int var300
/* : Bool */;
2564 const char* var_class_name303
;
2565 long var304
/* : Int */;
2566 short int var305
/* : Bool */;
2567 short int var306
/* : Bool */;
2568 short int var307
/* : Bool */;
2569 short int var309
/* : Bool */;
2570 short int var311
/* : Bool */;
2571 short int var_312
/* var : Bool */;
2572 short int var313
/* : Bool */;
2573 short int var314
/* : Bool */;
2574 short int var316
/* : Bool */;
2577 const char* var_class_name319
;
2578 short int var320
/* : Bool */;
2579 short int var_321
/* var : Bool */;
2580 short int var322
/* : Bool */;
2581 short int var324
/* : Bool */;
2584 const char* var_class_name327
;
2585 short int var328
/* : Bool */;
2586 long var329
/* : Int */;
2587 short int var331
/* : Bool */;
2590 const char* var_class_name334
;
2591 long var335
/* : Int */;
2592 short int var336
/* : Bool */;
2593 short int var337
/* : Bool */;
2594 short int var339
/* : Bool */;
2595 short int var340
/* : Bool */;
2596 val
* var342
/* : NativeArray[String] */;
2597 static val
* varonce341
;
2598 static val
* varonce343
;
2599 val
* var344
/* : String */;
2600 char* var345
/* : CString */;
2601 val
* var346
/* : String */;
2602 val
* var347
/* : nullable Int */;
2603 val
* var348
/* : nullable Int */;
2604 val
* var349
/* : nullable Bool */;
2605 val
* var350
/* : nullable Bool */;
2606 static val
* varonce351
;
2607 val
* var352
/* : String */;
2608 char* var353
/* : CString */;
2609 val
* var354
/* : String */;
2610 val
* var355
/* : nullable Int */;
2611 val
* var356
/* : nullable Int */;
2612 val
* var357
/* : nullable Bool */;
2613 val
* var358
/* : nullable Bool */;
2614 val
* var359
/* : String */;
2615 val
* var361
/* : String */;
2616 val
* var362
/* : String */;
2617 val
* var363
/* : String */;
2618 val
* var_cfilename
/* var cfilename: String */;
2619 val
* var365
/* : NativeArray[String] */;
2620 static val
* varonce364
;
2621 static val
* varonce366
;
2622 val
* var367
/* : String */;
2623 char* var368
/* : CString */;
2624 val
* var369
/* : String */;
2625 val
* var370
/* : nullable Int */;
2626 val
* var371
/* : nullable Int */;
2627 val
* var372
/* : nullable Bool */;
2628 val
* var373
/* : nullable Bool */;
2629 val
* var374
/* : String */;
2630 val
* var_cfilepath
/* var cfilepath: String */;
2631 val
* var375
/* : ToolContext */;
2632 val
* var377
/* : ToolContext */;
2633 val
* var379
/* : NativeArray[String] */;
2634 static val
* varonce378
;
2635 static val
* varonce380
;
2636 val
* var381
/* : String */;
2637 char* var382
/* : CString */;
2638 val
* var383
/* : String */;
2639 val
* var384
/* : nullable Int */;
2640 val
* var385
/* : nullable Int */;
2641 val
* var386
/* : nullable Bool */;
2642 val
* var387
/* : nullable Bool */;
2643 val
* var388
/* : String */;
2644 val
* var389
/* : FileWriter */;
2645 val
* var391
/* : NativeArray[String] */;
2646 static val
* varonce390
;
2647 static val
* varonce392
;
2648 val
* var393
/* : String */;
2649 char* var394
/* : CString */;
2650 val
* var395
/* : String */;
2651 val
* var396
/* : nullable Int */;
2652 val
* var397
/* : nullable Int */;
2653 val
* var398
/* : nullable Bool */;
2654 val
* var399
/* : nullable Bool */;
2655 static val
* varonce400
;
2656 val
* var401
/* : String */;
2657 char* var402
/* : CString */;
2658 val
* var403
/* : String */;
2659 val
* var404
/* : nullable Int */;
2660 val
* var405
/* : nullable Int */;
2661 val
* var406
/* : nullable Bool */;
2662 val
* var407
/* : nullable Bool */;
2663 val
* var408
/* : String */;
2664 val
* var410
/* : String */;
2665 val
* var411
/* : String */;
2666 val
* var412
/* : Array[String] */;
2667 val
* var414
/* : Array[String] */;
2668 val
* var_415
/* var : Array[String] */;
2669 val
* var416
/* : IndexedIterator[nullable Object] */;
2670 val
* var_417
/* var : IndexedIterator[String] */;
2671 short int var418
/* : Bool */;
2672 val
* var420
/* : nullable Object */;
2673 val
* var_l421
/* var l: String */;
2674 static val
* varonce422
;
2675 val
* var423
/* : String */;
2676 char* var424
/* : CString */;
2677 val
* var425
/* : String */;
2678 val
* var426
/* : nullable Int */;
2679 val
* var427
/* : nullable Int */;
2680 val
* var428
/* : nullable Bool */;
2681 val
* var429
/* : nullable Bool */;
2682 val
* var430
/* : Array[String] */;
2683 val
* var432
/* : Array[String] */;
2684 val
* var_433
/* var : Array[String] */;
2685 val
* var434
/* : IndexedIterator[nullable Object] */;
2686 val
* var_435
/* var : IndexedIterator[String] */;
2687 short int var436
/* : Bool */;
2688 val
* var438
/* : nullable Object */;
2689 val
* var_l439
/* var l: String */;
2690 static val
* varonce440
;
2691 val
* var441
/* : String */;
2692 char* var442
/* : CString */;
2693 val
* var443
/* : String */;
2694 val
* var444
/* : nullable Int */;
2695 val
* var445
/* : nullable Int */;
2696 val
* var446
/* : nullable Bool */;
2697 val
* var447
/* : nullable Bool */;
2698 short int var448
/* : Bool */;
2699 short int var449
/* : Bool */;
2700 short int var451
/* : Bool */;
2701 short int var453
/* : Bool */;
2702 val
* var456
/* : NativeArray[String] */;
2703 static val
* varonce455
;
2704 static val
* varonce457
;
2705 val
* var458
/* : String */;
2706 char* var459
/* : CString */;
2707 val
* var460
/* : String */;
2708 val
* var461
/* : nullable Int */;
2709 val
* var462
/* : nullable Int */;
2710 val
* var463
/* : nullable Bool */;
2711 val
* var464
/* : nullable Bool */;
2712 val
* var465
/* : String */;
2713 val
* var467
/* : String */;
2714 val
* var468
/* : String */;
2715 val
* var_cfilename469
/* var cfilename: String */;
2716 val
* var471
/* : NativeArray[String] */;
2717 static val
* varonce470
;
2718 static val
* varonce472
;
2719 val
* var473
/* : String */;
2720 char* var474
/* : CString */;
2721 val
* var475
/* : String */;
2722 val
* var476
/* : nullable Int */;
2723 val
* var477
/* : nullable Int */;
2724 val
* var478
/* : nullable Bool */;
2725 val
* var479
/* : nullable Bool */;
2726 val
* var480
/* : String */;
2727 val
* var_cfilepath481
/* var cfilepath: String */;
2728 val
* var_hfile
/* var hfile: nullable FileWriter */;
2729 val
* var482
/* : FileWriter */;
2730 val
* var484
/* : NativeArray[String] */;
2731 static val
* varonce483
;
2732 static val
* varonce485
;
2733 val
* var486
/* : String */;
2734 char* var487
/* : CString */;
2735 val
* var488
/* : String */;
2736 val
* var489
/* : nullable Int */;
2737 val
* var490
/* : nullable Int */;
2738 val
* var491
/* : nullable Bool */;
2739 val
* var492
/* : nullable Bool */;
2740 static val
* varonce493
;
2741 val
* var494
/* : String */;
2742 char* var495
/* : CString */;
2743 val
* var496
/* : String */;
2744 val
* var497
/* : nullable Int */;
2745 val
* var498
/* : nullable Int */;
2746 val
* var499
/* : nullable Bool */;
2747 val
* var500
/* : nullable Bool */;
2748 val
* var501
/* : String */;
2749 val
* var502
/* : HashSet[String] */;
2750 val
* var504
/* : HashSet[String] */;
2751 val
* var_505
/* var : HashSet[String] */;
2752 val
* var506
/* : Iterator[nullable Object] */;
2753 val
* var_507
/* var : Iterator[String] */;
2754 short int var508
/* : Bool */;
2755 val
* var510
/* : nullable Object */;
2756 val
* var_key
/* var key: String */;
2757 val
* var511
/* : AbstractCompiler */;
2758 val
* var513
/* : AbstractCompiler */;
2759 val
* var514
/* : HashMap[String, String] */;
2760 val
* var516
/* : HashMap[String, String] */;
2761 short int var517
/* : Bool */;
2762 short int var518
/* : Bool */;
2763 val
* var519
/* : AbstractCompiler */;
2764 val
* var521
/* : AbstractCompiler */;
2765 val
* var522
/* : HashMap[String, ANode] */;
2766 val
* var524
/* : HashMap[String, ANode] */;
2767 val
* var525
/* : nullable Object */;
2768 val
* var_node
/* var node: nullable ANode */;
2769 short int var526
/* : Bool */;
2770 short int var527
/* : Bool */;
2771 short int var529
/* : Bool */;
2772 short int var530
/* : Bool */;
2773 val
* var532
/* : NativeArray[String] */;
2774 static val
* varonce531
;
2775 static val
* varonce533
;
2776 val
* var534
/* : String */;
2777 char* var535
/* : CString */;
2778 val
* var536
/* : String */;
2779 val
* var537
/* : nullable Int */;
2780 val
* var538
/* : nullable Int */;
2781 val
* var539
/* : nullable Bool */;
2782 val
* var540
/* : nullable Bool */;
2783 val
* var541
/* : String */;
2784 val
* var542
/* : Sys */;
2785 val
* var544
/* : NativeArray[String] */;
2786 static val
* varonce543
;
2787 static val
* varonce545
;
2788 val
* var546
/* : String */;
2789 char* var547
/* : CString */;
2790 val
* var548
/* : String */;
2791 val
* var549
/* : nullable Int */;
2792 val
* var550
/* : nullable Int */;
2793 val
* var551
/* : nullable Bool */;
2794 val
* var552
/* : nullable Bool */;
2795 val
* var553
/* : String */;
2796 val
* var554
/* : AbstractCompiler */;
2797 val
* var556
/* : AbstractCompiler */;
2798 val
* var557
/* : HashMap[String, String] */;
2799 val
* var559
/* : HashMap[String, String] */;
2800 val
* var560
/* : nullable Object */;
2801 static val
* varonce561
;
2802 val
* var562
/* : String */;
2803 char* var563
/* : CString */;
2804 val
* var564
/* : String */;
2805 val
* var565
/* : nullable Int */;
2806 val
* var566
/* : nullable Int */;
2807 val
* var567
/* : nullable Bool */;
2808 val
* var568
/* : nullable Bool */;
2809 val
* var569
/* : ToolContext */;
2810 val
* var571
/* : ToolContext */;
2811 val
* var573
/* : NativeArray[String] */;
2812 static val
* varonce572
;
2813 static val
* varonce574
;
2814 val
* var575
/* : String */;
2815 char* var576
/* : CString */;
2816 val
* var577
/* : String */;
2817 val
* var578
/* : nullable Int */;
2818 val
* var579
/* : nullable Int */;
2819 val
* var580
/* : nullable Bool */;
2820 val
* var581
/* : nullable Bool */;
2821 long var582
/* : Int */;
2822 long var584
/* : Int */;
2823 val
* var585
/* : String */;
2824 val
* var586
/* : String */;
2825 var_compile_dir
= p0
;
2828 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
2829 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2830 if (unlikely(var2
== NULL
)) {
2831 if(catchStack
.cursor
>= 0){
2832 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2835 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2843 { /* Inline abstract_compiler$AbstractCompiler$target_platform (var) on <var:AbstractCompiler> */
2844 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var:AbstractCompiler> */
2845 if (unlikely(var5
== NULL
)) {
2846 if(catchStack
.cursor
>= 0){
2847 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
2850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 563);
2857 var_platform
= var3
;
2859 var6
= nitc___nitc__Platform___supports_libunwind(var_platform
);
2863 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
2864 var9
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2865 if (unlikely(var9
== NULL
)) {
2866 if(catchStack
.cursor
>= 0){
2867 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2869 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2870 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2878 nitc___nitc__AbstractCompiler___build_c_to_nit_bindings(var7
); /* Direct call abstract_compiler$AbstractCompiler$build_c_to_nit_bindings on <var7:AbstractCompiler>*/
2882 if (likely(varonce
!=NULL
)) {
2885 var11
= "-DWITH_LIBGC";
2886 var13
= (val
*)(12l<<2|1);
2887 var14
= (val
*)(12l<<2|1);
2888 var15
= (val
*)((long)(0)<<2|3);
2889 var16
= (val
*)((long)(0)<<2|3);
2890 var12
= core__flat___CString___to_s_unsafe(var11
, var13
, var14
, var15
, var16
);
2894 var_cc_opt_with_libgc
= var10
;
2896 var17
= nitc___nitc__Platform___supports_libgc(var_platform
);
2900 if (likely(varonce19
!=NULL
)) {
2904 var23
= (val
*)(0l<<2|1);
2905 var24
= (val
*)(0l<<2|1);
2906 var25
= (val
*)((long)(0)<<2|3);
2907 var26
= (val
*)((long)(0)<<2|3);
2908 var22
= core__flat___CString___to_s_unsafe(var21
, var23
, var24
, var25
, var26
);
2912 var_cc_opt_with_libgc
= var20
;
2915 var27
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
2916 if (likely(varonce28
!=NULL
)) {
2919 var30
= "gc_chooser.c";
2920 var32
= (val
*)(12l<<2|1);
2921 var33
= (val
*)(12l<<2|1);
2922 var34
= (val
*)((long)(0)<<2|3);
2923 var35
= (val
*)((long)(0)<<2|3);
2924 var31
= core__flat___CString___to_s_unsafe(var30
, var32
, var33
, var34
, var35
);
2929 ((void(*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var27
, var29
); /* filename= on <var27:ExternCFile>*/
2932 ((void(*)(val
* self
, val
* p0
))(var27
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var27
, var_cc_opt_with_libgc
); /* cflags= on <var27:ExternCFile>*/
2935 ((void(*)(val
* self
))(var27
->class->vft
[COLOR_core__kernel__Object__init
]))(var27
); /* init on <var27:ExternCFile>*/
2937 var_gc_chooser
= var27
;
2938 if (likely(varonce36
!=NULL
)) {
2942 var40
= (val
*)(0l<<2|1);
2943 var41
= (val
*)(0l<<2|1);
2944 var42
= (val
*)((long)(0)<<2|3);
2945 var43
= (val
*)((long)(0)<<2|3);
2946 var39
= core__flat___CString___to_s_unsafe(var38
, var40
, var41
, var42
, var43
);
2951 { /* Inline kernel$Object$!= (var_cc_opt_with_libgc,var37) on <var_cc_opt_with_libgc:String> */
2954 var46
= ((short int(*)(val
* self
, val
* p0
))(var_cc_opt_with_libgc
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_cc_opt_with_libgc
, var_other
); /* == on <var_cc_opt_with_libgc:String>*/
2959 RET_LABEL45
:(void)0;
2964 { /* Inline c_tools$ExternFile$pkgconfigs (var_gc_chooser) on <var_gc_chooser:ExternCFile> */
2965 var50
= var_gc_chooser
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_gc_chooser:ExternCFile> */
2966 if (unlikely(var50
== NULL
)) {
2967 if(catchStack
.cursor
>= 0){
2968 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
2970 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
2971 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
2975 RET_LABEL49
:(void)0;
2978 if (likely(varonce51
!=NULL
)) {
2982 var55
= (val
*)(6l<<2|1);
2983 var56
= (val
*)(6l<<2|1);
2984 var57
= (val
*)((long)(0)<<2|3);
2985 var58
= (val
*)((long)(0)<<2|3);
2986 var54
= core__flat___CString___to_s_unsafe(var53
, var55
, var56
, var57
, var58
);
2991 core___core__Array___core__abstract_collection__SimpleCollection__add(var48
, var52
); /* Direct call array$Array$add on <var48:Array[String]>*/
2996 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
2997 var61
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2998 if (unlikely(var61
== NULL
)) {
2999 if(catchStack
.cursor
>= 0){
3000 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3003 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3007 RET_LABEL60
:(void)0;
3011 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (var59) on <var59:AbstractCompiler> */
3012 var64
= var59
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var59:AbstractCompiler> */
3013 if (unlikely(var64
== NULL
)) {
3014 if(catchStack
.cursor
>= 0){
3015 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3017 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
3018 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
3022 RET_LABEL63
:(void)0;
3026 core___core__Array___core__abstract_collection__SimpleCollection__add(var62
, var_gc_chooser
); /* Direct call array$Array$add on <var62:Array[ExternFile]>*/
3029 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
3030 var67
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3031 if (unlikely(var67
== NULL
)) {
3032 if(catchStack
.cursor
>= 0){
3033 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3035 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3036 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
3040 RET_LABEL66
:(void)0;
3044 { /* Inline toolcontext$ToolContext$nit_dir (var65) on <var65:ToolContext> */
3045 var70
= var65
->attrs
[COLOR_nitc__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var65:ToolContext> */
3047 RET_LABEL69
:(void)0;
3050 if (likely(varonce71
!=NULL
)) {
3054 var75
= (val
*)(4l<<2|1);
3055 var76
= (val
*)(4l<<2|1);
3056 var77
= (val
*)((long)(0)<<2|3);
3057 var78
= (val
*)((long)(0)<<2|3);
3058 var74
= core__flat___CString___to_s_unsafe(var73
, var75
, var76
, var77
, var78
);
3062 if (var68
== NULL
) {
3063 if(catchStack
.cursor
>= 0){
3064 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3066 PRINT_ERROR("Runtime error: %s", "Receiver is null");
3067 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 218);
3070 var79
= core__file___String____47d(var68
, var72
);
3074 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3075 var82
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3076 if (unlikely(var82
== NULL
)) {
3077 if(catchStack
.cursor
>= 0){
3078 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3080 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3081 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3085 RET_LABEL81
:(void)0;
3089 { /* Inline abstract_compiler$AbstractCompiler$files_to_copy (var80) on <var80:AbstractCompiler> */
3090 var85
= var80
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var80:AbstractCompiler> */
3091 if (unlikely(var85
== NULL
)) {
3092 if(catchStack
.cursor
>= 0){
3093 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3095 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3096 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1078);
3100 RET_LABEL84
:(void)0;
3103 if (unlikely(varonce86
==NULL
)) {
3104 var87
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3105 if (likely(varonce88
!=NULL
)) {
3108 var90
= "/gc_chooser.c";
3109 var92
= (val
*)(13l<<2|1);
3110 var93
= (val
*)(13l<<2|1);
3111 var94
= (val
*)((long)(0)<<2|3);
3112 var95
= (val
*)((long)(0)<<2|3);
3113 var91
= core__flat___CString___to_s_unsafe(var90
, var92
, var93
, var94
, var95
);
3117 ((struct instance_core__NativeArray
*)var87
)->values
[1]=var89
;
3122 ((struct instance_core__NativeArray
*)var87
)->values
[0]=var_clib
;
3124 var96
= ((val
*(*)(val
* self
))(var87
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var87
); /* native_to_s on <var87:NativeArray[String]>*/
3128 core___core__Array___core__abstract_collection__SimpleCollection__add(var83
, var96
); /* Direct call array$Array$add on <var83:Array[String]>*/
3131 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3132 var99
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3133 if (unlikely(var99
== NULL
)) {
3134 if(catchStack
.cursor
>= 0){
3135 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3138 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3142 RET_LABEL98
:(void)0;
3146 { /* Inline abstract_compiler$AbstractCompiler$files_to_copy (var97) on <var97:AbstractCompiler> */
3147 var102
= var97
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var97:AbstractCompiler> */
3148 if (unlikely(var102
== NULL
)) {
3149 if(catchStack
.cursor
>= 0){
3150 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3153 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1078);
3157 RET_LABEL101
:(void)0;
3160 if (unlikely(varonce103
==NULL
)) {
3161 var104
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
3162 if (likely(varonce105
!=NULL
)) {
3163 var106
= varonce105
;
3165 var107
= "/gc_chooser.h";
3166 var109
= (val
*)(13l<<2|1);
3167 var110
= (val
*)(13l<<2|1);
3168 var111
= (val
*)((long)(0)<<2|3);
3169 var112
= (val
*)((long)(0)<<2|3);
3170 var108
= core__flat___CString___to_s_unsafe(var107
, var109
, var110
, var111
, var112
);
3172 varonce105
= var106
;
3174 ((struct instance_core__NativeArray
*)var104
)->values
[1]=var106
;
3176 var104
= varonce103
;
3179 ((struct instance_core__NativeArray
*)var104
)->values
[0]=var_clib
;
3181 var113
= ((val
*(*)(val
* self
))(var104
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var104
); /* native_to_s on <var104:NativeArray[String]>*/
3183 varonce103
= var104
;
3185 core___core__Array___core__abstract_collection__SimpleCollection__add(var100
, var113
); /* Direct call array$Array$add on <var100:Array[String]>*/
3188 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3189 var116
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3190 if (unlikely(var116
== NULL
)) {
3191 if(catchStack
.cursor
>= 0){
3192 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3194 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3195 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3199 RET_LABEL115
:(void)0;
3203 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var114) on <var114:AbstractCompiler> */
3204 var119
= var114
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var114:AbstractCompiler> */
3205 if (unlikely(var119
== NULL
)) {
3206 if(catchStack
.cursor
>= 0){
3207 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
3210 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
3214 RET_LABEL118
:(void)0;
3218 { /* Inline mmodule$MModule$in_importation (var117) on <var117:MModule> */
3219 var122
= var117
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var117:MModule> */
3220 if (unlikely(var122
== NULL
)) {
3221 if(catchStack
.cursor
>= 0){
3222 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3224 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
3225 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
3229 RET_LABEL121
:(void)0;
3233 var123
= poset___poset__POSetElement___greaters(var120
);
3237 var124
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
3242 var126
= ((short int(*)(val
* self
))((((long)var_125
&3)?class_info
[((long)var_125
&3)]:var_125
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_125
); /* is_ok on <var_125:Iterator[MModule]>*/
3249 var127
= ((val
*(*)(val
* self
))((((long)var_125
&3)?class_info
[((long)var_125
&3)]:var_125
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_125
); /* item on <var_125:Iterator[MModule]>*/
3253 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3254 var130
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3255 if (unlikely(var130
== NULL
)) {
3256 if(catchStack
.cursor
>= 0){
3257 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3259 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3260 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3264 RET_LABEL129
:(void)0;
3268 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(var128
, var_m
); /* Direct call separate_compiler$SeparateCompiler$finalize_ffi_for_module on <var128:AbstractCompiler>*/
3271 ((void(*)(val
* self
))((((long)var_125
&3)?class_info
[((long)var_125
&3)]:var_125
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_125
); /* next on <var_125:Iterator[MModule]>*/
3274 BREAK_label
: (void)0;
3276 ((void(*)(val
* self
))((((long)var_125
&3)?class_info
[((long)var_125
&3)]:var_125
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_125
); /* finish on <var_125:Iterator[MModule]>*/
3279 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3280 var133
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3281 if (unlikely(var133
== NULL
)) {
3282 if(catchStack
.cursor
>= 0){
3283 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3285 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3286 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3290 RET_LABEL132
:(void)0;
3294 { /* Inline abstract_compiler$AbstractCompiler$files_to_copy (var131) on <var131:AbstractCompiler> */
3295 var136
= var131
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var131:AbstractCompiler> */
3296 if (unlikely(var136
== NULL
)) {
3297 if(catchStack
.cursor
>= 0){
3298 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3300 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
3301 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1078);
3305 RET_LABEL135
:(void)0;
3310 var138
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_137
);
3315 var140
= ((short int(*)(val
* self
))((((long)var_139
&3)?class_info
[((long)var_139
&3)]:var_139
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_139
); /* is_ok on <var_139:IndexedIterator[String]>*/
3319 goto BREAK_label141
;
3322 var142
= ((val
*(*)(val
* self
))((((long)var_139
&3)?class_info
[((long)var_139
&3)]:var_139
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_139
); /* item on <var_139:IndexedIterator[String]>*/
3326 var143
= ((val
*(*)(val
* self
, val
* p0
))(var_src
->class->vft
[COLOR_core__file__String__basename
]))(var_src
, ((val
*)NULL
)); /* basename on <var_src:String>*/
3328 var_basename
= var143
;
3329 if (unlikely(varonce144
==NULL
)) {
3330 var145
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3331 if (likely(varonce146
!=NULL
)) {
3332 var147
= varonce146
;
3335 var150
= (val
*)(1l<<2|1);
3336 var151
= (val
*)(1l<<2|1);
3337 var152
= (val
*)((long)(0)<<2|3);
3338 var153
= (val
*)((long)(0)<<2|3);
3339 var149
= core__flat___CString___to_s_unsafe(var148
, var150
, var151
, var152
, var153
);
3341 varonce146
= var147
;
3343 ((struct instance_core__NativeArray
*)var145
)->values
[1]=var147
;
3345 var145
= varonce144
;
3348 ((struct instance_core__NativeArray
*)var145
)->values
[0]=var_compile_dir
;
3349 ((struct instance_core__NativeArray
*)var145
)->values
[2]=var_basename
;
3351 var154
= ((val
*(*)(val
* self
))(var145
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var145
); /* native_to_s on <var145:NativeArray[String]>*/
3353 varonce144
= var145
;
3356 core__file___String___file_copy_to(var_src
, var_dst
); /* Direct call file$String$file_copy_to on <var_src:String>*/
3359 ((void(*)(val
* self
))((((long)var_139
&3)?class_info
[((long)var_139
&3)]:var_139
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_139
); /* next on <var_139:IndexedIterator[String]>*/
3362 BREAK_label141
: (void)0;
3364 ((void(*)(val
* self
))((((long)var_139
&3)?class_info
[((long)var_139
&3)]:var_139
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_139
); /* finish on <var_139:IndexedIterator[String]>*/
3367 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3368 var157
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3369 if (unlikely(var157
== NULL
)) {
3370 if(catchStack
.cursor
>= 0){
3371 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3373 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3374 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3378 RET_LABEL156
:(void)0;
3382 { /* Inline abstract_compiler$AbstractCompiler$header (var155) on <var155:AbstractCompiler> */
3383 var160
= var155
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var155:AbstractCompiler> */
3384 if (unlikely(var160
== NULL
)) {
3385 if(catchStack
.cursor
>= 0){
3386 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3388 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3389 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3393 RET_LABEL159
:(void)0;
3397 { /* Inline abstract_compiler$CodeWriter$file (var158) on <var158:CodeWriter> */
3398 var163
= var158
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___file
].val
; /* _file on <var158:CodeWriter> */
3399 if (unlikely(var163
== NULL
)) {
3400 if(catchStack
.cursor
>= 0){
3401 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3403 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
3404 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1186);
3408 RET_LABEL162
:(void)0;
3412 { /* Inline abstract_compiler$CodeFile$name (var161) on <var161:CodeFile> */
3413 var166
= var161
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var161:CodeFile> */
3414 if (unlikely(var166
== NULL
)) {
3415 if(catchStack
.cursor
>= 0){
3416 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3418 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3419 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1170);
3423 RET_LABEL165
:(void)0;
3426 if (likely(varonce167
!=NULL
)) {
3427 var168
= varonce167
;
3430 var171
= (val
*)(2l<<2|1);
3431 var172
= (val
*)(2l<<2|1);
3432 var173
= (val
*)((long)(0)<<2|3);
3433 var174
= (val
*)((long)(0)<<2|3);
3434 var170
= core__flat___CString___to_s_unsafe(var169
, var171
, var172
, var173
, var174
);
3436 varonce167
= var168
;
3439 var175
= ((val
*(*)(val
* self
, val
* p0
))(var164
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var164
, var168
); /* + on <var164:String>*/
3441 var_hfilename
= var175
;
3442 if (unlikely(varonce176
==NULL
)) {
3443 var177
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
3444 if (likely(varonce178
!=NULL
)) {
3445 var179
= varonce178
;
3448 var182
= (val
*)(1l<<2|1);
3449 var183
= (val
*)(1l<<2|1);
3450 var184
= (val
*)((long)(0)<<2|3);
3451 var185
= (val
*)((long)(0)<<2|3);
3452 var181
= core__flat___CString___to_s_unsafe(var180
, var182
, var183
, var184
, var185
);
3454 varonce178
= var179
;
3456 ((struct instance_core__NativeArray
*)var177
)->values
[1]=var179
;
3458 var177
= varonce176
;
3461 ((struct instance_core__NativeArray
*)var177
)->values
[0]=var_compile_dir
;
3462 ((struct instance_core__NativeArray
*)var177
)->values
[2]=var_hfilename
;
3464 var186
= ((val
*(*)(val
* self
))(var177
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var177
); /* native_to_s on <var177:NativeArray[String]>*/
3466 varonce176
= var177
;
3467 var_hfilepath
= var186
;
3468 var187
= NEW_core__FileWriter(&type_core__FileWriter
);
3470 core___core__FileWriter___open(var187
, var_hfilepath
); /* Direct call file$FileWriter$open on <var187:FileWriter>*/
3474 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3475 var190
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3476 if (unlikely(var190
== NULL
)) {
3477 if(catchStack
.cursor
>= 0){
3478 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3485 RET_LABEL189
:(void)0;
3489 { /* Inline abstract_compiler$AbstractCompiler$header (var188) on <var188:AbstractCompiler> */
3490 var193
= var188
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var188:AbstractCompiler> */
3491 if (unlikely(var193
== NULL
)) {
3492 if(catchStack
.cursor
>= 0){
3493 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3496 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3500 RET_LABEL192
:(void)0;
3504 { /* Inline abstract_compiler$CodeWriter$decl_lines (var191) on <var191:CodeWriter> */
3505 var196
= var191
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var191:CodeWriter> */
3506 if (unlikely(var196
== NULL
)) {
3507 if(catchStack
.cursor
>= 0){
3508 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3511 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1192);
3515 RET_LABEL195
:(void)0;
3520 var198
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_197
);
3525 var200
= ((short int(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_199
); /* is_ok on <var_199:IndexedIterator[String]>*/
3529 goto BREAK_label201
;
3532 var202
= ((val
*(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_199
); /* item on <var_199:IndexedIterator[String]>*/
3536 core___core__FileWriter___core__stream__Writer__write(var_h
, var_l
); /* Direct call file$FileWriter$write on <var_h:FileWriter>*/
3538 if (likely(varonce203
!=NULL
)) {
3539 var204
= varonce203
;
3542 var207
= (val
*)(1l<<2|1);
3543 var208
= (val
*)(1l<<2|1);
3544 var209
= (val
*)((long)(0)<<2|3);
3545 var210
= (val
*)((long)(0)<<2|3);
3546 var206
= core__flat___CString___to_s_unsafe(var205
, var207
, var208
, var209
, var210
);
3548 varonce203
= var204
;
3551 core___core__FileWriter___core__stream__Writer__write(var_h
, var204
); /* Direct call file$FileWriter$write on <var_h:FileWriter>*/
3554 ((void(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_199
); /* next on <var_199:IndexedIterator[String]>*/
3557 BREAK_label201
: (void)0;
3559 ((void(*)(val
* self
))((((long)var_199
&3)?class_info
[((long)var_199
&3)]:var_199
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_199
); /* finish on <var_199:IndexedIterator[String]>*/
3562 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3563 var213
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3564 if (unlikely(var213
== NULL
)) {
3565 if(catchStack
.cursor
>= 0){
3566 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3568 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3569 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3573 RET_LABEL212
:(void)0;
3577 { /* Inline abstract_compiler$AbstractCompiler$header (var211) on <var211:AbstractCompiler> */
3578 var216
= var211
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var211:AbstractCompiler> */
3579 if (unlikely(var216
== NULL
)) {
3580 if(catchStack
.cursor
>= 0){
3581 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3583 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3584 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3588 RET_LABEL215
:(void)0;
3592 { /* Inline abstract_compiler$CodeWriter$lines (var214) on <var214:CodeWriter> */
3593 var219
= var214
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var214:CodeWriter> */
3594 if (unlikely(var219
== NULL
)) {
3595 if(catchStack
.cursor
>= 0){
3596 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3598 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3599 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1189);
3603 RET_LABEL218
:(void)0;
3608 var221
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_220
);
3613 var223
= ((short int(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_222
); /* is_ok on <var_222:IndexedIterator[String]>*/
3617 goto BREAK_label224
;
3620 var225
= ((val
*(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_222
); /* item on <var_222:IndexedIterator[String]>*/
3624 core___core__FileWriter___core__stream__Writer__write(var_h
, var_l226
); /* Direct call file$FileWriter$write on <var_h:FileWriter>*/
3626 if (likely(varonce227
!=NULL
)) {
3627 var228
= varonce227
;
3630 var231
= (val
*)(1l<<2|1);
3631 var232
= (val
*)(1l<<2|1);
3632 var233
= (val
*)((long)(0)<<2|3);
3633 var234
= (val
*)((long)(0)<<2|3);
3634 var230
= core__flat___CString___to_s_unsafe(var229
, var231
, var232
, var233
, var234
);
3636 varonce227
= var228
;
3639 core___core__FileWriter___core__stream__Writer__write(var_h
, var228
); /* Direct call file$FileWriter$write on <var_h:FileWriter>*/
3642 ((void(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_222
); /* next on <var_222:IndexedIterator[String]>*/
3645 BREAK_label224
: (void)0;
3647 ((void(*)(val
* self
))((((long)var_222
&3)?class_info
[((long)var_222
&3)]:var_222
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_222
); /* finish on <var_222:IndexedIterator[String]>*/
3650 core___core__FileWriter___core__stream__Stream__close(var_h
); /* Direct call file$FileWriter$close on <var_h:FileWriter>*/
3653 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
3654 var237
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3655 if (unlikely(var237
== NULL
)) {
3656 if(catchStack
.cursor
>= 0){
3657 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
3664 RET_LABEL236
:(void)0;
3668 { /* Inline abstract_compiler$ToolContext$opt_max_c_lines (var235) on <var235:ToolContext> */
3669 var240
= var235
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <var235:ToolContext> */
3670 if (unlikely(var240
== NULL
)) {
3671 if(catchStack
.cursor
>= 0){
3672 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
3675 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
3679 RET_LABEL239
:(void)0;
3683 { /* Inline opts$Option$value (var238) on <var238:OptionInt> */
3684 var243
= var238
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var238:OptionInt> */
3686 RET_LABEL242
:(void)0;
3689 var244
= (long)(var241
)>>2;
3690 var_max_c_lines
= var244
;
3692 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3693 var247
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3694 if (unlikely(var247
== NULL
)) {
3695 if(catchStack
.cursor
>= 0){
3696 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3699 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3703 RET_LABEL246
:(void)0;
3707 { /* Inline abstract_compiler$AbstractCompiler$files (var245) on <var245:AbstractCompiler> */
3708 var250
= var245
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var245:AbstractCompiler> */
3709 if (unlikely(var250
== NULL
)) {
3710 if(catchStack
.cursor
>= 0){
3711 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3713 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3714 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
3718 RET_LABEL249
:(void)0;
3723 var252
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_251
);
3728 var254
= ((short int(*)(val
* self
))((((long)var_253
&3)?class_info
[((long)var_253
&3)]:var_253
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_253
); /* is_ok on <var_253:IndexedIterator[CodeFile]>*/
3732 goto BREAK_label255
;
3735 var256
= ((val
*(*)(val
* self
))((((long)var_253
&3)?class_info
[((long)var_253
&3)]:var_253
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_253
); /* item on <var_253:IndexedIterator[CodeFile]>*/
3740 var_file
= ((val
*)NULL
);
3742 { /* Inline abstract_compiler$CodeFile$writers (var_f) on <var_f:CodeFile> */
3743 var259
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_f:CodeFile> */
3744 if (unlikely(var259
== NULL
)) {
3745 if(catchStack
.cursor
>= 0){
3746 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
3749 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1173);
3753 RET_LABEL258
:(void)0;
3758 var261
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_260
);
3763 var263
= ((short int(*)(val
* self
))((((long)var_262
&3)?class_info
[((long)var_262
&3)]:var_262
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_262
); /* is_ok on <var_262:IndexedIterator[CodeWriter]>*/
3767 goto BREAK_label264
;
3770 var265
= ((val
*(*)(val
* self
))((((long)var_262
&3)?class_info
[((long)var_262
&3)]:var_262
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_262
); /* item on <var_262:IndexedIterator[CodeWriter]>*/
3774 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
3775 var268
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3776 if (unlikely(var268
== NULL
)) {
3777 if(catchStack
.cursor
>= 0){
3778 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3781 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3785 RET_LABEL267
:(void)0;
3789 { /* Inline abstract_compiler$AbstractCompiler$header (var266) on <var266:AbstractCompiler> */
3790 var271
= var266
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var266:AbstractCompiler> */
3791 if (unlikely(var271
== NULL
)) {
3792 if(catchStack
.cursor
>= 0){
3793 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3795 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3796 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
3800 RET_LABEL270
:(void)0;
3804 { /* Inline kernel$Object$== (var_vis,var269) on <var_vis:CodeWriter> */
3805 var_other274
= var269
;
3807 { /* Inline kernel$Object$is_same_instance (var_vis,var_other274) on <var_vis:CodeWriter> */
3808 var277
= var_vis
== var_other274
;
3811 RET_LABEL276
:(void)0;
3816 RET_LABEL273
:(void)0;
3820 goto BREAK_label278
;
3824 { /* Inline abstract_compiler$CodeWriter$lines (var_vis) on <var_vis:CodeWriter> */
3825 var281
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3826 if (unlikely(var281
== NULL
)) {
3827 if(catchStack
.cursor
>= 0){
3828 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3831 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1189);
3835 RET_LABEL280
:(void)0;
3839 { /* Inline array$AbstractArrayRead$length (var279) on <var279:Array[String]> */
3840 var284
= var279
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var279:Array[String]> */
3842 RET_LABEL283
:(void)0;
3846 { /* Inline abstract_compiler$CodeWriter$decl_lines (var_vis) on <var_vis:CodeWriter> */
3847 var287
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3848 if (unlikely(var287
== NULL
)) {
3849 if(catchStack
.cursor
>= 0){
3850 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
3852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3853 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1192);
3857 RET_LABEL286
:(void)0;
3861 { /* Inline array$AbstractArrayRead$length (var285) on <var285:Array[String]> */
3862 var290
= var285
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var285:Array[String]> */
3864 RET_LABEL289
:(void)0;
3868 { /* Inline kernel$Int$+ (var282,var288) on <var282:Int> */
3869 /* Covariant cast for argument 0 (i) <var288:Int> isa OTHER */
3870 /* <var288:Int> isa OTHER */
3871 var293
= 1; /* easy <var288:Int> isa OTHER*/
3872 if (unlikely(!var293
)) {
3873 var_class_name
= type_core__Int
.name
;
3874 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3875 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3878 var294
= var282
+ var288
;
3881 RET_LABEL292
:(void)0;
3884 var_total_lines
= var291
;
3886 { /* Inline kernel$Int$== (var_total_lines,0l) on <var_total_lines:Int> */
3887 var297
= var_total_lines
== 0l;
3890 RET_LABEL296
:(void)0;
3894 goto BREAK_label278
;
3898 { /* Inline kernel$Int$+ (var_count,var_total_lines) on <var_count:Int> */
3899 /* Covariant cast for argument 0 (i) <var_total_lines:Int> isa OTHER */
3900 /* <var_total_lines:Int> isa OTHER */
3901 var300
= 1; /* easy <var_total_lines:Int> isa OTHER*/
3902 if (unlikely(!var300
)) {
3903 var_class_name303
= type_core__Int
.name
;
3904 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name303
);
3905 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3908 var304
= var_count
+ var_total_lines
;
3911 RET_LABEL299
:(void)0;
3915 if (var_file
== NULL
) {
3916 var306
= 1; /* is null */
3918 var306
= 0; /* arg is null but recv is not */
3921 { /* Inline kernel$Object$== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3922 var_other274
= ((val
*)NULL
);
3924 { /* Inline kernel$Object$is_same_instance (var_file,var_other274) on <var_file:nullable FileWriter(FileWriter)> */
3925 var311
= var_file
== var_other274
;
3928 RET_LABEL310
:(void)0;
3933 RET_LABEL308
:(void)0;
3942 { /* Inline kernel$Int$> (var_count,var_max_c_lines) on <var_count:Int> */
3943 /* Covariant cast for argument 0 (i) <var_max_c_lines:Int> isa OTHER */
3944 /* <var_max_c_lines:Int> isa OTHER */
3945 var316
= 1; /* easy <var_max_c_lines:Int> isa OTHER*/
3946 if (unlikely(!var316
)) {
3947 var_class_name319
= type_core__Int
.name
;
3948 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name319
);
3949 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
3952 var320
= var_count
> var_max_c_lines
;
3955 RET_LABEL315
:(void)0;
3961 { /* Inline kernel$Int$> (var_max_c_lines,0l) on <var_max_c_lines:Int> */
3962 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3963 /* <0l:Int> isa OTHER */
3964 var324
= 1; /* easy <0l:Int> isa OTHER*/
3965 if (unlikely(!var324
)) {
3966 var_class_name327
= type_core__Int
.name
;
3967 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name327
);
3968 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 727);
3971 var328
= var_max_c_lines
> 0l;
3974 RET_LABEL323
:(void)0;
3985 { /* Inline kernel$Int$+ (var_i,1l) on <var_i:Int> */
3986 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3987 /* <1l:Int> isa OTHER */
3988 var331
= 1; /* easy <1l:Int> isa OTHER*/
3989 if (unlikely(!var331
)) {
3990 var_class_name334
= type_core__Int
.name
;
3991 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name334
);
3992 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 728);
3995 var335
= var_i
+ 1l;
3998 RET_LABEL330
:(void)0;
4002 if (var_file
== NULL
) {
4003 var336
= 0; /* is null */
4005 var336
= 1; /* arg is null and recv is not */
4008 { /* Inline kernel$Object$!= (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
4009 var_other
= ((val
*)NULL
);
4011 var339
= ((short int(*)(val
* self
, val
* p0
))(var_file
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_file
, var_other
); /* == on <var_file:nullable FileWriter(FileWriter)>*/
4016 RET_LABEL338
:(void)0;
4022 core___core__FileWriter___core__stream__Stream__close(var_file
); /* Direct call file$FileWriter$close on <var_file:nullable FileWriter(FileWriter)>*/
4026 if (unlikely(varonce341
==NULL
)) {
4027 var342
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
4028 if (likely(varonce343
!=NULL
)) {
4029 var344
= varonce343
;
4032 var347
= (val
*)(1l<<2|1);
4033 var348
= (val
*)(1l<<2|1);
4034 var349
= (val
*)((long)(0)<<2|3);
4035 var350
= (val
*)((long)(0)<<2|3);
4036 var346
= core__flat___CString___to_s_unsafe(var345
, var347
, var348
, var349
, var350
);
4038 varonce343
= var344
;
4040 ((struct instance_core__NativeArray
*)var342
)->values
[1]=var344
;
4041 if (likely(varonce351
!=NULL
)) {
4042 var352
= varonce351
;
4045 var355
= (val
*)(2l<<2|1);
4046 var356
= (val
*)(2l<<2|1);
4047 var357
= (val
*)((long)(0)<<2|3);
4048 var358
= (val
*)((long)(0)<<2|3);
4049 var354
= core__flat___CString___to_s_unsafe(var353
, var355
, var356
, var357
, var358
);
4051 varonce351
= var352
;
4053 ((struct instance_core__NativeArray
*)var342
)->values
[3]=var352
;
4055 var342
= varonce341
;
4059 { /* Inline abstract_compiler$CodeFile$name (var_f) on <var_f:CodeFile> */
4060 var361
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
4061 if (unlikely(var361
== NULL
)) {
4062 if(catchStack
.cursor
>= 0){
4063 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4066 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1170);
4070 RET_LABEL360
:(void)0;
4073 ((struct instance_core__NativeArray
*)var342
)->values
[0]=var359
;
4074 var362
= core__flat___Int___core__abstract_text__Object__to_s(var_i
);
4075 ((struct instance_core__NativeArray
*)var342
)->values
[2]=var362
;
4077 var363
= ((val
*(*)(val
* self
))(var342
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var342
); /* native_to_s on <var342:NativeArray[String]>*/
4079 varonce341
= var342
;
4080 var_cfilename
= var363
;
4081 if (unlikely(varonce364
==NULL
)) {
4082 var365
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4083 if (likely(varonce366
!=NULL
)) {
4084 var367
= varonce366
;
4087 var370
= (val
*)(1l<<2|1);
4088 var371
= (val
*)(1l<<2|1);
4089 var372
= (val
*)((long)(0)<<2|3);
4090 var373
= (val
*)((long)(0)<<2|3);
4091 var369
= core__flat___CString___to_s_unsafe(var368
, var370
, var371
, var372
, var373
);
4093 varonce366
= var367
;
4095 ((struct instance_core__NativeArray
*)var365
)->values
[1]=var367
;
4097 var365
= varonce364
;
4100 ((struct instance_core__NativeArray
*)var365
)->values
[0]=var_compile_dir
;
4101 ((struct instance_core__NativeArray
*)var365
)->values
[2]=var_cfilename
;
4103 var374
= ((val
*(*)(val
* self
))(var365
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var365
); /* native_to_s on <var365:NativeArray[String]>*/
4105 varonce364
= var365
;
4106 var_cfilepath
= var374
;
4108 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
4109 var377
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4110 if (unlikely(var377
== NULL
)) {
4111 if(catchStack
.cursor
>= 0){
4112 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4119 RET_LABEL376
:(void)0;
4122 if (unlikely(varonce378
==NULL
)) {
4123 var379
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4124 if (likely(varonce380
!=NULL
)) {
4125 var381
= varonce380
;
4127 var382
= "new C source files to compile: ";
4128 var384
= (val
*)(31l<<2|1);
4129 var385
= (val
*)(31l<<2|1);
4130 var386
= (val
*)((long)(0)<<2|3);
4131 var387
= (val
*)((long)(0)<<2|3);
4132 var383
= core__flat___CString___to_s_unsafe(var382
, var384
, var385
, var386
, var387
);
4134 varonce380
= var381
;
4136 ((struct instance_core__NativeArray
*)var379
)->values
[0]=var381
;
4138 var379
= varonce378
;
4141 ((struct instance_core__NativeArray
*)var379
)->values
[1]=var_cfilepath
;
4143 var388
= ((val
*(*)(val
* self
))(var379
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var379
); /* native_to_s on <var379:NativeArray[String]>*/
4145 varonce378
= var379
;
4147 nitc___nitc__ToolContext___info(var375
, var388
, 3l); /* Direct call toolcontext$ToolContext$info on <var375:ToolContext>*/
4150 core___core__Array___core__abstract_collection__SimpleCollection__add(var_cfiles
, var_cfilename
); /* Direct call array$Array$add on <var_cfiles:Array[String]>*/
4152 var389
= NEW_core__FileWriter(&type_core__FileWriter
);
4154 core___core__FileWriter___open(var389
, var_cfilepath
); /* Direct call file$FileWriter$open on <var389:FileWriter>*/
4157 if (unlikely(varonce390
==NULL
)) {
4158 var391
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4159 if (likely(varonce392
!=NULL
)) {
4160 var393
= varonce392
;
4162 var394
= "#include \"";
4163 var396
= (val
*)(10l<<2|1);
4164 var397
= (val
*)(10l<<2|1);
4165 var398
= (val
*)((long)(0)<<2|3);
4166 var399
= (val
*)((long)(0)<<2|3);
4167 var395
= core__flat___CString___to_s_unsafe(var394
, var396
, var397
, var398
, var399
);
4169 varonce392
= var393
;
4171 ((struct instance_core__NativeArray
*)var391
)->values
[0]=var393
;
4172 if (likely(varonce400
!=NULL
)) {
4173 var401
= varonce400
;
4175 var402
= ".0.h\"\n";
4176 var404
= (val
*)(6l<<2|1);
4177 var405
= (val
*)(6l<<2|1);
4178 var406
= (val
*)((long)(0)<<2|3);
4179 var407
= (val
*)((long)(0)<<2|3);
4180 var403
= core__flat___CString___to_s_unsafe(var402
, var404
, var405
, var406
, var407
);
4182 varonce400
= var401
;
4184 ((struct instance_core__NativeArray
*)var391
)->values
[2]=var401
;
4186 var391
= varonce390
;
4190 { /* Inline abstract_compiler$CodeFile$name (var_f) on <var_f:CodeFile> */
4191 var410
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
4192 if (unlikely(var410
== NULL
)) {
4193 if(catchStack
.cursor
>= 0){
4194 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4196 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4197 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1170);
4201 RET_LABEL409
:(void)0;
4204 ((struct instance_core__NativeArray
*)var391
)->values
[1]=var408
;
4206 var411
= ((val
*(*)(val
* self
))(var391
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var391
); /* native_to_s on <var391:NativeArray[String]>*/
4208 varonce390
= var391
;
4210 core___core__FileWriter___core__stream__Writer__write(var_file
, var411
); /* Direct call file$FileWriter$write on <var_file:nullable FileWriter(FileWriter)>*/
4212 var_count
= var_total_lines
;
4216 { /* Inline abstract_compiler$CodeWriter$decl_lines (var_vis) on <var_vis:CodeWriter> */
4217 var414
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
4218 if (unlikely(var414
== NULL
)) {
4219 if(catchStack
.cursor
>= 0){
4220 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
4223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1192);
4227 RET_LABEL413
:(void)0;
4232 var416
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_415
);
4237 var418
= ((short int(*)(val
* self
))((((long)var_417
&3)?class_info
[((long)var_417
&3)]:var_417
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_417
); /* is_ok on <var_417:IndexedIterator[String]>*/
4241 goto BREAK_label419
;
4244 var420
= ((val
*(*)(val
* self
))((((long)var_417
&3)?class_info
[((long)var_417
&3)]:var_417
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_417
); /* item on <var_417:IndexedIterator[String]>*/
4248 core___core__FileWriter___core__stream__Writer__write(var_file
, var_l421
); /* Direct call file$FileWriter$write on <var_file:nullable FileWriter(FileWriter)>*/
4250 if (likely(varonce422
!=NULL
)) {
4251 var423
= varonce422
;
4254 var426
= (val
*)(1l<<2|1);
4255 var427
= (val
*)(1l<<2|1);
4256 var428
= (val
*)((long)(0)<<2|3);
4257 var429
= (val
*)((long)(0)<<2|3);
4258 var425
= core__flat___CString___to_s_unsafe(var424
, var426
, var427
, var428
, var429
);
4260 varonce422
= var423
;
4263 core___core__FileWriter___core__stream__Writer__write(var_file
, var423
); /* Direct call file$FileWriter$write on <var_file:nullable FileWriter(FileWriter)>*/
4266 ((void(*)(val
* self
))((((long)var_417
&3)?class_info
[((long)var_417
&3)]:var_417
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_417
); /* next on <var_417:IndexedIterator[String]>*/
4269 BREAK_label419
: (void)0;
4271 ((void(*)(val
* self
))((((long)var_417
&3)?class_info
[((long)var_417
&3)]:var_417
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_417
); /* finish on <var_417:IndexedIterator[String]>*/
4274 { /* Inline abstract_compiler$CodeWriter$lines (var_vis) on <var_vis:CodeWriter> */
4275 var432
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
4276 if (unlikely(var432
== NULL
)) {
4277 if(catchStack
.cursor
>= 0){
4278 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
4281 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1189);
4285 RET_LABEL431
:(void)0;
4290 var434
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_433
);
4295 var436
= ((short int(*)(val
* self
))((((long)var_435
&3)?class_info
[((long)var_435
&3)]:var_435
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_435
); /* is_ok on <var_435:IndexedIterator[String]>*/
4299 goto BREAK_label437
;
4302 var438
= ((val
*(*)(val
* self
))((((long)var_435
&3)?class_info
[((long)var_435
&3)]:var_435
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_435
); /* item on <var_435:IndexedIterator[String]>*/
4306 core___core__FileWriter___core__stream__Writer__write(var_file
, var_l439
); /* Direct call file$FileWriter$write on <var_file:nullable FileWriter(FileWriter)>*/
4308 if (likely(varonce440
!=NULL
)) {
4309 var441
= varonce440
;
4312 var444
= (val
*)(1l<<2|1);
4313 var445
= (val
*)(1l<<2|1);
4314 var446
= (val
*)((long)(0)<<2|3);
4315 var447
= (val
*)((long)(0)<<2|3);
4316 var443
= core__flat___CString___to_s_unsafe(var442
, var444
, var445
, var446
, var447
);
4318 varonce440
= var441
;
4321 core___core__FileWriter___core__stream__Writer__write(var_file
, var441
); /* Direct call file$FileWriter$write on <var_file:nullable FileWriter(FileWriter)>*/
4324 ((void(*)(val
* self
))((((long)var_435
&3)?class_info
[((long)var_435
&3)]:var_435
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_435
); /* next on <var_435:IndexedIterator[String]>*/
4327 BREAK_label437
: (void)0;
4329 ((void(*)(val
* self
))((((long)var_435
&3)?class_info
[((long)var_435
&3)]:var_435
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_435
); /* finish on <var_435:IndexedIterator[String]>*/
4331 BREAK_label278
: (void)0;
4333 ((void(*)(val
* self
))((((long)var_262
&3)?class_info
[((long)var_262
&3)]:var_262
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_262
); /* next on <var_262:IndexedIterator[CodeWriter]>*/
4336 BREAK_label264
: (void)0;
4338 ((void(*)(val
* self
))((((long)var_262
&3)?class_info
[((long)var_262
&3)]:var_262
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_262
); /* finish on <var_262:IndexedIterator[CodeWriter]>*/
4340 if (var_file
== NULL
) {
4341 var448
= 1; /* is null */
4343 var448
= 0; /* arg is null but recv is not */
4346 { /* Inline kernel$Object$== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
4347 var_other274
= ((val
*)NULL
);
4349 { /* Inline kernel$Object$is_same_instance (var_file,var_other274) on <var_file:nullable FileWriter(FileWriter)> */
4350 var453
= var_file
== var_other274
;
4353 RET_LABEL452
:(void)0;
4358 RET_LABEL450
:(void)0;
4363 goto BREAK_label454
;
4367 core___core__FileWriter___core__stream__Stream__close(var_file
); /* Direct call file$FileWriter$close on <var_file:nullable FileWriter(FileWriter)>*/
4369 if (unlikely(varonce455
==NULL
)) {
4370 var456
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4371 if (likely(varonce457
!=NULL
)) {
4372 var458
= varonce457
;
4375 var461
= (val
*)(4l<<2|1);
4376 var462
= (val
*)(4l<<2|1);
4377 var463
= (val
*)((long)(0)<<2|3);
4378 var464
= (val
*)((long)(0)<<2|3);
4379 var460
= core__flat___CString___to_s_unsafe(var459
, var461
, var462
, var463
, var464
);
4381 varonce457
= var458
;
4383 ((struct instance_core__NativeArray
*)var456
)->values
[1]=var458
;
4385 var456
= varonce455
;
4389 { /* Inline abstract_compiler$CodeFile$name (var_f) on <var_f:CodeFile> */
4390 var467
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
4391 if (unlikely(var467
== NULL
)) {
4392 if(catchStack
.cursor
>= 0){
4393 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4395 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4396 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1170);
4400 RET_LABEL466
:(void)0;
4403 ((struct instance_core__NativeArray
*)var456
)->values
[0]=var465
;
4405 var468
= ((val
*(*)(val
* self
))(var456
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var456
); /* native_to_s on <var456:NativeArray[String]>*/
4407 varonce455
= var456
;
4408 var_cfilename469
= var468
;
4409 if (unlikely(varonce470
==NULL
)) {
4410 var471
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4411 if (likely(varonce472
!=NULL
)) {
4412 var473
= varonce472
;
4415 var476
= (val
*)(1l<<2|1);
4416 var477
= (val
*)(1l<<2|1);
4417 var478
= (val
*)((long)(0)<<2|3);
4418 var479
= (val
*)((long)(0)<<2|3);
4419 var475
= core__flat___CString___to_s_unsafe(var474
, var476
, var477
, var478
, var479
);
4421 varonce472
= var473
;
4423 ((struct instance_core__NativeArray
*)var471
)->values
[1]=var473
;
4425 var471
= varonce470
;
4428 ((struct instance_core__NativeArray
*)var471
)->values
[0]=var_compile_dir
;
4429 ((struct instance_core__NativeArray
*)var471
)->values
[2]=var_cfilename469
;
4431 var480
= ((val
*(*)(val
* self
))(var471
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var471
); /* native_to_s on <var471:NativeArray[String]>*/
4433 varonce470
= var471
;
4434 var_cfilepath481
= var480
;
4435 var_hfile
= ((val
*)NULL
);
4436 var482
= NEW_core__FileWriter(&type_core__FileWriter
);
4438 core___core__FileWriter___open(var482
, var_cfilepath481
); /* Direct call file$FileWriter$open on <var482:FileWriter>*/
4441 if (unlikely(varonce483
==NULL
)) {
4442 var484
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
4443 if (likely(varonce485
!=NULL
)) {
4444 var486
= varonce485
;
4446 var487
= "#include \"";
4447 var489
= (val
*)(10l<<2|1);
4448 var490
= (val
*)(10l<<2|1);
4449 var491
= (val
*)((long)(0)<<2|3);
4450 var492
= (val
*)((long)(0)<<2|3);
4451 var488
= core__flat___CString___to_s_unsafe(var487
, var489
, var490
, var491
, var492
);
4453 varonce485
= var486
;
4455 ((struct instance_core__NativeArray
*)var484
)->values
[0]=var486
;
4456 if (likely(varonce493
!=NULL
)) {
4457 var494
= varonce493
;
4460 var497
= (val
*)(2l<<2|1);
4461 var498
= (val
*)(2l<<2|1);
4462 var499
= (val
*)((long)(0)<<2|3);
4463 var500
= (val
*)((long)(0)<<2|3);
4464 var496
= core__flat___CString___to_s_unsafe(var495
, var497
, var498
, var499
, var500
);
4466 varonce493
= var494
;
4468 ((struct instance_core__NativeArray
*)var484
)->values
[2]=var494
;
4470 var484
= varonce483
;
4473 ((struct instance_core__NativeArray
*)var484
)->values
[1]=var_hfilename
;
4475 var501
= ((val
*(*)(val
* self
))(var484
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var484
); /* native_to_s on <var484:NativeArray[String]>*/
4477 varonce483
= var484
;
4479 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var501
); /* Direct call file$FileWriter$write on <var_hfile:nullable FileWriter(FileWriter)>*/
4482 { /* Inline abstract_compiler$CodeFile$required_declarations (var_f) on <var_f:CodeFile> */
4483 var504
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var_f:CodeFile> */
4484 if (unlikely(var504
== NULL
)) {
4485 if(catchStack
.cursor
>= 0){
4486 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4488 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
4489 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1176);
4493 RET_LABEL503
:(void)0;
4498 var506
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_505
);
4503 var508
= ((short int(*)(val
* self
))((((long)var_507
&3)?class_info
[((long)var_507
&3)]:var_507
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_507
); /* is_ok on <var_507:Iterator[String]>*/
4507 goto BREAK_label509
;
4510 var510
= ((val
*(*)(val
* self
))((((long)var_507
&3)?class_info
[((long)var_507
&3)]:var_507
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_507
); /* item on <var_507:Iterator[String]>*/
4514 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
4515 var513
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4516 if (unlikely(var513
== NULL
)) {
4517 if(catchStack
.cursor
>= 0){
4518 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4525 RET_LABEL512
:(void)0;
4529 { /* Inline abstract_compiler$AbstractCompiler$provided_declarations (var511) on <var511:AbstractCompiler> */
4530 var516
= var511
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var511:AbstractCompiler> */
4531 if (unlikely(var516
== NULL
)) {
4532 if(catchStack
.cursor
>= 0){
4533 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
4536 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
4540 RET_LABEL515
:(void)0;
4544 var517
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var514
, var_key
);
4549 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
4550 var521
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4551 if (unlikely(var521
== NULL
)) {
4552 if(catchStack
.cursor
>= 0){
4553 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4556 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4560 RET_LABEL520
:(void)0;
4564 { /* Inline abstract_compiler$AbstractCompiler$requirers_of_declarations (var519) on <var519:AbstractCompiler> */
4565 var524
= var519
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var519:AbstractCompiler> */
4566 if (unlikely(var524
== NULL
)) {
4567 if(catchStack
.cursor
>= 0){
4568 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
4571 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 617);
4575 RET_LABEL523
:(void)0;
4579 var525
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var522
, var_key
);
4582 if (var_node
== NULL
) {
4583 var526
= 0; /* is null */
4585 var526
= 1; /* arg is null and recv is not */
4588 { /* Inline kernel$Object$!= (var_node,((val*)NULL)) on <var_node:nullable ANode> */
4589 var_other
= ((val
*)NULL
);
4591 var529
= ((short int(*)(val
* self
, val
* p0
))(var_node
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_node
, var_other
); /* == on <var_node:nullable ANode(ANode)>*/
4596 RET_LABEL528
:(void)0;
4601 if (unlikely(varonce531
==NULL
)) {
4602 var532
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4603 if (likely(varonce533
!=NULL
)) {
4604 var534
= varonce533
;
4606 var535
= "No provided declaration for ";
4607 var537
= (val
*)(28l<<2|1);
4608 var538
= (val
*)(28l<<2|1);
4609 var539
= (val
*)((long)(0)<<2|3);
4610 var540
= (val
*)((long)(0)<<2|3);
4611 var536
= core__flat___CString___to_s_unsafe(var535
, var537
, var538
, var539
, var540
);
4613 varonce533
= var534
;
4615 ((struct instance_core__NativeArray
*)var532
)->values
[0]=var534
;
4617 var532
= varonce531
;
4620 ((struct instance_core__NativeArray
*)var532
)->values
[1]=var_key
;
4622 var541
= ((val
*(*)(val
* self
))(var532
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var532
); /* native_to_s on <var532:NativeArray[String]>*/
4624 varonce531
= var532
;
4626 nitc___nitc__ANode___debug(var_node
, var541
); /* Direct call parser_nodes$ANode$debug on <var_node:nullable ANode(ANode)>*/
4630 if (unlikely(varonce543
==NULL
)) {
4631 var544
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4632 if (likely(varonce545
!=NULL
)) {
4633 var546
= varonce545
;
4635 var547
= "No provided declaration for ";
4636 var549
= (val
*)(28l<<2|1);
4637 var550
= (val
*)(28l<<2|1);
4638 var551
= (val
*)((long)(0)<<2|3);
4639 var552
= (val
*)((long)(0)<<2|3);
4640 var548
= core__flat___CString___to_s_unsafe(var547
, var549
, var550
, var551
, var552
);
4642 varonce545
= var546
;
4644 ((struct instance_core__NativeArray
*)var544
)->values
[0]=var546
;
4646 var544
= varonce543
;
4649 ((struct instance_core__NativeArray
*)var544
)->values
[1]=var_key
;
4651 var553
= ((val
*(*)(val
* self
))(var544
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var544
); /* native_to_s on <var544:NativeArray[String]>*/
4653 varonce543
= var544
;
4655 core__file___Sys___print(var542
, var553
); /* Direct call file$Sys$print on <var542:Sys>*/
4658 if(catchStack
.cursor
>= 0){
4659 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4661 PRINT_ERROR("Runtime error: %s", "Aborted");
4662 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 293);
4667 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
4668 var556
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4669 if (unlikely(var556
== NULL
)) {
4670 if(catchStack
.cursor
>= 0){
4671 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4674 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4678 RET_LABEL555
:(void)0;
4682 { /* Inline abstract_compiler$AbstractCompiler$provided_declarations (var554) on <var554:AbstractCompiler> */
4683 var559
= var554
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var554:AbstractCompiler> */
4684 if (unlikely(var559
== NULL
)) {
4685 if(catchStack
.cursor
>= 0){
4686 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4688 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
4689 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
4693 RET_LABEL558
:(void)0;
4697 var560
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var557
, var_key
);
4700 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var560
); /* Direct call file$FileWriter$write on <var_hfile:nullable FileWriter(FileWriter)>*/
4702 if (likely(varonce561
!=NULL
)) {
4703 var562
= varonce561
;
4706 var565
= (val
*)(1l<<2|1);
4707 var566
= (val
*)(1l<<2|1);
4708 var567
= (val
*)((long)(0)<<2|3);
4709 var568
= (val
*)((long)(0)<<2|3);
4710 var564
= core__flat___CString___to_s_unsafe(var563
, var565
, var566
, var567
, var568
);
4712 varonce561
= var562
;
4715 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var562
); /* Direct call file$FileWriter$write on <var_hfile:nullable FileWriter(FileWriter)>*/
4718 ((void(*)(val
* self
))((((long)var_507
&3)?class_info
[((long)var_507
&3)]:var_507
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_507
); /* next on <var_507:Iterator[String]>*/
4721 BREAK_label509
: (void)0;
4723 ((void(*)(val
* self
))((((long)var_507
&3)?class_info
[((long)var_507
&3)]:var_507
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_507
); /* finish on <var_507:Iterator[String]>*/
4726 core___core__FileWriter___core__stream__Stream__close(var_hfile
); /* Direct call file$FileWriter$close on <var_hfile:nullable FileWriter(FileWriter)>*/
4728 BREAK_label454
: (void)0;
4730 ((void(*)(val
* self
))((((long)var_253
&3)?class_info
[((long)var_253
&3)]:var_253
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_253
); /* next on <var_253:IndexedIterator[CodeFile]>*/
4733 BREAK_label255
: (void)0;
4735 ((void(*)(val
* self
))((((long)var_253
&3)?class_info
[((long)var_253
&3)]:var_253
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_253
); /* finish on <var_253:IndexedIterator[CodeFile]>*/
4738 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
4739 var571
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4740 if (unlikely(var571
== NULL
)) {
4741 if(catchStack
.cursor
>= 0){
4742 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4745 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4749 RET_LABEL570
:(void)0;
4752 if (unlikely(varonce572
==NULL
)) {
4753 var573
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4754 if (likely(varonce574
!=NULL
)) {
4755 var575
= varonce574
;
4757 var576
= "Total C source files to compile: ";
4758 var578
= (val
*)(33l<<2|1);
4759 var579
= (val
*)(33l<<2|1);
4760 var580
= (val
*)((long)(0)<<2|3);
4761 var581
= (val
*)((long)(0)<<2|3);
4762 var577
= core__flat___CString___to_s_unsafe(var576
, var578
, var579
, var580
, var581
);
4764 varonce574
= var575
;
4766 ((struct instance_core__NativeArray
*)var573
)->values
[0]=var575
;
4768 var573
= varonce572
;
4772 { /* Inline array$AbstractArrayRead$length (var_cfiles) on <var_cfiles:Array[String]> */
4773 var584
= var_cfiles
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_cfiles:Array[String]> */
4775 RET_LABEL583
:(void)0;
4778 var585
= core__flat___Int___core__abstract_text__Object__to_s(var582
);
4779 ((struct instance_core__NativeArray
*)var573
)->values
[1]=var585
;
4781 var586
= ((val
*(*)(val
* self
))(var573
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var573
); /* native_to_s on <var573:NativeArray[String]>*/
4783 varonce572
= var573
;
4785 nitc___nitc__ToolContext___info(var569
, var586
, 2l); /* Direct call toolcontext$ToolContext$info on <var569:ToolContext>*/
4789 /* method abstract_compiler$MakefileToolchain$makefile_name for (self: MakefileToolchain): String */
4790 val
* nitc___nitc__MakefileToolchain___makefile_name(val
* self
) {
4791 val
* var
/* : String */;
4792 val
* var1
/* : NativeArray[String] */;
4793 static val
* varonce
;
4794 static val
* varonce2
;
4795 val
* var3
/* : String */;
4796 char* var4
/* : CString */;
4797 val
* var5
/* : String */;
4798 val
* var6
/* : nullable Int */;
4799 val
* var7
/* : nullable Int */;
4800 val
* var8
/* : nullable Bool */;
4801 val
* var9
/* : nullable Bool */;
4802 val
* var10
/* : AbstractCompiler */;
4803 val
* var12
/* : AbstractCompiler */;
4804 val
* var13
/* : MModule */;
4805 val
* var15
/* : MModule */;
4806 val
* var16
/* : String */;
4807 val
* var17
/* : String */;
4808 if (unlikely(varonce
==NULL
)) {
4809 var1
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
4810 if (likely(varonce2
!=NULL
)) {
4814 var6
= (val
*)(3l<<2|1);
4815 var7
= (val
*)(3l<<2|1);
4816 var8
= (val
*)((long)(0)<<2|3);
4817 var9
= (val
*)((long)(0)<<2|3);
4818 var5
= core__flat___CString___to_s_unsafe(var4
, var6
, var7
, var8
, var9
);
4822 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var3
;
4828 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
4829 var12
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4830 if (unlikely(var12
== NULL
)) {
4831 if(catchStack
.cursor
>= 0){
4832 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4834 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4835 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4839 RET_LABEL11
:(void)0;
4843 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var10) on <var10:AbstractCompiler> */
4844 var15
= var10
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var10:AbstractCompiler> */
4845 if (unlikely(var15
== NULL
)) {
4846 if(catchStack
.cursor
>= 0){
4847 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4850 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
4854 RET_LABEL14
:(void)0;
4858 var16
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var13
);
4860 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var16
;
4862 var17
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
4870 /* method abstract_compiler$MakefileToolchain$default_outname for (self: MakefileToolchain): String */
4871 val
* nitc___nitc__MakefileToolchain___default_outname(val
* self
) {
4872 val
* var
/* : String */;
4873 val
* var1
/* : AbstractCompiler */;
4874 val
* var3
/* : AbstractCompiler */;
4875 val
* var4
/* : MModule */;
4876 val
* var6
/* : MModule */;
4877 val
* var7
/* : MModule */;
4878 val
* var9
/* : MModule */;
4879 val
* var_mainmodule
/* var mainmodule: MModule */;
4880 val
* var10
/* : String */;
4881 val
* var12
/* : String */;
4883 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
4884 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4885 if (unlikely(var3
== NULL
)) {
4886 if(catchStack
.cursor
>= 0){
4887 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4898 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var1) on <var1:AbstractCompiler> */
4899 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
4900 if (unlikely(var6
== NULL
)) {
4901 if(catchStack
.cursor
>= 0){
4902 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4905 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
4913 { /* Inline mmodule$MModule$first_real_mmodule (var4) on <var4:MModule> */
4914 var9
= var4
->attrs
[COLOR_nitc__mmodule__MModule___first_real_mmodule
].val
; /* _first_real_mmodule on <var4:MModule> */
4915 if (unlikely(var9
== NULL
)) {
4916 if(catchStack
.cursor
>= 0){
4917 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4919 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _first_real_mmodule");
4920 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 260);
4927 var_mainmodule
= var7
;
4929 { /* Inline mmodule$MModule$name (var_mainmodule) on <var_mainmodule:MModule> */
4930 var12
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
4931 if (unlikely(var12
== NULL
)) {
4932 if(catchStack
.cursor
>= 0){
4933 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4935 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4936 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 100);
4940 RET_LABEL11
:(void)0;
4948 /* method abstract_compiler$MakefileToolchain$outfile for (self: MakefileToolchain, MModule): String */
4949 val
* nitc___nitc__MakefileToolchain___outfile(val
* self
, val
* p0
) {
4950 val
* var
/* : String */;
4951 val
* var_mainmodule
/* var mainmodule: MModule */;
4952 val
* var1
/* : ToolContext */;
4953 val
* var3
/* : ToolContext */;
4954 val
* var4
/* : OptionString */;
4955 val
* var6
/* : OptionString */;
4956 val
* var7
/* : nullable Object */;
4957 val
* var9
/* : nullable Object */;
4958 val
* var_res
/* var res: nullable String */;
4959 short int var10
/* : Bool */;
4960 short int var11
/* : Bool */;
4961 val
* var_other
/* var other: nullable Object */;
4962 short int var13
/* : Bool */;
4963 short int var14
/* : Bool */;
4964 val
* var15
/* : String */;
4965 val
* var16
/* : ToolContext */;
4966 val
* var18
/* : ToolContext */;
4967 val
* var19
/* : OptionString */;
4968 val
* var21
/* : OptionString */;
4969 val
* var22
/* : nullable Object */;
4970 val
* var24
/* : nullable Object */;
4971 val
* var_dir
/* var dir: nullable String */;
4972 short int var25
/* : Bool */;
4973 short int var26
/* : Bool */;
4974 short int var28
/* : Bool */;
4975 short int var29
/* : Bool */;
4976 val
* var30
/* : String */;
4977 var_mainmodule
= p0
;
4979 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
4980 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4981 if (unlikely(var3
== NULL
)) {
4982 if(catchStack
.cursor
>= 0){
4983 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
4985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4986 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4994 { /* Inline abstract_compiler$ToolContext$opt_output (var1) on <var1:ToolContext> */
4995 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var1:ToolContext> */
4996 if (unlikely(var6
== NULL
)) {
4997 if(catchStack
.cursor
>= 0){
4998 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5000 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
5001 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
5009 { /* Inline opts$Option$value (var4) on <var4:OptionString> */
5010 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
5016 if (var_res
== NULL
) {
5017 var10
= 0; /* is null */
5019 var10
= 1; /* arg is null and recv is not */
5022 { /* Inline kernel$Object$!= (var_res,((val*)NULL)) on <var_res:nullable String> */
5023 var_other
= ((val
*)NULL
);
5025 var13
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable String(String)>*/
5030 RET_LABEL12
:(void)0;
5040 var15
= nitc___nitc__MakefileToolchain___default_outname(self
);
5044 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
5045 var18
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
5046 if (unlikely(var18
== NULL
)) {
5047 if(catchStack
.cursor
>= 0){
5048 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5050 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5051 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
5055 RET_LABEL17
:(void)0;
5059 { /* Inline abstract_compiler$ToolContext$opt_dir (var16) on <var16:ToolContext> */
5060 var21
= var16
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <var16:ToolContext> */
5061 if (unlikely(var21
== NULL
)) {
5062 if(catchStack
.cursor
>= 0){
5063 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5065 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
5066 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
5070 RET_LABEL20
:(void)0;
5074 { /* Inline opts$Option$value (var19) on <var19:OptionString> */
5075 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionString> */
5077 RET_LABEL23
:(void)0;
5081 if (var_dir
== NULL
) {
5082 var25
= 0; /* is null */
5084 var25
= 1; /* arg is null and recv is not */
5087 { /* Inline kernel$Object$!= (var_dir,((val*)NULL)) on <var_dir:nullable String> */
5088 var_other
= ((val
*)NULL
);
5090 var28
= ((short int(*)(val
* self
, val
* p0
))(var_dir
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_dir
, var_other
); /* == on <var_dir:nullable String(String)>*/
5095 RET_LABEL27
:(void)0;
5101 var30
= core__file___String___join_path(var_dir
, var_res
);
5112 /* method abstract_compiler$MakefileToolchain$write_makefile for (self: MakefileToolchain, String, Array[String]) */
5113 void nitc___nitc__MakefileToolchain___write_makefile(val
* self
, val
* p0
, val
* p1
) {
5114 val
* var_compile_dir
/* var compile_dir: String */;
5115 val
* var_cfiles
/* var cfiles: Array[String] */;
5116 val
* var
/* : AbstractCompiler */;
5117 val
* var2
/* : AbstractCompiler */;
5118 val
* var3
/* : MModule */;
5119 val
* var5
/* : MModule */;
5120 val
* var_mainmodule
/* var mainmodule: MModule */;
5121 val
* var6
/* : AbstractCompiler */;
5122 val
* var8
/* : AbstractCompiler */;
5123 val
* var9
/* : Platform */;
5124 val
* var11
/* : Platform */;
5125 val
* var_platform
/* var platform: Platform */;
5126 val
* var12
/* : String */;
5127 val
* var_outname
/* var outname: String */;
5128 val
* var13
/* : String */;
5129 val
* var_real_outpath
/* var real_outpath: String */;
5130 val
* var14
/* : String */;
5131 val
* var_outpath
/* var outpath: String */;
5132 short int var15
/* : Bool */;
5133 val
* var_other
/* var other: nullable Object */;
5134 short int var17
/* : Bool */;
5135 short int var18
/* : Bool */;
5136 val
* var19
/* : String */;
5137 val
* var20
/* : String */;
5138 val
* var_makename
/* var makename: String */;
5139 val
* var21
/* : NativeArray[String] */;
5140 static val
* varonce
;
5141 static val
* varonce22
;
5142 val
* var23
/* : String */;
5143 char* var24
/* : CString */;
5144 val
* var25
/* : String */;
5145 val
* var26
/* : nullable Int */;
5146 val
* var27
/* : nullable Int */;
5147 val
* var28
/* : nullable Bool */;
5148 val
* var29
/* : nullable Bool */;
5149 val
* var30
/* : String */;
5150 val
* var_makepath
/* var makepath: String */;
5151 val
* var31
/* : FileWriter */;
5152 val
* var_makefile
/* var makefile: FileWriter */;
5153 val
* var32
/* : HashSet[String] */;
5154 val
* var_linker_options
/* var linker_options: HashSet[String] */;
5155 val
* var33
/* : POSetElement[MModule] */;
5156 val
* var35
/* : POSetElement[MModule] */;
5157 val
* var36
/* : Collection[nullable Object] */;
5158 val
* var_
/* var : Collection[MModule] */;
5159 val
* var37
/* : Iterator[nullable Object] */;
5160 val
* var_38
/* var : Iterator[MModule] */;
5161 short int var39
/* : Bool */;
5162 val
* var40
/* : nullable Object */;
5163 val
* var_m
/* var m: MModule */;
5164 val
* var41
/* : nullable Array[String] */;
5165 val
* var_libs
/* var libs: nullable Array[String] */;
5166 short int var42
/* : Bool */;
5167 short int var43
/* : Bool */;
5168 short int var45
/* : Bool */;
5169 short int var46
/* : Bool */;
5170 val
* var47
/* : ToolContext */;
5171 val
* var49
/* : ToolContext */;
5172 val
* var50
/* : OptionBool */;
5173 val
* var52
/* : OptionBool */;
5174 val
* var53
/* : nullable Object */;
5175 val
* var55
/* : nullable Object */;
5176 short int var56
/* : Bool */;
5177 short int var_debug
/* var debug: Bool */;
5178 val
* var58
/* : NativeArray[String] */;
5179 static val
* varonce57
;
5180 static val
* varonce59
;
5181 val
* var60
/* : String */;
5182 char* var61
/* : CString */;
5183 val
* var62
/* : String */;
5184 val
* var63
/* : nullable Int */;
5185 val
* var64
/* : nullable Int */;
5186 val
* var65
/* : nullable Bool */;
5187 val
* var66
/* : nullable Bool */;
5188 static val
* varonce67
;
5189 val
* var68
/* : String */;
5190 char* var69
/* : CString */;
5191 val
* var70
/* : String */;
5192 val
* var71
/* : nullable Int */;
5193 val
* var72
/* : nullable Int */;
5194 val
* var73
/* : nullable Bool */;
5195 val
* var74
/* : nullable Bool */;
5196 static val
* varonce75
;
5197 val
* var76
/* : String */;
5198 char* var77
/* : CString */;
5199 val
* var78
/* : String */;
5200 val
* var79
/* : nullable Int */;
5201 val
* var80
/* : nullable Int */;
5202 val
* var81
/* : nullable Bool */;
5203 val
* var82
/* : nullable Bool */;
5204 val
* var83
/* : String */;
5205 short int var84
/* : Bool */;
5206 static val
* varonce85
;
5207 val
* var86
/* : String */;
5208 char* var87
/* : CString */;
5209 val
* var88
/* : String */;
5210 val
* var89
/* : nullable Int */;
5211 val
* var90
/* : nullable Int */;
5212 val
* var91
/* : nullable Bool */;
5213 val
* var92
/* : nullable Bool */;
5214 static val
* varonce93
;
5215 val
* var94
/* : String */;
5216 char* var95
/* : CString */;
5217 val
* var96
/* : String */;
5218 val
* var97
/* : nullable Int */;
5219 val
* var98
/* : nullable Int */;
5220 val
* var99
/* : nullable Bool */;
5221 val
* var100
/* : nullable Bool */;
5222 static val
* varonce101
;
5223 val
* var102
/* : String */;
5224 char* var103
/* : CString */;
5225 val
* var104
/* : String */;
5226 val
* var105
/* : nullable Int */;
5227 val
* var106
/* : nullable Int */;
5228 val
* var107
/* : nullable Bool */;
5229 val
* var108
/* : nullable Bool */;
5230 val
* var109
/* : String */;
5231 val
* var110
/* : String */;
5232 static val
* varonce111
;
5233 val
* var112
/* : String */;
5234 char* var113
/* : CString */;
5235 val
* var114
/* : String */;
5236 val
* var115
/* : nullable Int */;
5237 val
* var116
/* : nullable Int */;
5238 val
* var117
/* : nullable Bool */;
5239 val
* var118
/* : nullable Bool */;
5240 short int var119
/* : Bool */;
5241 val
* var120
/* : ToolContext */;
5242 val
* var122
/* : ToolContext */;
5243 val
* var123
/* : OptionBool */;
5244 val
* var125
/* : OptionBool */;
5245 val
* var126
/* : nullable Object */;
5246 val
* var128
/* : nullable Object */;
5247 short int var129
/* : Bool */;
5248 static val
* varonce130
;
5249 val
* var131
/* : String */;
5250 char* var132
/* : CString */;
5251 val
* var133
/* : String */;
5252 val
* var134
/* : nullable Int */;
5253 val
* var135
/* : nullable Int */;
5254 val
* var136
/* : nullable Bool */;
5255 val
* var137
/* : nullable Bool */;
5256 static val
* varonce138
;
5257 val
* var139
/* : String */;
5258 char* var140
/* : CString */;
5259 val
* var141
/* : String */;
5260 val
* var142
/* : nullable Int */;
5261 val
* var143
/* : nullable Int */;
5262 val
* var144
/* : nullable Bool */;
5263 val
* var145
/* : nullable Bool */;
5264 static val
* varonce146
;
5265 val
* var147
/* : String */;
5266 char* var148
/* : CString */;
5267 val
* var149
/* : String */;
5268 val
* var150
/* : nullable Int */;
5269 val
* var151
/* : nullable Int */;
5270 val
* var152
/* : nullable Bool */;
5271 val
* var153
/* : nullable Bool */;
5272 static val
* varonce154
;
5273 val
* var155
/* : String */;
5274 char* var156
/* : CString */;
5275 val
* var157
/* : String */;
5276 val
* var158
/* : nullable Int */;
5277 val
* var159
/* : nullable Int */;
5278 val
* var160
/* : nullable Bool */;
5279 val
* var161
/* : nullable Bool */;
5280 static val
* varonce162
;
5281 val
* var163
/* : String */;
5282 char* var164
/* : CString */;
5283 val
* var165
/* : String */;
5284 val
* var166
/* : nullable Int */;
5285 val
* var167
/* : nullable Int */;
5286 val
* var168
/* : nullable Bool */;
5287 val
* var169
/* : nullable Bool */;
5288 short int var170
/* : Bool */;
5289 static val
* varonce171
;
5290 val
* var172
/* : String */;
5291 char* var173
/* : CString */;
5292 val
* var174
/* : String */;
5293 val
* var175
/* : nullable Int */;
5294 val
* var176
/* : nullable Int */;
5295 val
* var177
/* : nullable Bool */;
5296 val
* var178
/* : nullable Bool */;
5297 static val
* varonce179
;
5298 val
* var180
/* : String */;
5299 char* var181
/* : CString */;
5300 val
* var182
/* : String */;
5301 val
* var183
/* : nullable Int */;
5302 val
* var184
/* : nullable Int */;
5303 val
* var185
/* : nullable Bool */;
5304 val
* var186
/* : nullable Bool */;
5305 static val
* varonce187
;
5306 val
* var188
/* : String */;
5307 char* var189
/* : CString */;
5308 val
* var190
/* : String */;
5309 val
* var191
/* : nullable Int */;
5310 val
* var192
/* : nullable Int */;
5311 val
* var193
/* : nullable Bool */;
5312 val
* var194
/* : nullable Bool */;
5313 val
* var196
/* : NativeArray[String] */;
5314 static val
* varonce195
;
5315 static val
* varonce197
;
5316 val
* var198
/* : String */;
5317 char* var199
/* : CString */;
5318 val
* var200
/* : String */;
5319 val
* var201
/* : nullable Int */;
5320 val
* var202
/* : nullable Int */;
5321 val
* var203
/* : nullable Bool */;
5322 val
* var204
/* : nullable Bool */;
5323 static val
* varonce205
;
5324 val
* var206
/* : String */;
5325 char* var207
/* : CString */;
5326 val
* var208
/* : String */;
5327 val
* var209
/* : nullable Int */;
5328 val
* var210
/* : nullable Int */;
5329 val
* var211
/* : nullable Bool */;
5330 val
* var212
/* : nullable Bool */;
5331 val
* var213
/* : String */;
5332 short int var214
/* : Bool */;
5333 short int var216
/* : Bool */;
5334 short int var217
/* : Bool */;
5335 val
* var219
/* : NativeArray[String] */;
5336 static val
* varonce218
;
5337 static val
* varonce220
;
5338 val
* var221
/* : String */;
5339 char* var222
/* : CString */;
5340 val
* var223
/* : String */;
5341 val
* var224
/* : nullable Int */;
5342 val
* var225
/* : nullable Int */;
5343 val
* var226
/* : nullable Bool */;
5344 val
* var227
/* : nullable Bool */;
5345 static val
* varonce228
;
5346 val
* var229
/* : String */;
5347 char* var230
/* : CString */;
5348 val
* var231
/* : String */;
5349 val
* var232
/* : nullable Int */;
5350 val
* var233
/* : nullable Int */;
5351 val
* var234
/* : nullable Bool */;
5352 val
* var235
/* : nullable Bool */;
5353 val
* var236
/* : String */;
5354 val
* var237
/* : String */;
5355 static val
* varonce238
;
5356 val
* var239
/* : String */;
5357 char* var240
/* : CString */;
5358 val
* var241
/* : String */;
5359 val
* var242
/* : nullable Int */;
5360 val
* var243
/* : nullable Int */;
5361 val
* var244
/* : nullable Bool */;
5362 val
* var245
/* : nullable Bool */;
5363 static val
* varonce246
;
5364 val
* var247
/* : String */;
5365 char* var248
/* : CString */;
5366 val
* var249
/* : String */;
5367 val
* var250
/* : nullable Int */;
5368 val
* var251
/* : nullable Int */;
5369 val
* var252
/* : nullable Bool */;
5370 val
* var253
/* : nullable Bool */;
5371 val
* var254
/* : String */;
5372 val
* var255
/* : String */;
5373 static val
* varonce256
;
5374 val
* var257
/* : String */;
5375 char* var258
/* : CString */;
5376 val
* var259
/* : String */;
5377 val
* var260
/* : nullable Int */;
5378 val
* var261
/* : nullable Int */;
5379 val
* var262
/* : nullable Bool */;
5380 val
* var263
/* : nullable Bool */;
5381 val
* var264
/* : Array[String] */;
5382 val
* var_ofiles
/* var ofiles: Array[String] */;
5383 val
* var265
/* : Array[String] */;
5384 val
* var_dep_rules
/* var dep_rules: Array[String] */;
5385 val
* var_266
/* var : Array[String] */;
5386 val
* var267
/* : IndexedIterator[nullable Object] */;
5387 val
* var_268
/* var : IndexedIterator[String] */;
5388 short int var269
/* : Bool */;
5389 val
* var271
/* : nullable Object */;
5390 val
* var_f
/* var f: String */;
5391 static val
* varonce272
;
5392 val
* var273
/* : String */;
5393 char* var274
/* : CString */;
5394 val
* var275
/* : String */;
5395 val
* var276
/* : nullable Int */;
5396 val
* var277
/* : nullable Int */;
5397 val
* var278
/* : nullable Bool */;
5398 val
* var279
/* : nullable Bool */;
5399 val
* var280
/* : String */;
5400 static val
* varonce281
;
5401 val
* var282
/* : String */;
5402 char* var283
/* : CString */;
5403 val
* var284
/* : String */;
5404 val
* var285
/* : nullable Int */;
5405 val
* var286
/* : nullable Int */;
5406 val
* var287
/* : nullable Bool */;
5407 val
* var288
/* : nullable Bool */;
5408 val
* var289
/* : Text */;
5409 val
* var_o
/* var o: String */;
5410 val
* var291
/* : NativeArray[String] */;
5411 static val
* varonce290
;
5412 static val
* varonce292
;
5413 val
* var293
/* : String */;
5414 char* var294
/* : CString */;
5415 val
* var295
/* : String */;
5416 val
* var296
/* : nullable Int */;
5417 val
* var297
/* : nullable Int */;
5418 val
* var298
/* : nullable Bool */;
5419 val
* var299
/* : nullable Bool */;
5420 static val
* varonce300
;
5421 val
* var301
/* : String */;
5422 char* var302
/* : CString */;
5423 val
* var303
/* : String */;
5424 val
* var304
/* : nullable Int */;
5425 val
* var305
/* : nullable Int */;
5426 val
* var306
/* : nullable Bool */;
5427 val
* var307
/* : nullable Bool */;
5428 static val
* varonce308
;
5429 val
* var309
/* : String */;
5430 char* var310
/* : CString */;
5431 val
* var311
/* : String */;
5432 val
* var312
/* : nullable Int */;
5433 val
* var313
/* : nullable Int */;
5434 val
* var314
/* : nullable Bool */;
5435 val
* var315
/* : nullable Bool */;
5436 static val
* varonce316
;
5437 val
* var317
/* : String */;
5438 char* var318
/* : CString */;
5439 val
* var319
/* : String */;
5440 val
* var320
/* : nullable Int */;
5441 val
* var321
/* : nullable Int */;
5442 val
* var322
/* : nullable Bool */;
5443 val
* var323
/* : nullable Bool */;
5444 val
* var324
/* : String */;
5445 val
* var325
/* : AbstractCompiler */;
5446 val
* var327
/* : AbstractCompiler */;
5447 val
* var328
/* : Array[String] */;
5448 val
* var330
/* : Array[String] */;
5449 short int var331
/* : Bool */;
5450 short int var332
/* : Bool */;
5451 val
* var334
/* : NativeArray[String] */;
5452 static val
* varonce333
;
5453 static val
* varonce335
;
5454 val
* var336
/* : String */;
5455 char* var337
/* : CString */;
5456 val
* var338
/* : String */;
5457 val
* var339
/* : nullable Int */;
5458 val
* var340
/* : nullable Int */;
5459 val
* var341
/* : nullable Bool */;
5460 val
* var342
/* : nullable Bool */;
5461 val
* var343
/* : String */;
5462 val
* var_linker_script_path
/* var linker_script_path: String */;
5463 static val
* varonce344
;
5464 val
* var345
/* : String */;
5465 char* var346
/* : CString */;
5466 val
* var347
/* : String */;
5467 val
* var348
/* : nullable Int */;
5468 val
* var349
/* : nullable Int */;
5469 val
* var350
/* : nullable Bool */;
5470 val
* var351
/* : nullable Bool */;
5471 val
* var352
/* : FileWriter */;
5472 val
* var_f353
/* var f: FileWriter */;
5473 val
* var354
/* : AbstractCompiler */;
5474 val
* var356
/* : AbstractCompiler */;
5475 val
* var357
/* : Array[String] */;
5476 val
* var359
/* : Array[String] */;
5477 val
* var_360
/* var : Array[String] */;
5478 val
* var361
/* : IndexedIterator[nullable Object] */;
5479 val
* var_362
/* var : IndexedIterator[String] */;
5480 short int var363
/* : Bool */;
5481 val
* var365
/* : nullable Object */;
5482 val
* var_l
/* var l: String */;
5483 static val
* varonce366
;
5484 val
* var367
/* : String */;
5485 char* var368
/* : CString */;
5486 val
* var369
/* : String */;
5487 val
* var370
/* : nullable Int */;
5488 val
* var371
/* : nullable Int */;
5489 val
* var372
/* : nullable Bool */;
5490 val
* var373
/* : nullable Bool */;
5491 val
* var374
/* : Array[ExternFile] */;
5492 val
* var_java_files
/* var java_files: Array[ExternFile] */;
5493 val
* var375
/* : Array[String] */;
5494 val
* var_pkgconfigs
/* var pkgconfigs: Array[String] */;
5495 val
* var376
/* : AbstractCompiler */;
5496 val
* var378
/* : AbstractCompiler */;
5497 val
* var379
/* : Array[ExternFile] */;
5498 val
* var381
/* : Array[ExternFile] */;
5499 val
* var_382
/* var : Array[ExternFile] */;
5500 val
* var383
/* : IndexedIterator[nullable Object] */;
5501 val
* var_384
/* var : IndexedIterator[ExternFile] */;
5502 short int var385
/* : Bool */;
5503 val
* var387
/* : nullable Object */;
5504 val
* var_f388
/* var f: ExternFile */;
5505 val
* var389
/* : Array[String] */;
5506 val
* var391
/* : Array[String] */;
5507 short int var392
/* : Bool */;
5508 short int var393
/* : Bool */;
5509 static val
* varonce394
;
5510 val
* var395
/* : String */;
5511 char* var396
/* : CString */;
5512 val
* var397
/* : String */;
5513 val
* var398
/* : nullable Int */;
5514 val
* var399
/* : nullable Int */;
5515 val
* var400
/* : nullable Bool */;
5516 val
* var401
/* : nullable Bool */;
5517 val
* var_402
/* var : Array[String] */;
5518 val
* var403
/* : IndexedIterator[nullable Object] */;
5519 val
* var_404
/* var : IndexedIterator[String] */;
5520 short int var405
/* : Bool */;
5521 val
* var407
/* : nullable Object */;
5522 val
* var_p
/* var p: String */;
5523 val
* var409
/* : NativeArray[String] */;
5524 static val
* varonce408
;
5525 static val
* varonce410
;
5526 val
* var411
/* : String */;
5527 char* var412
/* : CString */;
5528 val
* var413
/* : String */;
5529 val
* var414
/* : nullable Int */;
5530 val
* var415
/* : nullable Int */;
5531 val
* var416
/* : nullable Bool */;
5532 val
* var417
/* : nullable Bool */;
5533 static val
* varonce418
;
5534 val
* var419
/* : String */;
5535 char* var420
/* : CString */;
5536 val
* var421
/* : String */;
5537 val
* var422
/* : nullable Int */;
5538 val
* var423
/* : nullable Int */;
5539 val
* var424
/* : nullable Bool */;
5540 val
* var425
/* : nullable Bool */;
5541 static val
* varonce426
;
5542 val
* var427
/* : String */;
5543 char* var428
/* : CString */;
5544 val
* var429
/* : String */;
5545 val
* var430
/* : nullable Int */;
5546 val
* var431
/* : nullable Int */;
5547 val
* var432
/* : nullable Bool */;
5548 val
* var433
/* : nullable Bool */;
5549 static val
* varonce434
;
5550 val
* var435
/* : String */;
5551 char* var436
/* : CString */;
5552 val
* var437
/* : String */;
5553 val
* var438
/* : nullable Int */;
5554 val
* var439
/* : nullable Int */;
5555 val
* var440
/* : nullable Bool */;
5556 val
* var441
/* : nullable Bool */;
5557 val
* var442
/* : String */;
5558 val
* var443
/* : AbstractCompiler */;
5559 val
* var445
/* : AbstractCompiler */;
5560 val
* var446
/* : Array[ExternFile] */;
5561 val
* var448
/* : Array[ExternFile] */;
5562 val
* var_449
/* var : Array[ExternFile] */;
5563 val
* var450
/* : IndexedIterator[nullable Object] */;
5564 val
* var_451
/* var : IndexedIterator[ExternFile] */;
5565 short int var452
/* : Bool */;
5566 val
* var454
/* : nullable Object */;
5567 val
* var_f455
/* var f: ExternFile */;
5568 val
* var456
/* : String */;
5569 val
* var_o457
/* var o: String */;
5570 val
* var458
/* : String */;
5571 val
* var460
/* : String */;
5572 val
* var461
/* : String */;
5573 val
* var_ff
/* var ff: String */;
5574 val
* var463
/* : NativeArray[String] */;
5575 static val
* varonce462
;
5576 static val
* varonce464
;
5577 val
* var465
/* : String */;
5578 char* var466
/* : CString */;
5579 val
* var467
/* : String */;
5580 val
* var468
/* : nullable Int */;
5581 val
* var469
/* : nullable Int */;
5582 val
* var470
/* : nullable Bool */;
5583 val
* var471
/* : nullable Bool */;
5584 static val
* varonce472
;
5585 val
* var473
/* : String */;
5586 char* var474
/* : CString */;
5587 val
* var475
/* : String */;
5588 val
* var476
/* : nullable Int */;
5589 val
* var477
/* : nullable Int */;
5590 val
* var478
/* : nullable Bool */;
5591 val
* var479
/* : nullable Bool */;
5592 val
* var480
/* : String */;
5593 val
* var482
/* : NativeArray[String] */;
5594 static val
* varonce481
;
5595 static val
* varonce483
;
5596 val
* var484
/* : String */;
5597 char* var485
/* : CString */;
5598 val
* var486
/* : String */;
5599 val
* var487
/* : nullable Int */;
5600 val
* var488
/* : nullable Int */;
5601 val
* var489
/* : nullable Bool */;
5602 val
* var490
/* : nullable Bool */;
5603 static val
* varonce491
;
5604 val
* var492
/* : String */;
5605 char* var493
/* : CString */;
5606 val
* var494
/* : String */;
5607 val
* var495
/* : nullable Int */;
5608 val
* var496
/* : nullable Int */;
5609 val
* var497
/* : nullable Bool */;
5610 val
* var498
/* : nullable Bool */;
5611 val
* var499
/* : String */;
5612 val
* var500
/* : String */;
5613 val
* var501
/* : String */;
5614 short int var502
/* : Bool */;
5615 short int var503
/* : Bool */;
5616 short int var504
/* : Bool */;
5617 short int var505
/* : Bool */;
5618 val
* var507
/* : NativeArray[String] */;
5619 static val
* varonce506
;
5620 static val
* varonce508
;
5621 val
* var509
/* : String */;
5622 char* var510
/* : CString */;
5623 val
* var511
/* : String */;
5624 val
* var512
/* : nullable Int */;
5625 val
* var513
/* : nullable Int */;
5626 val
* var514
/* : nullable Bool */;
5627 val
* var515
/* : nullable Bool */;
5628 val
* var516
/* : String */;
5629 val
* var_jar_file
/* var jar_file: String */;
5630 val
* var517
/* : Array[String] */;
5631 val
* var_class_files_array
/* var class_files_array: Array[String] */;
5632 val
* var_518
/* var : Array[ExternFile] */;
5633 val
* var519
/* : IndexedIterator[nullable Object] */;
5634 val
* var_520
/* var : IndexedIterator[ExternFile] */;
5635 short int var521
/* : Bool */;
5636 val
* var523
/* : nullable Object */;
5637 val
* var_f524
/* var f: ExternFile */;
5638 val
* var525
/* : String */;
5639 static val
* varonce526
;
5640 val
* var527
/* : String */;
5641 char* var528
/* : CString */;
5642 val
* var529
/* : String */;
5643 val
* var530
/* : nullable Int */;
5644 val
* var531
/* : nullable Int */;
5645 val
* var532
/* : nullable Bool */;
5646 val
* var533
/* : nullable Bool */;
5647 val
* var534
/* : String */;
5648 val
* var_class_files
/* var class_files: String */;
5649 val
* var536
/* : NativeArray[String] */;
5650 static val
* varonce535
;
5651 static val
* varonce537
;
5652 val
* var538
/* : String */;
5653 char* var539
/* : CString */;
5654 val
* var540
/* : String */;
5655 val
* var541
/* : nullable Int */;
5656 val
* var542
/* : nullable Int */;
5657 val
* var543
/* : nullable Bool */;
5658 val
* var544
/* : nullable Bool */;
5659 static val
* varonce545
;
5660 val
* var546
/* : String */;
5661 char* var547
/* : CString */;
5662 val
* var548
/* : String */;
5663 val
* var549
/* : nullable Int */;
5664 val
* var550
/* : nullable Int */;
5665 val
* var551
/* : nullable Bool */;
5666 val
* var552
/* : nullable Bool */;
5667 val
* var553
/* : String */;
5668 val
* var555
/* : NativeArray[String] */;
5669 static val
* varonce554
;
5670 static val
* varonce556
;
5671 val
* var557
/* : String */;
5672 char* var558
/* : CString */;
5673 val
* var559
/* : String */;
5674 val
* var560
/* : nullable Int */;
5675 val
* var561
/* : nullable Int */;
5676 val
* var562
/* : nullable Bool */;
5677 val
* var563
/* : nullable Bool */;
5678 static val
* varonce564
;
5679 val
* var565
/* : String */;
5680 char* var566
/* : CString */;
5681 val
* var567
/* : String */;
5682 val
* var568
/* : nullable Int */;
5683 val
* var569
/* : nullable Int */;
5684 val
* var570
/* : nullable Bool */;
5685 val
* var571
/* : nullable Bool */;
5686 static val
* varonce572
;
5687 val
* var573
/* : String */;
5688 char* var574
/* : CString */;
5689 val
* var575
/* : String */;
5690 val
* var576
/* : nullable Int */;
5691 val
* var577
/* : nullable Int */;
5692 val
* var578
/* : nullable Bool */;
5693 val
* var579
/* : nullable Bool */;
5694 val
* var580
/* : String */;
5695 static val
* varonce581
;
5696 val
* var582
/* : String */;
5697 char* var583
/* : CString */;
5698 val
* var584
/* : String */;
5699 val
* var585
/* : nullable Int */;
5700 val
* var586
/* : nullable Int */;
5701 val
* var587
/* : nullable Bool */;
5702 val
* var588
/* : nullable Bool */;
5703 val
* var_pkg
/* var pkg: String */;
5704 short int var589
/* : Bool */;
5705 short int var590
/* : Bool */;
5706 val
* var592
/* : NativeArray[String] */;
5707 static val
* varonce591
;
5708 static val
* varonce593
;
5709 val
* var594
/* : String */;
5710 char* var595
/* : CString */;
5711 val
* var596
/* : String */;
5712 val
* var597
/* : nullable Int */;
5713 val
* var598
/* : nullable Int */;
5714 val
* var599
/* : nullable Bool */;
5715 val
* var600
/* : nullable Bool */;
5716 static val
* varonce601
;
5717 val
* var602
/* : String */;
5718 char* var603
/* : CString */;
5719 val
* var604
/* : String */;
5720 val
* var605
/* : nullable Int */;
5721 val
* var606
/* : nullable Int */;
5722 val
* var607
/* : nullable Bool */;
5723 val
* var608
/* : nullable Bool */;
5724 static val
* varonce609
;
5725 val
* var610
/* : String */;
5726 char* var611
/* : CString */;
5727 val
* var612
/* : String */;
5728 val
* var613
/* : nullable Int */;
5729 val
* var614
/* : nullable Int */;
5730 val
* var615
/* : nullable Bool */;
5731 val
* var616
/* : nullable Bool */;
5732 val
* var617
/* : String */;
5733 val
* var618
/* : String */;
5734 val
* var620
/* : NativeArray[String] */;
5735 static val
* varonce619
;
5736 static val
* varonce621
;
5737 val
* var622
/* : String */;
5738 char* var623
/* : CString */;
5739 val
* var624
/* : String */;
5740 val
* var625
/* : nullable Int */;
5741 val
* var626
/* : nullable Int */;
5742 val
* var627
/* : nullable Bool */;
5743 val
* var628
/* : nullable Bool */;
5744 static val
* varonce629
;
5745 val
* var630
/* : String */;
5746 char* var631
/* : CString */;
5747 val
* var632
/* : String */;
5748 val
* var633
/* : nullable Int */;
5749 val
* var634
/* : nullable Int */;
5750 val
* var635
/* : nullable Bool */;
5751 val
* var636
/* : nullable Bool */;
5752 static val
* varonce637
;
5753 val
* var638
/* : String */;
5754 char* var639
/* : CString */;
5755 val
* var640
/* : String */;
5756 val
* var641
/* : nullable Int */;
5757 val
* var642
/* : nullable Int */;
5758 val
* var643
/* : nullable Bool */;
5759 val
* var644
/* : nullable Bool */;
5760 static val
* varonce645
;
5761 val
* var646
/* : String */;
5762 char* var647
/* : CString */;
5763 val
* var648
/* : String */;
5764 val
* var649
/* : nullable Int */;
5765 val
* var650
/* : nullable Int */;
5766 val
* var651
/* : nullable Bool */;
5767 val
* var652
/* : nullable Bool */;
5768 static val
* varonce653
;
5769 val
* var654
/* : String */;
5770 char* var655
/* : CString */;
5771 val
* var656
/* : String */;
5772 val
* var657
/* : nullable Int */;
5773 val
* var658
/* : nullable Int */;
5774 val
* var659
/* : nullable Bool */;
5775 val
* var660
/* : nullable Bool */;
5776 static val
* varonce661
;
5777 val
* var662
/* : String */;
5778 char* var663
/* : CString */;
5779 val
* var664
/* : String */;
5780 val
* var665
/* : nullable Int */;
5781 val
* var666
/* : nullable Int */;
5782 val
* var667
/* : nullable Bool */;
5783 val
* var668
/* : nullable Bool */;
5784 val
* var669
/* : String */;
5785 val
* var670
/* : String */;
5786 static val
* varonce671
;
5787 val
* var672
/* : String */;
5788 char* var673
/* : CString */;
5789 val
* var674
/* : String */;
5790 val
* var675
/* : nullable Int */;
5791 val
* var676
/* : nullable Int */;
5792 val
* var677
/* : nullable Bool */;
5793 val
* var678
/* : nullable Bool */;
5794 val
* var679
/* : String */;
5795 val
* var680
/* : String */;
5796 val
* var682
/* : NativeArray[String] */;
5797 static val
* varonce681
;
5798 static val
* varonce683
;
5799 val
* var684
/* : String */;
5800 char* var685
/* : CString */;
5801 val
* var686
/* : String */;
5802 val
* var687
/* : nullable Int */;
5803 val
* var688
/* : nullable Int */;
5804 val
* var689
/* : nullable Bool */;
5805 val
* var690
/* : nullable Bool */;
5806 static val
* varonce691
;
5807 val
* var692
/* : String */;
5808 char* var693
/* : CString */;
5809 val
* var694
/* : String */;
5810 val
* var695
/* : nullable Int */;
5811 val
* var696
/* : nullable Int */;
5812 val
* var697
/* : nullable Bool */;
5813 val
* var698
/* : nullable Bool */;
5814 static val
* varonce699
;
5815 val
* var700
/* : String */;
5816 char* var701
/* : CString */;
5817 val
* var702
/* : String */;
5818 val
* var703
/* : nullable Int */;
5819 val
* var704
/* : nullable Int */;
5820 val
* var705
/* : nullable Bool */;
5821 val
* var706
/* : nullable Bool */;
5822 val
* var707
/* : String */;
5823 val
* var708
/* : String */;
5824 short int var709
/* : Bool */;
5825 short int var711
/* : Bool */;
5826 short int var712
/* : Bool */;
5827 val
* var714
/* : NativeArray[String] */;
5828 static val
* varonce713
;
5829 static val
* varonce715
;
5830 val
* var716
/* : String */;
5831 char* var717
/* : CString */;
5832 val
* var718
/* : String */;
5833 val
* var719
/* : nullable Int */;
5834 val
* var720
/* : nullable Int */;
5835 val
* var721
/* : nullable Bool */;
5836 val
* var722
/* : nullable Bool */;
5837 static val
* varonce723
;
5838 val
* var724
/* : String */;
5839 char* var725
/* : CString */;
5840 val
* var726
/* : String */;
5841 val
* var727
/* : nullable Int */;
5842 val
* var728
/* : nullable Int */;
5843 val
* var729
/* : nullable Bool */;
5844 val
* var730
/* : nullable Bool */;
5845 val
* var731
/* : String */;
5846 val
* var732
/* : String */;
5847 val
* var733
/* : ToolContext */;
5848 val
* var735
/* : ToolContext */;
5849 val
* var737
/* : NativeArray[String] */;
5850 static val
* varonce736
;
5851 static val
* varonce738
;
5852 val
* var739
/* : String */;
5853 char* var740
/* : CString */;
5854 val
* var741
/* : String */;
5855 val
* var742
/* : nullable Int */;
5856 val
* var743
/* : nullable Int */;
5857 val
* var744
/* : nullable Bool */;
5858 val
* var745
/* : nullable Bool */;
5859 val
* var746
/* : String */;
5860 val
* var748
/* : NativeArray[String] */;
5861 static val
* varonce747
;
5862 static val
* varonce749
;
5863 val
* var750
/* : String */;
5864 char* var751
/* : CString */;
5865 val
* var752
/* : String */;
5866 val
* var753
/* : nullable Int */;
5867 val
* var754
/* : nullable Int */;
5868 val
* var755
/* : nullable Bool */;
5869 val
* var756
/* : nullable Bool */;
5870 val
* var757
/* : String */;
5871 var_compile_dir
= p0
;
5874 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
5875 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5876 if (unlikely(var2
== NULL
)) {
5877 if(catchStack
.cursor
>= 0){
5878 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5880 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5881 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5889 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (var) on <var:AbstractCompiler> */
5890 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var:AbstractCompiler> */
5891 if (unlikely(var5
== NULL
)) {
5892 if(catchStack
.cursor
>= 0){
5893 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
5896 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
5903 var_mainmodule
= var3
;
5905 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
5906 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5907 if (unlikely(var8
== NULL
)) {
5908 if(catchStack
.cursor
>= 0){
5909 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5912 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5920 { /* Inline abstract_compiler$AbstractCompiler$target_platform (var6) on <var6:AbstractCompiler> */
5921 var11
= var6
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var6:AbstractCompiler> */
5922 if (unlikely(var11
== NULL
)) {
5923 if(catchStack
.cursor
>= 0){
5924 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
5926 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
5927 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 563);
5931 RET_LABEL10
:(void)0;
5934 var_platform
= var9
;
5936 var12
= nitc___nitc__MakefileToolchain___outfile(self
, var_mainmodule
);
5938 var_outname
= var12
;
5940 var13
= core__file___String___relpath(var_compile_dir
, var_outname
);
5942 var_real_outpath
= var13
;
5944 var14
= core___core__Text___escape_to_mk(var_real_outpath
);
5946 var_outpath
= var14
;
5948 { /* Inline kernel$Object$!= (var_outpath,var_real_outpath) on <var_outpath:String> */
5949 var_other
= var_real_outpath
;
5951 var17
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
5956 RET_LABEL16
:(void)0;
5961 var19
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mainmodule
);
5963 var_outpath
= var19
;
5967 var20
= nitc___nitc__MakefileToolchain___makefile_name(self
);
5969 var_makename
= var20
;
5970 if (unlikely(varonce
==NULL
)) {
5971 var21
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
5972 if (likely(varonce22
!=NULL
)) {
5976 var26
= (val
*)(1l<<2|1);
5977 var27
= (val
*)(1l<<2|1);
5978 var28
= (val
*)((long)(0)<<2|3);
5979 var29
= (val
*)((long)(0)<<2|3);
5980 var25
= core__flat___CString___to_s_unsafe(var24
, var26
, var27
, var28
, var29
);
5984 ((struct instance_core__NativeArray
*)var21
)->values
[1]=var23
;
5989 ((struct instance_core__NativeArray
*)var21
)->values
[0]=var_compile_dir
;
5990 ((struct instance_core__NativeArray
*)var21
)->values
[2]=var_makename
;
5992 var30
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
5995 var_makepath
= var30
;
5996 var31
= NEW_core__FileWriter(&type_core__FileWriter
);
5998 core___core__FileWriter___open(var31
, var_makepath
); /* Direct call file$FileWriter$open on <var31:FileWriter>*/
6000 var_makefile
= var31
;
6001 var32
= NEW_core__HashSet(&type_core__HashSet__core__String
);
6003 core___core__HashSet___core__kernel__Object__init(var32
); /* Direct call hash_collection$HashSet$init on <var32:HashSet[String]>*/
6005 var_linker_options
= var32
;
6007 { /* Inline mmodule$MModule$in_importation (var_mainmodule) on <var_mainmodule:MModule> */
6008 var35
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mainmodule:MModule> */
6009 if (unlikely(var35
== NULL
)) {
6010 if(catchStack
.cursor
>= 0){
6011 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
6014 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 108);
6018 RET_LABEL34
:(void)0;
6022 var36
= poset___poset__POSetElement___greaters(var33
);
6026 var37
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
6031 var39
= ((short int(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_38
); /* is_ok on <var_38:Iterator[MModule]>*/
6038 var40
= ((val
*(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_38
); /* item on <var_38:Iterator[MModule]>*/
6042 var41
= nitc__light___MModule___collect_linker_libs(var_m
);
6045 if (var_libs
== NULL
) {
6046 var42
= 0; /* is null */
6048 var42
= 1; /* arg is null and recv is not */
6051 { /* Inline kernel$Object$!= (var_libs,((val*)NULL)) on <var_libs:nullable Array[String]> */
6052 var_other
= ((val
*)NULL
);
6054 var45
= ((short int(*)(val
* self
, val
* p0
))(var_libs
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_libs
, var_other
); /* == on <var_libs:nullable Array[String](Array[String])>*/
6059 RET_LABEL44
:(void)0;
6065 core___core__SimpleCollection___add_all(var_linker_options
, var_libs
); /* Direct call abstract_collection$SimpleCollection$add_all on <var_linker_options:HashSet[String]>*/
6070 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_38
); /* next on <var_38:Iterator[MModule]>*/
6073 BREAK_label
: (void)0;
6075 ((void(*)(val
* self
))((((long)var_38
&3)?class_info
[((long)var_38
&3)]:var_38
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_38
); /* finish on <var_38:Iterator[MModule]>*/
6078 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
6079 var49
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6080 if (unlikely(var49
== NULL
)) {
6081 if(catchStack
.cursor
>= 0){
6082 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6084 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6085 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6089 RET_LABEL48
:(void)0;
6093 { /* Inline abstract_compiler$ToolContext$opt_debug (var47) on <var47:ToolContext> */
6094 var52
= var47
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <var47:ToolContext> */
6095 if (unlikely(var52
== NULL
)) {
6096 if(catchStack
.cursor
>= 0){
6097 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
6100 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
6104 RET_LABEL51
:(void)0;
6108 { /* Inline opts$Option$value (var50) on <var50:OptionBool> */
6109 var55
= var50
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var50:OptionBool> */
6111 RET_LABEL54
:(void)0;
6114 var56
= (short int)((long)(var53
)>>2);
6116 if (unlikely(varonce57
==NULL
)) {
6117 var58
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
6118 if (likely(varonce59
!=NULL
)) {
6121 var61
= "CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g";
6122 var63
= (val
*)(43l<<2|1);
6123 var64
= (val
*)(43l<<2|1);
6124 var65
= (val
*)((long)(0)<<2|3);
6125 var66
= (val
*)((long)(0)<<2|3);
6126 var62
= core__flat___CString___to_s_unsafe(var61
, var63
, var64
, var65
, var66
);
6130 ((struct instance_core__NativeArray
*)var58
)->values
[0]=var60
;
6131 if (likely(varonce67
!=NULL
)) {
6134 var69
= "-Wno-unused-value -Wno-switch -Wno-attributes -Wno-trigraphs\nCINCL =\nLDFLAGS \?= \nLDLIBS \?= -lm ";
6135 var71
= (val
*)(96l<<2|1);
6136 var72
= (val
*)(96l<<2|1);
6137 var73
= (val
*)((long)(0)<<2|3);
6138 var74
= (val
*)((long)(0)<<2|3);
6139 var70
= core__flat___CString___to_s_unsafe(var69
, var71
, var72
, var73
, var74
);
6143 ((struct instance_core__NativeArray
*)var58
)->values
[2]=var68
;
6144 if (likely(varonce75
!=NULL
)) {
6148 var79
= (val
*)(2l<<2|1);
6149 var80
= (val
*)(2l<<2|1);
6150 var81
= (val
*)((long)(0)<<2|3);
6151 var82
= (val
*)((long)(0)<<2|3);
6152 var78
= core__flat___CString___to_s_unsafe(var77
, var79
, var80
, var81
, var82
);
6156 ((struct instance_core__NativeArray
*)var58
)->values
[4]=var76
;
6163 if (likely(varonce85
!=NULL
)) {
6167 var89
= (val
*)(5l<<2|1);
6168 var90
= (val
*)(5l<<2|1);
6169 var91
= (val
*)((long)(0)<<2|3);
6170 var92
= (val
*)((long)(0)<<2|3);
6171 var88
= core__flat___CString___to_s_unsafe(var87
, var89
, var90
, var91
, var92
);
6177 if (likely(varonce93
!=NULL
)) {
6181 var97
= (val
*)(1l<<2|1);
6182 var98
= (val
*)(1l<<2|1);
6183 var99
= (val
*)((long)(0)<<2|3);
6184 var100
= (val
*)((long)(0)<<2|3);
6185 var96
= core__flat___CString___to_s_unsafe(var95
, var97
, var98
, var99
, var100
);
6191 ((struct instance_core__NativeArray
*)var58
)->values
[1]=var83
;
6192 if (likely(varonce101
!=NULL
)) {
6193 var102
= varonce101
;
6196 var105
= (val
*)(1l<<2|1);
6197 var106
= (val
*)(1l<<2|1);
6198 var107
= (val
*)((long)(0)<<2|3);
6199 var108
= (val
*)((long)(0)<<2|3);
6200 var104
= core__flat___CString___to_s_unsafe(var103
, var105
, var106
, var107
, var108
);
6202 varonce101
= var102
;
6205 var109
= core__abstract_text___Collection___join(var_linker_options
, var102
, ((val
*)NULL
));
6207 ((struct instance_core__NativeArray
*)var58
)->values
[3]=var109
;
6209 var110
= ((val
*(*)(val
* self
))(var58
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var58
); /* native_to_s on <var58:NativeArray[String]>*/
6213 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var110
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6215 if (likely(varonce111
!=NULL
)) {
6216 var112
= varonce111
;
6218 var113
= "\n# SPECIAL CONFIGURATION FLAGS\n";
6219 var115
= (val
*)(31l<<2|1);
6220 var116
= (val
*)(31l<<2|1);
6221 var117
= (val
*)((long)(0)<<2|3);
6222 var118
= (val
*)((long)(0)<<2|3);
6223 var114
= core__flat___CString___to_s_unsafe(var113
, var115
, var116
, var117
, var118
);
6225 varonce111
= var112
;
6228 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var112
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6231 var119
= nitc___nitc__Platform___supports_libunwind(var_platform
);
6235 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
6236 var122
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6237 if (unlikely(var122
== NULL
)) {
6238 if(catchStack
.cursor
>= 0){
6239 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6241 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6242 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6246 RET_LABEL121
:(void)0;
6250 { /* Inline abstract_compiler$ToolContext$opt_no_stacktrace (var120) on <var120:ToolContext> */
6251 var125
= var120
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <var120:ToolContext> */
6252 if (unlikely(var125
== NULL
)) {
6253 if(catchStack
.cursor
>= 0){
6254 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6256 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
6257 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
6261 RET_LABEL124
:(void)0;
6265 { /* Inline opts$Option$value (var123) on <var123:OptionBool> */
6266 var128
= var123
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var123:OptionBool> */
6268 RET_LABEL127
:(void)0;
6271 var129
= (short int)((long)(var126
)>>2);
6273 if (likely(varonce130
!=NULL
)) {
6274 var131
= varonce130
;
6276 var132
= "NO_STACKTRACE=True";
6277 var134
= (val
*)(18l<<2|1);
6278 var135
= (val
*)(18l<<2|1);
6279 var136
= (val
*)((long)(0)<<2|3);
6280 var137
= (val
*)((long)(0)<<2|3);
6281 var133
= core__flat___CString___to_s_unsafe(var132
, var134
, var135
, var136
, var137
);
6283 varonce130
= var131
;
6286 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var131
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6289 if (likely(varonce138
!=NULL
)) {
6290 var139
= varonce138
;
6292 var140
= "NO_STACKTRACE= # Set to `True` to enable";
6293 var142
= (val
*)(40l<<2|1);
6294 var143
= (val
*)(40l<<2|1);
6295 var144
= (val
*)((long)(0)<<2|3);
6296 var145
= (val
*)((long)(0)<<2|3);
6297 var141
= core__flat___CString___to_s_unsafe(var140
, var142
, var143
, var144
, var145
);
6299 varonce138
= var139
;
6302 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var139
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6307 if (likely(varonce146
!=NULL
)) {
6308 var147
= varonce146
;
6311 var150
= (val
*)(2l<<2|1);
6312 var151
= (val
*)(2l<<2|1);
6313 var152
= (val
*)((long)(0)<<2|3);
6314 var153
= (val
*)((long)(0)<<2|3);
6315 var149
= core__flat___CString___to_s_unsafe(var148
, var150
, var151
, var152
, var153
);
6317 varonce146
= var147
;
6320 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var147
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6322 if (likely(varonce154
!=NULL
)) {
6323 var155
= varonce154
;
6325 var156
= "uname_S := $(shell sh -c \'uname -s 2>/dev/null || echo not\')\n";
6326 var158
= (val
*)(61l<<2|1);
6327 var159
= (val
*)(61l<<2|1);
6328 var160
= (val
*)((long)(0)<<2|3);
6329 var161
= (val
*)((long)(0)<<2|3);
6330 var157
= core__flat___CString___to_s_unsafe(var156
, var158
, var159
, var160
, var161
);
6332 varonce154
= var155
;
6335 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var155
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6337 if (likely(varonce162
!=NULL
)) {
6338 var163
= varonce162
;
6340 var164
= "clang_check := $(shell sh -c \'$(CC) -v 2>&1 | grep -q clang; echo $$?\')\nifeq ($(clang_check), 0)\n\tCFLAGS += -Qunused-arguments\nendif\n";
6341 var166
= (val
*)(133l<<2|1);
6342 var167
= (val
*)(133l<<2|1);
6343 var168
= (val
*)((long)(0)<<2|3);
6344 var169
= (val
*)((long)(0)<<2|3);
6345 var165
= core__flat___CString___to_s_unsafe(var164
, var166
, var167
, var168
, var169
);
6347 varonce162
= var163
;
6350 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var163
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6353 var170
= nitc___nitc__Platform___supports_libunwind(var_platform
);
6356 if (likely(varonce171
!=NULL
)) {
6357 var172
= varonce171
;
6359 var173
= "ifneq ($(NO_STACKTRACE), True)\n # Check and include lib-unwind in a portable way\n ifneq ($(uname_S),Darwin)\n # already included on macosx, but need to get the correct flags in other supported platforms.\n ifeq ($(shell pkg-config --exists \'libunwind\'; echo $$\?), 0)\n LDLIBS += `pkg-config --libs libunwind`\n CFLAGS += `pkg-config --cflags libunwind`\n else\n $(warning \"[_] stack-traces disabled. Please install libunwind-dev.\")\n CFLAGS += -D NO_STACKTRACE\n endif\n endif\nelse\n # Stacktraces disabled\n CFLAGS += -D NO_STACKTRACE\nendif\n\n";
6360 var175
= (val
*)(569l<<2|1);
6361 var176
= (val
*)(569l<<2|1);
6362 var177
= (val
*)((long)(0)<<2|3);
6363 var178
= (val
*)((long)(0)<<2|3);
6364 var174
= core__flat___CString___to_s_unsafe(var173
, var175
, var176
, var177
, var178
);
6366 varonce171
= var172
;
6369 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var172
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6372 if (likely(varonce179
!=NULL
)) {
6373 var180
= varonce179
;
6375 var181
= "CFLAGS += -D NO_STACKTRACE\n\n";
6376 var183
= (val
*)(28l<<2|1);
6377 var184
= (val
*)(28l<<2|1);
6378 var185
= (val
*)((long)(0)<<2|3);
6379 var186
= (val
*)((long)(0)<<2|3);
6380 var182
= core__flat___CString___to_s_unsafe(var181
, var183
, var184
, var185
, var186
);
6382 varonce179
= var180
;
6385 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var180
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6388 if (likely(varonce187
!=NULL
)) {
6389 var188
= varonce187
;
6391 var189
= "# Special configuration for Darwin\nifeq ($(uname_S),Darwin)\n\t# Remove POSIX flag -lrt\n\tLDLIBS := $(filter-out -lrt,$(LDLIBS))\nendif\n\n# Special configuration for Windows under mingw64\nifneq ($(findstring MINGW64,$(uname_S)),)\n\t# Use the pcreposix regex library\n\tLDLIBS += -lpcreposix\n\n\t# Remove POSIX flag -lrt\n\tLDLIBS := $(filter-out -lrt,$(LDLIBS))\n\n\t# Silence warnings when storing Int, Char and Bool as pointer address\n\tCFLAGS += -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast\nendif\n\n";
6392 var191
= (val
*)(490l<<2|1);
6393 var192
= (val
*)(490l<<2|1);
6394 var193
= (val
*)((long)(0)<<2|3);
6395 var194
= (val
*)((long)(0)<<2|3);
6396 var190
= core__flat___CString___to_s_unsafe(var189
, var191
, var192
, var193
, var194
);
6398 varonce187
= var188
;
6401 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var188
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6403 if (unlikely(varonce195
==NULL
)) {
6404 var196
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
6405 if (likely(varonce197
!=NULL
)) {
6406 var198
= varonce197
;
6409 var201
= (val
*)(5l<<2|1);
6410 var202
= (val
*)(5l<<2|1);
6411 var203
= (val
*)((long)(0)<<2|3);
6412 var204
= (val
*)((long)(0)<<2|3);
6413 var200
= core__flat___CString___to_s_unsafe(var199
, var201
, var202
, var203
, var204
);
6415 varonce197
= var198
;
6417 ((struct instance_core__NativeArray
*)var196
)->values
[0]=var198
;
6418 if (likely(varonce205
!=NULL
)) {
6419 var206
= varonce205
;
6422 var209
= (val
*)(1l<<2|1);
6423 var210
= (val
*)(1l<<2|1);
6424 var211
= (val
*)((long)(0)<<2|3);
6425 var212
= (val
*)((long)(0)<<2|3);
6426 var208
= core__flat___CString___to_s_unsafe(var207
, var209
, var210
, var211
, var212
);
6428 varonce205
= var206
;
6430 ((struct instance_core__NativeArray
*)var196
)->values
[2]=var206
;
6432 var196
= varonce195
;
6435 ((struct instance_core__NativeArray
*)var196
)->values
[1]=var_outpath
;
6437 var213
= ((val
*(*)(val
* self
))(var196
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var196
); /* native_to_s on <var196:NativeArray[String]>*/
6439 varonce195
= var196
;
6441 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var213
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6444 { /* Inline kernel$Object$!= (var_outpath,var_real_outpath) on <var_outpath:String> */
6445 var_other
= var_real_outpath
;
6447 var216
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
6452 RET_LABEL215
:(void)0;
6456 if (unlikely(varonce218
==NULL
)) {
6457 var219
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
6458 if (likely(varonce220
!=NULL
)) {
6459 var221
= varonce220
;
6461 var222
= "\tcp -- ";
6462 var224
= (val
*)(7l<<2|1);
6463 var225
= (val
*)(7l<<2|1);
6464 var226
= (val
*)((long)(0)<<2|3);
6465 var227
= (val
*)((long)(0)<<2|3);
6466 var223
= core__flat___CString___to_s_unsafe(var222
, var224
, var225
, var226
, var227
);
6468 varonce220
= var221
;
6470 ((struct instance_core__NativeArray
*)var219
)->values
[0]=var221
;
6471 if (likely(varonce228
!=NULL
)) {
6472 var229
= varonce228
;
6475 var232
= (val
*)(1l<<2|1);
6476 var233
= (val
*)(1l<<2|1);
6477 var234
= (val
*)((long)(0)<<2|3);
6478 var235
= (val
*)((long)(0)<<2|3);
6479 var231
= core__flat___CString___to_s_unsafe(var230
, var232
, var233
, var234
, var235
);
6481 varonce228
= var229
;
6483 ((struct instance_core__NativeArray
*)var219
)->values
[2]=var229
;
6485 var219
= varonce218
;
6489 var236
= core___core__Text___escape_to_sh(var_outpath
);
6491 ((struct instance_core__NativeArray
*)var219
)->values
[1]=var236
;
6493 var237
= core___core__Text___escape_to_sh(var_real_outpath
);
6495 if (likely(varonce238
!=NULL
)) {
6496 var239
= varonce238
;
6499 var242
= (val
*)(1l<<2|1);
6500 var243
= (val
*)(1l<<2|1);
6501 var244
= (val
*)((long)(0)<<2|3);
6502 var245
= (val
*)((long)(0)<<2|3);
6503 var241
= core__flat___CString___to_s_unsafe(var240
, var242
, var243
, var244
, var245
);
6505 varonce238
= var239
;
6507 if (likely(varonce246
!=NULL
)) {
6508 var247
= varonce246
;
6511 var250
= (val
*)(2l<<2|1);
6512 var251
= (val
*)(2l<<2|1);
6513 var252
= (val
*)((long)(0)<<2|3);
6514 var253
= (val
*)((long)(0)<<2|3);
6515 var249
= core__flat___CString___to_s_unsafe(var248
, var250
, var251
, var252
, var253
);
6517 varonce246
= var247
;
6520 var254
= core__string_search___Text___replace(var237
, var239
, var247
);
6522 ((struct instance_core__NativeArray
*)var219
)->values
[3]=var254
;
6524 var255
= ((val
*(*)(val
* self
))(var219
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var219
); /* native_to_s on <var219:NativeArray[String]>*/
6526 varonce218
= var219
;
6528 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var255
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6532 if (likely(varonce256
!=NULL
)) {
6533 var257
= varonce256
;
6536 var260
= (val
*)(1l<<2|1);
6537 var261
= (val
*)(1l<<2|1);
6538 var262
= (val
*)((long)(0)<<2|3);
6539 var263
= (val
*)((long)(0)<<2|3);
6540 var259
= core__flat___CString___to_s_unsafe(var258
, var260
, var261
, var262
, var263
);
6542 varonce256
= var257
;
6545 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var257
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6547 var264
= NEW_core__Array(&type_core__Array__core__String
);
6549 core___core__Array___core__kernel__Object__init(var264
); /* Direct call array$Array$init on <var264:Array[String]>*/
6551 var_ofiles
= var264
;
6552 var265
= NEW_core__Array(&type_core__Array__core__String
);
6554 core___core__Array___core__kernel__Object__init(var265
); /* Direct call array$Array$init on <var265:Array[String]>*/
6556 var_dep_rules
= var265
;
6557 var_266
= var_cfiles
;
6559 var267
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_266
);
6564 var269
= ((short int(*)(val
* self
))((((long)var_268
&3)?class_info
[((long)var_268
&3)]:var_268
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_268
); /* is_ok on <var_268:IndexedIterator[String]>*/
6568 goto BREAK_label270
;
6571 var271
= ((val
*(*)(val
* self
))((((long)var_268
&3)?class_info
[((long)var_268
&3)]:var_268
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_268
); /* item on <var_268:IndexedIterator[String]>*/
6574 if (likely(varonce272
!=NULL
)) {
6575 var273
= varonce272
;
6578 var276
= (val
*)(2l<<2|1);
6579 var277
= (val
*)(2l<<2|1);
6580 var278
= (val
*)((long)(0)<<2|3);
6581 var279
= (val
*)((long)(0)<<2|3);
6582 var275
= core__flat___CString___to_s_unsafe(var274
, var276
, var277
, var278
, var279
);
6584 varonce272
= var273
;
6587 var280
= core__file___String___strip_extension(var_f
, var273
);
6589 if (likely(varonce281
!=NULL
)) {
6590 var282
= varonce281
;
6593 var285
= (val
*)(2l<<2|1);
6594 var286
= (val
*)(2l<<2|1);
6595 var287
= (val
*)((long)(0)<<2|3);
6596 var288
= (val
*)((long)(0)<<2|3);
6597 var284
= core__flat___CString___to_s_unsafe(var283
, var285
, var286
, var287
, var288
);
6599 varonce281
= var282
;
6602 var289
= ((val
*(*)(val
* self
, val
* p0
))(var280
->class->vft
[COLOR_core__abstract_text__Text___43d
]))(var280
, var282
); /* + on <var280:String>*/
6605 if (unlikely(varonce290
==NULL
)) {
6606 var291
= NEW_core__NativeArray((int)8l, &type_core__NativeArray__core__String
);
6607 if (likely(varonce292
!=NULL
)) {
6608 var293
= varonce292
;
6611 var296
= (val
*)(2l<<2|1);
6612 var297
= (val
*)(2l<<2|1);
6613 var298
= (val
*)((long)(0)<<2|3);
6614 var299
= (val
*)((long)(0)<<2|3);
6615 var295
= core__flat___CString___to_s_unsafe(var294
, var296
, var297
, var298
, var299
);
6617 varonce292
= var293
;
6619 ((struct instance_core__NativeArray
*)var291
)->values
[1]=var293
;
6620 if (likely(varonce300
!=NULL
)) {
6621 var301
= varonce300
;
6623 var302
= "\n\t$(CC) $(CFLAGS) $(CINCL) -c -o ";
6624 var304
= (val
*)(33l<<2|1);
6625 var305
= (val
*)(33l<<2|1);
6626 var306
= (val
*)((long)(0)<<2|3);
6627 var307
= (val
*)((long)(0)<<2|3);
6628 var303
= core__flat___CString___to_s_unsafe(var302
, var304
, var305
, var306
, var307
);
6630 varonce300
= var301
;
6632 ((struct instance_core__NativeArray
*)var291
)->values
[3]=var301
;
6633 if (likely(varonce308
!=NULL
)) {
6634 var309
= varonce308
;
6637 var312
= (val
*)(1l<<2|1);
6638 var313
= (val
*)(1l<<2|1);
6639 var314
= (val
*)((long)(0)<<2|3);
6640 var315
= (val
*)((long)(0)<<2|3);
6641 var311
= core__flat___CString___to_s_unsafe(var310
, var312
, var313
, var314
, var315
);
6643 varonce308
= var309
;
6645 ((struct instance_core__NativeArray
*)var291
)->values
[5]=var309
;
6646 if (likely(varonce316
!=NULL
)) {
6647 var317
= varonce316
;
6650 var320
= (val
*)(2l<<2|1);
6651 var321
= (val
*)(2l<<2|1);
6652 var322
= (val
*)((long)(0)<<2|3);
6653 var323
= (val
*)((long)(0)<<2|3);
6654 var319
= core__flat___CString___to_s_unsafe(var318
, var320
, var321
, var322
, var323
);
6656 varonce316
= var317
;
6658 ((struct instance_core__NativeArray
*)var291
)->values
[7]=var317
;
6660 var291
= varonce290
;
6663 ((struct instance_core__NativeArray
*)var291
)->values
[0]=var_o
;
6664 ((struct instance_core__NativeArray
*)var291
)->values
[2]=var_f
;
6665 ((struct instance_core__NativeArray
*)var291
)->values
[4]=var_o
;
6666 ((struct instance_core__NativeArray
*)var291
)->values
[6]=var_f
;
6668 var324
= ((val
*(*)(val
* self
))(var291
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var291
); /* native_to_s on <var291:NativeArray[String]>*/
6670 varonce290
= var291
;
6672 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var324
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6675 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var_o
); /* Direct call array$Array$add on <var_ofiles:Array[String]>*/
6678 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dep_rules
, var_o
); /* Direct call array$Array$add on <var_dep_rules:Array[String]>*/
6681 ((void(*)(val
* self
))((((long)var_268
&3)?class_info
[((long)var_268
&3)]:var_268
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_268
); /* next on <var_268:IndexedIterator[String]>*/
6684 BREAK_label270
: (void)0;
6686 ((void(*)(val
* self
))((((long)var_268
&3)?class_info
[((long)var_268
&3)]:var_268
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_268
); /* finish on <var_268:IndexedIterator[String]>*/
6689 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
6690 var327
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
6691 if (unlikely(var327
== NULL
)) {
6692 if(catchStack
.cursor
>= 0){
6693 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6696 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
6700 RET_LABEL326
:(void)0;
6704 { /* Inline abstract_compiler$AbstractCompiler$linker_script (var325) on <var325:AbstractCompiler> */
6705 var330
= var325
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var325:AbstractCompiler> */
6706 if (unlikely(var330
== NULL
)) {
6707 if(catchStack
.cursor
>= 0){
6708 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
6711 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 602);
6715 RET_LABEL329
:(void)0;
6719 var331
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var328
);
6723 if (unlikely(varonce333
==NULL
)) {
6724 var334
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
6725 if (likely(varonce335
!=NULL
)) {
6726 var336
= varonce335
;
6728 var337
= "/linker_script";
6729 var339
= (val
*)(14l<<2|1);
6730 var340
= (val
*)(14l<<2|1);
6731 var341
= (val
*)((long)(0)<<2|3);
6732 var342
= (val
*)((long)(0)<<2|3);
6733 var338
= core__flat___CString___to_s_unsafe(var337
, var339
, var340
, var341
, var342
);
6735 varonce335
= var336
;
6737 ((struct instance_core__NativeArray
*)var334
)->values
[1]=var336
;
6739 var334
= varonce333
;
6742 ((struct instance_core__NativeArray
*)var334
)->values
[0]=var_compile_dir
;
6744 var343
= ((val
*(*)(val
* self
))(var334
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var334
); /* native_to_s on <var334:NativeArray[String]>*/
6746 varonce333
= var334
;
6747 var_linker_script_path
= var343
;
6748 if (likely(varonce344
!=NULL
)) {
6749 var345
= varonce344
;
6751 var346
= "linker_script";
6752 var348
= (val
*)(13l<<2|1);
6753 var349
= (val
*)(13l<<2|1);
6754 var350
= (val
*)((long)(0)<<2|3);
6755 var351
= (val
*)((long)(0)<<2|3);
6756 var347
= core__flat___CString___to_s_unsafe(var346
, var348
, var349
, var350
, var351
);
6758 varonce344
= var345
;
6761 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var345
); /* Direct call array$Array$add on <var_ofiles:Array[String]>*/
6763 var352
= NEW_core__FileWriter(&type_core__FileWriter
);
6765 core___core__FileWriter___open(var352
, var_linker_script_path
); /* Direct call file$FileWriter$open on <var352:FileWriter>*/
6769 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
6770 var356
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
6771 if (unlikely(var356
== NULL
)) {
6772 if(catchStack
.cursor
>= 0){
6773 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6775 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6776 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
6780 RET_LABEL355
:(void)0;
6784 { /* Inline abstract_compiler$AbstractCompiler$linker_script (var354) on <var354:AbstractCompiler> */
6785 var359
= var354
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var354:AbstractCompiler> */
6786 if (unlikely(var359
== NULL
)) {
6787 if(catchStack
.cursor
>= 0){
6788 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6790 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
6791 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 602);
6795 RET_LABEL358
:(void)0;
6800 var361
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_360
);
6805 var363
= ((short int(*)(val
* self
))((((long)var_362
&3)?class_info
[((long)var_362
&3)]:var_362
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_362
); /* is_ok on <var_362:IndexedIterator[String]>*/
6809 goto BREAK_label364
;
6812 var365
= ((val
*(*)(val
* self
))((((long)var_362
&3)?class_info
[((long)var_362
&3)]:var_362
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_362
); /* item on <var_362:IndexedIterator[String]>*/
6816 core___core__FileWriter___core__stream__Writer__write(var_f353
, var_l
); /* Direct call file$FileWriter$write on <var_f353:FileWriter>*/
6818 if (likely(varonce366
!=NULL
)) {
6819 var367
= varonce366
;
6822 var370
= (val
*)(1l<<2|1);
6823 var371
= (val
*)(1l<<2|1);
6824 var372
= (val
*)((long)(0)<<2|3);
6825 var373
= (val
*)((long)(0)<<2|3);
6826 var369
= core__flat___CString___to_s_unsafe(var368
, var370
, var371
, var372
, var373
);
6828 varonce366
= var367
;
6831 core___core__FileWriter___core__stream__Writer__write(var_f353
, var367
); /* Direct call file$FileWriter$write on <var_f353:FileWriter>*/
6834 ((void(*)(val
* self
))((((long)var_362
&3)?class_info
[((long)var_362
&3)]:var_362
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_362
); /* next on <var_362:IndexedIterator[String]>*/
6837 BREAK_label364
: (void)0;
6839 ((void(*)(val
* self
))((((long)var_362
&3)?class_info
[((long)var_362
&3)]:var_362
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_362
); /* finish on <var_362:IndexedIterator[String]>*/
6842 core___core__FileWriter___core__stream__Stream__close(var_f353
); /* Direct call file$FileWriter$close on <var_f353:FileWriter>*/
6846 var374
= NEW_core__Array(&type_core__Array__nitc__ExternFile
);
6848 core___core__Array___core__kernel__Object__init(var374
); /* Direct call array$Array$init on <var374:Array[ExternFile]>*/
6850 var_java_files
= var374
;
6851 var375
= NEW_core__Array(&type_core__Array__core__String
);
6853 core___core__Array___core__kernel__Object__init(var375
); /* Direct call array$Array$init on <var375:Array[String]>*/
6855 var_pkgconfigs
= var375
;
6857 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
6858 var378
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
6859 if (unlikely(var378
== NULL
)) {
6860 if(catchStack
.cursor
>= 0){
6861 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6863 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
6864 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
6868 RET_LABEL377
:(void)0;
6872 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (var376) on <var376:AbstractCompiler> */
6873 var381
= var376
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var376:AbstractCompiler> */
6874 if (unlikely(var381
== NULL
)) {
6875 if(catchStack
.cursor
>= 0){
6876 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
6879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
6883 RET_LABEL380
:(void)0;
6888 var383
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_382
);
6893 var385
= ((short int(*)(val
* self
))((((long)var_384
&3)?class_info
[((long)var_384
&3)]:var_384
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_384
); /* is_ok on <var_384:IndexedIterator[ExternFile]>*/
6897 goto BREAK_label386
;
6900 var387
= ((val
*(*)(val
* self
))((((long)var_384
&3)?class_info
[((long)var_384
&3)]:var_384
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_384
); /* item on <var_384:IndexedIterator[ExternFile]>*/
6904 { /* Inline c_tools$ExternFile$pkgconfigs (var_f388) on <var_f388:ExternFile> */
6905 var391
= var_f388
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f388:ExternFile> */
6906 if (unlikely(var391
== NULL
)) {
6907 if(catchStack
.cursor
>= 0){
6908 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
6910 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
6911 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
6915 RET_LABEL390
:(void)0;
6919 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_pkgconfigs
, var389
); /* Direct call array$Array$add_all on <var_pkgconfigs:Array[String]>*/
6922 ((void(*)(val
* self
))((((long)var_384
&3)?class_info
[((long)var_384
&3)]:var_384
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_384
); /* next on <var_384:IndexedIterator[ExternFile]>*/
6925 BREAK_label386
: (void)0;
6927 ((void(*)(val
* self
))((((long)var_384
&3)?class_info
[((long)var_384
&3)]:var_384
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_384
); /* finish on <var_384:IndexedIterator[ExternFile]>*/
6930 var392
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_pkgconfigs
);
6934 if (likely(varonce394
!=NULL
)) {
6935 var395
= varonce394
;
6937 var396
= "# does pkg-config exists?\nifneq ($(shell which pkg-config >/dev/null; echo $$\?), 0)\n$(error \"Command `pkg-config` not found. Please install it\")\nendif\n";
6938 var398
= (val
*)(151l<<2|1);
6939 var399
= (val
*)(151l<<2|1);
6940 var400
= (val
*)((long)(0)<<2|3);
6941 var401
= (val
*)((long)(0)<<2|3);
6942 var397
= core__flat___CString___to_s_unsafe(var396
, var398
, var399
, var400
, var401
);
6944 varonce394
= var395
;
6947 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var395
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
6949 var_402
= var_pkgconfigs
;
6951 var403
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_402
);
6956 var405
= ((short int(*)(val
* self
))((((long)var_404
&3)?class_info
[((long)var_404
&3)]:var_404
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_404
); /* is_ok on <var_404:IndexedIterator[String]>*/
6960 goto BREAK_label406
;
6963 var407
= ((val
*(*)(val
* self
))((((long)var_404
&3)?class_info
[((long)var_404
&3)]:var_404
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_404
); /* item on <var_404:IndexedIterator[String]>*/
6966 if (unlikely(varonce408
==NULL
)) {
6967 var409
= NEW_core__NativeArray((int)7l, &type_core__NativeArray__core__String
);
6968 if (likely(varonce410
!=NULL
)) {
6969 var411
= varonce410
;
6971 var412
= "# Check for library ";
6972 var414
= (val
*)(20l<<2|1);
6973 var415
= (val
*)(20l<<2|1);
6974 var416
= (val
*)((long)(0)<<2|3);
6975 var417
= (val
*)((long)(0)<<2|3);
6976 var413
= core__flat___CString___to_s_unsafe(var412
, var414
, var415
, var416
, var417
);
6978 varonce410
= var411
;
6980 ((struct instance_core__NativeArray
*)var409
)->values
[0]=var411
;
6981 if (likely(varonce418
!=NULL
)) {
6982 var419
= varonce418
;
6984 var420
= "\nifneq ($(shell pkg-config --exists \'";
6985 var422
= (val
*)(37l<<2|1);
6986 var423
= (val
*)(37l<<2|1);
6987 var424
= (val
*)((long)(0)<<2|3);
6988 var425
= (val
*)((long)(0)<<2|3);
6989 var421
= core__flat___CString___to_s_unsafe(var420
, var422
, var423
, var424
, var425
);
6991 varonce418
= var419
;
6993 ((struct instance_core__NativeArray
*)var409
)->values
[2]=var419
;
6994 if (likely(varonce426
!=NULL
)) {
6995 var427
= varonce426
;
6997 var428
= "\'; echo $$\?), 0)\n$(error \"pkg-config: package ";
6998 var430
= (val
*)(46l<<2|1);
6999 var431
= (val
*)(46l<<2|1);
7000 var432
= (val
*)((long)(0)<<2|3);
7001 var433
= (val
*)((long)(0)<<2|3);
7002 var429
= core__flat___CString___to_s_unsafe(var428
, var430
, var431
, var432
, var433
);
7004 varonce426
= var427
;
7006 ((struct instance_core__NativeArray
*)var409
)->values
[4]=var427
;
7007 if (likely(varonce434
!=NULL
)) {
7008 var435
= varonce434
;
7010 var436
= " is not found.\")\nendif\n";
7011 var438
= (val
*)(23l<<2|1);
7012 var439
= (val
*)(23l<<2|1);
7013 var440
= (val
*)((long)(0)<<2|3);
7014 var441
= (val
*)((long)(0)<<2|3);
7015 var437
= core__flat___CString___to_s_unsafe(var436
, var438
, var439
, var440
, var441
);
7017 varonce434
= var435
;
7019 ((struct instance_core__NativeArray
*)var409
)->values
[6]=var435
;
7021 var409
= varonce408
;
7024 ((struct instance_core__NativeArray
*)var409
)->values
[1]=var_p
;
7025 ((struct instance_core__NativeArray
*)var409
)->values
[3]=var_p
;
7026 ((struct instance_core__NativeArray
*)var409
)->values
[5]=var_p
;
7028 var442
= ((val
*(*)(val
* self
))(var409
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var409
); /* native_to_s on <var409:NativeArray[String]>*/
7030 varonce408
= var409
;
7032 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var442
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7035 ((void(*)(val
* self
))((((long)var_404
&3)?class_info
[((long)var_404
&3)]:var_404
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_404
); /* next on <var_404:IndexedIterator[String]>*/
7038 BREAK_label406
: (void)0;
7040 ((void(*)(val
* self
))((((long)var_404
&3)?class_info
[((long)var_404
&3)]:var_404
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_404
); /* finish on <var_404:IndexedIterator[String]>*/
7045 { /* Inline abstract_compiler$Toolchain$compiler (self) on <self:MakefileToolchain> */
7046 var445
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
7047 if (unlikely(var445
== NULL
)) {
7048 if(catchStack
.cursor
>= 0){
7049 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7051 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
7052 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
7056 RET_LABEL444
:(void)0;
7060 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (var443) on <var443:AbstractCompiler> */
7061 var448
= var443
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var443:AbstractCompiler> */
7062 if (unlikely(var448
== NULL
)) {
7063 if(catchStack
.cursor
>= 0){
7064 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7066 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
7067 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
7071 RET_LABEL447
:(void)0;
7076 var450
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_449
);
7081 var452
= ((short int(*)(val
* self
))((((long)var_451
&3)?class_info
[((long)var_451
&3)]:var_451
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_451
); /* is_ok on <var_451:IndexedIterator[ExternFile]>*/
7085 goto BREAK_label453
;
7088 var454
= ((val
*(*)(val
* self
))((((long)var_451
&3)?class_info
[((long)var_451
&3)]:var_451
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_451
); /* item on <var_451:IndexedIterator[ExternFile]>*/
7092 var456
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f455
);
7096 { /* Inline c_tools$ExternFile$filename (var_f455) on <var_f455:ExternFile> */
7097 var460
= var_f455
->attrs
[COLOR_nitc__c_tools__ExternFile___filename
].val
; /* _filename on <var_f455:ExternFile> */
7098 if (unlikely(var460
== NULL
)) {
7099 if(catchStack
.cursor
>= 0){
7100 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
7103 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 108);
7107 RET_LABEL459
:(void)0;
7111 var461
= ((val
*(*)(val
* self
, val
* p0
))(var458
->class->vft
[COLOR_core__file__String__basename
]))(var458
, ((val
*)NULL
)); /* basename on <var458:String>*/
7114 if (unlikely(varonce462
==NULL
)) {
7115 var463
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7116 if (likely(varonce464
!=NULL
)) {
7117 var465
= varonce464
;
7120 var468
= (val
*)(2l<<2|1);
7121 var469
= (val
*)(2l<<2|1);
7122 var470
= (val
*)((long)(0)<<2|3);
7123 var471
= (val
*)((long)(0)<<2|3);
7124 var467
= core__flat___CString___to_s_unsafe(var466
, var468
, var469
, var470
, var471
);
7126 varonce464
= var465
;
7128 ((struct instance_core__NativeArray
*)var463
)->values
[1]=var465
;
7129 if (likely(varonce472
!=NULL
)) {
7130 var473
= varonce472
;
7133 var476
= (val
*)(1l<<2|1);
7134 var477
= (val
*)(1l<<2|1);
7135 var478
= (val
*)((long)(0)<<2|3);
7136 var479
= (val
*)((long)(0)<<2|3);
7137 var475
= core__flat___CString___to_s_unsafe(var474
, var476
, var477
, var478
, var479
);
7139 varonce472
= var473
;
7141 ((struct instance_core__NativeArray
*)var463
)->values
[3]=var473
;
7143 var463
= varonce462
;
7146 ((struct instance_core__NativeArray
*)var463
)->values
[0]=var_o457
;
7147 ((struct instance_core__NativeArray
*)var463
)->values
[2]=var_ff
;
7149 var480
= ((val
*(*)(val
* self
))(var463
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var463
); /* native_to_s on <var463:NativeArray[String]>*/
7151 varonce462
= var463
;
7153 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var480
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7155 if (unlikely(varonce481
==NULL
)) {
7156 var482
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7157 if (likely(varonce483
!=NULL
)) {
7158 var484
= varonce483
;
7161 var487
= (val
*)(1l<<2|1);
7162 var488
= (val
*)(1l<<2|1);
7163 var489
= (val
*)((long)(0)<<2|3);
7164 var490
= (val
*)((long)(0)<<2|3);
7165 var486
= core__flat___CString___to_s_unsafe(var485
, var487
, var488
, var489
, var490
);
7167 varonce483
= var484
;
7169 ((struct instance_core__NativeArray
*)var482
)->values
[0]=var484
;
7170 if (likely(varonce491
!=NULL
)) {
7171 var492
= varonce491
;
7174 var495
= (val
*)(2l<<2|1);
7175 var496
= (val
*)(2l<<2|1);
7176 var497
= (val
*)((long)(0)<<2|3);
7177 var498
= (val
*)((long)(0)<<2|3);
7178 var494
= core__flat___CString___to_s_unsafe(var493
, var495
, var496
, var497
, var498
);
7180 varonce491
= var492
;
7182 ((struct instance_core__NativeArray
*)var482
)->values
[2]=var492
;
7184 var482
= varonce481
;
7188 var499
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_content(var_f455
);
7190 ((struct instance_core__NativeArray
*)var482
)->values
[1]=var499
;
7192 var500
= ((val
*(*)(val
* self
))(var482
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var482
); /* native_to_s on <var482:NativeArray[String]>*/
7194 varonce481
= var482
;
7196 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var500
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7199 var501
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f455
);
7202 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dep_rules
, var501
); /* Direct call array$Array$add on <var_dep_rules:Array[String]>*/
7205 var502
= nitc___nitc__ExternCFile___ExternFile__compiles_to_o_file(var_f455
);
7209 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var_o457
); /* Direct call array$Array$add on <var_ofiles:Array[String]>*/
7214 var503
= nitc___nitc__ExternFile___add_to_jar(var_f455
);
7218 core___core__Array___core__abstract_collection__SimpleCollection__add(var_java_files
, var_f455
); /* Direct call array$Array$add on <var_java_files:Array[ExternFile]>*/
7223 ((void(*)(val
* self
))((((long)var_451
&3)?class_info
[((long)var_451
&3)]:var_451
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_451
); /* next on <var_451:IndexedIterator[ExternFile]>*/
7226 BREAK_label453
: (void)0;
7228 ((void(*)(val
* self
))((((long)var_451
&3)?class_info
[((long)var_451
&3)]:var_451
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_451
); /* finish on <var_451:IndexedIterator[ExternFile]>*/
7231 var504
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_java_files
);
7235 if (unlikely(varonce506
==NULL
)) {
7236 var507
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7237 if (likely(varonce508
!=NULL
)) {
7238 var509
= varonce508
;
7241 var512
= (val
*)(4l<<2|1);
7242 var513
= (val
*)(4l<<2|1);
7243 var514
= (val
*)((long)(0)<<2|3);
7244 var515
= (val
*)((long)(0)<<2|3);
7245 var511
= core__flat___CString___to_s_unsafe(var510
, var512
, var513
, var514
, var515
);
7247 varonce508
= var509
;
7249 ((struct instance_core__NativeArray
*)var507
)->values
[1]=var509
;
7251 var507
= varonce506
;
7254 ((struct instance_core__NativeArray
*)var507
)->values
[0]=var_outpath
;
7256 var516
= ((val
*(*)(val
* self
))(var507
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var507
); /* native_to_s on <var507:NativeArray[String]>*/
7258 varonce506
= var507
;
7259 var_jar_file
= var516
;
7260 var517
= NEW_core__Array(&type_core__Array__core__String
);
7262 core___core__Array___core__kernel__Object__init(var517
); /* Direct call array$Array$init on <var517:Array[String]>*/
7264 var_class_files_array
= var517
;
7265 var_518
= var_java_files
;
7267 var519
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_518
);
7272 var521
= ((short int(*)(val
* self
))((((long)var_520
&3)?class_info
[((long)var_520
&3)]:var_520
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_520
); /* is_ok on <var_520:IndexedIterator[ExternFile]>*/
7276 goto BREAK_label522
;
7279 var523
= ((val
*(*)(val
* self
))((((long)var_520
&3)?class_info
[((long)var_520
&3)]:var_520
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_520
); /* item on <var_520:IndexedIterator[ExternFile]>*/
7283 var525
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f524
);
7286 core___core__Array___core__abstract_collection__SimpleCollection__add(var_class_files_array
, var525
); /* Direct call array$Array$add on <var_class_files_array:Array[String]>*/
7289 ((void(*)(val
* self
))((((long)var_520
&3)?class_info
[((long)var_520
&3)]:var_520
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_520
); /* next on <var_520:IndexedIterator[ExternFile]>*/
7292 BREAK_label522
: (void)0;
7294 ((void(*)(val
* self
))((((long)var_520
&3)?class_info
[((long)var_520
&3)]:var_520
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_520
); /* finish on <var_520:IndexedIterator[ExternFile]>*/
7296 if (likely(varonce526
!=NULL
)) {
7297 var527
= varonce526
;
7300 var530
= (val
*)(1l<<2|1);
7301 var531
= (val
*)(1l<<2|1);
7302 var532
= (val
*)((long)(0)<<2|3);
7303 var533
= (val
*)((long)(0)<<2|3);
7304 var529
= core__flat___CString___to_s_unsafe(var528
, var530
, var531
, var532
, var533
);
7306 varonce526
= var527
;
7309 var534
= core__abstract_text___Collection___join(var_class_files_array
, var527
, ((val
*)NULL
));
7311 var_class_files
= var534
;
7312 if (unlikely(varonce535
==NULL
)) {
7313 var536
= NEW_core__NativeArray((int)4l, &type_core__NativeArray__core__String
);
7314 if (likely(varonce537
!=NULL
)) {
7315 var538
= varonce537
;
7318 var541
= (val
*)(2l<<2|1);
7319 var542
= (val
*)(2l<<2|1);
7320 var543
= (val
*)((long)(0)<<2|3);
7321 var544
= (val
*)((long)(0)<<2|3);
7322 var540
= core__flat___CString___to_s_unsafe(var539
, var541
, var542
, var543
, var544
);
7324 varonce537
= var538
;
7326 ((struct instance_core__NativeArray
*)var536
)->values
[1]=var538
;
7327 if (likely(varonce545
!=NULL
)) {
7328 var546
= varonce545
;
7331 var549
= (val
*)(1l<<2|1);
7332 var550
= (val
*)(1l<<2|1);
7333 var551
= (val
*)((long)(0)<<2|3);
7334 var552
= (val
*)((long)(0)<<2|3);
7335 var548
= core__flat___CString___to_s_unsafe(var547
, var549
, var550
, var551
, var552
);
7337 varonce545
= var546
;
7339 ((struct instance_core__NativeArray
*)var536
)->values
[3]=var546
;
7341 var536
= varonce535
;
7344 ((struct instance_core__NativeArray
*)var536
)->values
[0]=var_jar_file
;
7345 ((struct instance_core__NativeArray
*)var536
)->values
[2]=var_class_files
;
7347 var553
= ((val
*(*)(val
* self
))(var536
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var536
); /* native_to_s on <var536:NativeArray[String]>*/
7349 varonce535
= var536
;
7351 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var553
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7353 if (unlikely(varonce554
==NULL
)) {
7354 var555
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
7355 if (likely(varonce556
!=NULL
)) {
7356 var557
= varonce556
;
7358 var558
= "\tjar cf ";
7359 var560
= (val
*)(8l<<2|1);
7360 var561
= (val
*)(8l<<2|1);
7361 var562
= (val
*)((long)(0)<<2|3);
7362 var563
= (val
*)((long)(0)<<2|3);
7363 var559
= core__flat___CString___to_s_unsafe(var558
, var560
, var561
, var562
, var563
);
7365 varonce556
= var557
;
7367 ((struct instance_core__NativeArray
*)var555
)->values
[0]=var557
;
7368 if (likely(varonce564
!=NULL
)) {
7369 var565
= varonce564
;
7372 var568
= (val
*)(1l<<2|1);
7373 var569
= (val
*)(1l<<2|1);
7374 var570
= (val
*)((long)(0)<<2|3);
7375 var571
= (val
*)((long)(0)<<2|3);
7376 var567
= core__flat___CString___to_s_unsafe(var566
, var568
, var569
, var570
, var571
);
7378 varonce564
= var565
;
7380 ((struct instance_core__NativeArray
*)var555
)->values
[2]=var565
;
7381 if (likely(varonce572
!=NULL
)) {
7382 var573
= varonce572
;
7385 var576
= (val
*)(2l<<2|1);
7386 var577
= (val
*)(2l<<2|1);
7387 var578
= (val
*)((long)(0)<<2|3);
7388 var579
= (val
*)((long)(0)<<2|3);
7389 var575
= core__flat___CString___to_s_unsafe(var574
, var576
, var577
, var578
, var579
);
7391 varonce572
= var573
;
7393 ((struct instance_core__NativeArray
*)var555
)->values
[4]=var573
;
7395 var555
= varonce554
;
7398 ((struct instance_core__NativeArray
*)var555
)->values
[1]=var_jar_file
;
7399 ((struct instance_core__NativeArray
*)var555
)->values
[3]=var_class_files
;
7401 var580
= ((val
*(*)(val
* self
))(var555
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var555
); /* native_to_s on <var555:NativeArray[String]>*/
7403 varonce554
= var555
;
7405 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var580
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7408 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dep_rules
, var_jar_file
); /* Direct call array$Array$add on <var_dep_rules:Array[String]>*/
7412 if (likely(varonce581
!=NULL
)) {
7413 var582
= varonce581
;
7416 var585
= (val
*)(0l<<2|1);
7417 var586
= (val
*)(0l<<2|1);
7418 var587
= (val
*)((long)(0)<<2|3);
7419 var588
= (val
*)((long)(0)<<2|3);
7420 var584
= core__flat___CString___to_s_unsafe(var583
, var585
, var586
, var587
, var588
);
7422 varonce581
= var582
;
7426 var589
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_pkgconfigs
);
7430 if (unlikely(varonce591
==NULL
)) {
7431 var592
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7432 if (likely(varonce593
!=NULL
)) {
7433 var594
= varonce593
;
7435 var595
= "`pkg-config --libs ";
7436 var597
= (val
*)(19l<<2|1);
7437 var598
= (val
*)(19l<<2|1);
7438 var599
= (val
*)((long)(0)<<2|3);
7439 var600
= (val
*)((long)(0)<<2|3);
7440 var596
= core__flat___CString___to_s_unsafe(var595
, var597
, var598
, var599
, var600
);
7442 varonce593
= var594
;
7444 ((struct instance_core__NativeArray
*)var592
)->values
[0]=var594
;
7445 if (likely(varonce601
!=NULL
)) {
7446 var602
= varonce601
;
7449 var605
= (val
*)(1l<<2|1);
7450 var606
= (val
*)(1l<<2|1);
7451 var607
= (val
*)((long)(0)<<2|3);
7452 var608
= (val
*)((long)(0)<<2|3);
7453 var604
= core__flat___CString___to_s_unsafe(var603
, var605
, var606
, var607
, var608
);
7455 varonce601
= var602
;
7457 ((struct instance_core__NativeArray
*)var592
)->values
[2]=var602
;
7459 var592
= varonce591
;
7462 if (likely(varonce609
!=NULL
)) {
7463 var610
= varonce609
;
7466 var613
= (val
*)(1l<<2|1);
7467 var614
= (val
*)(1l<<2|1);
7468 var615
= (val
*)((long)(0)<<2|3);
7469 var616
= (val
*)((long)(0)<<2|3);
7470 var612
= core__flat___CString___to_s_unsafe(var611
, var613
, var614
, var615
, var616
);
7472 varonce609
= var610
;
7475 var617
= core__abstract_text___Collection___join(var_pkgconfigs
, var610
, ((val
*)NULL
));
7477 ((struct instance_core__NativeArray
*)var592
)->values
[1]=var617
;
7479 var618
= ((val
*(*)(val
* self
))(var592
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var592
); /* native_to_s on <var592:NativeArray[String]>*/
7481 varonce591
= var592
;
7485 if (unlikely(varonce619
==NULL
)) {
7486 var620
= NEW_core__NativeArray((int)10l, &type_core__NativeArray__core__String
);
7487 if (likely(varonce621
!=NULL
)) {
7488 var622
= varonce621
;
7491 var625
= (val
*)(2l<<2|1);
7492 var626
= (val
*)(2l<<2|1);
7493 var627
= (val
*)((long)(0)<<2|3);
7494 var628
= (val
*)((long)(0)<<2|3);
7495 var624
= core__flat___CString___to_s_unsafe(var623
, var625
, var626
, var627
, var628
);
7497 varonce621
= var622
;
7499 ((struct instance_core__NativeArray
*)var620
)->values
[1]=var622
;
7500 if (likely(varonce629
!=NULL
)) {
7501 var630
= varonce629
;
7503 var631
= "\n\t$(CC) $(LDFLAGS) -o ";
7504 var633
= (val
*)(22l<<2|1);
7505 var634
= (val
*)(22l<<2|1);
7506 var635
= (val
*)((long)(0)<<2|3);
7507 var636
= (val
*)((long)(0)<<2|3);
7508 var632
= core__flat___CString___to_s_unsafe(var631
, var633
, var634
, var635
, var636
);
7510 varonce629
= var630
;
7512 ((struct instance_core__NativeArray
*)var620
)->values
[3]=var630
;
7513 if (likely(varonce637
!=NULL
)) {
7514 var638
= varonce637
;
7517 var641
= (val
*)(1l<<2|1);
7518 var642
= (val
*)(1l<<2|1);
7519 var643
= (val
*)((long)(0)<<2|3);
7520 var644
= (val
*)((long)(0)<<2|3);
7521 var640
= core__flat___CString___to_s_unsafe(var639
, var641
, var642
, var643
, var644
);
7523 varonce637
= var638
;
7525 ((struct instance_core__NativeArray
*)var620
)->values
[5]=var638
;
7526 if (likely(varonce645
!=NULL
)) {
7527 var646
= varonce645
;
7529 var647
= " $(LDLIBS) ";
7530 var649
= (val
*)(11l<<2|1);
7531 var650
= (val
*)(11l<<2|1);
7532 var651
= (val
*)((long)(0)<<2|3);
7533 var652
= (val
*)((long)(0)<<2|3);
7534 var648
= core__flat___CString___to_s_unsafe(var647
, var649
, var650
, var651
, var652
);
7536 varonce645
= var646
;
7538 ((struct instance_core__NativeArray
*)var620
)->values
[7]=var646
;
7539 if (likely(varonce653
!=NULL
)) {
7540 var654
= varonce653
;
7543 var657
= (val
*)(2l<<2|1);
7544 var658
= (val
*)(2l<<2|1);
7545 var659
= (val
*)((long)(0)<<2|3);
7546 var660
= (val
*)((long)(0)<<2|3);
7547 var656
= core__flat___CString___to_s_unsafe(var655
, var657
, var658
, var659
, var660
);
7549 varonce653
= var654
;
7551 ((struct instance_core__NativeArray
*)var620
)->values
[9]=var654
;
7553 var620
= varonce619
;
7556 ((struct instance_core__NativeArray
*)var620
)->values
[0]=var_outpath
;
7557 if (likely(varonce661
!=NULL
)) {
7558 var662
= varonce661
;
7561 var665
= (val
*)(1l<<2|1);
7562 var666
= (val
*)(1l<<2|1);
7563 var667
= (val
*)((long)(0)<<2|3);
7564 var668
= (val
*)((long)(0)<<2|3);
7565 var664
= core__flat___CString___to_s_unsafe(var663
, var665
, var666
, var667
, var668
);
7567 varonce661
= var662
;
7570 var669
= core__abstract_text___Collection___join(var_dep_rules
, var662
, ((val
*)NULL
));
7572 ((struct instance_core__NativeArray
*)var620
)->values
[2]=var669
;
7574 var670
= core___core__Text___escape_to_sh(var_outpath
);
7576 ((struct instance_core__NativeArray
*)var620
)->values
[4]=var670
;
7577 if (likely(varonce671
!=NULL
)) {
7578 var672
= varonce671
;
7581 var675
= (val
*)(1l<<2|1);
7582 var676
= (val
*)(1l<<2|1);
7583 var677
= (val
*)((long)(0)<<2|3);
7584 var678
= (val
*)((long)(0)<<2|3);
7585 var674
= core__flat___CString___to_s_unsafe(var673
, var675
, var676
, var677
, var678
);
7587 varonce671
= var672
;
7590 var679
= core__abstract_text___Collection___join(var_ofiles
, var672
, ((val
*)NULL
));
7592 ((struct instance_core__NativeArray
*)var620
)->values
[6]=var679
;
7593 ((struct instance_core__NativeArray
*)var620
)->values
[8]=var_pkg
;
7595 var680
= ((val
*(*)(val
* self
))(var620
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var620
); /* native_to_s on <var620:NativeArray[String]>*/
7597 varonce619
= var620
;
7599 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var680
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7601 if (unlikely(varonce681
==NULL
)) {
7602 var682
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7603 if (likely(varonce683
!=NULL
)) {
7604 var684
= varonce683
;
7606 var685
= "clean:\n\trm ";
7607 var687
= (val
*)(11l<<2|1);
7608 var688
= (val
*)(11l<<2|1);
7609 var689
= (val
*)((long)(0)<<2|3);
7610 var690
= (val
*)((long)(0)<<2|3);
7611 var686
= core__flat___CString___to_s_unsafe(var685
, var687
, var688
, var689
, var690
);
7613 varonce683
= var684
;
7615 ((struct instance_core__NativeArray
*)var682
)->values
[0]=var684
;
7616 if (likely(varonce691
!=NULL
)) {
7617 var692
= varonce691
;
7619 var693
= " 2>/dev/null\n";
7620 var695
= (val
*)(13l<<2|1);
7621 var696
= (val
*)(13l<<2|1);
7622 var697
= (val
*)((long)(0)<<2|3);
7623 var698
= (val
*)((long)(0)<<2|3);
7624 var694
= core__flat___CString___to_s_unsafe(var693
, var695
, var696
, var697
, var698
);
7626 varonce691
= var692
;
7628 ((struct instance_core__NativeArray
*)var682
)->values
[2]=var692
;
7630 var682
= varonce681
;
7633 if (likely(varonce699
!=NULL
)) {
7634 var700
= varonce699
;
7637 var703
= (val
*)(1l<<2|1);
7638 var704
= (val
*)(1l<<2|1);
7639 var705
= (val
*)((long)(0)<<2|3);
7640 var706
= (val
*)((long)(0)<<2|3);
7641 var702
= core__flat___CString___to_s_unsafe(var701
, var703
, var704
, var705
, var706
);
7643 varonce699
= var700
;
7646 var707
= core__abstract_text___Collection___join(var_ofiles
, var700
, ((val
*)NULL
));
7648 ((struct instance_core__NativeArray
*)var682
)->values
[1]=var707
;
7650 var708
= ((val
*(*)(val
* self
))(var682
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var682
); /* native_to_s on <var682:NativeArray[String]>*/
7652 varonce681
= var682
;
7654 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var708
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7657 { /* Inline kernel$Object$!= (var_outpath,var_real_outpath) on <var_outpath:String> */
7658 var_other
= var_real_outpath
;
7660 var711
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
7665 RET_LABEL710
:(void)0;
7669 if (unlikely(varonce713
==NULL
)) {
7670 var714
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
7671 if (likely(varonce715
!=NULL
)) {
7672 var716
= varonce715
;
7674 var717
= "\trm -- ";
7675 var719
= (val
*)(7l<<2|1);
7676 var720
= (val
*)(7l<<2|1);
7677 var721
= (val
*)((long)(0)<<2|3);
7678 var722
= (val
*)((long)(0)<<2|3);
7679 var718
= core__flat___CString___to_s_unsafe(var717
, var719
, var720
, var721
, var722
);
7681 varonce715
= var716
;
7683 ((struct instance_core__NativeArray
*)var714
)->values
[0]=var716
;
7684 if (likely(varonce723
!=NULL
)) {
7685 var724
= varonce723
;
7687 var725
= " 2>/dev/null\n";
7688 var727
= (val
*)(13l<<2|1);
7689 var728
= (val
*)(13l<<2|1);
7690 var729
= (val
*)((long)(0)<<2|3);
7691 var730
= (val
*)((long)(0)<<2|3);
7692 var726
= core__flat___CString___to_s_unsafe(var725
, var727
, var728
, var729
, var730
);
7694 varonce723
= var724
;
7696 ((struct instance_core__NativeArray
*)var714
)->values
[2]=var724
;
7698 var714
= varonce713
;
7702 var731
= core___core__Text___escape_to_sh(var_outpath
);
7704 ((struct instance_core__NativeArray
*)var714
)->values
[1]=var731
;
7706 var732
= ((val
*(*)(val
* self
))(var714
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var714
); /* native_to_s on <var714:NativeArray[String]>*/
7708 varonce713
= var714
;
7710 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var732
); /* Direct call file$FileWriter$write on <var_makefile:FileWriter>*/
7715 core___core__FileWriter___core__stream__Stream__close(var_makefile
); /* Direct call file$FileWriter$close on <var_makefile:FileWriter>*/
7718 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
7719 var735
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
7720 if (unlikely(var735
== NULL
)) {
7721 if(catchStack
.cursor
>= 0){
7722 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7724 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7725 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
7729 RET_LABEL734
:(void)0;
7732 if (unlikely(varonce736
==NULL
)) {
7733 var737
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7734 if (likely(varonce738
!=NULL
)) {
7735 var739
= varonce738
;
7737 var740
= "Generated makefile: ";
7738 var742
= (val
*)(20l<<2|1);
7739 var743
= (val
*)(20l<<2|1);
7740 var744
= (val
*)((long)(0)<<2|3);
7741 var745
= (val
*)((long)(0)<<2|3);
7742 var741
= core__flat___CString___to_s_unsafe(var740
, var742
, var743
, var744
, var745
);
7744 varonce738
= var739
;
7746 ((struct instance_core__NativeArray
*)var737
)->values
[0]=var739
;
7748 var737
= varonce736
;
7751 ((struct instance_core__NativeArray
*)var737
)->values
[1]=var_makepath
;
7753 var746
= ((val
*(*)(val
* self
))(var737
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var737
); /* native_to_s on <var737:NativeArray[String]>*/
7755 varonce736
= var737
;
7757 nitc___nitc__ToolContext___info(var733
, var746
, 2l); /* Direct call toolcontext$ToolContext$info on <var733:ToolContext>*/
7759 if (unlikely(varonce747
==NULL
)) {
7760 var748
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
7761 if (likely(varonce749
!=NULL
)) {
7762 var750
= varonce749
;
7764 var751
= "/Makefile";
7765 var753
= (val
*)(9l<<2|1);
7766 var754
= (val
*)(9l<<2|1);
7767 var755
= (val
*)((long)(0)<<2|3);
7768 var756
= (val
*)((long)(0)<<2|3);
7769 var752
= core__flat___CString___to_s_unsafe(var751
, var753
, var754
, var755
, var756
);
7771 varonce749
= var750
;
7773 ((struct instance_core__NativeArray
*)var748
)->values
[1]=var750
;
7775 var748
= varonce747
;
7778 ((struct instance_core__NativeArray
*)var748
)->values
[0]=var_compile_dir
;
7780 var757
= ((val
*(*)(val
* self
))(var748
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var748
); /* native_to_s on <var748:NativeArray[String]>*/
7782 varonce747
= var748
;
7784 core__file___String___file_copy_to(var_makepath
, var757
); /* Direct call file$String$file_copy_to on <var_makepath:String>*/
7788 /* method abstract_compiler$MakefileToolchain$compile_c_code for (self: MakefileToolchain, String) */
7789 void nitc___nitc__MakefileToolchain___compile_c_code(val
* self
, val
* p0
) {
7790 val
* var_compile_dir
/* var compile_dir: String */;
7791 val
* var
/* : String */;
7792 val
* var_makename
/* var makename: String */;
7793 val
* var1
/* : ToolContext */;
7794 val
* var3
/* : ToolContext */;
7795 val
* var4
/* : OptionString */;
7796 val
* var6
/* : OptionString */;
7797 val
* var7
/* : nullable Object */;
7798 val
* var9
/* : nullable Object */;
7799 val
* var_makeflags
/* var makeflags: nullable String */;
7800 short int var10
/* : Bool */;
7801 short int var11
/* : Bool */;
7802 static val
* varonce
;
7803 val
* var12
/* : String */;
7804 char* var13
/* : CString */;
7805 val
* var14
/* : String */;
7806 val
* var15
/* : nullable Int */;
7807 val
* var16
/* : nullable Int */;
7808 val
* var17
/* : nullable Bool */;
7809 val
* var18
/* : nullable Bool */;
7810 val
* var20
/* : NativeArray[String] */;
7811 static val
* varonce19
;
7812 static val
* varonce21
;
7813 val
* var22
/* : String */;
7814 char* var23
/* : CString */;
7815 val
* var24
/* : String */;
7816 val
* var25
/* : nullable Int */;
7817 val
* var26
/* : nullable Int */;
7818 val
* var27
/* : nullable Bool */;
7819 val
* var28
/* : nullable Bool */;
7820 static val
* varonce29
;
7821 val
* var30
/* : String */;
7822 char* var31
/* : CString */;
7823 val
* var32
/* : String */;
7824 val
* var33
/* : nullable Int */;
7825 val
* var34
/* : nullable Int */;
7826 val
* var35
/* : nullable Bool */;
7827 val
* var36
/* : nullable Bool */;
7828 static val
* varonce37
;
7829 val
* var38
/* : String */;
7830 char* var39
/* : CString */;
7831 val
* var40
/* : String */;
7832 val
* var41
/* : nullable Int */;
7833 val
* var42
/* : nullable Int */;
7834 val
* var43
/* : nullable Bool */;
7835 val
* var44
/* : nullable Bool */;
7836 val
* var45
/* : String */;
7837 val
* var_command
/* var command: String */;
7838 val
* var46
/* : ToolContext */;
7839 val
* var48
/* : ToolContext */;
7840 val
* var49
/* : ToolContext */;
7841 val
* var51
/* : ToolContext */;
7842 long var52
/* : Int */;
7843 long var54
/* : Int */;
7844 short int var55
/* : Bool */;
7845 short int var57
/* : Bool */;
7848 const char* var_class_name
;
7849 short int var58
/* : Bool */;
7850 val
* var59
/* : Sys */;
7851 val
* var61
/* : Sys */;
7852 val
* var63
/* : NativeArray[String] */;
7853 static val
* varonce62
;
7854 static val
* varonce64
;
7855 val
* var65
/* : String */;
7856 char* var66
/* : CString */;
7857 val
* var67
/* : String */;
7858 val
* var68
/* : nullable Int */;
7859 val
* var69
/* : nullable Int */;
7860 val
* var70
/* : nullable Bool */;
7861 val
* var71
/* : nullable Bool */;
7862 val
* var72
/* : String */;
7863 long var73
/* : Int */;
7864 val
* var74
/* : nullable Object */;
7865 val
* var_res
/* var res: nullable Object */;
7866 val
* var75
/* : Sys */;
7867 short int var76
/* : Bool */;
7868 short int var78
/* : Bool */;
7869 val
* var79
/* : Sys */;
7870 val
* var81
/* : Sys */;
7871 val
* var83
/* : NativeArray[String] */;
7872 static val
* varonce82
;
7873 static val
* varonce84
;
7874 val
* var85
/* : String */;
7875 char* var86
/* : CString */;
7876 val
* var87
/* : String */;
7877 val
* var88
/* : nullable Int */;
7878 val
* var89
/* : nullable Int */;
7879 val
* var90
/* : nullable Bool */;
7880 val
* var91
/* : nullable Bool */;
7881 val
* var92
/* : String */;
7882 long var93
/* : Int */;
7883 val
* var94
/* : nullable Object */;
7884 val
* var95
/* : Sys */;
7885 val
* var97
/* : Sys */;
7886 val
* var99
/* : NativeArray[String] */;
7887 static val
* varonce98
;
7888 static val
* varonce100
;
7889 val
* var101
/* : String */;
7890 char* var102
/* : CString */;
7891 val
* var103
/* : String */;
7892 val
* var104
/* : nullable Int */;
7893 val
* var105
/* : nullable Int */;
7894 val
* var106
/* : nullable Bool */;
7895 val
* var107
/* : nullable Bool */;
7896 val
* var108
/* : String */;
7897 long var109
/* : Int */;
7898 val
* var110
/* : nullable Object */;
7899 short int var111
/* : Bool */;
7900 short int var113
/* : Bool */;
7901 long var114
/* : Int */;
7902 short int var115
/* : Bool */;
7903 val
* var116
/* : ToolContext */;
7904 val
* var118
/* : ToolContext */;
7905 val
* var120
/* : NativeArray[String] */;
7906 static val
* varonce119
;
7907 static val
* varonce121
;
7908 val
* var122
/* : String */;
7909 char* var123
/* : CString */;
7910 val
* var124
/* : String */;
7911 val
* var125
/* : nullable Int */;
7912 val
* var126
/* : nullable Int */;
7913 val
* var127
/* : nullable Bool */;
7914 val
* var128
/* : nullable Bool */;
7915 static val
* varonce129
;
7916 val
* var130
/* : String */;
7917 char* var131
/* : CString */;
7918 val
* var132
/* : String */;
7919 val
* var133
/* : nullable Int */;
7920 val
* var134
/* : nullable Int */;
7921 val
* var135
/* : nullable Bool */;
7922 val
* var136
/* : nullable Bool */;
7923 static val
* varonce137
;
7924 val
* var138
/* : String */;
7925 char* var139
/* : CString */;
7926 val
* var140
/* : String */;
7927 val
* var141
/* : nullable Int */;
7928 val
* var142
/* : nullable Int */;
7929 val
* var143
/* : nullable Bool */;
7930 val
* var144
/* : nullable Bool */;
7931 val
* var145
/* : String */;
7932 long var146
/* : Int */;
7933 val
* var147
/* : String */;
7934 val
* var148
/* : Message */;
7935 var_compile_dir
= p0
;
7937 var
= nitc___nitc__MakefileToolchain___makefile_name(self
);
7941 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
7942 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
7943 if (unlikely(var3
== NULL
)) {
7944 if(catchStack
.cursor
>= 0){
7945 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7948 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
7956 { /* Inline abstract_compiler$ToolContext$opt_make_flags (var1) on <var1:ToolContext> */
7957 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <var1:ToolContext> */
7958 if (unlikely(var6
== NULL
)) {
7959 if(catchStack
.cursor
>= 0){
7960 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
7962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
7963 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
7971 { /* Inline opts$Option$value (var4) on <var4:OptionString> */
7972 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
7977 var_makeflags
= var7
;
7978 if (var_makeflags
== NULL
) {
7979 var10
= 1; /* is null */
7981 var10
= 0; /* arg is null but recv is not */
7984 var11
= ((short int(*)(val
* self
, val
* p0
))(var_makeflags
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_makeflags
, ((val
*)NULL
)); /* == on <var_makeflags:nullable String>*/
7988 if (likely(varonce
!=NULL
)) {
7992 var15
= (val
*)(0l<<2|1);
7993 var16
= (val
*)(0l<<2|1);
7994 var17
= (val
*)((long)(0)<<2|3);
7995 var18
= (val
*)((long)(0)<<2|3);
7996 var14
= core__flat___CString___to_s_unsafe(var13
, var15
, var16
, var17
, var18
);
8000 var_makeflags
= var12
;
8003 if (unlikely(varonce19
==NULL
)) {
8004 var20
= NEW_core__NativeArray((int)6l, &type_core__NativeArray__core__String
);
8005 if (likely(varonce21
!=NULL
)) {
8008 var23
= "make -B -C ";
8009 var25
= (val
*)(11l<<2|1);
8010 var26
= (val
*)(11l<<2|1);
8011 var27
= (val
*)((long)(0)<<2|3);
8012 var28
= (val
*)((long)(0)<<2|3);
8013 var24
= core__flat___CString___to_s_unsafe(var23
, var25
, var26
, var27
, var28
);
8017 ((struct instance_core__NativeArray
*)var20
)->values
[0]=var22
;
8018 if (likely(varonce29
!=NULL
)) {
8022 var33
= (val
*)(4l<<2|1);
8023 var34
= (val
*)(4l<<2|1);
8024 var35
= (val
*)((long)(0)<<2|3);
8025 var36
= (val
*)((long)(0)<<2|3);
8026 var32
= core__flat___CString___to_s_unsafe(var31
, var33
, var34
, var35
, var36
);
8030 ((struct instance_core__NativeArray
*)var20
)->values
[2]=var30
;
8031 if (likely(varonce37
!=NULL
)) {
8035 var41
= (val
*)(6l<<2|1);
8036 var42
= (val
*)(6l<<2|1);
8037 var43
= (val
*)((long)(0)<<2|3);
8038 var44
= (val
*)((long)(0)<<2|3);
8039 var40
= core__flat___CString___to_s_unsafe(var39
, var41
, var42
, var43
, var44
);
8043 ((struct instance_core__NativeArray
*)var20
)->values
[4]=var38
;
8048 ((struct instance_core__NativeArray
*)var20
)->values
[1]=var_compile_dir
;
8049 ((struct instance_core__NativeArray
*)var20
)->values
[3]=var_makename
;
8050 ((struct instance_core__NativeArray
*)var20
)->values
[5]=var_makeflags
;
8052 var45
= ((val
*(*)(val
* self
))(var20
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var20
); /* native_to_s on <var20:NativeArray[String]>*/
8055 var_command
= var45
;
8057 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
8058 var48
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
8059 if (unlikely(var48
== NULL
)) {
8060 if(catchStack
.cursor
>= 0){
8061 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8063 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8064 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
8068 RET_LABEL47
:(void)0;
8072 nitc___nitc__ToolContext___info(var46
, var_command
, 2l); /* Direct call toolcontext$ToolContext$info on <var46:ToolContext>*/
8075 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
8076 var51
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
8077 if (unlikely(var51
== NULL
)) {
8078 if(catchStack
.cursor
>= 0){
8079 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8081 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8082 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
8086 RET_LABEL50
:(void)0;
8090 { /* Inline toolcontext$ToolContext$verbose_level (var49) on <var49:ToolContext> */
8091 var54
= var49
->attrs
[COLOR_nitc__toolcontext__ToolContext___verbose_level
].l
; /* _verbose_level on <var49:ToolContext> */
8093 RET_LABEL53
:(void)0;
8097 { /* Inline kernel$Int$>= (var52,3l) on <var52:Int> */
8098 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
8099 /* <3l:Int> isa OTHER */
8100 var57
= 1; /* easy <3l:Int> isa OTHER*/
8101 if (unlikely(!var57
)) {
8102 var_class_name
= type_core__Int
.name
;
8103 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
8104 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 726);
8107 var58
= var52
>= 3l;
8110 RET_LABEL56
:(void)0;
8115 { /* Inline kernel$Object$sys (self) on <self:MakefileToolchain> */
8119 RET_LABEL60
:(void)0;
8122 if (unlikely(varonce62
==NULL
)) {
8123 var63
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
8124 if (likely(varonce64
!=NULL
)) {
8128 var68
= (val
*)(5l<<2|1);
8129 var69
= (val
*)(5l<<2|1);
8130 var70
= (val
*)((long)(0)<<2|3);
8131 var71
= (val
*)((long)(0)<<2|3);
8132 var67
= core__flat___CString___to_s_unsafe(var66
, var68
, var69
, var70
, var71
);
8136 ((struct instance_core__NativeArray
*)var63
)->values
[1]=var65
;
8141 ((struct instance_core__NativeArray
*)var63
)->values
[0]=var_command
;
8143 var72
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var63
); /* native_to_s on <var63:NativeArray[String]>*/
8147 var73
= core__exec___Sys___system(var59
, var72
);
8149 var74
= (val
*)(var73
<<2|1);
8154 { /* Inline kernel$Sys$is_windows (var75) on <var75:Sys> */
8155 struct nitni_instance
* var_for_c_0
;
8156 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
8157 var_for_c_0
->value
= var75
;
8158 var78
= core__kernel___Sys_is_windows___impl(var_for_c_0
);
8161 RET_LABEL77
:(void)0;
8166 { /* Inline kernel$Object$sys (self) on <self:MakefileToolchain> */
8170 RET_LABEL80
:(void)0;
8173 if (unlikely(varonce82
==NULL
)) {
8174 var83
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
8175 if (likely(varonce84
!=NULL
)) {
8178 var86
= " 2>&1 >nul";
8179 var88
= (val
*)(10l<<2|1);
8180 var89
= (val
*)(10l<<2|1);
8181 var90
= (val
*)((long)(0)<<2|3);
8182 var91
= (val
*)((long)(0)<<2|3);
8183 var87
= core__flat___CString___to_s_unsafe(var86
, var88
, var89
, var90
, var91
);
8187 ((struct instance_core__NativeArray
*)var83
)->values
[1]=var85
;
8192 ((struct instance_core__NativeArray
*)var83
)->values
[0]=var_command
;
8194 var92
= ((val
*(*)(val
* self
))(var83
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var83
); /* native_to_s on <var83:NativeArray[String]>*/
8198 var93
= core__exec___Sys___system(var79
, var92
);
8200 var94
= (val
*)(var93
<<2|1);
8204 { /* Inline kernel$Object$sys (self) on <self:MakefileToolchain> */
8208 RET_LABEL96
:(void)0;
8211 if (unlikely(varonce98
==NULL
)) {
8212 var99
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
8213 if (likely(varonce100
!=NULL
)) {
8214 var101
= varonce100
;
8216 var102
= " 2>&1 >/dev/null";
8217 var104
= (val
*)(16l<<2|1);
8218 var105
= (val
*)(16l<<2|1);
8219 var106
= (val
*)((long)(0)<<2|3);
8220 var107
= (val
*)((long)(0)<<2|3);
8221 var103
= core__flat___CString___to_s_unsafe(var102
, var104
, var105
, var106
, var107
);
8223 varonce100
= var101
;
8225 ((struct instance_core__NativeArray
*)var99
)->values
[1]=var101
;
8230 ((struct instance_core__NativeArray
*)var99
)->values
[0]=var_command
;
8232 var108
= ((val
*(*)(val
* self
))(var99
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var99
); /* native_to_s on <var99:NativeArray[String]>*/
8236 var109
= core__exec___Sys___system(var95
, var108
);
8238 var110
= (val
*)(var109
<<2|1);
8243 { /* Inline kernel$Int$!= (var_res,0l) on <var_res:nullable Object(Int)> */
8244 var114
= (long)(var_res
)>>2;
8245 var113
= var114
== 0l;
8249 RET_LABEL112
:(void)0;
8254 { /* Inline abstract_compiler$Toolchain$toolcontext (self) on <self:MakefileToolchain> */
8255 var118
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
8256 if (unlikely(var118
== NULL
)) {
8257 if(catchStack
.cursor
>= 0){
8258 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8261 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
8265 RET_LABEL117
:(void)0;
8268 if (unlikely(varonce119
==NULL
)) {
8269 var120
= NEW_core__NativeArray((int)5l, &type_core__NativeArray__core__String
);
8270 if (likely(varonce121
!=NULL
)) {
8271 var122
= varonce121
;
8273 var123
= "Compilation Error: `make` failed with error code: ";
8274 var125
= (val
*)(50l<<2|1);
8275 var126
= (val
*)(50l<<2|1);
8276 var127
= (val
*)((long)(0)<<2|3);
8277 var128
= (val
*)((long)(0)<<2|3);
8278 var124
= core__flat___CString___to_s_unsafe(var123
, var125
, var126
, var127
, var128
);
8280 varonce121
= var122
;
8282 ((struct instance_core__NativeArray
*)var120
)->values
[0]=var122
;
8283 if (likely(varonce129
!=NULL
)) {
8284 var130
= varonce129
;
8286 var131
= ". The command was `";
8287 var133
= (val
*)(19l<<2|1);
8288 var134
= (val
*)(19l<<2|1);
8289 var135
= (val
*)((long)(0)<<2|3);
8290 var136
= (val
*)((long)(0)<<2|3);
8291 var132
= core__flat___CString___to_s_unsafe(var131
, var133
, var134
, var135
, var136
);
8293 varonce129
= var130
;
8295 ((struct instance_core__NativeArray
*)var120
)->values
[2]=var130
;
8296 if (likely(varonce137
!=NULL
)) {
8297 var138
= varonce137
;
8300 var141
= (val
*)(2l<<2|1);
8301 var142
= (val
*)(2l<<2|1);
8302 var143
= (val
*)((long)(0)<<2|3);
8303 var144
= (val
*)((long)(0)<<2|3);
8304 var140
= core__flat___CString___to_s_unsafe(var139
, var141
, var142
, var143
, var144
);
8306 varonce137
= var138
;
8308 ((struct instance_core__NativeArray
*)var120
)->values
[4]=var138
;
8310 var120
= varonce119
;
8313 var146
= (long)(var_res
)>>2;
8314 var145
= core__flat___Int___core__abstract_text__Object__to_s(var146
);
8315 ((struct instance_core__NativeArray
*)var120
)->values
[1]=var145
;
8316 ((struct instance_core__NativeArray
*)var120
)->values
[3]=var_command
;
8318 var147
= ((val
*(*)(val
* self
))(var120
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var120
); /* native_to_s on <var120:NativeArray[String]>*/
8320 varonce119
= var120
;
8322 var148
= nitc___nitc__ToolContext___error(var116
, ((val
*)NULL
), var147
);
8328 /* method abstract_compiler$AbstractCompiler$names for (self: AbstractCompiler): HashMap[String, String] */
8329 val
* nitc___nitc__AbstractCompiler___names(val
* self
) {
8330 val
* var
/* : HashMap[String, String] */;
8331 val
* var1
/* : HashMap[String, String] */;
8332 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
8333 if (unlikely(var1
== NULL
)) {
8334 if(catchStack
.cursor
>= 0){
8335 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8338 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 542);
8345 /* method abstract_compiler$AbstractCompiler$mainmodule for (self: AbstractCompiler): MModule */
8346 val
* nitc___nitc__AbstractCompiler___mainmodule(val
* self
) {
8347 val
* var
/* : MModule */;
8348 val
* var1
/* : MModule */;
8349 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8350 if (unlikely(var1
== NULL
)) {
8351 if(catchStack
.cursor
>= 0){
8352 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8354 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8355 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8362 /* method abstract_compiler$AbstractCompiler$mainmodule= for (self: AbstractCompiler, MModule) */
8363 void nitc___nitc__AbstractCompiler___mainmodule_61d(val
* self
, val
* p0
) {
8364 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= p0
; /* _mainmodule on <self:AbstractCompiler> */
8367 /* method abstract_compiler$AbstractCompiler$realmainmodule for (self: AbstractCompiler): MModule */
8368 val
* nitc___nitc__AbstractCompiler___realmainmodule(val
* self
) {
8369 val
* var
/* : MModule */;
8370 val
* var1
/* : MModule */;
8371 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <self:AbstractCompiler> */
8372 if (unlikely(var1
== NULL
)) {
8373 if(catchStack
.cursor
>= 0){
8374 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8376 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
8377 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 549);
8384 /* method abstract_compiler$AbstractCompiler$realmainmodule= for (self: AbstractCompiler, MModule) */
8385 void nitc___nitc__AbstractCompiler___realmainmodule_61d(val
* self
, val
* p0
) {
8386 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
= p0
; /* _realmainmodule on <self:AbstractCompiler> */
8389 /* method abstract_compiler$AbstractCompiler$modelbuilder for (self: AbstractCompiler): ModelBuilder */
8390 val
* nitc___nitc__AbstractCompiler___modelbuilder(val
* self
) {
8391 val
* var
/* : ModelBuilder */;
8392 val
* var1
/* : ModelBuilder */;
8393 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8394 if (unlikely(var1
== NULL
)) {
8395 if(catchStack
.cursor
>= 0){
8396 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8399 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
8406 /* method abstract_compiler$AbstractCompiler$modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
8407 void nitc___nitc__AbstractCompiler___modelbuilder_61d(val
* self
, val
* p0
) {
8408 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
= p0
; /* _modelbuilder on <self:AbstractCompiler> */
8411 /* method abstract_compiler$AbstractCompiler$toolchain for (self: AbstractCompiler): Toolchain */
8412 val
* nitc___nitc__AbstractCompiler___toolchain(val
* self
) {
8413 val
* var
/* : Toolchain */;
8414 val
* var1
/* : Toolchain */;
8415 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
8416 if (unlikely(var1
== NULL
)) {
8417 if(catchStack
.cursor
>= 0){
8418 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8420 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
8421 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 555);
8428 /* method abstract_compiler$AbstractCompiler$toolchain= for (self: AbstractCompiler, Toolchain) */
8429 void nitc___nitc__AbstractCompiler___toolchain_61d(val
* self
, val
* p0
) {
8430 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
= p0
; /* _toolchain on <self:AbstractCompiler> */
8433 /* method abstract_compiler$AbstractCompiler$target_platform for (self: AbstractCompiler): Platform */
8434 val
* nitc___nitc__AbstractCompiler___target_platform(val
* self
) {
8435 val
* var
/* : Platform */;
8436 val
* var1
/* : Platform */;
8437 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
8438 if (unlikely(var1
== NULL
)) {
8439 if(catchStack
.cursor
>= 0){
8440 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8442 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
8443 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 563);
8450 /* method abstract_compiler$AbstractCompiler$target_platform= for (self: AbstractCompiler, Platform) */
8451 void nitc___nitc__AbstractCompiler___target_platform_61d(val
* self
, val
* p0
) {
8452 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
= p0
; /* _target_platform on <self:AbstractCompiler> */
8455 /* method abstract_compiler$AbstractCompiler$init for (self: AbstractCompiler) */
8456 void nitc___nitc__AbstractCompiler___core__kernel__Object__init(val
* self
) {
8457 val
* var
/* : MModule */;
8458 val
* var2
/* : MModule */;
8459 val
* var4
/* : Platform */;
8460 val
* var5
/* : MModule */;
8461 val
* var7
/* : MModule */;
8462 val
* var8
/* : nullable Platform */;
8463 val
* var9
/* : Platform */;
8465 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__AbstractCompiler___core__kernel__Object__init
]))(self
); /* init on <self:AbstractCompiler>*/
8468 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
8469 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8470 if (unlikely(var2
== NULL
)) {
8471 if(catchStack
.cursor
>= 0){
8472 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8474 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8475 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8483 { /* Inline abstract_compiler$AbstractCompiler$realmainmodule= (self,var) on <self:AbstractCompiler> */
8484 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
= var
; /* _realmainmodule on <self:AbstractCompiler> */
8489 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
8490 var7
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8491 if (unlikely(var7
== NULL
)) {
8492 if(catchStack
.cursor
>= 0){
8493 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8495 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8496 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8504 var8
= nitc__platform___MModule___target_platform(var5
);
8509 var9
= NEW_nitc__Platform(&type_nitc__Platform
);
8511 { /* Inline kernel$Object$init (var9) on <var9:Platform> */
8512 RET_LABEL10
:(void)0;
8518 { /* Inline abstract_compiler$AbstractCompiler$target_platform= (self,var4) on <self:AbstractCompiler> */
8519 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
= var4
; /* _target_platform on <self:AbstractCompiler> */
8520 RET_LABEL11
:(void)0;
8525 /* method abstract_compiler$AbstractCompiler$new_file for (self: AbstractCompiler, String): CodeFile */
8526 val
* nitc___nitc__AbstractCompiler___new_file(val
* self
, val
* p0
) {
8527 val
* var
/* : CodeFile */;
8528 val
* var_name
/* var name: String */;
8529 val
* var1
/* : ModelBuilder */;
8530 val
* var3
/* : ModelBuilder */;
8531 val
* var4
/* : ToolContext */;
8532 val
* var6
/* : ToolContext */;
8533 val
* var7
/* : OptionBool */;
8534 val
* var9
/* : OptionBool */;
8535 val
* var10
/* : nullable Object */;
8536 val
* var12
/* : nullable Object */;
8537 short int var13
/* : Bool */;
8538 val
* var14
/* : Array[CodeFile] */;
8539 val
* var16
/* : Array[CodeFile] */;
8540 short int var17
/* : Bool */;
8541 val
* var18
/* : CodeFile */;
8542 val
* var19
/* : MModule */;
8543 val
* var21
/* : MModule */;
8544 val
* var22
/* : String */;
8545 val
* var_f
/* var f: CodeFile */;
8546 val
* var23
/* : Array[CodeFile] */;
8547 val
* var25
/* : Array[CodeFile] */;
8548 val
* var26
/* : Array[CodeFile] */;
8549 val
* var28
/* : Array[CodeFile] */;
8550 val
* var29
/* : nullable Object */;
8551 val
* var30
/* : CodeFile */;
8552 val
* var_f31
/* var f: CodeFile */;
8553 val
* var32
/* : Array[CodeFile] */;
8554 val
* var34
/* : Array[CodeFile] */;
8557 { /* Inline abstract_compiler$AbstractCompiler$modelbuilder (self) on <self:AbstractCompiler> */
8558 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8559 if (unlikely(var3
== NULL
)) {
8560 if(catchStack
.cursor
>= 0){
8561 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8564 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 552);
8572 { /* Inline modelbuilder_base$ModelBuilder$toolcontext (var1) on <var1:ModelBuilder> */
8573 var6
= var1
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var1:ModelBuilder> */
8574 if (unlikely(var6
== NULL
)) {
8575 if(catchStack
.cursor
>= 0){
8576 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
8587 { /* Inline abstract_compiler$ToolContext$opt_group_c_files (var4) on <var4:ToolContext> */
8588 var9
= var4
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <var4:ToolContext> */
8589 if (unlikely(var9
== NULL
)) {
8590 if(catchStack
.cursor
>= 0){
8591 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8593 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
8594 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
8602 { /* Inline opts$Option$value (var7) on <var7:OptionBool> */
8603 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionBool> */
8605 RET_LABEL11
:(void)0;
8608 var13
= (short int)((long)(var10
)>>2);
8611 { /* Inline abstract_compiler$AbstractCompiler$files (self) on <self:AbstractCompiler> */
8612 var16
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
8613 if (unlikely(var16
== NULL
)) {
8614 if(catchStack
.cursor
>= 0){
8615 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
8618 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
8622 RET_LABEL15
:(void)0;
8626 var17
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var14
);
8629 var18
= NEW_nitc__CodeFile(&type_nitc__CodeFile
);
8631 { /* Inline abstract_compiler$AbstractCompiler$mainmodule (self) on <self:AbstractCompiler> */
8632 var21
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8633 if (unlikely(var21
== NULL
)) {
8634 if(catchStack
.cursor
>= 0){
8635 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8638 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 545);
8642 RET_LABEL20
:(void)0;
8646 var22
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var19
);
8649 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nitc__abstract_compiler__CodeFile__name_61d
]))(var18
, var22
); /* name= on <var18:CodeFile>*/
8652 ((void(*)(val
* self
))(var18
->class->vft
[COLOR_core__kernel__Object__init
]))(var18
); /* init on <var18:CodeFile>*/
8656 { /* Inline abstract_compiler$AbstractCompiler$files (self) on <self:AbstractCompiler> */
8657 var25
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
8658 if (unlikely(var25
== NULL
)) {
8659 if(catchStack
.cursor
>= 0){
8660 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
8663 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
8667 RET_LABEL24
:(void)0;
8671 core___core__Array___core__abstract_collection__SimpleCollection__add(var23
, var_f
); /* Direct call array$Array$add on <var23:Array[CodeFile]>*/
8676 { /* Inline abstract_compiler$AbstractCompiler$files (self) on <self:AbstractCompiler> */
8677 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
8678 if (unlikely(var28
== NULL
)) {
8679 if(catchStack
.cursor
>= 0){
8680 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
8683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
8687 RET_LABEL27
:(void)0;
8691 var29
= core___core__SequenceRead___Collection__first(var26
);
8697 var30
= NEW_nitc__CodeFile(&type_nitc__CodeFile
);
8699 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nitc__abstract_compiler__CodeFile__name_61d
]))(var30
, var_name
); /* name= on <var30:CodeFile>*/
8702 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_core__kernel__Object__init
]))(var30
); /* init on <var30:CodeFile>*/
8706 { /* Inline abstract_compiler$AbstractCompiler$files (self) on <self:AbstractCompiler> */
8707 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
8708 if (unlikely(var34
== NULL
)) {
8709 if(catchStack
.cursor
>= 0){
8710 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8712 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
8713 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
8717 RET_LABEL33
:(void)0;
8721 core___core__Array___core__abstract_collection__SimpleCollection__add(var32
, var_f31
); /* Direct call array$Array$add on <var32:Array[CodeFile]>*/
8728 /* method abstract_compiler$AbstractCompiler$files for (self: AbstractCompiler): Array[CodeFile] */
8729 val
* nitc___nitc__AbstractCompiler___files(val
* self
) {
8730 val
* var
/* : Array[CodeFile] */;
8731 val
* var1
/* : Array[CodeFile] */;
8732 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
8733 if (unlikely(var1
== NULL
)) {
8734 if(catchStack
.cursor
>= 0){
8735 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8737 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
8738 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 592);
8745 /* method abstract_compiler$AbstractCompiler$header for (self: AbstractCompiler): CodeWriter */
8746 val
* nitc___nitc__AbstractCompiler___header(val
* self
) {
8747 val
* var
/* : CodeWriter */;
8748 val
* var1
/* : CodeWriter */;
8749 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8750 if (unlikely(var1
== NULL
)) {
8751 if(catchStack
.cursor
>= 0){
8752 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8755 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 599);
8762 /* method abstract_compiler$AbstractCompiler$header= for (self: AbstractCompiler, CodeWriter) */
8763 void nitc___nitc__AbstractCompiler___header_61d(val
* self
, val
* p0
) {
8764 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
= p0
; /* _header on <self:AbstractCompiler> */
8767 /* method abstract_compiler$AbstractCompiler$linker_script for (self: AbstractCompiler): Array[String] */
8768 val
* nitc___nitc__AbstractCompiler___linker_script(val
* self
) {
8769 val
* var
/* : Array[String] */;
8770 val
* var1
/* : Array[String] */;
8771 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:AbstractCompiler> */
8772 if (unlikely(var1
== NULL
)) {
8773 if(catchStack
.cursor
>= 0){
8774 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
8777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 602);
8784 /* method abstract_compiler$AbstractCompiler$provide_declaration for (self: AbstractCompiler, String, String) */
8785 void nitc___nitc__AbstractCompiler___provide_declaration(val
* self
, val
* p0
, val
* p1
) {
8786 val
* var_key
/* var key: String */;
8787 val
* var_s
/* var s: String */;
8788 val
* var
/* : HashMap[String, String] */;
8789 val
* var2
/* : HashMap[String, String] */;
8790 short int var3
/* : Bool */;
8791 val
* var4
/* : HashMap[String, String] */;
8792 val
* var6
/* : HashMap[String, String] */;
8793 val
* var7
/* : nullable Object */;
8794 short int var8
/* : Bool */;
8795 val
* var9
/* : HashMap[String, String] */;
8796 val
* var11
/* : HashMap[String, String] */;
8800 { /* Inline abstract_compiler$AbstractCompiler$provided_declarations (self) on <self:AbstractCompiler> */
8801 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
8802 if (unlikely(var2
== NULL
)) {
8803 if(catchStack
.cursor
>= 0){
8804 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8806 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
8807 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
8815 var3
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var
, var_key
);
8819 { /* Inline abstract_compiler$AbstractCompiler$provided_declarations (self) on <self:AbstractCompiler> */
8820 var6
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
8821 if (unlikely(var6
== NULL
)) {
8822 if(catchStack
.cursor
>= 0){
8823 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
8826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
8834 var7
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var4
, var_key
);
8837 var8
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_s
); /* == on <var7:nullable Object(String)>*/
8839 if (unlikely(!var8
)) {
8840 if(catchStack
.cursor
>= 0){
8841 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8843 PRINT_ERROR("Runtime error: %s", "Assert failed");
8844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 610);
8850 { /* Inline abstract_compiler$AbstractCompiler$provided_declarations (self) on <self:AbstractCompiler> */
8851 var11
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
8852 if (unlikely(var11
== NULL
)) {
8853 if(catchStack
.cursor
>= 0){
8854 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8856 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
8857 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
8861 RET_LABEL10
:(void)0;
8865 core___core__HashMap___core__abstract_collection__Map___91d_93d_61d(var9
, var_key
, var_s
); /* Direct call hash_collection$HashMap$[]= on <var9:HashMap[String, String]>*/
8869 /* method abstract_compiler$AbstractCompiler$provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
8870 val
* nitc___nitc__AbstractCompiler___provided_declarations(val
* self
) {
8871 val
* var
/* : HashMap[String, String] */;
8872 val
* var1
/* : HashMap[String, String] */;
8873 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
8874 if (unlikely(var1
== NULL
)) {
8875 if(catchStack
.cursor
>= 0){
8876 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
8879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 615);
8886 /* method abstract_compiler$AbstractCompiler$requirers_of_declarations for (self: AbstractCompiler): HashMap[String, ANode] */
8887 val
* nitc___nitc__AbstractCompiler___requirers_of_declarations(val
* self
) {
8888 val
* var
/* : HashMap[String, ANode] */;
8889 val
* var1
/* : HashMap[String, ANode] */;
8890 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <self:AbstractCompiler> */
8891 if (unlikely(var1
== NULL
)) {
8892 if(catchStack
.cursor
>= 0){
8893 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
8895 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
8896 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 617);
8903 /* method abstract_compiler$AbstractCompiler$build_c_to_nit_bindings for (self: AbstractCompiler) */
8904 void nitc___nitc__AbstractCompiler___build_c_to_nit_bindings(val
* self
) {
8905 val
* var
/* : Toolchain */;
8906 val
* var2
/* : Toolchain */;
8907 val
* var3
/* : String */;
8908 val
* var_compile_dir
/* var compile_dir: String */;
8909 val
* var4
/* : FileWriter */;
8910 val
* var5
/* : NativeArray[String] */;
8911 static val
* varonce
;
8912 static val
* varonce6
;
8913 val
* var7
/* : String */;
8914 char* var8
/* : CString */;
8915 val
* var9
/* : String */;
8916 val
* var10
/* : nullable Int */;
8917 val
* var11
/* : nullable Int */;
8918 val
* var12
/* : nullable Bool */;
8919 val
* var13
/* : nullable Bool */;
8920 val
* var14
/* : String */;
8921 val
* var_stream
/* var stream: FileWriter */;
8922 static val
* varonce15
;
8923 val
* var16
/* : String */;
8924 char* var17
/* : CString */;
8925 val
* var18
/* : String */;
8926 val
* var19
/* : nullable Int */;
8927 val
* var20
/* : nullable Int */;
8928 val
* var21
/* : nullable Bool */;
8929 val
* var22
/* : nullable Bool */;
8930 static val
* varonce23
;
8931 val
* var24
/* : String */;
8932 char* var25
/* : CString */;
8933 val
* var26
/* : String */;
8934 val
* var27
/* : nullable Int */;
8935 val
* var28
/* : nullable Int */;
8936 val
* var29
/* : nullable Bool */;
8937 val
* var30
/* : nullable Bool */;
8938 static val
* varonce31
;
8939 val
* var32
/* : String */;
8940 char* var33
/* : CString */;
8941 val
* var34
/* : String */;
8942 val
* var35
/* : nullable Int */;
8943 val
* var36
/* : nullable Int */;
8944 val
* var37
/* : nullable Bool */;
8945 val
* var38
/* : nullable Bool */;
8946 static val
* varonce39
;
8947 val
* var40
/* : String */;
8948 char* var41
/* : CString */;
8949 val
* var42
/* : String */;
8950 val
* var43
/* : nullable Int */;
8951 val
* var44
/* : nullable Int */;
8952 val
* var45
/* : nullable Bool */;
8953 val
* var46
/* : nullable Bool */;
8954 static val
* varonce47
;
8955 val
* var48
/* : String */;
8956 char* var49
/* : CString */;
8957 val
* var50
/* : String */;
8958 val
* var51
/* : nullable Int */;
8959 val
* var52
/* : nullable Int */;
8960 val
* var53
/* : nullable Bool */;
8961 val
* var54
/* : nullable Bool */;
8962 static val
* varonce55
;
8963 val
* var56
/* : String */;
8964 char* var57
/* : CString */;
8965 val
* var58
/* : String */;
8966 val
* var59
/* : nullable Int */;
8967 val
* var60
/* : nullable Int */;
8968 val
* var61
/* : nullable Bool */;
8969 val
* var62
/* : nullable Bool */;
8970 static val
* varonce63
;
8971 val
* var64
/* : String */;
8972 char* var65
/* : CString */;
8973 val
* var66
/* : String */;
8974 val
* var67
/* : nullable Int */;
8975 val
* var68
/* : nullable Int */;
8976 val
* var69
/* : nullable Bool */;
8977 val
* var70
/* : nullable Bool */;
8978 static val
* varonce71
;
8979 val
* var72
/* : String */;
8980 char* var73
/* : CString */;
8981 val
* var74
/* : String */;
8982 val
* var75
/* : nullable Int */;
8983 val
* var76
/* : nullable Int */;
8984 val
* var77
/* : nullable Bool */;
8985 val
* var78
/* : nullable Bool */;
8986 val
* var80
/* : NativeArray[String] */;
8987 static val
* varonce79
;
8988 static val
* varonce81
;
8989 val
* var82
/* : String */;
8990 char* var83
/* : CString */;
8991 val
* var84
/* : String */;
8992 val
* var85
/* : nullable Int */;
8993 val
* var86
/* : nullable Int */;
8994 val
* var87
/* : nullable Bool */;
8995 val
* var88
/* : nullable Bool */;
8996 static val
* varonce89
;
8997 val
* var90
/* : String */;
8998 char* var91
/* : CString */;
8999 val
* var92
/* : String */;
9000 val
* var93
/* : nullable Int */;
9001 val
* var94
/* : nullable Int */;
9002 val
* var95
/* : nullable Bool */;
9003 val
* var96
/* : nullable Bool */;
9004 val
* var97
/* : HashMap[String, String] */;
9005 val
* var99
/* : HashMap[String, String] */;
9006 long var100
/* : Int */;
9007 val
* var101
/* : String */;
9008 val
* var102
/* : String */;
9009 val
* var103
/* : HashMap[String, String] */;
9010 val
* var105
/* : HashMap[String, String] */;
9011 val
* var106
/* : RemovableCollection[nullable Object] */;
9012 val
* var_
/* var : RemovableCollection[String] */;
9013 val
* var107
/* : Iterator[nullable Object] */;
9014 val
* var_108
/* var : Iterator[String] */;
9015 short int var109
/* : Bool */;
9016 val
* var110
/* : nullable Object */;
9017 val
* var_i
/* var i: String */;
9018 static val
* varonce111
;
9019 val
* var112
/* : String */;
9020 char* var113
/* : CString */;
9021 val
* var114
/* : String */;
9022 val
* var115
/* : nullable Int */;
9023 val
* var116
/* : nullable Int */;
9024 val
* var117
/* : nullable Bool */;
9025 val
* var118
/* : nullable Bool */;
9026 val
* var119
/* : String */;
9027 static val
* varonce120
;
9028 val
* var121
/* : String */;
9029 char* var122
/* : CString */;
9030 val
* var123
/* : String */;
9031 val
* var124
/* : nullable Int */;
9032 val
* var125
/* : nullable Int */;
9033 val
* var126
/* : nullable Bool */;
9034 val
* var127
/* : nullable Bool */;
9035 val
* var128
/* : HashMap[String, String] */;
9036 val
* var130
/* : HashMap[String, String] */;
9037 val
* var131
/* : nullable Object */;
9038 val
* var132
/* : String */;
9039 static val
* varonce133
;
9040 val
* var134
/* : String */;
9041 char* var135
/* : CString */;
9042 val
* var136
/* : String */;
9043 val
* var137
/* : nullable Int */;
9044 val
* var138
/* : nullable Int */;
9045 val
* var139
/* : nullable Bool */;
9046 val
* var140
/* : nullable Bool */;
9047 static val
* varonce141
;
9048 val
* var142
/* : String */;
9049 char* var143
/* : CString */;
9050 val
* var144
/* : String */;
9051 val
* var145
/* : nullable Int */;
9052 val
* var146
/* : nullable Int */;
9053 val
* var147
/* : nullable Bool */;
9054 val
* var148
/* : nullable Bool */;
9055 static val
* varonce149
;
9056 val
* var150
/* : String */;
9057 char* var151
/* : CString */;
9058 val
* var152
/* : String */;
9059 val
* var153
/* : nullable Int */;
9060 val
* var154
/* : nullable Int */;
9061 val
* var155
/* : nullable Bool */;
9062 val
* var156
/* : nullable Bool */;
9063 val
* var158
/* : NativeArray[String] */;
9064 static val
* varonce157
;
9065 static val
* varonce159
;
9066 val
* var160
/* : String */;
9067 char* var161
/* : CString */;
9068 val
* var162
/* : String */;
9069 val
* var163
/* : nullable Int */;
9070 val
* var164
/* : nullable Int */;
9071 val
* var165
/* : nullable Bool */;
9072 val
* var166
/* : nullable Bool */;
9073 static val
* varonce167
;
9074 val
* var168
/* : String */;
9075 char* var169
/* : CString */;
9076 val
* var170
/* : String */;
9077 val
* var171
/* : nullable Int */;
9078 val
* var172
/* : nullable Int */;
9079 val
* var173
/* : nullable Bool */;
9080 val
* var174
/* : nullable Bool */;
9081 val
* var175
/* : HashMap[String, String] */;
9082 val
* var177
/* : HashMap[String, String] */;
9083 long var178
/* : Int */;
9084 val
* var179
/* : String */;
9085 val
* var180
/* : String */;
9086 static val
* varonce181
;
9087 val
* var182
/* : String */;
9088 char* var183
/* : CString */;
9089 val
* var184
/* : String */;
9090 val
* var185
/* : nullable Int */;
9091 val
* var186
/* : nullable Int */;
9092 val
* var187
/* : nullable Bool */;
9093 val
* var188
/* : nullable Bool */;
9094 static val
* varonce189
;
9095 val
* var190
/* : String */;
9096 char* var191
/* : CString */;
9097 val
* var192
/* : String */;
9098 val
* var193
/* : nullable Int */;
9099 val
* var194
/* : nullable Int */;
9100 val
* var195
/* : nullable Bool */;
9101 val
* var196
/* : nullable Bool */;
9102 static val
* varonce197
;
9103 val
* var198
/* : String */;
9104 char* var199
/* : CString */;
9105 val
* var200
/* : String */;
9106 val
* var201
/* : nullable Int */;
9107 val
* var202
/* : nullable Int */;
9108 val
* var203
/* : nullable Bool */;
9109 val
* var204
/* : nullable Bool */;
9110 static val
* varonce205
;
9111 val
* var206
/* : String */;
9112 char* var207
/* : CString */;
9113 val
* var208
/* : String */;
9114 val
* var209
/* : nullable Int */;
9115 val
* var210
/* : nullable Int */;
9116 val
* var211
/* : nullable Bool */;
9117 val
* var212
/* : nullable Bool */;
9118 static val
* varonce213
;
9119 val
* var214
/* : String */;
9120 char* var215
/* : CString */;
9121 val
* var216
/* : String */;
9122 val
* var217
/* : nullable Int */;
9123 val
* var218
/* : nullable Int */;
9124 val
* var219
/* : nullable Bool */;
9125 val
* var220
/* : nullable Bool */;
9126 static val
* varonce221
;
9127 val
* var222
/* : String */;
9128 char* var223
/* : CString */;
9129 val
* var224
/* : String */;
9130 val
* var225
/* : nullable Int */;
9131 val
* var226
/* : nullable Int */;
9132 val
* var227
/* : nullable Bool */;
9133 val
* var228
/* : nullable Bool */;
9134 static val
* varonce229
;
9135 val
* var230
/* : String */;
9136 char* var231
/* : CString */;
9137 val
* var232
/* : String */;
9138 val
* var233
/* : nullable Int */;
9139 val
* var234
/* : nullable Int */;
9140 val
* var235
/* : nullable Bool */;
9141 val
* var236
/* : nullable Bool */;
9142 static val
* varonce237
;
9143 val
* var238
/* : String */;
9144 char* var239
/* : CString */;
9145 val
* var240
/* : String */;
9146 val
* var241
/* : nullable Int */;
9147 val
* var242
/* : nullable Int */;
9148 val
* var243
/* : nullable Bool */;
9149 val
* var244
/* : nullable Bool */;
9150 val
* var245
/* : FileWriter */;
9151 val
* var247
/* : NativeArray[String] */;
9152 static val
* varonce246
;
9153 static val
* varonce248
;
9154 val
* var249
/* : String */;
9155 char* var250
/* : CString */;
9156 val
* var251
/* : String */;
9157 val
* var252
/* : nullable Int */;
9158 val
* var253
/* : nullable Int */;
9159 val
* var254
/* : nullable Bool */;
9160 val
* var255
/* : nullable Bool */;
9161 val
* var256
/* : String */;
9162 static val
* varonce257
;
9163 val
* var258
/* : String */;
9164 char* var259
/* : CString */;
9165 val
* var260
/* : String */;
9166 val
* var261
/* : nullable Int */;
9167 val
* var262
/* : nullable Int */;
9168 val
* var263
/* : nullable Bool */;
9169 val
* var264
/* : nullable Bool */;
9170 val
* var265
/* : Array[ExternFile] */;
9171 val
* var267
/* : Array[ExternFile] */;
9172 val
* var268
/* : ExternCFile */;
9173 val
* var270
/* : NativeArray[String] */;
9174 static val
* varonce269
;
9175 static val
* varonce271
;
9176 val
* var272
/* : String */;
9177 char* var273
/* : CString */;
9178 val
* var274
/* : String */;
9179 val
* var275
/* : nullable Int */;
9180 val
* var276
/* : nullable Int */;
9181 val
* var277
/* : nullable Bool */;
9182 val
* var278
/* : nullable Bool */;
9183 val
* var279
/* : String */;
9184 static val
* varonce280
;
9185 val
* var281
/* : String */;
9186 char* var282
/* : CString */;
9187 val
* var283
/* : String */;
9188 val
* var284
/* : nullable Int */;
9189 val
* var285
/* : nullable Int */;
9190 val
* var286
/* : nullable Bool */;
9191 val
* var287
/* : nullable Bool */;
9193 { /* Inline abstract_compiler$AbstractCompiler$toolchain (self) on <self:AbstractCompiler> */
9194 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
9195 if (unlikely(var2
== NULL
)) {
9196 if(catchStack
.cursor
>= 0){
9197 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9199 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
9200 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 555);
9208 var3
= nitc___nitc__Toolchain___compile_dir(var
);
9210 var_compile_dir
= var3
;
9211 var4
= NEW_core__FileWriter(&type_core__FileWriter
);
9212 if (unlikely(varonce
==NULL
)) {
9213 var5
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
9214 if (likely(varonce6
!=NULL
)) {
9217 var8
= "/c_functions_hash.c";
9218 var10
= (val
*)(19l<<2|1);
9219 var11
= (val
*)(19l<<2|1);
9220 var12
= (val
*)((long)(0)<<2|3);
9221 var13
= (val
*)((long)(0)<<2|3);
9222 var9
= core__flat___CString___to_s_unsafe(var8
, var10
, var11
, var12
, var13
);
9226 ((struct instance_core__NativeArray
*)var5
)->values
[1]=var7
;
9231 ((struct instance_core__NativeArray
*)var5
)->values
[0]=var_compile_dir
;
9233 var14
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
9237 core___core__FileWriter___open(var4
, var14
); /* Direct call file$FileWriter$open on <var4:FileWriter>*/
9240 if (likely(varonce15
!=NULL
)) {
9243 var17
= "#include <string.h>\n";
9244 var19
= (val
*)(20l<<2|1);
9245 var20
= (val
*)(20l<<2|1);
9246 var21
= (val
*)((long)(0)<<2|3);
9247 var22
= (val
*)((long)(0)<<2|3);
9248 var18
= core__flat___CString___to_s_unsafe(var17
, var19
, var20
, var21
, var22
);
9253 core___core__FileWriter___core__stream__Writer__write(var_stream
, var16
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9255 if (likely(varonce23
!=NULL
)) {
9258 var25
= "#include <stdlib.h>\n";
9259 var27
= (val
*)(20l<<2|1);
9260 var28
= (val
*)(20l<<2|1);
9261 var29
= (val
*)((long)(0)<<2|3);
9262 var30
= (val
*)((long)(0)<<2|3);
9263 var26
= core__flat___CString___to_s_unsafe(var25
, var27
, var28
, var29
, var30
);
9268 core___core__FileWriter___core__stream__Writer__write(var_stream
, var24
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9270 if (likely(varonce31
!=NULL
)) {
9273 var33
= "#include \"c_functions_hash.h\"\n";
9274 var35
= (val
*)(30l<<2|1);
9275 var36
= (val
*)(30l<<2|1);
9276 var37
= (val
*)((long)(0)<<2|3);
9277 var38
= (val
*)((long)(0)<<2|3);
9278 var34
= core__flat___CString___to_s_unsafe(var33
, var35
, var36
, var37
, var38
);
9283 core___core__FileWriter___core__stream__Writer__write(var_stream
, var32
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9285 if (likely(varonce39
!=NULL
)) {
9288 var41
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
9289 var43
= (val
*)(68l<<2|1);
9290 var44
= (val
*)(68l<<2|1);
9291 var45
= (val
*)((long)(0)<<2|3);
9292 var46
= (val
*)((long)(0)<<2|3);
9293 var42
= core__flat___CString___to_s_unsafe(var41
, var43
, var44
, var45
, var46
);
9298 core___core__FileWriter___core__stream__Writer__write(var_stream
, var40
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9300 if (likely(varonce47
!=NULL
)) {
9303 var49
= "const char* get_nit_name(register const char* procproc, register unsigned int len){\n";
9304 var51
= (val
*)(84l<<2|1);
9305 var52
= (val
*)(84l<<2|1);
9306 var53
= (val
*)((long)(0)<<2|3);
9307 var54
= (val
*)((long)(0)<<2|3);
9308 var50
= core__flat___CString___to_s_unsafe(var49
, var51
, var52
, var53
, var54
);
9313 core___core__FileWriter___core__stream__Writer__write(var_stream
, var48
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9315 if (likely(varonce55
!=NULL
)) {
9318 var57
= "char* procname = malloc(len+1);";
9319 var59
= (val
*)(31l<<2|1);
9320 var60
= (val
*)(31l<<2|1);
9321 var61
= (val
*)((long)(0)<<2|3);
9322 var62
= (val
*)((long)(0)<<2|3);
9323 var58
= core__flat___CString___to_s_unsafe(var57
, var59
, var60
, var61
, var62
);
9328 core___core__FileWriter___core__stream__Writer__write(var_stream
, var56
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9330 if (likely(varonce63
!=NULL
)) {
9333 var65
= "memcpy(procname, procproc, len);";
9334 var67
= (val
*)(32l<<2|1);
9335 var68
= (val
*)(32l<<2|1);
9336 var69
= (val
*)((long)(0)<<2|3);
9337 var70
= (val
*)((long)(0)<<2|3);
9338 var66
= core__flat___CString___to_s_unsafe(var65
, var67
, var68
, var69
, var70
);
9343 core___core__FileWriter___core__stream__Writer__write(var_stream
, var64
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9345 if (likely(varonce71
!=NULL
)) {
9348 var73
= "procname[len] = \'\\0\';";
9349 var75
= (val
*)(21l<<2|1);
9350 var76
= (val
*)(21l<<2|1);
9351 var77
= (val
*)((long)(0)<<2|3);
9352 var78
= (val
*)((long)(0)<<2|3);
9353 var74
= core__flat___CString___to_s_unsafe(var73
, var75
, var76
, var77
, var78
);
9358 core___core__FileWriter___core__stream__Writer__write(var_stream
, var72
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9360 if (unlikely(varonce79
==NULL
)) {
9361 var80
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
9362 if (likely(varonce81
!=NULL
)) {
9365 var83
= "static const C_Nit_Names map[";
9366 var85
= (val
*)(29l<<2|1);
9367 var86
= (val
*)(29l<<2|1);
9368 var87
= (val
*)((long)(0)<<2|3);
9369 var88
= (val
*)((long)(0)<<2|3);
9370 var84
= core__flat___CString___to_s_unsafe(var83
, var85
, var86
, var87
, var88
);
9374 ((struct instance_core__NativeArray
*)var80
)->values
[0]=var82
;
9375 if (likely(varonce89
!=NULL
)) {
9379 var93
= (val
*)(6l<<2|1);
9380 var94
= (val
*)(6l<<2|1);
9381 var95
= (val
*)((long)(0)<<2|3);
9382 var96
= (val
*)((long)(0)<<2|3);
9383 var92
= core__flat___CString___to_s_unsafe(var91
, var93
, var94
, var95
, var96
);
9387 ((struct instance_core__NativeArray
*)var80
)->values
[2]=var90
;
9393 { /* Inline abstract_compiler$AbstractCompiler$names (self) on <self:AbstractCompiler> */
9394 var99
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
9395 if (unlikely(var99
== NULL
)) {
9396 if(catchStack
.cursor
>= 0){
9397 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
9400 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 542);
9404 RET_LABEL98
:(void)0;
9408 var100
= core___core__HashMap___core__abstract_collection__MapRead__length(var97
);
9410 var101
= core__flat___Int___core__abstract_text__Object__to_s(var100
);
9411 ((struct instance_core__NativeArray
*)var80
)->values
[1]=var101
;
9413 var102
= ((val
*(*)(val
* self
))(var80
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var80
); /* native_to_s on <var80:NativeArray[String]>*/
9417 core___core__FileWriter___core__stream__Writer__write(var_stream
, var102
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9420 { /* Inline abstract_compiler$AbstractCompiler$names (self) on <self:AbstractCompiler> */
9421 var105
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
9422 if (unlikely(var105
== NULL
)) {
9423 if(catchStack
.cursor
>= 0){
9424 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9426 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
9427 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 542);
9431 RET_LABEL104
:(void)0;
9435 var106
= core___core__HashMap___core__abstract_collection__MapRead__keys(var103
);
9439 var107
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_core__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:RemovableCollection[String]>*/
9444 var109
= ((short int(*)(val
* self
))((((long)var_108
&3)?class_info
[((long)var_108
&3)]:var_108
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_108
); /* is_ok on <var_108:Iterator[String]>*/
9451 var110
= ((val
*(*)(val
* self
))((((long)var_108
&3)?class_info
[((long)var_108
&3)]:var_108
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_108
); /* item on <var_108:Iterator[String]>*/
9454 if (likely(varonce111
!=NULL
)) {
9455 var112
= varonce111
;
9458 var115
= (val
*)(2l<<2|1);
9459 var116
= (val
*)(2l<<2|1);
9460 var117
= (val
*)((long)(0)<<2|3);
9461 var118
= (val
*)((long)(0)<<2|3);
9462 var114
= core__flat___CString___to_s_unsafe(var113
, var115
, var116
, var117
, var118
);
9464 varonce111
= var112
;
9467 core___core__FileWriter___core__stream__Writer__write(var_stream
, var112
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9470 var119
= ((val
*(*)(val
* self
))(var_i
->class->vft
[COLOR_core__abstract_text__Text__escape_to_c
]))(var_i
); /* escape_to_c on <var_i:String>*/
9473 core___core__FileWriter___core__stream__Writer__write(var_stream
, var119
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9475 if (likely(varonce120
!=NULL
)) {
9476 var121
= varonce120
;
9479 var124
= (val
*)(3l<<2|1);
9480 var125
= (val
*)(3l<<2|1);
9481 var126
= (val
*)((long)(0)<<2|3);
9482 var127
= (val
*)((long)(0)<<2|3);
9483 var123
= core__flat___CString___to_s_unsafe(var122
, var124
, var125
, var126
, var127
);
9485 varonce120
= var121
;
9488 core___core__FileWriter___core__stream__Writer__write(var_stream
, var121
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9491 { /* Inline abstract_compiler$AbstractCompiler$names (self) on <self:AbstractCompiler> */
9492 var130
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
9493 if (unlikely(var130
== NULL
)) {
9494 if(catchStack
.cursor
>= 0){
9495 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9497 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
9498 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 542);
9502 RET_LABEL129
:(void)0;
9506 var131
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var128
, var_i
);
9509 var132
= ((val
*(*)(val
* self
))(var131
->class->vft
[COLOR_core__abstract_text__Text__escape_to_c
]))(var131
); /* escape_to_c on <var131:nullable Object(String)>*/
9512 core___core__FileWriter___core__stream__Writer__write(var_stream
, var132
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9514 if (likely(varonce133
!=NULL
)) {
9515 var134
= varonce133
;
9518 var137
= (val
*)(4l<<2|1);
9519 var138
= (val
*)(4l<<2|1);
9520 var139
= (val
*)((long)(0)<<2|3);
9521 var140
= (val
*)((long)(0)<<2|3);
9522 var136
= core__flat___CString___to_s_unsafe(var135
, var137
, var138
, var139
, var140
);
9524 varonce133
= var134
;
9527 core___core__FileWriter___core__stream__Writer__write(var_stream
, var134
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9530 ((void(*)(val
* self
))((((long)var_108
&3)?class_info
[((long)var_108
&3)]:var_108
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_108
); /* next on <var_108:Iterator[String]>*/
9533 BREAK_label
: (void)0;
9535 ((void(*)(val
* self
))((((long)var_108
&3)?class_info
[((long)var_108
&3)]:var_108
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_108
); /* finish on <var_108:Iterator[String]>*/
9537 if (likely(varonce141
!=NULL
)) {
9538 var142
= varonce141
;
9541 var145
= (val
*)(3l<<2|1);
9542 var146
= (val
*)(3l<<2|1);
9543 var147
= (val
*)((long)(0)<<2|3);
9544 var148
= (val
*)((long)(0)<<2|3);
9545 var144
= core__flat___CString___to_s_unsafe(var143
, var145
, var146
, var147
, var148
);
9547 varonce141
= var142
;
9550 core___core__FileWriter___core__stream__Writer__write(var_stream
, var142
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9552 if (likely(varonce149
!=NULL
)) {
9553 var150
= varonce149
;
9556 var153
= (val
*)(6l<<2|1);
9557 var154
= (val
*)(6l<<2|1);
9558 var155
= (val
*)((long)(0)<<2|3);
9559 var156
= (val
*)((long)(0)<<2|3);
9560 var152
= core__flat___CString___to_s_unsafe(var151
, var153
, var154
, var155
, var156
);
9562 varonce149
= var150
;
9565 core___core__FileWriter___core__stream__Writer__write(var_stream
, var150
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9567 if (unlikely(varonce157
==NULL
)) {
9568 var158
= NEW_core__NativeArray((int)3l, &type_core__NativeArray__core__String
);
9569 if (likely(varonce159
!=NULL
)) {
9570 var160
= varonce159
;
9572 var161
= "for(i = 0; i < ";
9573 var163
= (val
*)(15l<<2|1);
9574 var164
= (val
*)(15l<<2|1);
9575 var165
= (val
*)((long)(0)<<2|3);
9576 var166
= (val
*)((long)(0)<<2|3);
9577 var162
= core__flat___CString___to_s_unsafe(var161
, var163
, var164
, var165
, var166
);
9579 varonce159
= var160
;
9581 ((struct instance_core__NativeArray
*)var158
)->values
[0]=var160
;
9582 if (likely(varonce167
!=NULL
)) {
9583 var168
= varonce167
;
9586 var171
= (val
*)(7l<<2|1);
9587 var172
= (val
*)(7l<<2|1);
9588 var173
= (val
*)((long)(0)<<2|3);
9589 var174
= (val
*)((long)(0)<<2|3);
9590 var170
= core__flat___CString___to_s_unsafe(var169
, var171
, var172
, var173
, var174
);
9592 varonce167
= var168
;
9594 ((struct instance_core__NativeArray
*)var158
)->values
[2]=var168
;
9596 var158
= varonce157
;
9600 { /* Inline abstract_compiler$AbstractCompiler$names (self) on <self:AbstractCompiler> */
9601 var177
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
9602 if (unlikely(var177
== NULL
)) {
9603 if(catchStack
.cursor
>= 0){
9604 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9606 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
9607 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 542);
9611 RET_LABEL176
:(void)0;
9615 var178
= core___core__HashMap___core__abstract_collection__MapRead__length(var175
);
9617 var179
= core__flat___Int___core__abstract_text__Object__to_s(var178
);
9618 ((struct instance_core__NativeArray
*)var158
)->values
[1]=var179
;
9620 var180
= ((val
*(*)(val
* self
))(var158
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var158
); /* native_to_s on <var158:NativeArray[String]>*/
9622 varonce157
= var158
;
9624 core___core__FileWriter___core__stream__Writer__write(var_stream
, var180
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9626 if (likely(varonce181
!=NULL
)) {
9627 var182
= varonce181
;
9629 var183
= "if(strcmp(procname,map[i].name) == 0){";
9630 var185
= (val
*)(38l<<2|1);
9631 var186
= (val
*)(38l<<2|1);
9632 var187
= (val
*)((long)(0)<<2|3);
9633 var188
= (val
*)((long)(0)<<2|3);
9634 var184
= core__flat___CString___to_s_unsafe(var183
, var185
, var186
, var187
, var188
);
9636 varonce181
= var182
;
9639 core___core__FileWriter___core__stream__Writer__write(var_stream
, var182
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9641 if (likely(varonce189
!=NULL
)) {
9642 var190
= varonce189
;
9644 var191
= "free(procname);";
9645 var193
= (val
*)(15l<<2|1);
9646 var194
= (val
*)(15l<<2|1);
9647 var195
= (val
*)((long)(0)<<2|3);
9648 var196
= (val
*)((long)(0)<<2|3);
9649 var192
= core__flat___CString___to_s_unsafe(var191
, var193
, var194
, var195
, var196
);
9651 varonce189
= var190
;
9654 core___core__FileWriter___core__stream__Writer__write(var_stream
, var190
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9656 if (likely(varonce197
!=NULL
)) {
9657 var198
= varonce197
;
9659 var199
= "return map[i].nit_name;";
9660 var201
= (val
*)(23l<<2|1);
9661 var202
= (val
*)(23l<<2|1);
9662 var203
= (val
*)((long)(0)<<2|3);
9663 var204
= (val
*)((long)(0)<<2|3);
9664 var200
= core__flat___CString___to_s_unsafe(var199
, var201
, var202
, var203
, var204
);
9666 varonce197
= var198
;
9669 core___core__FileWriter___core__stream__Writer__write(var_stream
, var198
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9671 if (likely(varonce205
!=NULL
)) {
9672 var206
= varonce205
;
9675 var209
= (val
*)(1l<<2|1);
9676 var210
= (val
*)(1l<<2|1);
9677 var211
= (val
*)((long)(0)<<2|3);
9678 var212
= (val
*)((long)(0)<<2|3);
9679 var208
= core__flat___CString___to_s_unsafe(var207
, var209
, var210
, var211
, var212
);
9681 varonce205
= var206
;
9684 core___core__FileWriter___core__stream__Writer__write(var_stream
, var206
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9686 if (likely(varonce213
!=NULL
)) {
9687 var214
= varonce213
;
9690 var217
= (val
*)(1l<<2|1);
9691 var218
= (val
*)(1l<<2|1);
9692 var219
= (val
*)((long)(0)<<2|3);
9693 var220
= (val
*)((long)(0)<<2|3);
9694 var216
= core__flat___CString___to_s_unsafe(var215
, var217
, var218
, var219
, var220
);
9696 varonce213
= var214
;
9699 core___core__FileWriter___core__stream__Writer__write(var_stream
, var214
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9701 if (likely(varonce221
!=NULL
)) {
9702 var222
= varonce221
;
9704 var223
= "free(procname);";
9705 var225
= (val
*)(15l<<2|1);
9706 var226
= (val
*)(15l<<2|1);
9707 var227
= (val
*)((long)(0)<<2|3);
9708 var228
= (val
*)((long)(0)<<2|3);
9709 var224
= core__flat___CString___to_s_unsafe(var223
, var225
, var226
, var227
, var228
);
9711 varonce221
= var222
;
9714 core___core__FileWriter___core__stream__Writer__write(var_stream
, var222
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9716 if (likely(varonce229
!=NULL
)) {
9717 var230
= varonce229
;
9719 var231
= "return NULL;";
9720 var233
= (val
*)(12l<<2|1);
9721 var234
= (val
*)(12l<<2|1);
9722 var235
= (val
*)((long)(0)<<2|3);
9723 var236
= (val
*)((long)(0)<<2|3);
9724 var232
= core__flat___CString___to_s_unsafe(var231
, var233
, var234
, var235
, var236
);
9726 varonce229
= var230
;
9729 core___core__FileWriter___core__stream__Writer__write(var_stream
, var230
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9731 if (likely(varonce237
!=NULL
)) {
9732 var238
= varonce237
;
9735 var241
= (val
*)(2l<<2|1);
9736 var242
= (val
*)(2l<<2|1);
9737 var243
= (val
*)((long)(0)<<2|3);
9738 var244
= (val
*)((long)(0)<<2|3);
9739 var240
= core__flat___CString___to_s_unsafe(var239
, var241
, var242
, var243
, var244
);
9741 varonce237
= var238
;
9744 core___core__FileWriter___core__stream__Writer__write(var_stream
, var238
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9747 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file$FileWriter$close on <var_stream:FileWriter>*/
9749 var245
= NEW_core__FileWriter(&type_core__FileWriter
);
9750 if (unlikely(varonce246
==NULL
)) {
9751 var247
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
9752 if (likely(varonce248
!=NULL
)) {
9753 var249
= varonce248
;
9755 var250
= "/c_functions_hash.h";
9756 var252
= (val
*)(19l<<2|1);
9757 var253
= (val
*)(19l<<2|1);
9758 var254
= (val
*)((long)(0)<<2|3);
9759 var255
= (val
*)((long)(0)<<2|3);
9760 var251
= core__flat___CString___to_s_unsafe(var250
, var252
, var253
, var254
, var255
);
9762 varonce248
= var249
;
9764 ((struct instance_core__NativeArray
*)var247
)->values
[1]=var249
;
9766 var247
= varonce246
;
9769 ((struct instance_core__NativeArray
*)var247
)->values
[0]=var_compile_dir
;
9771 var256
= ((val
*(*)(val
* self
))(var247
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var247
); /* native_to_s on <var247:NativeArray[String]>*/
9773 varonce246
= var247
;
9775 core___core__FileWriter___open(var245
, var256
); /* Direct call file$FileWriter$open on <var245:FileWriter>*/
9777 var_stream
= var245
;
9778 if (likely(varonce257
!=NULL
)) {
9779 var258
= varonce257
;
9781 var259
= "const char* get_nit_name(register const char* procname, register unsigned int len);\n";
9782 var261
= (val
*)(84l<<2|1);
9783 var262
= (val
*)(84l<<2|1);
9784 var263
= (val
*)((long)(0)<<2|3);
9785 var264
= (val
*)((long)(0)<<2|3);
9786 var260
= core__flat___CString___to_s_unsafe(var259
, var261
, var262
, var263
, var264
);
9788 varonce257
= var258
;
9791 core___core__FileWriter___core__stream__Writer__write(var_stream
, var258
); /* Direct call file$FileWriter$write on <var_stream:FileWriter>*/
9794 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file$FileWriter$close on <var_stream:FileWriter>*/
9797 { /* Inline abstract_compiler$AbstractCompiler$extern_bodies (self) on <self:AbstractCompiler> */
9798 var267
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
9799 if (unlikely(var267
== NULL
)) {
9800 if(catchStack
.cursor
>= 0){
9801 longjmp(catchStack
.envs
[catchStack
.cursor
], 1);
9803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
9804 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1075);
9808 RET_LABEL266
:(void)0;
9811 var268
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
9812 if (unlikely(varonce269
==NULL
)) {
9813 var270
= NEW_core__NativeArray((int)2l, &type_core__NativeArray__core__String
);
9814 if (likely(varonce271
!=NULL
)) {
9815 var272
= varonce271
;
9817 var273
= "/c_functions_hash.c";
9818 var275
= (val
*)(19l<<2|1);
9819 var276
= (val
*)(19l<<2|1);
9820 var277
= (val
*)((long)(0)<<2|3);
9821 var278
= (val
*)((long)(0)<<2|3);
9822 var274
= core__flat___CString___to_s_unsafe(var273
, var275
, var276
, var277
, var278
);
9824 varonce271
= var272
;
9826 ((struct instance_core__NativeArray
*)var270
)->values
[1]=var272
;
9828 var270
= varonce269
;
9831 ((struct instance_core__NativeArray
*)var270
)->values
[0]=var_compile_dir
;
9833 var279
= ((val
*(*)(val
* self
))(var270
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var270
); /* native_to_s on <var270:NativeArray[String]>*/
9835 varonce269
= var270
;
9836 if (likely(varonce280
!=NULL
)) {
9837 var281
= varonce280
;
9840 var284
= (val
*)(0l<<2|1);
9841 var285
= (val
*)(0l<<2|1);
9842 var286
= (val
*)((long)(0)<<2|3);
9843 var287
= (val
*)((long)(0)<<2|3);
9844 var283
= core__flat___CString___to_s_unsafe(var282
, var284
, var285
, var286
, var287
);
9846 varonce280
= var281
;
9849 ((void(*)(val
* self
, val
* p0
))(var268
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var268
, var279
); /* filename= on <var268:ExternCFile>*/
9852 ((void(*)(val
* self
, val
* p0
))(var268
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var268
, var281
); /* cflags= on <var268:ExternCFile>*/
9855 ((void(*)(val
* self
))(var268
->class->vft
[COLOR_core__kernel__Object__init
]))(var268
); /* init on <var268:ExternCFile>*/
9858 core___core__Array___core__abstract_collection__SimpleCollection__add(var265
, var268
); /* Direct call array$Array$add on <var265:Array[ExternFile]>*/