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 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
9 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
16 /* method abstract_compiler#ToolContext#opt_dir for (self: ToolContext): OptionString */
17 val
* nitc__abstract_compiler___ToolContext___opt_dir(val
* self
) {
18 val
* var
/* : OptionString */;
19 val
* var1
/* : OptionString */;
20 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
21 if (unlikely(var1
== NULL
)) {
22 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
23 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
30 /* method abstract_compiler#ToolContext#opt_no_cc for (self: ToolContext): OptionBool */
31 val
* nitc__abstract_compiler___ToolContext___opt_no_cc(val
* self
) {
32 val
* var
/* : OptionBool */;
33 val
* var1
/* : OptionBool */;
34 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
35 if (unlikely(var1
== NULL
)) {
36 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
37 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
44 /* method abstract_compiler#ToolContext#opt_no_main for (self: ToolContext): OptionBool */
45 val
* nitc__abstract_compiler___ToolContext___opt_no_main(val
* self
) {
46 val
* var
/* : OptionBool */;
47 val
* var1
/* : OptionBool */;
48 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
49 if (unlikely(var1
== NULL
)) {
50 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
51 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
58 /* method abstract_compiler#ToolContext#opt_make_flags for (self: ToolContext): OptionString */
59 val
* nitc__abstract_compiler___ToolContext___opt_make_flags(val
* self
) {
60 val
* var
/* : OptionString */;
61 val
* var1
/* : OptionString */;
62 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
63 if (unlikely(var1
== NULL
)) {
64 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
65 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
72 /* method abstract_compiler#ToolContext#opt_max_c_lines for (self: ToolContext): OptionInt */
73 val
* nitc__abstract_compiler___ToolContext___opt_max_c_lines(val
* self
) {
74 val
* var
/* : OptionInt */;
75 val
* var1
/* : OptionInt */;
76 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
77 if (unlikely(var1
== NULL
)) {
78 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
79 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
86 /* method abstract_compiler#ToolContext#opt_group_c_files for (self: ToolContext): OptionBool */
87 val
* nitc__abstract_compiler___ToolContext___opt_group_c_files(val
* self
) {
88 val
* var
/* : OptionBool */;
89 val
* var1
/* : OptionBool */;
90 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
91 if (unlikely(var1
== NULL
)) {
92 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
93 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
100 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: ToolContext): OptionString */
101 val
* nitc__abstract_compiler___ToolContext___opt_compile_dir(val
* self
) {
102 val
* var
/* : OptionString */;
103 val
* var1
/* : OptionString */;
104 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
105 if (unlikely(var1
== NULL
)) {
106 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
107 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
114 /* method abstract_compiler#ToolContext#opt_hardening for (self: ToolContext): OptionBool */
115 val
* nitc__abstract_compiler___ToolContext___opt_hardening(val
* self
) {
116 val
* var
/* : OptionBool */;
117 val
* var1
/* : OptionBool */;
118 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
119 if (unlikely(var1
== NULL
)) {
120 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
121 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 46);
128 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: ToolContext): OptionBool */
129 val
* nitc__abstract_compiler___ToolContext___opt_no_check_covariance(val
* self
) {
130 val
* var
/* : OptionBool */;
131 val
* var1
/* : OptionBool */;
132 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
133 if (unlikely(var1
== NULL
)) {
134 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
135 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
142 /* method abstract_compiler#ToolContext#opt_no_check_attr_isset for (self: ToolContext): OptionBool */
143 val
* nitc__abstract_compiler___ToolContext___opt_no_check_attr_isset(val
* self
) {
144 val
* var
/* : OptionBool */;
145 val
* var1
/* : OptionBool */;
146 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
147 if (unlikely(var1
== NULL
)) {
148 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
149 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
156 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: ToolContext): OptionBool */
157 val
* nitc__abstract_compiler___ToolContext___opt_no_check_assert(val
* self
) {
158 val
* var
/* : OptionBool */;
159 val
* var1
/* : OptionBool */;
160 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
161 if (unlikely(var1
== NULL
)) {
162 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
163 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
170 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: ToolContext): OptionBool */
171 val
* nitc__abstract_compiler___ToolContext___opt_no_check_autocast(val
* self
) {
172 val
* var
/* : OptionBool */;
173 val
* var1
/* : OptionBool */;
174 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
175 if (unlikely(var1
== NULL
)) {
176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
177 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
184 /* method abstract_compiler#ToolContext#opt_no_check_null for (self: ToolContext): OptionBool */
185 val
* nitc__abstract_compiler___ToolContext___opt_no_check_null(val
* self
) {
186 val
* var
/* : OptionBool */;
187 val
* var1
/* : OptionBool */;
188 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
189 if (unlikely(var1
== NULL
)) {
190 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
191 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
198 /* method abstract_compiler#ToolContext#opt_no_check_all for (self: ToolContext): OptionBool */
199 val
* nitc__abstract_compiler___ToolContext___opt_no_check_all(val
* self
) {
200 val
* var
/* : OptionBool */;
201 val
* var1
/* : OptionBool */;
202 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
203 if (unlikely(var1
== NULL
)) {
204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
205 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
212 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: ToolContext): OptionBool */
213 val
* nitc__abstract_compiler___ToolContext___opt_typing_test_metrics(val
* self
) {
214 val
* var
/* : OptionBool */;
215 val
* var1
/* : OptionBool */;
216 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
217 if (unlikely(var1
== NULL
)) {
218 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
219 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
226 /* method abstract_compiler#ToolContext#opt_invocation_metrics for (self: ToolContext): OptionBool */
227 val
* nitc__abstract_compiler___ToolContext___opt_invocation_metrics(val
* self
) {
228 val
* var
/* : OptionBool */;
229 val
* var1
/* : OptionBool */;
230 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
231 if (unlikely(var1
== NULL
)) {
232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
233 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 62);
240 /* method abstract_compiler#ToolContext#opt_isset_checks_metrics for (self: ToolContext): OptionBool */
241 val
* nitc__abstract_compiler___ToolContext___opt_isset_checks_metrics(val
* self
) {
242 val
* var
/* : OptionBool */;
243 val
* var1
/* : OptionBool */;
244 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
245 if (unlikely(var1
== NULL
)) {
246 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
247 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 64);
254 /* method abstract_compiler#ToolContext#opt_no_stacktrace for (self: ToolContext): OptionBool */
255 val
* nitc__abstract_compiler___ToolContext___opt_no_stacktrace(val
* self
) {
256 val
* var
/* : OptionBool */;
257 val
* var1
/* : OptionBool */;
258 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <self:ToolContext> */
259 if (unlikely(var1
== NULL
)) {
260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
261 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
268 /* method abstract_compiler#ToolContext#opt_no_gcc_directive for (self: ToolContext): OptionArray */
269 val
* nitc__abstract_compiler___ToolContext___opt_no_gcc_directive(val
* self
) {
270 val
* var
/* : OptionArray */;
271 val
* var1
/* : OptionArray */;
272 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
273 if (unlikely(var1
== NULL
)) {
274 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
275 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 68);
282 /* method abstract_compiler#ToolContext#opt_release for (self: ToolContext): OptionBool */
283 val
* nitc__abstract_compiler___ToolContext___opt_release(val
* self
) {
284 val
* var
/* : OptionBool */;
285 val
* var1
/* : OptionBool */;
286 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
287 if (unlikely(var1
== NULL
)) {
288 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
289 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 70);
296 /* method abstract_compiler#ToolContext#opt_debug for (self: ToolContext): OptionBool */
297 val
* nitc__abstract_compiler___ToolContext___opt_debug(val
* self
) {
298 val
* var
/* : OptionBool */;
299 val
* var1
/* : OptionBool */;
300 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <self:ToolContext> */
301 if (unlikely(var1
== NULL
)) {
302 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
303 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
310 /* method abstract_compiler#ToolContext#init for (self: ToolContext) */
311 void nitc__abstract_compiler___ToolContext___core__kernel__Object__init(val
* self
) {
312 val
* var
/* : OptionContext */;
313 val
* var2
/* : OptionContext */;
314 val
* var3
/* : OptionString */;
315 val
* var5
/* : OptionString */;
316 val
* var6
/* : OptionString */;
317 val
* var8
/* : OptionString */;
318 val
* var9
/* : OptionBool */;
319 val
* var11
/* : OptionBool */;
320 val
* var12
/* : OptionBool */;
321 val
* var14
/* : OptionBool */;
322 val
* var15
/* : OptionString */;
323 val
* var17
/* : OptionString */;
324 val
* var18
/* : OptionString */;
325 val
* var20
/* : OptionString */;
326 val
* var21
/* : OptionBool */;
327 val
* var23
/* : OptionBool */;
328 val
* var24
/* : Array[Option] */;
329 val
* var25
/* : NativeArray[Option] */;
330 val
* var26
/* : OptionContext */;
331 val
* var28
/* : OptionContext */;
332 val
* var29
/* : OptionBool */;
333 val
* var31
/* : OptionBool */;
334 val
* var32
/* : OptionBool */;
335 val
* var34
/* : OptionBool */;
336 val
* var35
/* : OptionBool */;
337 val
* var37
/* : OptionBool */;
338 val
* var38
/* : OptionBool */;
339 val
* var40
/* : OptionBool */;
340 val
* var41
/* : OptionBool */;
341 val
* var43
/* : OptionBool */;
342 val
* var44
/* : OptionBool */;
343 val
* var46
/* : OptionBool */;
344 val
* var47
/* : Array[Option] */;
345 val
* var48
/* : NativeArray[Option] */;
346 val
* var49
/* : OptionContext */;
347 val
* var51
/* : OptionContext */;
348 val
* var52
/* : OptionBool */;
349 val
* var54
/* : OptionBool */;
350 val
* var55
/* : OptionBool */;
351 val
* var57
/* : OptionBool */;
352 val
* var58
/* : OptionBool */;
353 val
* var60
/* : OptionBool */;
354 val
* var61
/* : Array[Option] */;
355 val
* var62
/* : NativeArray[Option] */;
356 val
* var63
/* : OptionContext */;
357 val
* var65
/* : OptionContext */;
358 val
* var66
/* : OptionBool */;
359 val
* var68
/* : OptionBool */;
360 val
* var69
/* : Array[Option] */;
361 val
* var70
/* : NativeArray[Option] */;
362 val
* var71
/* : OptionContext */;
363 val
* var73
/* : OptionContext */;
364 val
* var74
/* : OptionArray */;
365 val
* var76
/* : OptionArray */;
366 val
* var77
/* : Array[Option] */;
367 val
* var78
/* : NativeArray[Option] */;
368 val
* var79
/* : OptionContext */;
369 val
* var81
/* : OptionContext */;
370 val
* var82
/* : OptionBool */;
371 val
* var84
/* : OptionBool */;
372 val
* var85
/* : Array[Option] */;
373 val
* var86
/* : NativeArray[Option] */;
374 val
* var87
/* : OptionContext */;
375 val
* var89
/* : OptionContext */;
376 val
* var90
/* : OptionInt */;
377 val
* var92
/* : OptionInt */;
378 val
* var93
/* : OptionBool */;
379 val
* var95
/* : OptionBool */;
380 val
* var96
/* : Array[Option] */;
381 val
* var97
/* : NativeArray[Option] */;
382 val
* var98
/* : OptionContext */;
383 val
* var100
/* : OptionContext */;
384 val
* var101
/* : OptionBool */;
385 val
* var103
/* : OptionBool */;
386 val
* var104
/* : Array[Option] */;
387 val
* var105
/* : NativeArray[Option] */;
388 val
* var106
/* : OptionBool */;
389 val
* var108
/* : OptionBool */;
391 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler___ToolContext___core__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
394 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
395 var2
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
396 if (unlikely(var2
== NULL
)) {
397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
398 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
406 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
407 var5
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
408 if (unlikely(var5
== NULL
)) {
409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
410 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
418 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
419 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
420 if (unlikely(var8
== NULL
)) {
421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
422 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
430 { /* Inline abstract_compiler#ToolContext#opt_no_cc (self) on <self:ToolContext> */
431 var11
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
432 if (unlikely(var11
== NULL
)) {
433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
442 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
443 var14
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
444 if (unlikely(var14
== NULL
)) {
445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
446 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
454 { /* Inline abstract_compiler#ToolContext#opt_make_flags (self) on <self:ToolContext> */
455 var17
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
456 if (unlikely(var17
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
458 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
466 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (self) on <self:ToolContext> */
467 var20
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
468 if (unlikely(var20
== NULL
)) {
469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
478 { /* Inline abstract_compiler#ToolContext#opt_hardening (self) on <self:ToolContext> */
479 var23
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
480 if (unlikely(var23
== NULL
)) {
481 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
482 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 46);
489 var24
= NEW_core__Array(&type_core__Array__opts__Option
);
490 { /* var24 = array_instance Array[Option] */
491 var25
= NEW_core__NativeArray(7l, &type_core__NativeArray__opts__Option
);
492 ((struct instance_core__NativeArray
*)var25
)->values
[0] = (val
*) var3
;
493 ((struct instance_core__NativeArray
*)var25
)->values
[1] = (val
*) var6
;
494 ((struct instance_core__NativeArray
*)var25
)->values
[2] = (val
*) var9
;
495 ((struct instance_core__NativeArray
*)var25
)->values
[3] = (val
*) var12
;
496 ((struct instance_core__NativeArray
*)var25
)->values
[4] = (val
*) var15
;
497 ((struct instance_core__NativeArray
*)var25
)->values
[5] = (val
*) var18
;
498 ((struct instance_core__NativeArray
*)var25
)->values
[6] = (val
*) var21
;
500 ((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]>*/
504 opts___opts__OptionContext___add_option(var
, var24
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
507 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
508 var28
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
509 if (unlikely(var28
== NULL
)) {
510 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
511 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
519 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
520 var31
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
521 if (unlikely(var31
== NULL
)) {
522 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
523 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
531 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
532 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
533 if (unlikely(var34
== NULL
)) {
534 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
535 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
543 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
544 var37
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
545 if (unlikely(var37
== NULL
)) {
546 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
547 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
555 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
556 var40
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
557 if (unlikely(var40
== NULL
)) {
558 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
559 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
567 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
568 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
569 if (unlikely(var43
== NULL
)) {
570 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
571 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
579 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
580 var46
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
581 if (unlikely(var46
== NULL
)) {
582 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
583 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
590 var47
= NEW_core__Array(&type_core__Array__opts__Option
);
591 { /* var47 = array_instance Array[Option] */
592 var48
= NEW_core__NativeArray(6l, &type_core__NativeArray__opts__Option
);
593 ((struct instance_core__NativeArray
*)var48
)->values
[0] = (val
*) var29
;
594 ((struct instance_core__NativeArray
*)var48
)->values
[1] = (val
*) var32
;
595 ((struct instance_core__NativeArray
*)var48
)->values
[2] = (val
*) var35
;
596 ((struct instance_core__NativeArray
*)var48
)->values
[3] = (val
*) var38
;
597 ((struct instance_core__NativeArray
*)var48
)->values
[4] = (val
*) var41
;
598 ((struct instance_core__NativeArray
*)var48
)->values
[5] = (val
*) var44
;
600 ((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]>*/
604 opts___opts__OptionContext___add_option(var26
, var47
); /* Direct call opts#OptionContext#add_option on <var26:OptionContext>*/
607 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
608 var51
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
609 if (unlikely(var51
== NULL
)) {
610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
611 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
619 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (self) on <self:ToolContext> */
620 var54
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
621 if (unlikely(var54
== NULL
)) {
622 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
623 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 60);
631 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (self) on <self:ToolContext> */
632 var57
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
633 if (unlikely(var57
== NULL
)) {
634 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
635 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 62);
643 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (self) on <self:ToolContext> */
644 var60
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
645 if (unlikely(var60
== NULL
)) {
646 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
647 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 64);
654 var61
= NEW_core__Array(&type_core__Array__opts__Option
);
655 { /* var61 = array_instance Array[Option] */
656 var62
= NEW_core__NativeArray(3l, &type_core__NativeArray__opts__Option
);
657 ((struct instance_core__NativeArray
*)var62
)->values
[0] = (val
*) var52
;
658 ((struct instance_core__NativeArray
*)var62
)->values
[1] = (val
*) var55
;
659 ((struct instance_core__NativeArray
*)var62
)->values
[2] = (val
*) var58
;
661 ((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]>*/
665 opts___opts__OptionContext___add_option(var49
, var61
); /* Direct call opts#OptionContext#add_option on <var49:OptionContext>*/
668 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
669 var65
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
670 if (unlikely(var65
== NULL
)) {
671 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
672 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
680 { /* Inline abstract_compiler#ToolContext#opt_no_stacktrace (self) on <self:ToolContext> */
681 var68
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <self:ToolContext> */
682 if (unlikely(var68
== NULL
)) {
683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
684 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
691 var69
= NEW_core__Array(&type_core__Array__opts__Option
);
692 { /* var69 = array_instance Array[Option] */
693 var70
= NEW_core__NativeArray(1l, &type_core__NativeArray__opts__Option
);
694 ((struct instance_core__NativeArray
*)var70
)->values
[0] = (val
*) var66
;
696 ((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]>*/
700 opts___opts__OptionContext___add_option(var63
, var69
); /* Direct call opts#OptionContext#add_option on <var63:OptionContext>*/
703 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
704 var73
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
705 if (unlikely(var73
== NULL
)) {
706 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
707 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
715 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (self) on <self:ToolContext> */
716 var76
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
717 if (unlikely(var76
== NULL
)) {
718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
719 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 68);
726 var77
= NEW_core__Array(&type_core__Array__opts__Option
);
727 { /* var77 = array_instance Array[Option] */
728 var78
= NEW_core__NativeArray(1l, &type_core__NativeArray__opts__Option
);
729 ((struct instance_core__NativeArray
*)var78
)->values
[0] = (val
*) var74
;
731 ((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]>*/
735 opts___opts__OptionContext___add_option(var71
, var77
); /* Direct call opts#OptionContext#add_option on <var71:OptionContext>*/
738 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
739 var81
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
740 if (unlikely(var81
== NULL
)) {
741 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
742 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
750 { /* Inline abstract_compiler#ToolContext#opt_release (self) on <self:ToolContext> */
751 var84
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
752 if (unlikely(var84
== NULL
)) {
753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 70);
761 var85
= NEW_core__Array(&type_core__Array__opts__Option
);
762 { /* var85 = array_instance Array[Option] */
763 var86
= NEW_core__NativeArray(1l, &type_core__NativeArray__opts__Option
);
764 ((struct instance_core__NativeArray
*)var86
)->values
[0] = (val
*) var82
;
766 ((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]>*/
770 opts___opts__OptionContext___add_option(var79
, var85
); /* Direct call opts#OptionContext#add_option on <var79:OptionContext>*/
773 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
774 var89
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
775 if (unlikely(var89
== NULL
)) {
776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
785 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (self) on <self:ToolContext> */
786 var92
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
787 if (unlikely(var92
== NULL
)) {
788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
797 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (self) on <self:ToolContext> */
798 var95
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
799 if (unlikely(var95
== NULL
)) {
800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
801 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
808 var96
= NEW_core__Array(&type_core__Array__opts__Option
);
809 { /* var96 = array_instance Array[Option] */
810 var97
= NEW_core__NativeArray(2l, &type_core__NativeArray__opts__Option
);
811 ((struct instance_core__NativeArray
*)var97
)->values
[0] = (val
*) var90
;
812 ((struct instance_core__NativeArray
*)var97
)->values
[1] = (val
*) var93
;
814 ((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]>*/
818 opts___opts__OptionContext___add_option(var87
, var96
); /* Direct call opts#OptionContext#add_option on <var87:OptionContext>*/
821 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
822 var100
= self
->attrs
[COLOR_nitc__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
823 if (unlikely(var100
== NULL
)) {
824 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
825 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 342);
833 { /* Inline abstract_compiler#ToolContext#opt_debug (self) on <self:ToolContext> */
834 var103
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <self:ToolContext> */
835 if (unlikely(var103
== NULL
)) {
836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
837 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
841 RET_LABEL102
:(void)0;
844 var104
= NEW_core__Array(&type_core__Array__opts__Option
);
845 { /* var104 = array_instance Array[Option] */
846 var105
= NEW_core__NativeArray(1l, &type_core__NativeArray__opts__Option
);
847 ((struct instance_core__NativeArray
*)var105
)->values
[0] = (val
*) var101
;
849 ((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]>*/
853 opts___opts__OptionContext___add_option(var98
, var104
); /* Direct call opts#OptionContext#add_option on <var98:OptionContext>*/
856 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
857 var108
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
858 if (unlikely(var108
== NULL
)) {
859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
860 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 36);
864 RET_LABEL107
:(void)0;
868 { /* Inline opts#Option#hidden= (var106,1) on <var106:OptionBool> */
869 var106
->attrs
[COLOR_opts__Option___hidden
].s
= 1; /* _hidden on <var106:OptionBool> */
870 RET_LABEL109
:(void)0;
875 /* method abstract_compiler#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
876 void nitc__abstract_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
877 val
* var_args
/* var args: Sequence[String] */;
878 short int var
/* : Bool */;
879 val
* var1
/* : OptionString */;
880 val
* var3
/* : OptionString */;
881 val
* var4
/* : nullable Object */;
882 val
* var6
/* : nullable Object */;
883 short int var7
/* : Bool */;
884 short int var8
/* : Bool */;
885 val
* var_other
/* var other: nullable Object */;
886 short int var10
/* : Bool */;
887 short int var11
/* : Bool */;
888 short int var_
/* var : Bool */;
889 val
* var12
/* : OptionString */;
890 val
* var14
/* : OptionString */;
891 val
* var15
/* : nullable Object */;
892 val
* var17
/* : nullable Object */;
893 short int var18
/* : Bool */;
894 short int var19
/* : Bool */;
895 short int var21
/* : Bool */;
896 short int var22
/* : Bool */;
897 val
* var23
/* : Sys */;
899 val
* var24
/* : String */;
900 char* var25
/* : NativeString */;
901 val
* var26
/* : String */;
902 val
* var27
/* : Sys */;
903 val
* var29
/* : OptionBool */;
904 val
* var31
/* : OptionBool */;
905 val
* var32
/* : nullable Object */;
906 val
* var34
/* : nullable Object */;
907 short int var35
/* : Bool */;
908 val
* var36
/* : OptionBool */;
909 val
* var38
/* : OptionBool */;
910 short int var40
/* : Bool */;
913 const struct type
* type_struct
;
914 const char* var_class_name
;
915 val
* var41
/* : nullable Object */;
916 val
* var42
/* : OptionBool */;
917 val
* var44
/* : OptionBool */;
918 short int var46
/* : Bool */;
921 const struct type
* type_struct49
;
922 const char* var_class_name50
;
923 val
* var51
/* : nullable Object */;
924 val
* var52
/* : OptionBool */;
925 val
* var54
/* : OptionBool */;
926 short int var56
/* : Bool */;
929 const struct type
* type_struct59
;
930 const char* var_class_name60
;
931 val
* var61
/* : nullable Object */;
932 val
* var62
/* : OptionBool */;
933 val
* var64
/* : OptionBool */;
934 short int var66
/* : Bool */;
937 const struct type
* type_struct69
;
938 const char* var_class_name70
;
939 val
* var71
/* : nullable Object */;
940 val
* var72
/* : OptionBool */;
941 val
* var74
/* : OptionBool */;
942 short int var76
/* : Bool */;
945 const struct type
* type_struct79
;
946 const char* var_class_name80
;
947 val
* var81
/* : nullable Object */;
950 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nitc__abstract_compiler___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
953 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
954 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
955 if (unlikely(var3
== NULL
)) {
956 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
957 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
965 { /* Inline opts#Option#value (var1) on <var1:OptionString> */
966 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionString> */
972 var7
= 0; /* is null */
974 var7
= 1; /* arg is null and recv is not */
977 { /* Inline kernel#Object#!= (var4,((val*)NULL)) on <var4:nullable Object(nullable String)> */
978 var_other
= ((val
*)NULL
);
980 var10
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var4
, var_other
); /* == on <var4:nullable String(String)>*/
992 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
993 var14
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
994 if (unlikely(var14
== NULL
)) {
995 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
996 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
1000 RET_LABEL13
:(void)0;
1004 { /* Inline opts#Option#value (var12) on <var12:OptionString> */
1005 var17
= var12
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var12:OptionString> */
1007 RET_LABEL16
:(void)0;
1010 if (var15
== NULL
) {
1011 var18
= 0; /* is null */
1013 var18
= 1; /* arg is null and recv is not */
1016 { /* Inline kernel#Object#!= (var15,((val*)NULL)) on <var15:nullable Object(nullable String)> */
1017 var_other
= ((val
*)NULL
);
1019 var21
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var15
, var_other
); /* == on <var15:nullable String(String)>*/
1024 RET_LABEL20
:(void)0;
1034 if (likely(varonce
!=NULL
)) {
1037 var25
= "Option Error: cannot use both --dir and --output";
1038 var26
= core__flat___NativeString___to_s_full(var25
, 48l, 48l);
1043 core__file___Sys___print(var23
, var24
); /* Direct call file#Sys#print on <var23:Sys>*/
1047 { /* Inline kernel#Sys#exit (var27,1l) on <var27:Sys> */
1049 RET_LABEL28
:(void)0;
1055 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
1056 var31
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
1057 if (unlikely(var31
== NULL
)) {
1058 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
1059 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 58);
1063 RET_LABEL30
:(void)0;
1067 { /* Inline opts#Option#value (var29) on <var29:OptionBool> */
1068 var34
= var29
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var29:OptionBool> */
1070 RET_LABEL33
:(void)0;
1073 var35
= (short int)((long)(var32
)>>2);
1076 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
1077 var38
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
1078 if (unlikely(var38
== NULL
)) {
1079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
1080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 48);
1084 RET_LABEL37
:(void)0;
1088 { /* Inline opts#Option#value= (var36,1) on <var36:OptionBool> */
1089 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1090 /* <1:Bool> isa VALUE */
1091 type_struct
= var36
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1092 cltype
= type_struct
->color
;
1093 idtype
= type_struct
->id
;
1094 if(cltype
>= (&type_core__Bool
)->table_size
) {
1097 var40
= (&type_core__Bool
)->type_table
[cltype
] == idtype
;
1099 if (unlikely(!var40
)) {
1100 var_class_name
= type_core__Bool
.name
;
1101 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1102 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1105 var41
= (val
*)((long)(1)<<2|3);
1106 var36
->attrs
[COLOR_opts__Option___value
].val
= var41
; /* _value on <var36:OptionBool> */
1107 RET_LABEL39
:(void)0;
1111 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
1112 var44
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
1113 if (unlikely(var44
== NULL
)) {
1114 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
1115 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 50);
1119 RET_LABEL43
:(void)0;
1123 { /* Inline opts#Option#value= (var42,1) on <var42:OptionBool> */
1124 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1125 /* <1:Bool> isa VALUE */
1126 type_struct49
= var42
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1127 cltype47
= type_struct49
->color
;
1128 idtype48
= type_struct49
->id
;
1129 if(cltype47
>= (&type_core__Bool
)->table_size
) {
1132 var46
= (&type_core__Bool
)->type_table
[cltype47
] == idtype48
;
1134 if (unlikely(!var46
)) {
1135 var_class_name50
= type_core__Bool
.name
;
1136 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name50
);
1137 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1140 var51
= (val
*)((long)(1)<<2|3);
1141 var42
->attrs
[COLOR_opts__Option___value
].val
= var51
; /* _value on <var42:OptionBool> */
1142 RET_LABEL45
:(void)0;
1146 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
1147 var54
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
1148 if (unlikely(var54
== NULL
)) {
1149 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1150 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 52);
1154 RET_LABEL53
:(void)0;
1158 { /* Inline opts#Option#value= (var52,1) on <var52:OptionBool> */
1159 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1160 /* <1:Bool> isa VALUE */
1161 type_struct59
= var52
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1162 cltype57
= type_struct59
->color
;
1163 idtype58
= type_struct59
->id
;
1164 if(cltype57
>= (&type_core__Bool
)->table_size
) {
1167 var56
= (&type_core__Bool
)->type_table
[cltype57
] == idtype58
;
1169 if (unlikely(!var56
)) {
1170 var_class_name60
= type_core__Bool
.name
;
1171 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name60
);
1172 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1175 var61
= (val
*)((long)(1)<<2|3);
1176 var52
->attrs
[COLOR_opts__Option___value
].val
= var61
; /* _value on <var52:OptionBool> */
1177 RET_LABEL55
:(void)0;
1181 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
1182 var64
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
1183 if (unlikely(var64
== NULL
)) {
1184 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
1185 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 54);
1189 RET_LABEL63
:(void)0;
1193 { /* Inline opts#Option#value= (var62,1) on <var62:OptionBool> */
1194 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1195 /* <1:Bool> isa VALUE */
1196 type_struct69
= var62
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1197 cltype67
= type_struct69
->color
;
1198 idtype68
= type_struct69
->id
;
1199 if(cltype67
>= (&type_core__Bool
)->table_size
) {
1202 var66
= (&type_core__Bool
)->type_table
[cltype67
] == idtype68
;
1204 if (unlikely(!var66
)) {
1205 var_class_name70
= type_core__Bool
.name
;
1206 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name70
);
1207 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1210 var71
= (val
*)((long)(1)<<2|3);
1211 var62
->attrs
[COLOR_opts__Option___value
].val
= var71
; /* _value on <var62:OptionBool> */
1212 RET_LABEL65
:(void)0;
1216 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
1217 var74
= self
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
1218 if (unlikely(var74
== NULL
)) {
1219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
1220 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 56);
1224 RET_LABEL73
:(void)0;
1228 { /* Inline opts#Option#value= (var72,1) on <var72:OptionBool> */
1229 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1230 /* <1:Bool> isa VALUE */
1231 type_struct79
= var72
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1232 cltype77
= type_struct79
->color
;
1233 idtype78
= type_struct79
->id
;
1234 if(cltype77
>= (&type_core__Bool
)->table_size
) {
1237 var76
= (&type_core__Bool
)->type_table
[cltype77
] == idtype78
;
1239 if (unlikely(!var76
)) {
1240 var_class_name80
= type_core__Bool
.name
;
1241 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name80
);
1242 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1245 var81
= (val
*)((long)(1)<<2|3);
1246 var72
->attrs
[COLOR_opts__Option___value
].val
= var81
; /* _value on <var72:OptionBool> */
1247 RET_LABEL75
:(void)0;
1254 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
1255 void nitc__abstract_compiler___ModelBuilder___write_and_make(val
* self
, val
* p0
) {
1256 val
* var_compiler
/* var compiler: AbstractCompiler */;
1257 val
* var
/* : Platform */;
1258 val
* var2
/* : Platform */;
1259 val
* var_platform
/* var platform: Platform */;
1260 val
* var3
/* : ToolContext */;
1261 val
* var5
/* : ToolContext */;
1262 val
* var6
/* : Toolchain */;
1263 val
* var_toolchain
/* var toolchain: Toolchain */;
1266 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
1267 var2
= var_compiler
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
1268 if (unlikely(var2
== NULL
)) {
1269 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
1270 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 549);
1279 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1280 var5
= self
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1281 if (unlikely(var5
== NULL
)) {
1282 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1283 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
1291 var6
= nitc__abstract_compiler___Platform___toolchain(var_platform
, var3
, var_compiler
);
1293 var_toolchain
= var6
;
1295 { /* Inline abstract_compiler#AbstractCompiler#toolchain= (var_compiler,var_toolchain) on <var_compiler:AbstractCompiler> */
1296 var_compiler
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
= var_toolchain
; /* _toolchain on <var_compiler:AbstractCompiler> */
1301 nitc___nitc__MakefileToolchain___Toolchain__write_and_make(var_toolchain
); /* Direct call abstract_compiler#MakefileToolchain#write_and_make on <var_toolchain:Toolchain>*/
1305 /* method abstract_compiler#Platform#toolchain for (self: Platform, ToolContext, AbstractCompiler): Toolchain */
1306 val
* nitc__abstract_compiler___Platform___toolchain(val
* self
, val
* p0
, val
* p1
) {
1307 val
* var
/* : Toolchain */;
1308 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1309 val
* var_compiler
/* var compiler: AbstractCompiler */;
1310 val
* var1
/* : MakefileToolchain */;
1311 var_toolcontext
= p0
;
1313 var1
= NEW_nitc__MakefileToolchain(&type_nitc__MakefileToolchain
);
1315 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__Toolchain__toolcontext_61d
]))(var1
, var_toolcontext
); /* toolcontext= on <var1:MakefileToolchain>*/
1318 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nitc__abstract_compiler__Toolchain__compiler_61d
]))(var1
, var_compiler
); /* compiler= on <var1:MakefileToolchain>*/
1321 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_core__kernel__Object__init
]))(var1
); /* init on <var1:MakefileToolchain>*/
1328 /* method abstract_compiler#Toolchain#toolcontext for (self: Toolchain): ToolContext */
1329 val
* nitc___nitc__Toolchain___toolcontext(val
* self
) {
1330 val
* var
/* : ToolContext */;
1331 val
* var1
/* : ToolContext */;
1332 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1333 if (unlikely(var1
== NULL
)) {
1334 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1335 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1342 /* method abstract_compiler#Toolchain#toolcontext= for (self: Toolchain, ToolContext) */
1343 void nitc___nitc__Toolchain___toolcontext_61d(val
* self
, val
* p0
) {
1344 self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
= p0
; /* _toolcontext on <self:Toolchain> */
1347 /* method abstract_compiler#Toolchain#compiler for (self: Toolchain): AbstractCompiler */
1348 val
* nitc___nitc__Toolchain___compiler(val
* self
) {
1349 val
* var
/* : AbstractCompiler */;
1350 val
* var1
/* : AbstractCompiler */;
1351 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:Toolchain> */
1352 if (unlikely(var1
== NULL
)) {
1353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1354 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
1361 /* method abstract_compiler#Toolchain#compiler= for (self: Toolchain, AbstractCompiler) */
1362 void nitc___nitc__Toolchain___compiler_61d(val
* self
, val
* p0
) {
1363 self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
= p0
; /* _compiler on <self:Toolchain> */
1366 /* method abstract_compiler#Toolchain#root_compile_dir for (self: Toolchain): String */
1367 val
* nitc___nitc__Toolchain___root_compile_dir(val
* self
) {
1368 val
* var
/* : String */;
1369 val
* var1
/* : ToolContext */;
1370 val
* var3
/* : ToolContext */;
1371 val
* var4
/* : OptionString */;
1372 val
* var6
/* : OptionString */;
1373 val
* var7
/* : nullable Object */;
1374 val
* var9
/* : nullable Object */;
1375 val
* var_compile_dir
/* var compile_dir: nullable String */;
1376 short int var10
/* : Bool */;
1377 short int var11
/* : Bool */;
1378 static val
* varonce
;
1379 val
* var12
/* : String */;
1380 char* var13
/* : NativeString */;
1381 val
* var14
/* : String */;
1383 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:Toolchain> */
1384 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1385 if (unlikely(var3
== NULL
)) {
1386 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1387 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1395 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (var1) on <var1:ToolContext> */
1396 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var1:ToolContext> */
1397 if (unlikely(var6
== NULL
)) {
1398 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1399 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
1407 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
1408 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
1413 var_compile_dir
= var7
;
1414 if (var_compile_dir
== NULL
) {
1415 var10
= 1; /* is null */
1417 var10
= 0; /* arg is null but recv is not */
1420 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>*/
1424 if (likely(varonce
!=NULL
)) {
1427 var13
= "nit_compile";
1428 var14
= core__flat___NativeString___to_s_full(var13
, 11l, 11l);
1432 var_compile_dir
= var12
;
1435 var
= var_compile_dir
;
1440 /* method abstract_compiler#Toolchain#compile_dir for (self: Toolchain): String */
1441 val
* nitc___nitc__Toolchain___compile_dir(val
* self
) {
1442 val
* var
/* : String */;
1443 val
* var1
/* : String */;
1445 var1
= nitc___nitc__Toolchain___root_compile_dir(self
);
1452 /* method abstract_compiler#Toolchain#init for (self: Toolchain) */
1453 void nitc___nitc__Toolchain___core__kernel__Object__init(val
* self
) {
1455 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__Toolchain___core__kernel__Object__init
]))(self
); /* init on <self:Toolchain>*/
1459 /* method abstract_compiler#MakefileToolchain#write_and_make for (self: MakefileToolchain) */
1460 void nitc___nitc__MakefileToolchain___Toolchain__write_and_make(val
* self
) {
1461 val
* var
/* : ToolContext */;
1462 val
* var2
/* : ToolContext */;
1463 val
* var3
/* : OptionBool */;
1464 val
* var5
/* : OptionBool */;
1465 val
* var6
/* : nullable Object */;
1466 val
* var8
/* : nullable Object */;
1467 short int var9
/* : Bool */;
1468 short int var_debug
/* var debug: Bool */;
1469 val
* var10
/* : String */;
1470 val
* var_compile_dir
/* var compile_dir: String */;
1471 val
* var11
/* : ToolContext */;
1472 val
* var13
/* : ToolContext */;
1473 val
* var14
/* : OptionString */;
1474 val
* var16
/* : OptionString */;
1475 val
* var17
/* : nullable Object */;
1476 val
* var19
/* : nullable Object */;
1477 short int var20
/* : Bool */;
1478 short int var21
/* : Bool */;
1479 short int var_auto_remove
/* var auto_remove: Bool */;
1480 val
* var22
/* : Sys */;
1481 long var23
/* : Int */;
1482 long var25
/* : Int */;
1483 long var_time0
/* var time0: Int */;
1484 val
* var26
/* : ToolContext */;
1485 val
* var28
/* : ToolContext */;
1486 static val
* varonce
;
1487 val
* var29
/* : String */;
1488 char* var30
/* : NativeString */;
1489 val
* var31
/* : String */;
1490 val
* var32
/* : String */;
1491 val
* var33
/* : nullable Error */;
1492 val
* var34
/* : nullable Error */;
1493 val
* var35
/* : Array[String] */;
1494 val
* var_cfiles
/* var cfiles: Array[String] */;
1495 val
* var36
/* : Sys */;
1496 long var37
/* : Int */;
1497 long var39
/* : Int */;
1498 long var_time1
/* var time1: Int */;
1499 val
* var40
/* : ToolContext */;
1500 val
* var42
/* : ToolContext */;
1501 val
* var44
/* : NativeArray[String] */;
1502 static val
* varonce43
;
1503 static val
* varonce45
;
1504 val
* var46
/* : String */;
1505 char* var47
/* : NativeString */;
1506 val
* var48
/* : String */;
1507 static val
* varonce49
;
1508 val
* var50
/* : String */;
1509 char* var51
/* : NativeString */;
1510 val
* var52
/* : String */;
1511 long var53
/* : Int */;
1512 short int var55
/* : Bool */;
1515 const char* var_class_name
;
1516 long var56
/* : Int */;
1517 val
* var57
/* : String */;
1518 val
* var58
/* : String */;
1519 val
* var59
/* : ToolContext */;
1520 val
* var61
/* : ToolContext */;
1521 val
* var62
/* : OptionBool */;
1522 val
* var64
/* : OptionBool */;
1523 val
* var65
/* : nullable Object */;
1524 val
* var67
/* : nullable Object */;
1525 short int var68
/* : Bool */;
1526 val
* var69
/* : ToolContext */;
1527 val
* var71
/* : ToolContext */;
1528 static val
* varonce72
;
1529 val
* var73
/* : String */;
1530 char* var74
/* : NativeString */;
1531 val
* var75
/* : String */;
1532 val
* var76
/* : Sys */;
1533 val
* var78
/* : Sys */;
1534 val
* var80
/* : NativeArray[String] */;
1535 static val
* varonce79
;
1536 static val
* varonce81
;
1537 val
* var82
/* : String */;
1538 char* var83
/* : NativeString */;
1539 val
* var84
/* : String */;
1540 static val
* varonce85
;
1541 val
* var86
/* : String */;
1542 char* var87
/* : NativeString */;
1543 val
* var88
/* : String */;
1544 val
* var89
/* : String */;
1545 val
* var90
/* : String */;
1546 val
* var91
/* : String */;
1547 long var92
/* : Int */;
1548 val
* var93
/* : Sys */;
1549 long var94
/* : Int */;
1550 long var96
/* : Int */;
1551 val
* var97
/* : ToolContext */;
1552 val
* var99
/* : ToolContext */;
1553 val
* var101
/* : NativeArray[String] */;
1554 static val
* varonce100
;
1555 static val
* varonce102
;
1556 val
* var103
/* : String */;
1557 char* var104
/* : NativeString */;
1558 val
* var105
/* : String */;
1559 static val
* varonce106
;
1560 val
* var107
/* : String */;
1561 char* var108
/* : NativeString */;
1562 val
* var109
/* : String */;
1563 long var110
/* : Int */;
1564 short int var112
/* : Bool */;
1567 const char* var_class_name115
;
1568 long var116
/* : Int */;
1569 val
* var117
/* : String */;
1570 val
* var118
/* : String */;
1572 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1573 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1574 if (unlikely(var2
== NULL
)) {
1575 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1576 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1584 { /* Inline abstract_compiler#ToolContext#opt_debug (var) on <var:ToolContext> */
1585 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <var:ToolContext> */
1586 if (unlikely(var5
== NULL
)) {
1587 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
1588 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
1596 { /* Inline opts#Option#value (var3) on <var3:OptionBool> */
1597 var8
= var3
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var3:OptionBool> */
1602 var9
= (short int)((long)(var6
)>>2);
1605 var10
= nitc___nitc__Toolchain___compile_dir(self
);
1607 var_compile_dir
= var10
;
1609 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1610 var13
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1611 if (unlikely(var13
== NULL
)) {
1612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1613 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1617 RET_LABEL12
:(void)0;
1621 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (var11) on <var11:ToolContext> */
1622 var16
= var11
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var11:ToolContext> */
1623 if (unlikely(var16
== NULL
)) {
1624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1625 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 44);
1629 RET_LABEL15
:(void)0;
1633 { /* Inline opts#Option#value (var14) on <var14:OptionString> */
1634 var19
= var14
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var14:OptionString> */
1636 RET_LABEL18
:(void)0;
1639 if (var17
== NULL
) {
1640 var20
= 1; /* is null */
1642 var20
= 0; /* arg is null but recv is not */
1645 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)>*/
1648 var_auto_remove
= var20
;
1650 var_auto_remove
= 0;
1655 { /* Inline time#Sys#get_time (var22) on <var22:Sys> */
1656 struct nitni_instance
* var_for_c_0
;
1657 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1658 var_for_c_0
->value
= var22
;
1659 var25
= time___Sys_get_time___impl(var_for_c_0
);
1662 RET_LABEL24
:(void)0;
1667 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1668 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1669 if (unlikely(var28
== NULL
)) {
1670 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1671 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1675 RET_LABEL27
:(void)0;
1678 if (likely(varonce
!=NULL
)) {
1681 var30
= "*** WRITING C ***";
1682 var31
= core__flat___NativeString___to_s_full(var30
, 17l, 17l);
1687 nitc___nitc__ToolContext___info(var26
, var29
, 1l); /* Direct call toolcontext#ToolContext#info on <var26:ToolContext>*/
1690 var32
= nitc___nitc__Toolchain___root_compile_dir(self
);
1693 var33
= core__file___String___mkdir(var32
);
1696 var34
= core__file___String___mkdir(var_compile_dir
);
1698 var35
= NEW_core__Array(&type_core__Array__core__String
);
1700 core___core__Array___core__kernel__Object__init(var35
); /* Direct call array#Array#init on <var35:Array[String]>*/
1704 nitc___nitc__MakefileToolchain___write_files(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_files on <self:MakefileToolchain>*/
1707 nitc___nitc__MakefileToolchain___write_makefile(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_makefile on <self:MakefileToolchain>*/
1711 { /* Inline time#Sys#get_time (var36) on <var36:Sys> */
1712 struct nitni_instance
* var_for_c_0
;
1713 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1714 var_for_c_0
->value
= var36
;
1715 var39
= time___Sys_get_time___impl(var_for_c_0
);
1718 RET_LABEL38
:(void)0;
1723 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1724 var42
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1725 if (unlikely(var42
== NULL
)) {
1726 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1727 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1731 RET_LABEL41
:(void)0;
1734 if (unlikely(varonce43
==NULL
)) {
1735 var44
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1736 if (likely(varonce45
!=NULL
)) {
1739 var47
= "*** END WRITING C: ";
1740 var48
= core__flat___NativeString___to_s_full(var47
, 19l, 19l);
1744 ((struct instance_core__NativeArray
*)var44
)->values
[0]=var46
;
1745 if (likely(varonce49
!=NULL
)) {
1749 var52
= core__flat___NativeString___to_s_full(var51
, 4l, 4l);
1753 ((struct instance_core__NativeArray
*)var44
)->values
[2]=var50
;
1759 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1760 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1761 /* <var_time0:Int> isa OTHER */
1762 var55
= 1; /* easy <var_time0:Int> isa OTHER*/
1763 if (unlikely(!var55
)) {
1764 var_class_name
= type_core__Int
.name
;
1765 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1766 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1769 var56
= var_time1
- var_time0
;
1772 RET_LABEL54
:(void)0;
1775 var57
= core__flat___Int___core__abstract_text__Object__to_s(var53
);
1776 ((struct instance_core__NativeArray
*)var44
)->values
[1]=var57
;
1778 var58
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
1782 nitc___nitc__ToolContext___info(var40
, var58
, 2l); /* Direct call toolcontext#ToolContext#info on <var40:ToolContext>*/
1785 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1786 var61
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1787 if (unlikely(var61
== NULL
)) {
1788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1793 RET_LABEL60
:(void)0;
1797 { /* Inline abstract_compiler#ToolContext#opt_no_cc (var59) on <var59:ToolContext> */
1798 var64
= var59
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <var59:ToolContext> */
1799 if (unlikely(var64
== NULL
)) {
1800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
1801 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 34);
1805 RET_LABEL63
:(void)0;
1809 { /* Inline opts#Option#value (var62) on <var62:OptionBool> */
1810 var67
= var62
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var62:OptionBool> */
1812 RET_LABEL66
:(void)0;
1815 var68
= (short int)((long)(var65
)>>2);
1820 var_time0
= var_time1
;
1822 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1823 var71
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1824 if (unlikely(var71
== NULL
)) {
1825 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1826 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1830 RET_LABEL70
:(void)0;
1833 if (likely(varonce72
!=NULL
)) {
1836 var74
= "*** COMPILING C ***";
1837 var75
= core__flat___NativeString___to_s_full(var74
, 19l, 19l);
1842 nitc___nitc__ToolContext___info(var69
, var73
, 1l); /* Direct call toolcontext#ToolContext#info on <var69:ToolContext>*/
1845 nitc___nitc__MakefileToolchain___compile_c_code(self
, var_compile_dir
); /* Direct call abstract_compiler#MakefileToolchain#compile_c_code on <self:MakefileToolchain>*/
1847 if (var_auto_remove
){
1849 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
1853 RET_LABEL77
:(void)0;
1856 if (unlikely(varonce79
==NULL
)) {
1857 var80
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1858 if (likely(varonce81
!=NULL
)) {
1861 var83
= "rm -r -- \'";
1862 var84
= core__flat___NativeString___to_s_full(var83
, 10l, 10l);
1866 ((struct instance_core__NativeArray
*)var80
)->values
[0]=var82
;
1867 if (likely(varonce85
!=NULL
)) {
1871 var88
= core__flat___NativeString___to_s_full(var87
, 2l, 2l);
1875 ((struct instance_core__NativeArray
*)var80
)->values
[2]=var86
;
1881 var89
= nitc___nitc__Toolchain___root_compile_dir(self
);
1884 var90
= core___core__Text___escape_to_sh(var89
);
1886 ((struct instance_core__NativeArray
*)var80
)->values
[1]=var90
;
1888 var91
= ((val
*(*)(val
* self
))(var80
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var80
); /* native_to_s on <var80:NativeArray[String]>*/
1892 var92
= core__exec___Sys___system(var76
, var91
);
1898 { /* Inline time#Sys#get_time (var93) on <var93:Sys> */
1899 struct nitni_instance
* var_for_c_0
;
1900 var_for_c_0
= nit_alloc(sizeof(struct nitni_instance
));
1901 var_for_c_0
->value
= var93
;
1902 var96
= time___Sys_get_time___impl(var_for_c_0
);
1905 RET_LABEL95
:(void)0;
1910 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1911 var99
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1912 if (unlikely(var99
== NULL
)) {
1913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1914 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
1918 RET_LABEL98
:(void)0;
1921 if (unlikely(varonce100
==NULL
)) {
1922 var101
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
1923 if (likely(varonce102
!=NULL
)) {
1924 var103
= varonce102
;
1926 var104
= "*** END COMPILING C: ";
1927 var105
= core__flat___NativeString___to_s_full(var104
, 21l, 21l);
1929 varonce102
= var103
;
1931 ((struct instance_core__NativeArray
*)var101
)->values
[0]=var103
;
1932 if (likely(varonce106
!=NULL
)) {
1933 var107
= varonce106
;
1936 var109
= core__flat___NativeString___to_s_full(var108
, 4l, 4l);
1938 varonce106
= var107
;
1940 ((struct instance_core__NativeArray
*)var101
)->values
[2]=var107
;
1942 var101
= varonce100
;
1946 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1947 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1948 /* <var_time0:Int> isa OTHER */
1949 var112
= 1; /* easy <var_time0:Int> isa OTHER*/
1950 if (unlikely(!var112
)) {
1951 var_class_name115
= type_core__Int
.name
;
1952 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name115
);
1953 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 734);
1956 var116
= var_time1
- var_time0
;
1959 RET_LABEL111
:(void)0;
1962 var117
= core__flat___Int___core__abstract_text__Object__to_s(var110
);
1963 ((struct instance_core__NativeArray
*)var101
)->values
[1]=var117
;
1965 var118
= ((val
*(*)(val
* self
))(var101
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var101
); /* native_to_s on <var101:NativeArray[String]>*/
1967 varonce100
= var101
;
1969 nitc___nitc__ToolContext___info(var97
, var118
, 2l); /* Direct call toolcontext#ToolContext#info on <var97:ToolContext>*/
1973 /* method abstract_compiler#MakefileToolchain#write_files for (self: MakefileToolchain, String, Array[String]) */
1974 void nitc___nitc__MakefileToolchain___write_files(val
* self
, val
* p0
, val
* p1
) {
1975 val
* var_compile_dir
/* var compile_dir: String */;
1976 val
* var_cfiles
/* var cfiles: Array[String] */;
1977 val
* var
/* : AbstractCompiler */;
1978 val
* var2
/* : AbstractCompiler */;
1979 val
* var3
/* : Platform */;
1980 val
* var5
/* : Platform */;
1981 val
* var_platform
/* var platform: Platform */;
1982 short int var6
/* : Bool */;
1983 val
* var7
/* : AbstractCompiler */;
1984 val
* var9
/* : AbstractCompiler */;
1985 static val
* varonce
;
1986 val
* var10
/* : String */;
1987 char* var11
/* : NativeString */;
1988 val
* var12
/* : String */;
1989 val
* var_cc_opt_with_libgc
/* var cc_opt_with_libgc: String */;
1990 short int var13
/* : Bool */;
1991 short int var14
/* : Bool */;
1992 static val
* varonce15
;
1993 val
* var16
/* : String */;
1994 char* var17
/* : NativeString */;
1995 val
* var18
/* : String */;
1996 val
* var19
/* : ExternCFile */;
1997 static val
* varonce20
;
1998 val
* var21
/* : String */;
1999 char* var22
/* : NativeString */;
2000 val
* var23
/* : String */;
2001 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
2002 static val
* varonce24
;
2003 val
* var25
/* : String */;
2004 char* var26
/* : NativeString */;
2005 val
* var27
/* : String */;
2006 short int var28
/* : Bool */;
2007 val
* var_other
/* var other: nullable Object */;
2008 short int var30
/* : Bool */;
2009 short int var31
/* : Bool */;
2010 val
* var32
/* : Array[String] */;
2011 val
* var34
/* : Array[String] */;
2012 static val
* varonce35
;
2013 val
* var36
/* : String */;
2014 char* var37
/* : NativeString */;
2015 val
* var38
/* : String */;
2016 val
* var39
/* : AbstractCompiler */;
2017 val
* var41
/* : AbstractCompiler */;
2018 val
* var42
/* : Array[ExternFile] */;
2019 val
* var44
/* : Array[ExternFile] */;
2020 val
* var45
/* : ToolContext */;
2021 val
* var47
/* : ToolContext */;
2022 val
* var48
/* : String */;
2023 val
* var50
/* : String */;
2024 static val
* varonce51
;
2025 val
* var52
/* : String */;
2026 char* var53
/* : NativeString */;
2027 val
* var54
/* : String */;
2028 val
* var55
/* : String */;
2029 val
* var_clib
/* var clib: String */;
2030 val
* var56
/* : AbstractCompiler */;
2031 val
* var58
/* : AbstractCompiler */;
2032 val
* var59
/* : Array[String] */;
2033 val
* var61
/* : Array[String] */;
2034 val
* var63
/* : NativeArray[String] */;
2035 static val
* varonce62
;
2036 static val
* varonce64
;
2037 val
* var65
/* : String */;
2038 char* var66
/* : NativeString */;
2039 val
* var67
/* : String */;
2040 val
* var68
/* : String */;
2041 val
* var69
/* : AbstractCompiler */;
2042 val
* var71
/* : AbstractCompiler */;
2043 val
* var72
/* : Array[String] */;
2044 val
* var74
/* : Array[String] */;
2045 val
* var76
/* : NativeArray[String] */;
2046 static val
* varonce75
;
2047 static val
* varonce77
;
2048 val
* var78
/* : String */;
2049 char* var79
/* : NativeString */;
2050 val
* var80
/* : String */;
2051 val
* var81
/* : String */;
2052 val
* var82
/* : AbstractCompiler */;
2053 val
* var84
/* : AbstractCompiler */;
2054 val
* var85
/* : MModule */;
2055 val
* var87
/* : MModule */;
2056 val
* var88
/* : POSetElement[MModule] */;
2057 val
* var90
/* : POSetElement[MModule] */;
2058 val
* var91
/* : Collection[nullable Object] */;
2059 val
* var_
/* var : Collection[MModule] */;
2060 val
* var92
/* : Iterator[nullable Object] */;
2061 val
* var_93
/* var : Iterator[MModule] */;
2062 short int var94
/* : Bool */;
2063 val
* var95
/* : nullable Object */;
2064 val
* var_m
/* var m: MModule */;
2065 val
* var96
/* : AbstractCompiler */;
2066 val
* var98
/* : AbstractCompiler */;
2067 val
* var99
/* : AbstractCompiler */;
2068 val
* var101
/* : AbstractCompiler */;
2069 val
* var102
/* : Array[String] */;
2070 val
* var104
/* : Array[String] */;
2071 val
* var_105
/* var : Array[String] */;
2072 val
* var106
/* : IndexedIterator[nullable Object] */;
2073 val
* var_107
/* var : IndexedIterator[String] */;
2074 short int var108
/* : Bool */;
2075 val
* var110
/* : nullable Object */;
2076 val
* var_src
/* var src: String */;
2077 val
* var111
/* : String */;
2078 val
* var_basename
/* var basename: String */;
2079 val
* var113
/* : NativeArray[String] */;
2080 static val
* varonce112
;
2081 static val
* varonce114
;
2082 val
* var115
/* : String */;
2083 char* var116
/* : NativeString */;
2084 val
* var117
/* : String */;
2085 val
* var118
/* : String */;
2086 val
* var_dst
/* var dst: String */;
2087 val
* var119
/* : AbstractCompiler */;
2088 val
* var121
/* : AbstractCompiler */;
2089 val
* var122
/* : CodeWriter */;
2090 val
* var124
/* : CodeWriter */;
2091 val
* var125
/* : CodeFile */;
2092 val
* var127
/* : CodeFile */;
2093 val
* var128
/* : String */;
2094 val
* var130
/* : String */;
2095 static val
* varonce131
;
2096 val
* var132
/* : String */;
2097 char* var133
/* : NativeString */;
2098 val
* var134
/* : String */;
2099 val
* var135
/* : String */;
2100 val
* var_hfilename
/* var hfilename: String */;
2101 val
* var137
/* : NativeArray[String] */;
2102 static val
* varonce136
;
2103 static val
* varonce138
;
2104 val
* var139
/* : String */;
2105 char* var140
/* : NativeString */;
2106 val
* var141
/* : String */;
2107 val
* var142
/* : String */;
2108 val
* var_hfilepath
/* var hfilepath: String */;
2109 val
* var143
/* : FileWriter */;
2110 val
* var_h
/* var h: FileWriter */;
2111 val
* var144
/* : AbstractCompiler */;
2112 val
* var146
/* : AbstractCompiler */;
2113 val
* var147
/* : CodeWriter */;
2114 val
* var149
/* : CodeWriter */;
2115 val
* var150
/* : List[String] */;
2116 val
* var152
/* : List[String] */;
2117 val
* var_153
/* var : List[String] */;
2118 val
* var154
/* : ListIterator[nullable Object] */;
2119 val
* var_155
/* var : ListIterator[String] */;
2120 short int var156
/* : Bool */;
2121 val
* var158
/* : nullable Object */;
2122 val
* var_l
/* var l: String */;
2123 static val
* varonce159
;
2124 val
* var160
/* : String */;
2125 char* var161
/* : NativeString */;
2126 val
* var162
/* : String */;
2127 val
* var164
/* : AbstractCompiler */;
2128 val
* var166
/* : AbstractCompiler */;
2129 val
* var167
/* : CodeWriter */;
2130 val
* var169
/* : CodeWriter */;
2131 val
* var170
/* : List[String] */;
2132 val
* var172
/* : List[String] */;
2133 val
* var_173
/* var : List[String] */;
2134 val
* var174
/* : ListIterator[nullable Object] */;
2135 val
* var_175
/* var : ListIterator[String] */;
2136 short int var176
/* : Bool */;
2137 val
* var178
/* : nullable Object */;
2138 val
* var_l179
/* var l: String */;
2139 static val
* varonce180
;
2140 val
* var181
/* : String */;
2141 char* var182
/* : NativeString */;
2142 val
* var183
/* : String */;
2143 val
* var185
/* : ToolContext */;
2144 val
* var187
/* : ToolContext */;
2145 val
* var188
/* : OptionInt */;
2146 val
* var190
/* : OptionInt */;
2147 val
* var191
/* : nullable Object */;
2148 val
* var193
/* : nullable Object */;
2149 long var194
/* : Int */;
2150 long var_max_c_lines
/* var max_c_lines: Int */;
2151 val
* var195
/* : AbstractCompiler */;
2152 val
* var197
/* : AbstractCompiler */;
2153 val
* var198
/* : List[CodeFile] */;
2154 val
* var200
/* : List[CodeFile] */;
2155 val
* var_201
/* var : List[CodeFile] */;
2156 val
* var202
/* : ListIterator[nullable Object] */;
2157 val
* var_203
/* var : ListIterator[CodeFile] */;
2158 short int var204
/* : Bool */;
2159 val
* var206
/* : nullable Object */;
2160 val
* var_f
/* var f: CodeFile */;
2161 long var_i
/* var i: Int */;
2162 long var_count
/* var count: Int */;
2163 val
* var_file
/* var file: nullable FileWriter */;
2164 val
* var207
/* : Array[CodeWriter] */;
2165 val
* var209
/* : Array[CodeWriter] */;
2166 val
* var_210
/* var : Array[CodeWriter] */;
2167 val
* var211
/* : IndexedIterator[nullable Object] */;
2168 val
* var_212
/* var : IndexedIterator[CodeWriter] */;
2169 short int var213
/* : Bool */;
2170 val
* var215
/* : nullable Object */;
2171 val
* var_vis
/* var vis: CodeWriter */;
2172 val
* var216
/* : AbstractCompiler */;
2173 val
* var218
/* : AbstractCompiler */;
2174 val
* var219
/* : CodeWriter */;
2175 val
* var221
/* : CodeWriter */;
2176 short int var222
/* : Bool */;
2177 val
* var_other224
/* var other: nullable Object */;
2178 short int var225
/* : Bool */;
2179 short int var227
/* : Bool */;
2180 val
* var229
/* : List[String] */;
2181 val
* var231
/* : List[String] */;
2182 long var232
/* : Int */;
2183 long var234
/* : Int */;
2184 val
* var235
/* : List[String] */;
2185 val
* var237
/* : List[String] */;
2186 long var238
/* : Int */;
2187 long var240
/* : Int */;
2188 long var241
/* : Int */;
2189 short int var243
/* : Bool */;
2192 const char* var_class_name
;
2193 long var244
/* : Int */;
2194 long var_total_lines
/* var total_lines: Int */;
2195 short int var245
/* : Bool */;
2196 short int var247
/* : Bool */;
2197 long var248
/* : Int */;
2198 short int var250
/* : Bool */;
2201 const char* var_class_name253
;
2202 long var254
/* : Int */;
2203 short int var255
/* : Bool */;
2204 short int var256
/* : Bool */;
2205 short int var257
/* : Bool */;
2206 short int var259
/* : Bool */;
2207 short int var261
/* : Bool */;
2208 short int var_262
/* var : Bool */;
2209 short int var263
/* : Bool */;
2210 short int var264
/* : Bool */;
2211 short int var266
/* : Bool */;
2214 const char* var_class_name269
;
2215 short int var270
/* : Bool */;
2216 short int var_271
/* var : Bool */;
2217 short int var272
/* : Bool */;
2218 short int var274
/* : Bool */;
2221 const char* var_class_name277
;
2222 short int var278
/* : Bool */;
2223 long var279
/* : Int */;
2224 short int var281
/* : Bool */;
2227 const char* var_class_name284
;
2228 long var285
/* : Int */;
2229 short int var286
/* : Bool */;
2230 short int var287
/* : Bool */;
2231 short int var289
/* : Bool */;
2232 short int var290
/* : Bool */;
2233 val
* var292
/* : NativeArray[String] */;
2234 static val
* varonce291
;
2235 static val
* varonce293
;
2236 val
* var294
/* : String */;
2237 char* var295
/* : NativeString */;
2238 val
* var296
/* : String */;
2239 static val
* varonce297
;
2240 val
* var298
/* : String */;
2241 char* var299
/* : NativeString */;
2242 val
* var300
/* : String */;
2243 val
* var301
/* : String */;
2244 val
* var303
/* : String */;
2245 val
* var304
/* : String */;
2246 val
* var305
/* : String */;
2247 val
* var_cfilename
/* var cfilename: String */;
2248 val
* var307
/* : NativeArray[String] */;
2249 static val
* varonce306
;
2250 static val
* varonce308
;
2251 val
* var309
/* : String */;
2252 char* var310
/* : NativeString */;
2253 val
* var311
/* : String */;
2254 val
* var312
/* : String */;
2255 val
* var_cfilepath
/* var cfilepath: String */;
2256 val
* var313
/* : ToolContext */;
2257 val
* var315
/* : ToolContext */;
2258 val
* var317
/* : NativeArray[String] */;
2259 static val
* varonce316
;
2260 static val
* varonce318
;
2261 val
* var319
/* : String */;
2262 char* var320
/* : NativeString */;
2263 val
* var321
/* : String */;
2264 val
* var322
/* : String */;
2265 val
* var323
/* : FileWriter */;
2266 val
* var325
/* : NativeArray[String] */;
2267 static val
* varonce324
;
2268 static val
* varonce326
;
2269 val
* var327
/* : String */;
2270 char* var328
/* : NativeString */;
2271 val
* var329
/* : String */;
2272 static val
* varonce330
;
2273 val
* var331
/* : String */;
2274 char* var332
/* : NativeString */;
2275 val
* var333
/* : String */;
2276 val
* var334
/* : String */;
2277 val
* var336
/* : String */;
2278 val
* var337
/* : String */;
2279 val
* var338
/* : List[String] */;
2280 val
* var340
/* : List[String] */;
2281 val
* var_341
/* var : List[String] */;
2282 val
* var342
/* : ListIterator[nullable Object] */;
2283 val
* var_343
/* var : ListIterator[String] */;
2284 short int var344
/* : Bool */;
2285 val
* var346
/* : nullable Object */;
2286 val
* var_l347
/* var l: String */;
2287 static val
* varonce348
;
2288 val
* var349
/* : String */;
2289 char* var350
/* : NativeString */;
2290 val
* var351
/* : String */;
2291 val
* var353
/* : List[String] */;
2292 val
* var355
/* : List[String] */;
2293 val
* var_356
/* var : List[String] */;
2294 val
* var357
/* : ListIterator[nullable Object] */;
2295 val
* var_358
/* var : ListIterator[String] */;
2296 short int var359
/* : Bool */;
2297 val
* var361
/* : nullable Object */;
2298 val
* var_l362
/* var l: String */;
2299 static val
* varonce363
;
2300 val
* var364
/* : String */;
2301 char* var365
/* : NativeString */;
2302 val
* var366
/* : String */;
2303 short int var368
/* : Bool */;
2304 short int var369
/* : Bool */;
2305 short int var371
/* : Bool */;
2306 short int var373
/* : Bool */;
2307 val
* var376
/* : NativeArray[String] */;
2308 static val
* varonce375
;
2309 static val
* varonce377
;
2310 val
* var378
/* : String */;
2311 char* var379
/* : NativeString */;
2312 val
* var380
/* : String */;
2313 val
* var381
/* : String */;
2314 val
* var383
/* : String */;
2315 val
* var384
/* : String */;
2316 val
* var_cfilename385
/* var cfilename: String */;
2317 val
* var387
/* : NativeArray[String] */;
2318 static val
* varonce386
;
2319 static val
* varonce388
;
2320 val
* var389
/* : String */;
2321 char* var390
/* : NativeString */;
2322 val
* var391
/* : String */;
2323 val
* var392
/* : String */;
2324 val
* var_cfilepath393
/* var cfilepath: String */;
2325 val
* var_hfile
/* var hfile: nullable FileWriter */;
2326 val
* var394
/* : FileWriter */;
2327 val
* var396
/* : NativeArray[String] */;
2328 static val
* varonce395
;
2329 static val
* varonce397
;
2330 val
* var398
/* : String */;
2331 char* var399
/* : NativeString */;
2332 val
* var400
/* : String */;
2333 static val
* varonce401
;
2334 val
* var402
/* : String */;
2335 char* var403
/* : NativeString */;
2336 val
* var404
/* : String */;
2337 val
* var405
/* : String */;
2338 val
* var406
/* : HashSet[String] */;
2339 val
* var408
/* : HashSet[String] */;
2340 val
* var_409
/* var : HashSet[String] */;
2341 val
* var410
/* : Iterator[nullable Object] */;
2342 val
* var_411
/* var : Iterator[String] */;
2343 short int var412
/* : Bool */;
2344 val
* var414
/* : nullable Object */;
2345 val
* var_key
/* var key: String */;
2346 val
* var415
/* : AbstractCompiler */;
2347 val
* var417
/* : AbstractCompiler */;
2348 val
* var418
/* : HashMap[String, String] */;
2349 val
* var420
/* : HashMap[String, String] */;
2350 short int var421
/* : Bool */;
2351 short int var422
/* : Bool */;
2352 val
* var423
/* : AbstractCompiler */;
2353 val
* var425
/* : AbstractCompiler */;
2354 val
* var426
/* : HashMap[String, ANode] */;
2355 val
* var428
/* : HashMap[String, ANode] */;
2356 val
* var429
/* : nullable Object */;
2357 val
* var_node
/* var node: nullable ANode */;
2358 short int var430
/* : Bool */;
2359 short int var431
/* : Bool */;
2360 short int var433
/* : Bool */;
2361 short int var434
/* : Bool */;
2362 val
* var436
/* : NativeArray[String] */;
2363 static val
* varonce435
;
2364 static val
* varonce437
;
2365 val
* var438
/* : String */;
2366 char* var439
/* : NativeString */;
2367 val
* var440
/* : String */;
2368 val
* var441
/* : String */;
2369 val
* var442
/* : Sys */;
2370 val
* var444
/* : NativeArray[String] */;
2371 static val
* varonce443
;
2372 static val
* varonce445
;
2373 val
* var446
/* : String */;
2374 char* var447
/* : NativeString */;
2375 val
* var448
/* : String */;
2376 val
* var449
/* : String */;
2377 val
* var450
/* : AbstractCompiler */;
2378 val
* var452
/* : AbstractCompiler */;
2379 val
* var453
/* : HashMap[String, String] */;
2380 val
* var455
/* : HashMap[String, String] */;
2381 val
* var456
/* : nullable Object */;
2382 static val
* varonce457
;
2383 val
* var458
/* : String */;
2384 char* var459
/* : NativeString */;
2385 val
* var460
/* : String */;
2386 val
* var462
/* : ToolContext */;
2387 val
* var464
/* : ToolContext */;
2388 val
* var466
/* : NativeArray[String] */;
2389 static val
* varonce465
;
2390 static val
* varonce467
;
2391 val
* var468
/* : String */;
2392 char* var469
/* : NativeString */;
2393 val
* var470
/* : String */;
2394 long var471
/* : Int */;
2395 long var473
/* : Int */;
2396 val
* var474
/* : String */;
2397 val
* var475
/* : String */;
2398 var_compile_dir
= p0
;
2401 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2402 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2403 if (unlikely(var2
== NULL
)) {
2404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2405 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2413 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var) on <var:AbstractCompiler> */
2414 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var:AbstractCompiler> */
2415 if (unlikely(var5
== NULL
)) {
2416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
2417 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 549);
2424 var_platform
= var3
;
2426 var6
= nitc___nitc__Platform___supports_libunwind(var_platform
);
2430 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2431 var9
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2432 if (unlikely(var9
== NULL
)) {
2433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2434 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2442 nitc___nitc__AbstractCompiler___build_c_to_nit_bindings(var7
); /* Direct call abstract_compiler#AbstractCompiler#build_c_to_nit_bindings on <var7:AbstractCompiler>*/
2446 if (likely(varonce
!=NULL
)) {
2449 var11
= "-DWITH_LIBGC";
2450 var12
= core__flat___NativeString___to_s_full(var11
, 12l, 12l);
2454 var_cc_opt_with_libgc
= var10
;
2456 var13
= nitc___nitc__Platform___supports_libgc(var_platform
);
2460 if (likely(varonce15
!=NULL
)) {
2464 var18
= core__flat___NativeString___to_s_full(var17
, 0l, 0l);
2468 var_cc_opt_with_libgc
= var16
;
2471 var19
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
2472 if (likely(varonce20
!=NULL
)) {
2475 var22
= "gc_chooser.c";
2476 var23
= core__flat___NativeString___to_s_full(var22
, 12l, 12l);
2481 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var19
, var21
); /* filename= on <var19:ExternCFile>*/
2484 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var19
, var_cc_opt_with_libgc
); /* cflags= on <var19:ExternCFile>*/
2487 ((void(*)(val
* self
))(var19
->class->vft
[COLOR_core__kernel__Object__init
]))(var19
); /* init on <var19:ExternCFile>*/
2489 var_gc_chooser
= var19
;
2490 if (likely(varonce24
!=NULL
)) {
2494 var27
= core__flat___NativeString___to_s_full(var26
, 0l, 0l);
2499 { /* Inline kernel#Object#!= (var_cc_opt_with_libgc,var25) on <var_cc_opt_with_libgc:String> */
2502 var30
= ((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>*/
2507 RET_LABEL29
:(void)0;
2512 { /* Inline c_tools#ExternFile#pkgconfigs (var_gc_chooser) on <var_gc_chooser:ExternCFile> */
2513 var34
= var_gc_chooser
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_gc_chooser:ExternCFile> */
2514 if (unlikely(var34
== NULL
)) {
2515 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
2516 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
2520 RET_LABEL33
:(void)0;
2523 if (likely(varonce35
!=NULL
)) {
2527 var38
= core__flat___NativeString___to_s_full(var37
, 6l, 6l);
2532 core___core__Array___core__abstract_collection__SimpleCollection__add(var32
, var36
); /* Direct call array#Array#add on <var32:Array[String]>*/
2537 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2538 var41
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2539 if (unlikely(var41
== NULL
)) {
2540 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2541 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2545 RET_LABEL40
:(void)0;
2549 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var39) on <var39:AbstractCompiler> */
2550 var44
= var39
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var39:AbstractCompiler> */
2551 if (unlikely(var44
== NULL
)) {
2552 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
2553 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
2557 RET_LABEL43
:(void)0;
2561 core___core__Array___core__abstract_collection__SimpleCollection__add(var42
, var_gc_chooser
); /* Direct call array#Array#add on <var42:Array[ExternFile]>*/
2564 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
2565 var47
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2566 if (unlikely(var47
== NULL
)) {
2567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2568 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
2572 RET_LABEL46
:(void)0;
2576 { /* Inline toolcontext#ToolContext#nit_dir (var45) on <var45:ToolContext> */
2577 var50
= var45
->attrs
[COLOR_nitc__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var45:ToolContext> */
2578 if (unlikely(var50
== NULL
)) {
2579 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
2580 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__toolcontext
, 528);
2584 RET_LABEL49
:(void)0;
2587 if (likely(varonce51
!=NULL
)) {
2591 var54
= core__flat___NativeString___to_s_full(var53
, 4l, 4l);
2596 var55
= core__file___String____47d(var48
, var52
);
2600 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2601 var58
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2602 if (unlikely(var58
== NULL
)) {
2603 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2604 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2608 RET_LABEL57
:(void)0;
2612 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var56) on <var56:AbstractCompiler> */
2613 var61
= var56
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var56:AbstractCompiler> */
2614 if (unlikely(var61
== NULL
)) {
2615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1013);
2620 RET_LABEL60
:(void)0;
2623 if (unlikely(varonce62
==NULL
)) {
2624 var63
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2625 if (likely(varonce64
!=NULL
)) {
2628 var66
= "/gc_chooser.c";
2629 var67
= core__flat___NativeString___to_s_full(var66
, 13l, 13l);
2633 ((struct instance_core__NativeArray
*)var63
)->values
[1]=var65
;
2638 ((struct instance_core__NativeArray
*)var63
)->values
[0]=var_clib
;
2640 var68
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var63
); /* native_to_s on <var63:NativeArray[String]>*/
2644 core___core__Array___core__abstract_collection__SimpleCollection__add(var59
, var68
); /* Direct call array#Array#add on <var59:Array[String]>*/
2647 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2648 var71
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2649 if (unlikely(var71
== NULL
)) {
2650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2651 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2655 RET_LABEL70
:(void)0;
2659 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var69) on <var69:AbstractCompiler> */
2660 var74
= var69
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var69:AbstractCompiler> */
2661 if (unlikely(var74
== NULL
)) {
2662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2663 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1013);
2667 RET_LABEL73
:(void)0;
2670 if (unlikely(varonce75
==NULL
)) {
2671 var76
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
2672 if (likely(varonce77
!=NULL
)) {
2675 var79
= "/gc_chooser.h";
2676 var80
= core__flat___NativeString___to_s_full(var79
, 13l, 13l);
2680 ((struct instance_core__NativeArray
*)var76
)->values
[1]=var78
;
2685 ((struct instance_core__NativeArray
*)var76
)->values
[0]=var_clib
;
2687 var81
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
2691 core___core__Array___core__abstract_collection__SimpleCollection__add(var72
, var81
); /* Direct call array#Array#add on <var72:Array[String]>*/
2694 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2695 var84
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2696 if (unlikely(var84
== NULL
)) {
2697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2702 RET_LABEL83
:(void)0;
2706 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var82) on <var82:AbstractCompiler> */
2707 var87
= var82
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var82:AbstractCompiler> */
2708 if (unlikely(var87
== NULL
)) {
2709 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2710 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
2714 RET_LABEL86
:(void)0;
2718 { /* Inline mmodule#MModule#in_importation (var85) on <var85:MModule> */
2719 var90
= var85
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var85:MModule> */
2720 if (unlikely(var90
== NULL
)) {
2721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2722 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
2726 RET_LABEL89
:(void)0;
2730 var91
= poset___poset__POSetElement___greaters(var88
);
2734 var92
= ((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]>*/
2739 var94
= ((short int(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_93
); /* is_ok on <var_93:Iterator[MModule]>*/
2746 var95
= ((val
*(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_93
); /* item on <var_93:Iterator[MModule]>*/
2750 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2751 var98
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2752 if (unlikely(var98
== NULL
)) {
2753 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2754 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2758 RET_LABEL97
:(void)0;
2762 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(var96
, var_m
); /* Direct call separate_compiler#SeparateCompiler#finalize_ffi_for_module on <var96:AbstractCompiler>*/
2765 ((void(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_93
); /* next on <var_93:Iterator[MModule]>*/
2768 BREAK_label
: (void)0;
2770 ((void(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_93
); /* finish on <var_93:Iterator[MModule]>*/
2773 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2774 var101
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2775 if (unlikely(var101
== NULL
)) {
2776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2777 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2781 RET_LABEL100
:(void)0;
2785 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var99) on <var99:AbstractCompiler> */
2786 var104
= var99
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var99:AbstractCompiler> */
2787 if (unlikely(var104
== NULL
)) {
2788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2789 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1013);
2793 RET_LABEL103
:(void)0;
2798 var106
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_105
);
2803 var108
= ((short int(*)(val
* self
))((((long)var_107
&3)?class_info
[((long)var_107
&3)]:var_107
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_107
); /* is_ok on <var_107:IndexedIterator[String]>*/
2807 goto BREAK_label109
;
2810 var110
= ((val
*(*)(val
* self
))((((long)var_107
&3)?class_info
[((long)var_107
&3)]:var_107
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_107
); /* item on <var_107:IndexedIterator[String]>*/
2814 var111
= ((val
*(*)(val
* self
, val
* p0
))(var_src
->class->vft
[COLOR_core__file__String__basename
]))(var_src
, ((val
*)NULL
)); /* basename on <var_src:String>*/
2816 var_basename
= var111
;
2817 if (unlikely(varonce112
==NULL
)) {
2818 var113
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2819 if (likely(varonce114
!=NULL
)) {
2820 var115
= varonce114
;
2823 var117
= core__flat___NativeString___to_s_full(var116
, 1l, 1l);
2825 varonce114
= var115
;
2827 ((struct instance_core__NativeArray
*)var113
)->values
[1]=var115
;
2829 var113
= varonce112
;
2832 ((struct instance_core__NativeArray
*)var113
)->values
[0]=var_compile_dir
;
2833 ((struct instance_core__NativeArray
*)var113
)->values
[2]=var_basename
;
2835 var118
= ((val
*(*)(val
* self
))(var113
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var113
); /* native_to_s on <var113:NativeArray[String]>*/
2837 varonce112
= var113
;
2840 core__file___String___file_copy_to(var_src
, var_dst
); /* Direct call file#String#file_copy_to on <var_src:String>*/
2843 ((void(*)(val
* self
))((((long)var_107
&3)?class_info
[((long)var_107
&3)]:var_107
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_107
); /* next on <var_107:IndexedIterator[String]>*/
2846 BREAK_label109
: (void)0;
2848 ((void(*)(val
* self
))((((long)var_107
&3)?class_info
[((long)var_107
&3)]:var_107
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_107
); /* finish on <var_107:IndexedIterator[String]>*/
2851 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2852 var121
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2853 if (unlikely(var121
== NULL
)) {
2854 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2855 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2859 RET_LABEL120
:(void)0;
2863 { /* Inline abstract_compiler#AbstractCompiler#header (var119) on <var119:AbstractCompiler> */
2864 var124
= var119
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var119:AbstractCompiler> */
2865 if (unlikely(var124
== NULL
)) {
2866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2867 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2871 RET_LABEL123
:(void)0;
2875 { /* Inline abstract_compiler#CodeWriter#file (var122) on <var122:CodeWriter> */
2876 var127
= var122
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___file
].val
; /* _file on <var122:CodeWriter> */
2877 if (unlikely(var127
== NULL
)) {
2878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
2879 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1111);
2883 RET_LABEL126
:(void)0;
2887 { /* Inline abstract_compiler#CodeFile#name (var125) on <var125:CodeFile> */
2888 var130
= var125
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var125:CodeFile> */
2889 if (unlikely(var130
== NULL
)) {
2890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2891 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1104);
2895 RET_LABEL129
:(void)0;
2898 if (likely(varonce131
!=NULL
)) {
2899 var132
= varonce131
;
2902 var134
= core__flat___NativeString___to_s_full(var133
, 2l, 2l);
2904 varonce131
= var132
;
2907 var135
= ((val
*(*)(val
* self
, val
* p0
))(var128
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var128
, var132
); /* + on <var128:String>*/
2909 var_hfilename
= var135
;
2910 if (unlikely(varonce136
==NULL
)) {
2911 var137
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
2912 if (likely(varonce138
!=NULL
)) {
2913 var139
= varonce138
;
2916 var141
= core__flat___NativeString___to_s_full(var140
, 1l, 1l);
2918 varonce138
= var139
;
2920 ((struct instance_core__NativeArray
*)var137
)->values
[1]=var139
;
2922 var137
= varonce136
;
2925 ((struct instance_core__NativeArray
*)var137
)->values
[0]=var_compile_dir
;
2926 ((struct instance_core__NativeArray
*)var137
)->values
[2]=var_hfilename
;
2928 var142
= ((val
*(*)(val
* self
))(var137
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var137
); /* native_to_s on <var137:NativeArray[String]>*/
2930 varonce136
= var137
;
2931 var_hfilepath
= var142
;
2932 var143
= NEW_core__FileWriter(&type_core__FileWriter
);
2934 core___core__FileWriter___open(var143
, var_hfilepath
); /* Direct call file#FileWriter#open on <var143:FileWriter>*/
2938 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2939 var146
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2940 if (unlikely(var146
== NULL
)) {
2941 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2942 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
2946 RET_LABEL145
:(void)0;
2950 { /* Inline abstract_compiler#AbstractCompiler#header (var144) on <var144:AbstractCompiler> */
2951 var149
= var144
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var144:AbstractCompiler> */
2952 if (unlikely(var149
== NULL
)) {
2953 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2954 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
2958 RET_LABEL148
:(void)0;
2962 { /* Inline abstract_compiler#CodeWriter#decl_lines (var147) on <var147:CodeWriter> */
2963 var152
= var147
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var147:CodeWriter> */
2964 if (unlikely(var152
== NULL
)) {
2965 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
2966 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1113);
2970 RET_LABEL151
:(void)0;
2975 var154
= core___core__List___core__abstract_collection__Collection__iterator(var_153
);
2980 var156
= core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_155
);
2984 goto BREAK_label157
;
2987 var158
= core___core__ListIterator___core__abstract_collection__Iterator__item(var_155
);
2991 core___core__FileWriter___core__stream__Writer__write(var_h
, var_l
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
2993 if (likely(varonce159
!=NULL
)) {
2994 var160
= varonce159
;
2997 var162
= core__flat___NativeString___to_s_full(var161
, 1l, 1l);
2999 varonce159
= var160
;
3002 core___core__FileWriter___core__stream__Writer__write(var_h
, var160
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
3005 ((void(*)(val
* self
))(var_155
->class->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_155
); /* next on <var_155:ListIterator[String]>*/
3008 BREAK_label157
: (void)0;
3010 { /* Inline abstract_collection#Iterator#finish (var_155) on <var_155:ListIterator[String]> */
3011 RET_LABEL163
:(void)0;
3015 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3016 var166
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3017 if (unlikely(var166
== NULL
)) {
3018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3019 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3023 RET_LABEL165
:(void)0;
3027 { /* Inline abstract_compiler#AbstractCompiler#header (var164) on <var164:AbstractCompiler> */
3028 var169
= var164
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var164:AbstractCompiler> */
3029 if (unlikely(var169
== NULL
)) {
3030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3031 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3035 RET_LABEL168
:(void)0;
3039 { /* Inline abstract_compiler#CodeWriter#lines (var167) on <var167:CodeWriter> */
3040 var172
= var167
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var167:CodeWriter> */
3041 if (unlikely(var172
== NULL
)) {
3042 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3043 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1112);
3047 RET_LABEL171
:(void)0;
3052 var174
= core___core__List___core__abstract_collection__Collection__iterator(var_173
);
3057 var176
= core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_175
);
3061 goto BREAK_label177
;
3064 var178
= core___core__ListIterator___core__abstract_collection__Iterator__item(var_175
);
3068 core___core__FileWriter___core__stream__Writer__write(var_h
, var_l179
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
3070 if (likely(varonce180
!=NULL
)) {
3071 var181
= varonce180
;
3074 var183
= core__flat___NativeString___to_s_full(var182
, 1l, 1l);
3076 varonce180
= var181
;
3079 core___core__FileWriter___core__stream__Writer__write(var_h
, var181
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
3082 ((void(*)(val
* self
))(var_175
->class->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_175
); /* next on <var_175:ListIterator[String]>*/
3085 BREAK_label177
: (void)0;
3087 { /* Inline abstract_collection#Iterator#finish (var_175) on <var_175:ListIterator[String]> */
3088 RET_LABEL184
:(void)0;
3092 core___core__FileWriter___core__stream__Stream__close(var_h
); /* Direct call file#FileWriter#close on <var_h:FileWriter>*/
3095 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3096 var187
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3097 if (unlikely(var187
== NULL
)) {
3098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3099 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
3103 RET_LABEL186
:(void)0;
3107 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (var185) on <var185:ToolContext> */
3108 var190
= var185
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <var185:ToolContext> */
3109 if (unlikely(var190
== NULL
)) {
3110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
3111 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 40);
3115 RET_LABEL189
:(void)0;
3119 { /* Inline opts#Option#value (var188) on <var188:OptionInt> */
3120 var193
= var188
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var188:OptionInt> */
3122 RET_LABEL192
:(void)0;
3125 var194
= (long)(var191
)>>2;
3126 var_max_c_lines
= var194
;
3128 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3129 var197
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3130 if (unlikely(var197
== NULL
)) {
3131 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3132 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3136 RET_LABEL196
:(void)0;
3140 { /* Inline abstract_compiler#AbstractCompiler#files (var195) on <var195:AbstractCompiler> */
3141 var200
= var195
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var195:AbstractCompiler> */
3142 if (unlikely(var200
== NULL
)) {
3143 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3144 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
3148 RET_LABEL199
:(void)0;
3153 var202
= core___core__List___core__abstract_collection__Collection__iterator(var_201
);
3158 var204
= core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_203
);
3162 goto BREAK_label205
;
3165 var206
= core___core__ListIterator___core__abstract_collection__Iterator__item(var_203
);
3170 var_file
= ((val
*)NULL
);
3172 { /* Inline abstract_compiler#CodeFile#writers (var_f) on <var_f:CodeFile> */
3173 var209
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_f:CodeFile> */
3174 if (unlikely(var209
== NULL
)) {
3175 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
3176 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1105);
3180 RET_LABEL208
:(void)0;
3185 var211
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_210
);
3190 var213
= ((short int(*)(val
* self
))((((long)var_212
&3)?class_info
[((long)var_212
&3)]:var_212
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_212
); /* is_ok on <var_212:IndexedIterator[CodeWriter]>*/
3194 goto BREAK_label214
;
3197 var215
= ((val
*(*)(val
* self
))((((long)var_212
&3)?class_info
[((long)var_212
&3)]:var_212
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_212
); /* item on <var_212:IndexedIterator[CodeWriter]>*/
3201 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3202 var218
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3203 if (unlikely(var218
== NULL
)) {
3204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3205 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3209 RET_LABEL217
:(void)0;
3213 { /* Inline abstract_compiler#AbstractCompiler#header (var216) on <var216:AbstractCompiler> */
3214 var221
= var216
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var216:AbstractCompiler> */
3215 if (unlikely(var221
== NULL
)) {
3216 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3217 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
3221 RET_LABEL220
:(void)0;
3225 { /* Inline kernel#Object#== (var_vis,var219) on <var_vis:CodeWriter> */
3226 var_other224
= var219
;
3228 { /* Inline kernel#Object#is_same_instance (var_vis,var_other224) on <var_vis:CodeWriter> */
3229 var227
= var_vis
== var_other224
;
3232 RET_LABEL226
:(void)0;
3237 RET_LABEL223
:(void)0;
3241 goto BREAK_label228
;
3245 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3246 var231
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3247 if (unlikely(var231
== NULL
)) {
3248 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3249 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1112);
3253 RET_LABEL230
:(void)0;
3257 { /* Inline list#List#length (var229) on <var229:List[String]> */
3258 var234
= var229
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var229:List[String]> */
3260 RET_LABEL233
:(void)0;
3264 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3265 var237
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3266 if (unlikely(var237
== NULL
)) {
3267 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3268 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1113);
3272 RET_LABEL236
:(void)0;
3276 { /* Inline list#List#length (var235) on <var235:List[String]> */
3277 var240
= var235
->attrs
[COLOR_core__list__List___length
].l
; /* _length on <var235:List[String]> */
3279 RET_LABEL239
:(void)0;
3283 { /* Inline kernel#Int#+ (var232,var238) on <var232:Int> */
3284 /* Covariant cast for argument 0 (i) <var238:Int> isa OTHER */
3285 /* <var238:Int> isa OTHER */
3286 var243
= 1; /* easy <var238:Int> isa OTHER*/
3287 if (unlikely(!var243
)) {
3288 var_class_name
= type_core__Int
.name
;
3289 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3290 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3293 var244
= var232
+ var238
;
3296 RET_LABEL242
:(void)0;
3299 var_total_lines
= var241
;
3301 { /* Inline kernel#Int#== (var_total_lines,0l) on <var_total_lines:Int> */
3302 var247
= var_total_lines
== 0l;
3305 RET_LABEL246
:(void)0;
3309 goto BREAK_label228
;
3313 { /* Inline kernel#Int#+ (var_count,var_total_lines) on <var_count:Int> */
3314 /* Covariant cast for argument 0 (i) <var_total_lines:Int> isa OTHER */
3315 /* <var_total_lines:Int> isa OTHER */
3316 var250
= 1; /* easy <var_total_lines:Int> isa OTHER*/
3317 if (unlikely(!var250
)) {
3318 var_class_name253
= type_core__Int
.name
;
3319 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name253
);
3320 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3323 var254
= var_count
+ var_total_lines
;
3326 RET_LABEL249
:(void)0;
3330 if (var_file
== NULL
) {
3331 var256
= 1; /* is null */
3333 var256
= 0; /* arg is null but recv is not */
3336 { /* Inline kernel#Object#== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3337 var_other224
= ((val
*)NULL
);
3339 { /* Inline kernel#Object#is_same_instance (var_file,var_other224) on <var_file:nullable FileWriter(FileWriter)> */
3340 var261
= var_file
== var_other224
;
3343 RET_LABEL260
:(void)0;
3348 RET_LABEL258
:(void)0;
3357 { /* Inline kernel#Int#> (var_count,var_max_c_lines) on <var_count:Int> */
3358 /* Covariant cast for argument 0 (i) <var_max_c_lines:Int> isa OTHER */
3359 /* <var_max_c_lines:Int> isa OTHER */
3360 var266
= 1; /* easy <var_max_c_lines:Int> isa OTHER*/
3361 if (unlikely(!var266
)) {
3362 var_class_name269
= type_core__Int
.name
;
3363 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name269
);
3364 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3367 var270
= var_count
> var_max_c_lines
;
3370 RET_LABEL265
:(void)0;
3376 { /* Inline kernel#Int#> (var_max_c_lines,0l) on <var_max_c_lines:Int> */
3377 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3378 /* <0l:Int> isa OTHER */
3379 var274
= 1; /* easy <0l:Int> isa OTHER*/
3380 if (unlikely(!var274
)) {
3381 var_class_name277
= type_core__Int
.name
;
3382 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name277
);
3383 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 730);
3386 var278
= var_max_c_lines
> 0l;
3389 RET_LABEL273
:(void)0;
3400 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
3401 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3402 /* <1l:Int> isa OTHER */
3403 var281
= 1; /* easy <1l:Int> isa OTHER*/
3404 if (unlikely(!var281
)) {
3405 var_class_name284
= type_core__Int
.name
;
3406 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name284
);
3407 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 731);
3410 var285
= var_i
+ 1l;
3413 RET_LABEL280
:(void)0;
3417 if (var_file
== NULL
) {
3418 var286
= 0; /* is null */
3420 var286
= 1; /* arg is null and recv is not */
3423 { /* Inline kernel#Object#!= (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3424 var_other
= ((val
*)NULL
);
3426 var289
= ((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)>*/
3431 RET_LABEL288
:(void)0;
3437 core___core__FileWriter___core__stream__Stream__close(var_file
); /* Direct call file#FileWriter#close on <var_file:nullable FileWriter(FileWriter)>*/
3441 if (unlikely(varonce291
==NULL
)) {
3442 var292
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
3443 if (likely(varonce293
!=NULL
)) {
3444 var294
= varonce293
;
3447 var296
= core__flat___NativeString___to_s_full(var295
, 1l, 1l);
3449 varonce293
= var294
;
3451 ((struct instance_core__NativeArray
*)var292
)->values
[1]=var294
;
3452 if (likely(varonce297
!=NULL
)) {
3453 var298
= varonce297
;
3456 var300
= core__flat___NativeString___to_s_full(var299
, 2l, 2l);
3458 varonce297
= var298
;
3460 ((struct instance_core__NativeArray
*)var292
)->values
[3]=var298
;
3462 var292
= varonce291
;
3466 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3467 var303
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3468 if (unlikely(var303
== NULL
)) {
3469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3470 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1104);
3474 RET_LABEL302
:(void)0;
3477 ((struct instance_core__NativeArray
*)var292
)->values
[0]=var301
;
3478 var304
= core__flat___Int___core__abstract_text__Object__to_s(var_i
);
3479 ((struct instance_core__NativeArray
*)var292
)->values
[2]=var304
;
3481 var305
= ((val
*(*)(val
* self
))(var292
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var292
); /* native_to_s on <var292:NativeArray[String]>*/
3483 varonce291
= var292
;
3484 var_cfilename
= var305
;
3485 if (unlikely(varonce306
==NULL
)) {
3486 var307
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3487 if (likely(varonce308
!=NULL
)) {
3488 var309
= varonce308
;
3491 var311
= core__flat___NativeString___to_s_full(var310
, 1l, 1l);
3493 varonce308
= var309
;
3495 ((struct instance_core__NativeArray
*)var307
)->values
[1]=var309
;
3497 var307
= varonce306
;
3500 ((struct instance_core__NativeArray
*)var307
)->values
[0]=var_compile_dir
;
3501 ((struct instance_core__NativeArray
*)var307
)->values
[2]=var_cfilename
;
3503 var312
= ((val
*(*)(val
* self
))(var307
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var307
); /* native_to_s on <var307:NativeArray[String]>*/
3505 varonce306
= var307
;
3506 var_cfilepath
= var312
;
3508 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3509 var315
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3510 if (unlikely(var315
== NULL
)) {
3511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3512 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
3516 RET_LABEL314
:(void)0;
3519 if (unlikely(varonce316
==NULL
)) {
3520 var317
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3521 if (likely(varonce318
!=NULL
)) {
3522 var319
= varonce318
;
3524 var320
= "new C source files to compile: ";
3525 var321
= core__flat___NativeString___to_s_full(var320
, 31l, 31l);
3527 varonce318
= var319
;
3529 ((struct instance_core__NativeArray
*)var317
)->values
[0]=var319
;
3531 var317
= varonce316
;
3534 ((struct instance_core__NativeArray
*)var317
)->values
[1]=var_cfilepath
;
3536 var322
= ((val
*(*)(val
* self
))(var317
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var317
); /* native_to_s on <var317:NativeArray[String]>*/
3538 varonce316
= var317
;
3540 nitc___nitc__ToolContext___info(var313
, var322
, 3l); /* Direct call toolcontext#ToolContext#info on <var313:ToolContext>*/
3543 core___core__Array___core__abstract_collection__SimpleCollection__add(var_cfiles
, var_cfilename
); /* Direct call array#Array#add on <var_cfiles:Array[String]>*/
3545 var323
= NEW_core__FileWriter(&type_core__FileWriter
);
3547 core___core__FileWriter___open(var323
, var_cfilepath
); /* Direct call file#FileWriter#open on <var323:FileWriter>*/
3550 if (unlikely(varonce324
==NULL
)) {
3551 var325
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3552 if (likely(varonce326
!=NULL
)) {
3553 var327
= varonce326
;
3555 var328
= "#include \"";
3556 var329
= core__flat___NativeString___to_s_full(var328
, 10l, 10l);
3558 varonce326
= var327
;
3560 ((struct instance_core__NativeArray
*)var325
)->values
[0]=var327
;
3561 if (likely(varonce330
!=NULL
)) {
3562 var331
= varonce330
;
3564 var332
= ".0.h\"\n";
3565 var333
= core__flat___NativeString___to_s_full(var332
, 6l, 6l);
3567 varonce330
= var331
;
3569 ((struct instance_core__NativeArray
*)var325
)->values
[2]=var331
;
3571 var325
= varonce324
;
3575 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3576 var336
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3577 if (unlikely(var336
== NULL
)) {
3578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1104);
3583 RET_LABEL335
:(void)0;
3586 ((struct instance_core__NativeArray
*)var325
)->values
[1]=var334
;
3588 var337
= ((val
*(*)(val
* self
))(var325
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var325
); /* native_to_s on <var325:NativeArray[String]>*/
3590 varonce324
= var325
;
3592 core___core__FileWriter___core__stream__Writer__write(var_file
, var337
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3594 var_count
= var_total_lines
;
3598 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3599 var340
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3600 if (unlikely(var340
== NULL
)) {
3601 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3602 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1113);
3606 RET_LABEL339
:(void)0;
3611 var342
= core___core__List___core__abstract_collection__Collection__iterator(var_341
);
3616 var344
= core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_343
);
3620 goto BREAK_label345
;
3623 var346
= core___core__ListIterator___core__abstract_collection__Iterator__item(var_343
);
3627 core___core__FileWriter___core__stream__Writer__write(var_file
, var_l347
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3629 if (likely(varonce348
!=NULL
)) {
3630 var349
= varonce348
;
3633 var351
= core__flat___NativeString___to_s_full(var350
, 1l, 1l);
3635 varonce348
= var349
;
3638 core___core__FileWriter___core__stream__Writer__write(var_file
, var349
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3641 ((void(*)(val
* self
))(var_343
->class->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_343
); /* next on <var_343:ListIterator[String]>*/
3644 BREAK_label345
: (void)0;
3646 { /* Inline abstract_collection#Iterator#finish (var_343) on <var_343:ListIterator[String]> */
3647 RET_LABEL352
:(void)0;
3651 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3652 var355
= var_vis
->attrs
[COLOR_nitc__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3653 if (unlikely(var355
== NULL
)) {
3654 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3655 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1112);
3659 RET_LABEL354
:(void)0;
3664 var357
= core___core__List___core__abstract_collection__Collection__iterator(var_356
);
3669 var359
= core___core__ListIterator___core__abstract_collection__Iterator__is_ok(var_358
);
3673 goto BREAK_label360
;
3676 var361
= core___core__ListIterator___core__abstract_collection__Iterator__item(var_358
);
3680 core___core__FileWriter___core__stream__Writer__write(var_file
, var_l362
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3682 if (likely(varonce363
!=NULL
)) {
3683 var364
= varonce363
;
3686 var366
= core__flat___NativeString___to_s_full(var365
, 1l, 1l);
3688 varonce363
= var364
;
3691 core___core__FileWriter___core__stream__Writer__write(var_file
, var364
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3694 ((void(*)(val
* self
))(var_358
->class->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_358
); /* next on <var_358:ListIterator[String]>*/
3697 BREAK_label360
: (void)0;
3699 { /* Inline abstract_collection#Iterator#finish (var_358) on <var_358:ListIterator[String]> */
3700 RET_LABEL367
:(void)0;
3703 BREAK_label228
: (void)0;
3705 ((void(*)(val
* self
))((((long)var_212
&3)?class_info
[((long)var_212
&3)]:var_212
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_212
); /* next on <var_212:IndexedIterator[CodeWriter]>*/
3708 BREAK_label214
: (void)0;
3710 ((void(*)(val
* self
))((((long)var_212
&3)?class_info
[((long)var_212
&3)]:var_212
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_212
); /* finish on <var_212:IndexedIterator[CodeWriter]>*/
3712 if (var_file
== NULL
) {
3713 var368
= 1; /* is null */
3715 var368
= 0; /* arg is null but recv is not */
3718 { /* Inline kernel#Object#== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3719 var_other224
= ((val
*)NULL
);
3721 { /* Inline kernel#Object#is_same_instance (var_file,var_other224) on <var_file:nullable FileWriter(FileWriter)> */
3722 var373
= var_file
== var_other224
;
3725 RET_LABEL372
:(void)0;
3730 RET_LABEL370
:(void)0;
3735 goto BREAK_label374
;
3739 core___core__FileWriter___core__stream__Stream__close(var_file
); /* Direct call file#FileWriter#close on <var_file:nullable FileWriter(FileWriter)>*/
3741 if (unlikely(varonce375
==NULL
)) {
3742 var376
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3743 if (likely(varonce377
!=NULL
)) {
3744 var378
= varonce377
;
3747 var380
= core__flat___NativeString___to_s_full(var379
, 4l, 4l);
3749 varonce377
= var378
;
3751 ((struct instance_core__NativeArray
*)var376
)->values
[1]=var378
;
3753 var376
= varonce375
;
3757 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3758 var383
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3759 if (unlikely(var383
== NULL
)) {
3760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3761 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1104);
3765 RET_LABEL382
:(void)0;
3768 ((struct instance_core__NativeArray
*)var376
)->values
[0]=var381
;
3770 var384
= ((val
*(*)(val
* self
))(var376
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var376
); /* native_to_s on <var376:NativeArray[String]>*/
3772 varonce375
= var376
;
3773 var_cfilename385
= var384
;
3774 if (unlikely(varonce386
==NULL
)) {
3775 var387
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3776 if (likely(varonce388
!=NULL
)) {
3777 var389
= varonce388
;
3780 var391
= core__flat___NativeString___to_s_full(var390
, 1l, 1l);
3782 varonce388
= var389
;
3784 ((struct instance_core__NativeArray
*)var387
)->values
[1]=var389
;
3786 var387
= varonce386
;
3789 ((struct instance_core__NativeArray
*)var387
)->values
[0]=var_compile_dir
;
3790 ((struct instance_core__NativeArray
*)var387
)->values
[2]=var_cfilename385
;
3792 var392
= ((val
*(*)(val
* self
))(var387
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var387
); /* native_to_s on <var387:NativeArray[String]>*/
3794 varonce386
= var387
;
3795 var_cfilepath393
= var392
;
3796 var_hfile
= ((val
*)NULL
);
3797 var394
= NEW_core__FileWriter(&type_core__FileWriter
);
3799 core___core__FileWriter___open(var394
, var_cfilepath393
); /* Direct call file#FileWriter#open on <var394:FileWriter>*/
3802 if (unlikely(varonce395
==NULL
)) {
3803 var396
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
3804 if (likely(varonce397
!=NULL
)) {
3805 var398
= varonce397
;
3807 var399
= "#include \"";
3808 var400
= core__flat___NativeString___to_s_full(var399
, 10l, 10l);
3810 varonce397
= var398
;
3812 ((struct instance_core__NativeArray
*)var396
)->values
[0]=var398
;
3813 if (likely(varonce401
!=NULL
)) {
3814 var402
= varonce401
;
3817 var404
= core__flat___NativeString___to_s_full(var403
, 2l, 2l);
3819 varonce401
= var402
;
3821 ((struct instance_core__NativeArray
*)var396
)->values
[2]=var402
;
3823 var396
= varonce395
;
3826 ((struct instance_core__NativeArray
*)var396
)->values
[1]=var_hfilename
;
3828 var405
= ((val
*(*)(val
* self
))(var396
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var396
); /* native_to_s on <var396:NativeArray[String]>*/
3830 varonce395
= var396
;
3832 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var405
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
3835 { /* Inline abstract_compiler#CodeFile#required_declarations (var_f) on <var_f:CodeFile> */
3836 var408
= var_f
->attrs
[COLOR_nitc__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var_f:CodeFile> */
3837 if (unlikely(var408
== NULL
)) {
3838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
3839 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1106);
3843 RET_LABEL407
:(void)0;
3848 var410
= core___core__HashSet___core__abstract_collection__Collection__iterator(var_409
);
3853 var412
= ((short int(*)(val
* self
))((((long)var_411
&3)?class_info
[((long)var_411
&3)]:var_411
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_411
); /* is_ok on <var_411:Iterator[String]>*/
3857 goto BREAK_label413
;
3860 var414
= ((val
*(*)(val
* self
))((((long)var_411
&3)?class_info
[((long)var_411
&3)]:var_411
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_411
); /* item on <var_411:Iterator[String]>*/
3864 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3865 var417
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3866 if (unlikely(var417
== NULL
)) {
3867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3872 RET_LABEL416
:(void)0;
3876 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var415) on <var415:AbstractCompiler> */
3877 var420
= var415
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var415:AbstractCompiler> */
3878 if (unlikely(var420
== NULL
)) {
3879 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
3880 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
3884 RET_LABEL419
:(void)0;
3888 var421
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var418
, var_key
);
3893 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3894 var425
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3895 if (unlikely(var425
== NULL
)) {
3896 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3897 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
3901 RET_LABEL424
:(void)0;
3905 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var423) on <var423:AbstractCompiler> */
3906 var428
= var423
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var423:AbstractCompiler> */
3907 if (unlikely(var428
== NULL
)) {
3908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
3909 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 603);
3913 RET_LABEL427
:(void)0;
3917 var429
= core___core__HashMap___core__abstract_collection__MapRead__get_or_null(var426
, var_key
);
3920 if (var_node
== NULL
) {
3921 var430
= 0; /* is null */
3923 var430
= 1; /* arg is null and recv is not */
3926 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ANode> */
3927 var_other
= ((val
*)NULL
);
3929 var433
= ((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)>*/
3934 RET_LABEL432
:(void)0;
3939 if (unlikely(varonce435
==NULL
)) {
3940 var436
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3941 if (likely(varonce437
!=NULL
)) {
3942 var438
= varonce437
;
3944 var439
= "No provided declaration for ";
3945 var440
= core__flat___NativeString___to_s_full(var439
, 28l, 28l);
3947 varonce437
= var438
;
3949 ((struct instance_core__NativeArray
*)var436
)->values
[0]=var438
;
3951 var436
= varonce435
;
3954 ((struct instance_core__NativeArray
*)var436
)->values
[1]=var_key
;
3956 var441
= ((val
*(*)(val
* self
))(var436
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var436
); /* native_to_s on <var436:NativeArray[String]>*/
3958 varonce435
= var436
;
3960 nitc___nitc__ANode___debug(var_node
, var441
); /* Direct call parser_nodes#ANode#debug on <var_node:nullable ANode(ANode)>*/
3964 if (unlikely(varonce443
==NULL
)) {
3965 var444
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
3966 if (likely(varonce445
!=NULL
)) {
3967 var446
= varonce445
;
3969 var447
= "No provided declaration for ";
3970 var448
= core__flat___NativeString___to_s_full(var447
, 28l, 28l);
3972 varonce445
= var446
;
3974 ((struct instance_core__NativeArray
*)var444
)->values
[0]=var446
;
3976 var444
= varonce443
;
3979 ((struct instance_core__NativeArray
*)var444
)->values
[1]=var_key
;
3981 var449
= ((val
*(*)(val
* self
))(var444
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var444
); /* native_to_s on <var444:NativeArray[String]>*/
3983 varonce443
= var444
;
3985 core__file___Sys___print(var442
, var449
); /* Direct call file#Sys#print on <var442:Sys>*/
3988 PRINT_ERROR("Runtime error: %s", "Aborted");
3989 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 293);
3994 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3995 var452
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3996 if (unlikely(var452
== NULL
)) {
3997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3998 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4002 RET_LABEL451
:(void)0;
4006 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var450) on <var450:AbstractCompiler> */
4007 var455
= var450
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var450:AbstractCompiler> */
4008 if (unlikely(var455
== NULL
)) {
4009 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
4010 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
4014 RET_LABEL454
:(void)0;
4018 var456
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var453
, var_key
);
4021 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var456
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
4023 if (likely(varonce457
!=NULL
)) {
4024 var458
= varonce457
;
4027 var460
= core__flat___NativeString___to_s_full(var459
, 1l, 1l);
4029 varonce457
= var458
;
4032 core___core__FileWriter___core__stream__Writer__write(var_hfile
, var458
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
4035 ((void(*)(val
* self
))((((long)var_411
&3)?class_info
[((long)var_411
&3)]:var_411
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_411
); /* next on <var_411:Iterator[String]>*/
4038 BREAK_label413
: (void)0;
4040 ((void(*)(val
* self
))((((long)var_411
&3)?class_info
[((long)var_411
&3)]:var_411
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_411
); /* finish on <var_411:Iterator[String]>*/
4043 core___core__FileWriter___core__stream__Stream__close(var_hfile
); /* Direct call file#FileWriter#close on <var_hfile:nullable FileWriter(FileWriter)>*/
4045 BREAK_label374
: (void)0;
4047 ((void(*)(val
* self
))(var_203
->class->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_203
); /* next on <var_203:ListIterator[CodeFile]>*/
4050 BREAK_label205
: (void)0;
4052 { /* Inline abstract_collection#Iterator#finish (var_203) on <var_203:ListIterator[CodeFile]> */
4053 RET_LABEL461
:(void)0;
4057 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4058 var464
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4059 if (unlikely(var464
== NULL
)) {
4060 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4061 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4065 RET_LABEL463
:(void)0;
4068 if (unlikely(varonce465
==NULL
)) {
4069 var466
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4070 if (likely(varonce467
!=NULL
)) {
4071 var468
= varonce467
;
4073 var469
= "Total C source files to compile: ";
4074 var470
= core__flat___NativeString___to_s_full(var469
, 33l, 33l);
4076 varonce467
= var468
;
4078 ((struct instance_core__NativeArray
*)var466
)->values
[0]=var468
;
4080 var466
= varonce465
;
4084 { /* Inline array#AbstractArrayRead#length (var_cfiles) on <var_cfiles:Array[String]> */
4085 var473
= var_cfiles
->attrs
[COLOR_core__array__AbstractArrayRead___length
].l
; /* _length on <var_cfiles:Array[String]> */
4087 RET_LABEL472
:(void)0;
4090 var474
= core__flat___Int___core__abstract_text__Object__to_s(var471
);
4091 ((struct instance_core__NativeArray
*)var466
)->values
[1]=var474
;
4093 var475
= ((val
*(*)(val
* self
))(var466
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var466
); /* native_to_s on <var466:NativeArray[String]>*/
4095 varonce465
= var466
;
4097 nitc___nitc__ToolContext___info(var462
, var475
, 2l); /* Direct call toolcontext#ToolContext#info on <var462:ToolContext>*/
4101 /* method abstract_compiler#MakefileToolchain#makefile_name for (self: MakefileToolchain): String */
4102 val
* nitc___nitc__MakefileToolchain___makefile_name(val
* self
) {
4103 val
* var
/* : String */;
4104 val
* var1
/* : NativeArray[String] */;
4105 static val
* varonce
;
4106 static val
* varonce2
;
4107 val
* var3
/* : String */;
4108 char* var4
/* : NativeString */;
4109 val
* var5
/* : String */;
4110 val
* var6
/* : AbstractCompiler */;
4111 val
* var8
/* : AbstractCompiler */;
4112 val
* var9
/* : MModule */;
4113 val
* var11
/* : MModule */;
4114 val
* var12
/* : String */;
4115 val
* var13
/* : String */;
4116 if (unlikely(varonce
==NULL
)) {
4117 var1
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
4118 if (likely(varonce2
!=NULL
)) {
4122 var5
= core__flat___NativeString___to_s_full(var4
, 3l, 3l);
4126 ((struct instance_core__NativeArray
*)var1
)->values
[1]=var3
;
4132 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4133 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4134 if (unlikely(var8
== NULL
)) {
4135 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4136 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4144 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var6) on <var6:AbstractCompiler> */
4145 var11
= var6
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var6:AbstractCompiler> */
4146 if (unlikely(var11
== NULL
)) {
4147 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4148 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
4152 RET_LABEL10
:(void)0;
4156 var12
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var9
);
4158 ((struct instance_core__NativeArray
*)var1
)->values
[0]=var12
;
4160 var13
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
4168 /* method abstract_compiler#MakefileToolchain#default_outname for (self: MakefileToolchain): String */
4169 val
* nitc___nitc__MakefileToolchain___default_outname(val
* self
) {
4170 val
* var
/* : String */;
4171 val
* var1
/* : AbstractCompiler */;
4172 val
* var3
/* : AbstractCompiler */;
4173 val
* var4
/* : MModule */;
4174 val
* var6
/* : MModule */;
4175 val
* var7
/* : MModule */;
4176 val
* var_mainmodule
/* var mainmodule: MModule */;
4177 val
* var8
/* : String */;
4178 val
* var10
/* : String */;
4180 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4181 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4182 if (unlikely(var3
== NULL
)) {
4183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4192 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
4193 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
4194 if (unlikely(var6
== NULL
)) {
4195 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4196 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
4204 var7
= nitc___nitc__MModule___first_real_mmodule(var4
);
4206 var_mainmodule
= var7
;
4208 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
4209 var10
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
4210 if (unlikely(var10
== NULL
)) {
4211 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4212 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 95);
4224 /* method abstract_compiler#MakefileToolchain#outfile for (self: MakefileToolchain, MModule): String */
4225 val
* nitc___nitc__MakefileToolchain___outfile(val
* self
, val
* p0
) {
4226 val
* var
/* : String */;
4227 val
* var_mainmodule
/* var mainmodule: MModule */;
4228 val
* var1
/* : ToolContext */;
4229 val
* var3
/* : ToolContext */;
4230 val
* var4
/* : OptionString */;
4231 val
* var6
/* : OptionString */;
4232 val
* var7
/* : nullable Object */;
4233 val
* var9
/* : nullable Object */;
4234 val
* var_res
/* var res: nullable String */;
4235 short int var10
/* : Bool */;
4236 short int var11
/* : Bool */;
4237 val
* var_other
/* var other: nullable Object */;
4238 short int var13
/* : Bool */;
4239 short int var14
/* : Bool */;
4240 val
* var15
/* : String */;
4241 val
* var16
/* : ToolContext */;
4242 val
* var18
/* : ToolContext */;
4243 val
* var19
/* : OptionString */;
4244 val
* var21
/* : OptionString */;
4245 val
* var22
/* : nullable Object */;
4246 val
* var24
/* : nullable Object */;
4247 val
* var_dir
/* var dir: nullable String */;
4248 short int var25
/* : Bool */;
4249 short int var26
/* : Bool */;
4250 short int var28
/* : Bool */;
4251 short int var29
/* : Bool */;
4252 val
* var30
/* : String */;
4253 var_mainmodule
= p0
;
4255 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4256 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4257 if (unlikely(var3
== NULL
)) {
4258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4259 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4267 { /* Inline abstract_compiler#ToolContext#opt_output (var1) on <var1:ToolContext> */
4268 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var1:ToolContext> */
4269 if (unlikely(var6
== NULL
)) {
4270 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
4271 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 30);
4279 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
4280 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
4286 if (var_res
== NULL
) {
4287 var10
= 0; /* is null */
4289 var10
= 1; /* arg is null and recv is not */
4292 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable String> */
4293 var_other
= ((val
*)NULL
);
4295 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)>*/
4300 RET_LABEL12
:(void)0;
4310 var15
= nitc___nitc__MakefileToolchain___default_outname(self
);
4314 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4315 var18
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4316 if (unlikely(var18
== NULL
)) {
4317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4318 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
4322 RET_LABEL17
:(void)0;
4326 { /* Inline abstract_compiler#ToolContext#opt_dir (var16) on <var16:ToolContext> */
4327 var21
= var16
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <var16:ToolContext> */
4328 if (unlikely(var21
== NULL
)) {
4329 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
4330 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 32);
4334 RET_LABEL20
:(void)0;
4338 { /* Inline opts#Option#value (var19) on <var19:OptionString> */
4339 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionString> */
4341 RET_LABEL23
:(void)0;
4345 if (var_dir
== NULL
) {
4346 var25
= 0; /* is null */
4348 var25
= 1; /* arg is null and recv is not */
4351 { /* Inline kernel#Object#!= (var_dir,((val*)NULL)) on <var_dir:nullable String> */
4352 var_other
= ((val
*)NULL
);
4354 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)>*/
4359 RET_LABEL27
:(void)0;
4365 var30
= core__file___String___join_path(var_dir
, var_res
);
4376 /* method abstract_compiler#MakefileToolchain#write_makefile for (self: MakefileToolchain, String, Array[String]) */
4377 void nitc___nitc__MakefileToolchain___write_makefile(val
* self
, val
* p0
, val
* p1
) {
4378 val
* var_compile_dir
/* var compile_dir: String */;
4379 val
* var_cfiles
/* var cfiles: Array[String] */;
4380 val
* var
/* : AbstractCompiler */;
4381 val
* var2
/* : AbstractCompiler */;
4382 val
* var3
/* : MModule */;
4383 val
* var5
/* : MModule */;
4384 val
* var_mainmodule
/* var mainmodule: MModule */;
4385 val
* var6
/* : AbstractCompiler */;
4386 val
* var8
/* : AbstractCompiler */;
4387 val
* var9
/* : Platform */;
4388 val
* var11
/* : Platform */;
4389 val
* var_platform
/* var platform: Platform */;
4390 val
* var12
/* : String */;
4391 val
* var_outname
/* var outname: String */;
4392 val
* var13
/* : String */;
4393 val
* var_real_outpath
/* var real_outpath: String */;
4394 val
* var14
/* : String */;
4395 val
* var_outpath
/* var outpath: String */;
4396 short int var15
/* : Bool */;
4397 val
* var_other
/* var other: nullable Object */;
4398 short int var17
/* : Bool */;
4399 short int var18
/* : Bool */;
4400 val
* var19
/* : String */;
4401 val
* var20
/* : String */;
4402 val
* var_makename
/* var makename: String */;
4403 val
* var21
/* : NativeArray[String] */;
4404 static val
* varonce
;
4405 static val
* varonce22
;
4406 val
* var23
/* : String */;
4407 char* var24
/* : NativeString */;
4408 val
* var25
/* : String */;
4409 val
* var26
/* : String */;
4410 val
* var_makepath
/* var makepath: String */;
4411 val
* var27
/* : FileWriter */;
4412 val
* var_makefile
/* var makefile: FileWriter */;
4413 val
* var28
/* : HashSet[String] */;
4414 val
* var_linker_options
/* var linker_options: HashSet[String] */;
4415 val
* var29
/* : POSetElement[MModule] */;
4416 val
* var31
/* : POSetElement[MModule] */;
4417 val
* var32
/* : Collection[nullable Object] */;
4418 val
* var_
/* var : Collection[MModule] */;
4419 val
* var33
/* : Iterator[nullable Object] */;
4420 val
* var_34
/* var : Iterator[MModule] */;
4421 short int var35
/* : Bool */;
4422 val
* var36
/* : nullable Object */;
4423 val
* var_m
/* var m: MModule */;
4424 val
* var37
/* : nullable Array[String] */;
4425 val
* var_libs
/* var libs: nullable Array[String] */;
4426 short int var38
/* : Bool */;
4427 short int var39
/* : Bool */;
4428 short int var41
/* : Bool */;
4429 short int var42
/* : Bool */;
4430 val
* var43
/* : ToolContext */;
4431 val
* var45
/* : ToolContext */;
4432 val
* var46
/* : OptionBool */;
4433 val
* var48
/* : OptionBool */;
4434 val
* var49
/* : nullable Object */;
4435 val
* var51
/* : nullable Object */;
4436 short int var52
/* : Bool */;
4437 short int var_debug
/* var debug: Bool */;
4438 val
* var54
/* : NativeArray[String] */;
4439 static val
* varonce53
;
4440 static val
* varonce55
;
4441 val
* var56
/* : String */;
4442 char* var57
/* : NativeString */;
4443 val
* var58
/* : String */;
4444 static val
* varonce59
;
4445 val
* var60
/* : String */;
4446 char* var61
/* : NativeString */;
4447 val
* var62
/* : String */;
4448 static val
* varonce63
;
4449 val
* var64
/* : String */;
4450 char* var65
/* : NativeString */;
4451 val
* var66
/* : String */;
4452 val
* var67
/* : String */;
4453 short int var68
/* : Bool */;
4454 static val
* varonce69
;
4455 val
* var70
/* : String */;
4456 char* var71
/* : NativeString */;
4457 val
* var72
/* : String */;
4458 static val
* varonce73
;
4459 val
* var74
/* : String */;
4460 char* var75
/* : NativeString */;
4461 val
* var76
/* : String */;
4462 static val
* varonce77
;
4463 val
* var78
/* : String */;
4464 char* var79
/* : NativeString */;
4465 val
* var80
/* : String */;
4466 val
* var81
/* : String */;
4467 val
* var82
/* : String */;
4468 static val
* varonce83
;
4469 val
* var84
/* : String */;
4470 char* var85
/* : NativeString */;
4471 val
* var86
/* : String */;
4472 short int var87
/* : Bool */;
4473 val
* var88
/* : ToolContext */;
4474 val
* var90
/* : ToolContext */;
4475 val
* var91
/* : OptionBool */;
4476 val
* var93
/* : OptionBool */;
4477 val
* var94
/* : nullable Object */;
4478 val
* var96
/* : nullable Object */;
4479 short int var97
/* : Bool */;
4480 static val
* varonce98
;
4481 val
* var99
/* : String */;
4482 char* var100
/* : NativeString */;
4483 val
* var101
/* : String */;
4484 static val
* varonce102
;
4485 val
* var103
/* : String */;
4486 char* var104
/* : NativeString */;
4487 val
* var105
/* : String */;
4488 static val
* varonce106
;
4489 val
* var107
/* : String */;
4490 char* var108
/* : NativeString */;
4491 val
* var109
/* : String */;
4492 static val
* varonce110
;
4493 val
* var111
/* : String */;
4494 char* var112
/* : NativeString */;
4495 val
* var113
/* : String */;
4496 static val
* varonce114
;
4497 val
* var115
/* : String */;
4498 char* var116
/* : NativeString */;
4499 val
* var117
/* : String */;
4500 short int var118
/* : Bool */;
4501 static val
* varonce119
;
4502 val
* var120
/* : String */;
4503 char* var121
/* : NativeString */;
4504 val
* var122
/* : String */;
4505 static val
* varonce123
;
4506 val
* var124
/* : String */;
4507 char* var125
/* : NativeString */;
4508 val
* var126
/* : String */;
4509 static val
* varonce127
;
4510 val
* var128
/* : String */;
4511 char* var129
/* : NativeString */;
4512 val
* var130
/* : String */;
4513 val
* var132
/* : NativeArray[String] */;
4514 static val
* varonce131
;
4515 static val
* varonce133
;
4516 val
* var134
/* : String */;
4517 char* var135
/* : NativeString */;
4518 val
* var136
/* : String */;
4519 static val
* varonce137
;
4520 val
* var138
/* : String */;
4521 char* var139
/* : NativeString */;
4522 val
* var140
/* : String */;
4523 val
* var141
/* : String */;
4524 short int var142
/* : Bool */;
4525 short int var144
/* : Bool */;
4526 short int var145
/* : Bool */;
4527 val
* var147
/* : NativeArray[String] */;
4528 static val
* varonce146
;
4529 static val
* varonce148
;
4530 val
* var149
/* : String */;
4531 char* var150
/* : NativeString */;
4532 val
* var151
/* : String */;
4533 static val
* varonce152
;
4534 val
* var153
/* : String */;
4535 char* var154
/* : NativeString */;
4536 val
* var155
/* : String */;
4537 val
* var156
/* : String */;
4538 val
* var157
/* : String */;
4539 static val
* varonce158
;
4540 val
* var159
/* : String */;
4541 char* var160
/* : NativeString */;
4542 val
* var161
/* : String */;
4543 static val
* varonce162
;
4544 val
* var163
/* : String */;
4545 char* var164
/* : NativeString */;
4546 val
* var165
/* : String */;
4547 val
* var166
/* : String */;
4548 val
* var167
/* : String */;
4549 static val
* varonce168
;
4550 val
* var169
/* : String */;
4551 char* var170
/* : NativeString */;
4552 val
* var171
/* : String */;
4553 val
* var172
/* : Array[String] */;
4554 val
* var_ofiles
/* var ofiles: Array[String] */;
4555 val
* var173
/* : Array[String] */;
4556 val
* var_dep_rules
/* var dep_rules: Array[String] */;
4557 val
* var_174
/* var : Array[String] */;
4558 val
* var175
/* : IndexedIterator[nullable Object] */;
4559 val
* var_176
/* var : IndexedIterator[String] */;
4560 short int var177
/* : Bool */;
4561 val
* var179
/* : nullable Object */;
4562 val
* var_f
/* var f: String */;
4563 static val
* varonce180
;
4564 val
* var181
/* : String */;
4565 char* var182
/* : NativeString */;
4566 val
* var183
/* : String */;
4567 val
* var184
/* : String */;
4568 static val
* varonce185
;
4569 val
* var186
/* : String */;
4570 char* var187
/* : NativeString */;
4571 val
* var188
/* : String */;
4572 val
* var189
/* : String */;
4573 val
* var_o
/* var o: String */;
4574 val
* var191
/* : NativeArray[String] */;
4575 static val
* varonce190
;
4576 static val
* varonce192
;
4577 val
* var193
/* : String */;
4578 char* var194
/* : NativeString */;
4579 val
* var195
/* : String */;
4580 static val
* varonce196
;
4581 val
* var197
/* : String */;
4582 char* var198
/* : NativeString */;
4583 val
* var199
/* : String */;
4584 static val
* varonce200
;
4585 val
* var201
/* : String */;
4586 char* var202
/* : NativeString */;
4587 val
* var203
/* : String */;
4588 static val
* varonce204
;
4589 val
* var205
/* : String */;
4590 char* var206
/* : NativeString */;
4591 val
* var207
/* : String */;
4592 val
* var208
/* : String */;
4593 val
* var209
/* : AbstractCompiler */;
4594 val
* var211
/* : AbstractCompiler */;
4595 val
* var212
/* : Array[String] */;
4596 val
* var214
/* : Array[String] */;
4597 short int var215
/* : Bool */;
4598 short int var216
/* : Bool */;
4599 val
* var218
/* : NativeArray[String] */;
4600 static val
* varonce217
;
4601 static val
* varonce219
;
4602 val
* var220
/* : String */;
4603 char* var221
/* : NativeString */;
4604 val
* var222
/* : String */;
4605 val
* var223
/* : String */;
4606 val
* var_linker_script_path
/* var linker_script_path: String */;
4607 static val
* varonce224
;
4608 val
* var225
/* : String */;
4609 char* var226
/* : NativeString */;
4610 val
* var227
/* : String */;
4611 val
* var228
/* : FileWriter */;
4612 val
* var_f229
/* var f: FileWriter */;
4613 val
* var230
/* : AbstractCompiler */;
4614 val
* var232
/* : AbstractCompiler */;
4615 val
* var233
/* : Array[String] */;
4616 val
* var235
/* : Array[String] */;
4617 val
* var_236
/* var : Array[String] */;
4618 val
* var237
/* : IndexedIterator[nullable Object] */;
4619 val
* var_238
/* var : IndexedIterator[String] */;
4620 short int var239
/* : Bool */;
4621 val
* var241
/* : nullable Object */;
4622 val
* var_l
/* var l: String */;
4623 static val
* varonce242
;
4624 val
* var243
/* : String */;
4625 char* var244
/* : NativeString */;
4626 val
* var245
/* : String */;
4627 val
* var246
/* : Array[ExternFile] */;
4628 val
* var_java_files
/* var java_files: Array[ExternFile] */;
4629 val
* var247
/* : Array[String] */;
4630 val
* var_pkgconfigs
/* var pkgconfigs: Array[String] */;
4631 val
* var248
/* : AbstractCompiler */;
4632 val
* var250
/* : AbstractCompiler */;
4633 val
* var251
/* : Array[ExternFile] */;
4634 val
* var253
/* : Array[ExternFile] */;
4635 val
* var_254
/* var : Array[ExternFile] */;
4636 val
* var255
/* : IndexedIterator[nullable Object] */;
4637 val
* var_256
/* var : IndexedIterator[ExternFile] */;
4638 short int var257
/* : Bool */;
4639 val
* var259
/* : nullable Object */;
4640 val
* var_f260
/* var f: ExternFile */;
4641 val
* var261
/* : Array[String] */;
4642 val
* var263
/* : Array[String] */;
4643 short int var264
/* : Bool */;
4644 short int var265
/* : Bool */;
4645 static val
* varonce266
;
4646 val
* var267
/* : String */;
4647 char* var268
/* : NativeString */;
4648 val
* var269
/* : String */;
4649 val
* var_270
/* var : Array[String] */;
4650 val
* var271
/* : IndexedIterator[nullable Object] */;
4651 val
* var_272
/* var : IndexedIterator[String] */;
4652 short int var273
/* : Bool */;
4653 val
* var275
/* : nullable Object */;
4654 val
* var_p
/* var p: String */;
4655 val
* var277
/* : NativeArray[String] */;
4656 static val
* varonce276
;
4657 static val
* varonce278
;
4658 val
* var279
/* : String */;
4659 char* var280
/* : NativeString */;
4660 val
* var281
/* : String */;
4661 static val
* varonce282
;
4662 val
* var283
/* : String */;
4663 char* var284
/* : NativeString */;
4664 val
* var285
/* : String */;
4665 static val
* varonce286
;
4666 val
* var287
/* : String */;
4667 char* var288
/* : NativeString */;
4668 val
* var289
/* : String */;
4669 static val
* varonce290
;
4670 val
* var291
/* : String */;
4671 char* var292
/* : NativeString */;
4672 val
* var293
/* : String */;
4673 val
* var294
/* : String */;
4674 val
* var295
/* : AbstractCompiler */;
4675 val
* var297
/* : AbstractCompiler */;
4676 val
* var298
/* : Array[ExternFile] */;
4677 val
* var300
/* : Array[ExternFile] */;
4678 val
* var_301
/* var : Array[ExternFile] */;
4679 val
* var302
/* : IndexedIterator[nullable Object] */;
4680 val
* var_303
/* var : IndexedIterator[ExternFile] */;
4681 short int var304
/* : Bool */;
4682 val
* var306
/* : nullable Object */;
4683 val
* var_f307
/* var f: ExternFile */;
4684 val
* var308
/* : String */;
4685 val
* var_o309
/* var o: String */;
4686 val
* var310
/* : String */;
4687 val
* var312
/* : String */;
4688 val
* var313
/* : String */;
4689 val
* var_ff
/* var ff: String */;
4690 val
* var315
/* : NativeArray[String] */;
4691 static val
* varonce314
;
4692 static val
* varonce316
;
4693 val
* var317
/* : String */;
4694 char* var318
/* : NativeString */;
4695 val
* var319
/* : String */;
4696 static val
* varonce320
;
4697 val
* var321
/* : String */;
4698 char* var322
/* : NativeString */;
4699 val
* var323
/* : String */;
4700 val
* var324
/* : String */;
4701 val
* var326
/* : NativeArray[String] */;
4702 static val
* varonce325
;
4703 static val
* varonce327
;
4704 val
* var328
/* : String */;
4705 char* var329
/* : NativeString */;
4706 val
* var330
/* : String */;
4707 static val
* varonce331
;
4708 val
* var332
/* : String */;
4709 char* var333
/* : NativeString */;
4710 val
* var334
/* : String */;
4711 val
* var335
/* : String */;
4712 val
* var336
/* : String */;
4713 val
* var337
/* : String */;
4714 short int var338
/* : Bool */;
4715 short int var339
/* : Bool */;
4716 short int var340
/* : Bool */;
4717 short int var341
/* : Bool */;
4718 val
* var343
/* : NativeArray[String] */;
4719 static val
* varonce342
;
4720 static val
* varonce344
;
4721 val
* var345
/* : String */;
4722 char* var346
/* : NativeString */;
4723 val
* var347
/* : String */;
4724 val
* var348
/* : String */;
4725 val
* var_jar_file
/* var jar_file: String */;
4726 val
* var349
/* : Array[String] */;
4727 val
* var_class_files_array
/* var class_files_array: Array[String] */;
4728 val
* var_350
/* var : Array[ExternFile] */;
4729 val
* var351
/* : IndexedIterator[nullable Object] */;
4730 val
* var_352
/* var : IndexedIterator[ExternFile] */;
4731 short int var353
/* : Bool */;
4732 val
* var355
/* : nullable Object */;
4733 val
* var_f356
/* var f: ExternFile */;
4734 val
* var357
/* : String */;
4735 static val
* varonce358
;
4736 val
* var359
/* : String */;
4737 char* var360
/* : NativeString */;
4738 val
* var361
/* : String */;
4739 val
* var362
/* : String */;
4740 val
* var_class_files
/* var class_files: String */;
4741 val
* var364
/* : NativeArray[String] */;
4742 static val
* varonce363
;
4743 static val
* varonce365
;
4744 val
* var366
/* : String */;
4745 char* var367
/* : NativeString */;
4746 val
* var368
/* : String */;
4747 static val
* varonce369
;
4748 val
* var370
/* : String */;
4749 char* var371
/* : NativeString */;
4750 val
* var372
/* : String */;
4751 val
* var373
/* : String */;
4752 val
* var375
/* : NativeArray[String] */;
4753 static val
* varonce374
;
4754 static val
* varonce376
;
4755 val
* var377
/* : String */;
4756 char* var378
/* : NativeString */;
4757 val
* var379
/* : String */;
4758 static val
* varonce380
;
4759 val
* var381
/* : String */;
4760 char* var382
/* : NativeString */;
4761 val
* var383
/* : String */;
4762 static val
* varonce384
;
4763 val
* var385
/* : String */;
4764 char* var386
/* : NativeString */;
4765 val
* var387
/* : String */;
4766 val
* var388
/* : String */;
4767 static val
* varonce389
;
4768 val
* var390
/* : String */;
4769 char* var391
/* : NativeString */;
4770 val
* var392
/* : String */;
4771 val
* var_pkg
/* var pkg: String */;
4772 short int var393
/* : Bool */;
4773 short int var394
/* : Bool */;
4774 val
* var396
/* : NativeArray[String] */;
4775 static val
* varonce395
;
4776 static val
* varonce397
;
4777 val
* var398
/* : String */;
4778 char* var399
/* : NativeString */;
4779 val
* var400
/* : String */;
4780 static val
* varonce401
;
4781 val
* var402
/* : String */;
4782 char* var403
/* : NativeString */;
4783 val
* var404
/* : String */;
4784 static val
* varonce405
;
4785 val
* var406
/* : String */;
4786 char* var407
/* : NativeString */;
4787 val
* var408
/* : String */;
4788 val
* var409
/* : String */;
4789 val
* var410
/* : String */;
4790 val
* var412
/* : NativeArray[String] */;
4791 static val
* varonce411
;
4792 static val
* varonce413
;
4793 val
* var414
/* : String */;
4794 char* var415
/* : NativeString */;
4795 val
* var416
/* : String */;
4796 static val
* varonce417
;
4797 val
* var418
/* : String */;
4798 char* var419
/* : NativeString */;
4799 val
* var420
/* : String */;
4800 static val
* varonce421
;
4801 val
* var422
/* : String */;
4802 char* var423
/* : NativeString */;
4803 val
* var424
/* : String */;
4804 static val
* varonce425
;
4805 val
* var426
/* : String */;
4806 char* var427
/* : NativeString */;
4807 val
* var428
/* : String */;
4808 static val
* varonce429
;
4809 val
* var430
/* : String */;
4810 char* var431
/* : NativeString */;
4811 val
* var432
/* : String */;
4812 static val
* varonce433
;
4813 val
* var434
/* : String */;
4814 char* var435
/* : NativeString */;
4815 val
* var436
/* : String */;
4816 val
* var437
/* : String */;
4817 val
* var438
/* : String */;
4818 static val
* varonce439
;
4819 val
* var440
/* : String */;
4820 char* var441
/* : NativeString */;
4821 val
* var442
/* : String */;
4822 val
* var443
/* : String */;
4823 val
* var444
/* : String */;
4824 val
* var446
/* : NativeArray[String] */;
4825 static val
* varonce445
;
4826 static val
* varonce447
;
4827 val
* var448
/* : String */;
4828 char* var449
/* : NativeString */;
4829 val
* var450
/* : String */;
4830 static val
* varonce451
;
4831 val
* var452
/* : String */;
4832 char* var453
/* : NativeString */;
4833 val
* var454
/* : String */;
4834 static val
* varonce455
;
4835 val
* var456
/* : String */;
4836 char* var457
/* : NativeString */;
4837 val
* var458
/* : String */;
4838 val
* var459
/* : String */;
4839 val
* var460
/* : String */;
4840 short int var461
/* : Bool */;
4841 short int var463
/* : Bool */;
4842 short int var464
/* : Bool */;
4843 val
* var466
/* : NativeArray[String] */;
4844 static val
* varonce465
;
4845 static val
* varonce467
;
4846 val
* var468
/* : String */;
4847 char* var469
/* : NativeString */;
4848 val
* var470
/* : String */;
4849 static val
* varonce471
;
4850 val
* var472
/* : String */;
4851 char* var473
/* : NativeString */;
4852 val
* var474
/* : String */;
4853 val
* var475
/* : String */;
4854 val
* var476
/* : String */;
4855 val
* var477
/* : ToolContext */;
4856 val
* var479
/* : ToolContext */;
4857 val
* var481
/* : NativeArray[String] */;
4858 static val
* varonce480
;
4859 static val
* varonce482
;
4860 val
* var483
/* : String */;
4861 char* var484
/* : NativeString */;
4862 val
* var485
/* : String */;
4863 val
* var486
/* : String */;
4864 val
* var488
/* : NativeArray[String] */;
4865 static val
* varonce487
;
4866 static val
* varonce489
;
4867 val
* var490
/* : String */;
4868 char* var491
/* : NativeString */;
4869 val
* var492
/* : String */;
4870 val
* var493
/* : String */;
4871 var_compile_dir
= p0
;
4874 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4875 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4876 if (unlikely(var2
== NULL
)) {
4877 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4878 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4886 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var) on <var:AbstractCompiler> */
4887 var5
= var
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var:AbstractCompiler> */
4888 if (unlikely(var5
== NULL
)) {
4889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
4897 var_mainmodule
= var3
;
4899 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4900 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4901 if (unlikely(var8
== NULL
)) {
4902 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4903 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
4911 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var6) on <var6:AbstractCompiler> */
4912 var11
= var6
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var6:AbstractCompiler> */
4913 if (unlikely(var11
== NULL
)) {
4914 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
4915 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 549);
4919 RET_LABEL10
:(void)0;
4922 var_platform
= var9
;
4924 var12
= nitc___nitc__MakefileToolchain___outfile(self
, var_mainmodule
);
4926 var_outname
= var12
;
4928 var13
= core__file___String___relpath(var_compile_dir
, var_outname
);
4930 var_real_outpath
= var13
;
4932 var14
= core___core__Text___escape_to_mk(var_real_outpath
);
4934 var_outpath
= var14
;
4936 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
4937 var_other
= var_real_outpath
;
4939 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>*/
4944 RET_LABEL16
:(void)0;
4949 var19
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var_mainmodule
);
4951 var_outpath
= var19
;
4955 var20
= nitc___nitc__MakefileToolchain___makefile_name(self
);
4957 var_makename
= var20
;
4958 if (unlikely(varonce
==NULL
)) {
4959 var21
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
4960 if (likely(varonce22
!=NULL
)) {
4964 var25
= core__flat___NativeString___to_s_full(var24
, 1l, 1l);
4968 ((struct instance_core__NativeArray
*)var21
)->values
[1]=var23
;
4973 ((struct instance_core__NativeArray
*)var21
)->values
[0]=var_compile_dir
;
4974 ((struct instance_core__NativeArray
*)var21
)->values
[2]=var_makename
;
4976 var26
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
4979 var_makepath
= var26
;
4980 var27
= NEW_core__FileWriter(&type_core__FileWriter
);
4982 core___core__FileWriter___open(var27
, var_makepath
); /* Direct call file#FileWriter#open on <var27:FileWriter>*/
4984 var_makefile
= var27
;
4985 var28
= NEW_core__HashSet(&type_core__HashSet__core__String
);
4987 core___core__HashSet___core__kernel__Object__init(var28
); /* Direct call hash_collection#HashSet#init on <var28:HashSet[String]>*/
4989 var_linker_options
= var28
;
4991 { /* Inline mmodule#MModule#in_importation (var_mainmodule) on <var_mainmodule:MModule> */
4992 var31
= var_mainmodule
->attrs
[COLOR_nitc__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mainmodule:MModule> */
4993 if (unlikely(var31
== NULL
)) {
4994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4995 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__mmodule
, 104);
4999 RET_LABEL30
:(void)0;
5003 var32
= poset___poset__POSetElement___greaters(var29
);
5007 var33
= ((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]>*/
5012 var35
= ((short int(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_34
); /* is_ok on <var_34:Iterator[MModule]>*/
5019 var36
= ((val
*(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_34
); /* item on <var_34:Iterator[MModule]>*/
5023 var37
= nitc__light___MModule___collect_linker_libs(var_m
);
5026 if (var_libs
== NULL
) {
5027 var38
= 0; /* is null */
5029 var38
= 1; /* arg is null and recv is not */
5032 { /* Inline kernel#Object#!= (var_libs,((val*)NULL)) on <var_libs:nullable Array[String]> */
5033 var_other
= ((val
*)NULL
);
5035 var41
= ((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])>*/
5040 RET_LABEL40
:(void)0;
5046 core___core__SimpleCollection___add_all(var_linker_options
, var_libs
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_linker_options:HashSet[String]>*/
5051 ((void(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_34
); /* next on <var_34:Iterator[MModule]>*/
5054 BREAK_label
: (void)0;
5056 ((void(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_34
); /* finish on <var_34:Iterator[MModule]>*/
5059 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
5060 var45
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
5061 if (unlikely(var45
== NULL
)) {
5062 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5063 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
5067 RET_LABEL44
:(void)0;
5071 { /* Inline abstract_compiler#ToolContext#opt_debug (var43) on <var43:ToolContext> */
5072 var48
= var43
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_debug
].val
; /* _opt_debug on <var43:ToolContext> */
5073 if (unlikely(var48
== NULL
)) {
5074 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_debug");
5075 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 72);
5079 RET_LABEL47
:(void)0;
5083 { /* Inline opts#Option#value (var46) on <var46:OptionBool> */
5084 var51
= var46
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var46:OptionBool> */
5086 RET_LABEL50
:(void)0;
5089 var52
= (short int)((long)(var49
)>>2);
5091 if (unlikely(varonce53
==NULL
)) {
5092 var54
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
5093 if (likely(varonce55
!=NULL
)) {
5096 var57
= "CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g";
5097 var58
= core__flat___NativeString___to_s_full(var57
, 43l, 43l);
5101 ((struct instance_core__NativeArray
*)var54
)->values
[0]=var56
;
5102 if (likely(varonce59
!=NULL
)) {
5105 var61
= "-Wno-unused-value -Wno-switch -Wno-attributes\nCINCL =\nLDFLAGS ?= \nLDLIBS ?= -lm ";
5106 var62
= core__flat___NativeString___to_s_full(var61
, 81l, 81l);
5110 ((struct instance_core__NativeArray
*)var54
)->values
[2]=var60
;
5111 if (likely(varonce63
!=NULL
)) {
5115 var66
= core__flat___NativeString___to_s_full(var65
, 2l, 2l);
5119 ((struct instance_core__NativeArray
*)var54
)->values
[4]=var64
;
5126 if (likely(varonce69
!=NULL
)) {
5130 var72
= core__flat___NativeString___to_s_full(var71
, 5l, 5l);
5136 if (likely(varonce73
!=NULL
)) {
5140 var76
= core__flat___NativeString___to_s_full(var75
, 1l, 1l);
5146 ((struct instance_core__NativeArray
*)var54
)->values
[1]=var67
;
5147 if (likely(varonce77
!=NULL
)) {
5151 var80
= core__flat___NativeString___to_s_full(var79
, 1l, 1l);
5156 var81
= core__abstract_text___Collection___join(var_linker_options
, var78
);
5158 ((struct instance_core__NativeArray
*)var54
)->values
[3]=var81
;
5160 var82
= ((val
*(*)(val
* self
))(var54
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var54
); /* native_to_s on <var54:NativeArray[String]>*/
5164 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var82
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5166 if (likely(varonce83
!=NULL
)) {
5169 var85
= "\n# SPECIAL CONFIGURATION FLAGS\n";
5170 var86
= core__flat___NativeString___to_s_full(var85
, 31l, 31l);
5175 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var84
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5178 var87
= nitc___nitc__Platform___supports_libunwind(var_platform
);
5182 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
5183 var90
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
5184 if (unlikely(var90
== NULL
)) {
5185 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5186 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
5190 RET_LABEL89
:(void)0;
5194 { /* Inline abstract_compiler#ToolContext#opt_no_stacktrace (var88) on <var88:ToolContext> */
5195 var93
= var88
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <var88:ToolContext> */
5196 if (unlikely(var93
== NULL
)) {
5197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
5198 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 66);
5202 RET_LABEL92
:(void)0;
5206 { /* Inline opts#Option#value (var91) on <var91:OptionBool> */
5207 var96
= var91
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var91:OptionBool> */
5209 RET_LABEL95
:(void)0;
5212 var97
= (short int)((long)(var94
)>>2);
5214 if (likely(varonce98
!=NULL
)) {
5217 var100
= "NO_STACKTRACE=True";
5218 var101
= core__flat___NativeString___to_s_full(var100
, 18l, 18l);
5223 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var99
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5226 if (likely(varonce102
!=NULL
)) {
5227 var103
= varonce102
;
5229 var104
= "NO_STACKTRACE= # Set to `True` to enable";
5230 var105
= core__flat___NativeString___to_s_full(var104
, 40l, 40l);
5232 varonce102
= var103
;
5235 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var103
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5240 if (likely(varonce106
!=NULL
)) {
5241 var107
= varonce106
;
5244 var109
= core__flat___NativeString___to_s_full(var108
, 2l, 2l);
5246 varonce106
= var107
;
5249 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var107
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5251 if (likely(varonce110
!=NULL
)) {
5252 var111
= varonce110
;
5254 var112
= "uname_S := $(shell sh -c \'uname -s 2>/dev/null || echo not\')\n";
5255 var113
= core__flat___NativeString___to_s_full(var112
, 61l, 61l);
5257 varonce110
= var111
;
5260 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var111
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5262 if (likely(varonce114
!=NULL
)) {
5263 var115
= varonce114
;
5265 var116
= "clang_check := $(shell sh -c \'$(CC) -v 2>&1 | grep -q clang; echo $$?\')\nifeq ($(clang_check), 0)\n\tCFLAGS += -Qunused-arguments\nendif\n";
5266 var117
= core__flat___NativeString___to_s_full(var116
, 133l, 133l);
5268 varonce114
= var115
;
5271 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var115
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5274 var118
= nitc___nitc__Platform___supports_libunwind(var_platform
);
5277 if (likely(varonce119
!=NULL
)) {
5278 var120
= varonce119
;
5280 var121
= "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";
5281 var122
= core__flat___NativeString___to_s_full(var121
, 569l, 569l);
5283 varonce119
= var120
;
5286 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var120
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5289 if (likely(varonce123
!=NULL
)) {
5290 var124
= varonce123
;
5292 var125
= "CFLAGS += -D NO_STACKTRACE\n\n";
5293 var126
= core__flat___NativeString___to_s_full(var125
, 28l, 28l);
5295 varonce123
= var124
;
5298 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var124
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5301 if (likely(varonce127
!=NULL
)) {
5302 var128
= varonce127
;
5304 var129
= "# Special configuration for Darwin\nifeq ($(uname_S),Darwin)\n\t# Remove POSIX flag -lrt\n\tLDLIBS := $(filter-out -lrt,$(LDLIBS))\nendif\n\n";
5305 var130
= core__flat___NativeString___to_s_full(var129
, 133l, 133l);
5307 varonce127
= var128
;
5310 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var128
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5312 if (unlikely(varonce131
==NULL
)) {
5313 var132
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5314 if (likely(varonce133
!=NULL
)) {
5315 var134
= varonce133
;
5318 var136
= core__flat___NativeString___to_s_full(var135
, 5l, 5l);
5320 varonce133
= var134
;
5322 ((struct instance_core__NativeArray
*)var132
)->values
[0]=var134
;
5323 if (likely(varonce137
!=NULL
)) {
5324 var138
= varonce137
;
5327 var140
= core__flat___NativeString___to_s_full(var139
, 1l, 1l);
5329 varonce137
= var138
;
5331 ((struct instance_core__NativeArray
*)var132
)->values
[2]=var138
;
5333 var132
= varonce131
;
5336 ((struct instance_core__NativeArray
*)var132
)->values
[1]=var_outpath
;
5338 var141
= ((val
*(*)(val
* self
))(var132
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var132
); /* native_to_s on <var132:NativeArray[String]>*/
5340 varonce131
= var132
;
5342 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var141
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5345 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
5346 var_other
= var_real_outpath
;
5348 var144
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
5353 RET_LABEL143
:(void)0;
5357 if (unlikely(varonce146
==NULL
)) {
5358 var147
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
5359 if (likely(varonce148
!=NULL
)) {
5360 var149
= varonce148
;
5362 var150
= "\tcp -- ";
5363 var151
= core__flat___NativeString___to_s_full(var150
, 7l, 7l);
5365 varonce148
= var149
;
5367 ((struct instance_core__NativeArray
*)var147
)->values
[0]=var149
;
5368 if (likely(varonce152
!=NULL
)) {
5369 var153
= varonce152
;
5372 var155
= core__flat___NativeString___to_s_full(var154
, 1l, 1l);
5374 varonce152
= var153
;
5376 ((struct instance_core__NativeArray
*)var147
)->values
[2]=var153
;
5378 var147
= varonce146
;
5382 var156
= core___core__Text___escape_to_sh(var_outpath
);
5384 ((struct instance_core__NativeArray
*)var147
)->values
[1]=var156
;
5386 var157
= core___core__Text___escape_to_sh(var_real_outpath
);
5388 if (likely(varonce158
!=NULL
)) {
5389 var159
= varonce158
;
5392 var161
= core__flat___NativeString___to_s_full(var160
, 1l, 1l);
5394 varonce158
= var159
;
5396 if (likely(varonce162
!=NULL
)) {
5397 var163
= varonce162
;
5400 var165
= core__flat___NativeString___to_s_full(var164
, 2l, 2l);
5402 varonce162
= var163
;
5405 var166
= core__string_search___Text___replace(var157
, var159
, var163
);
5407 ((struct instance_core__NativeArray
*)var147
)->values
[3]=var166
;
5409 var167
= ((val
*(*)(val
* self
))(var147
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var147
); /* native_to_s on <var147:NativeArray[String]>*/
5411 varonce146
= var147
;
5413 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var167
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5417 if (likely(varonce168
!=NULL
)) {
5418 var169
= varonce168
;
5421 var171
= core__flat___NativeString___to_s_full(var170
, 1l, 1l);
5423 varonce168
= var169
;
5426 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var169
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5428 var172
= NEW_core__Array(&type_core__Array__core__String
);
5430 core___core__Array___core__kernel__Object__init(var172
); /* Direct call array#Array#init on <var172:Array[String]>*/
5432 var_ofiles
= var172
;
5433 var173
= NEW_core__Array(&type_core__Array__core__String
);
5435 core___core__Array___core__kernel__Object__init(var173
); /* Direct call array#Array#init on <var173:Array[String]>*/
5437 var_dep_rules
= var173
;
5438 var_174
= var_cfiles
;
5440 var175
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_174
);
5445 var177
= ((short int(*)(val
* self
))((((long)var_176
&3)?class_info
[((long)var_176
&3)]:var_176
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_176
); /* is_ok on <var_176:IndexedIterator[String]>*/
5449 goto BREAK_label178
;
5452 var179
= ((val
*(*)(val
* self
))((((long)var_176
&3)?class_info
[((long)var_176
&3)]:var_176
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_176
); /* item on <var_176:IndexedIterator[String]>*/
5455 if (likely(varonce180
!=NULL
)) {
5456 var181
= varonce180
;
5459 var183
= core__flat___NativeString___to_s_full(var182
, 2l, 2l);
5461 varonce180
= var181
;
5464 var184
= core__file___String___strip_extension(var_f
, var181
);
5466 if (likely(varonce185
!=NULL
)) {
5467 var186
= varonce185
;
5470 var188
= core__flat___NativeString___to_s_full(var187
, 2l, 2l);
5472 varonce185
= var186
;
5475 var189
= ((val
*(*)(val
* self
, val
* p0
))(var184
->class->vft
[COLOR_core__abstract_text__String___43d
]))(var184
, var186
); /* + on <var184:String>*/
5478 if (unlikely(varonce190
==NULL
)) {
5479 var191
= NEW_core__NativeArray(8l, &type_core__NativeArray__core__String
);
5480 if (likely(varonce192
!=NULL
)) {
5481 var193
= varonce192
;
5484 var195
= core__flat___NativeString___to_s_full(var194
, 2l, 2l);
5486 varonce192
= var193
;
5488 ((struct instance_core__NativeArray
*)var191
)->values
[1]=var193
;
5489 if (likely(varonce196
!=NULL
)) {
5490 var197
= varonce196
;
5492 var198
= "\n\t$(CC) $(CFLAGS) $(CINCL) -c -o ";
5493 var199
= core__flat___NativeString___to_s_full(var198
, 33l, 33l);
5495 varonce196
= var197
;
5497 ((struct instance_core__NativeArray
*)var191
)->values
[3]=var197
;
5498 if (likely(varonce200
!=NULL
)) {
5499 var201
= varonce200
;
5502 var203
= core__flat___NativeString___to_s_full(var202
, 1l, 1l);
5504 varonce200
= var201
;
5506 ((struct instance_core__NativeArray
*)var191
)->values
[5]=var201
;
5507 if (likely(varonce204
!=NULL
)) {
5508 var205
= varonce204
;
5511 var207
= core__flat___NativeString___to_s_full(var206
, 2l, 2l);
5513 varonce204
= var205
;
5515 ((struct instance_core__NativeArray
*)var191
)->values
[7]=var205
;
5517 var191
= varonce190
;
5520 ((struct instance_core__NativeArray
*)var191
)->values
[0]=var_o
;
5521 ((struct instance_core__NativeArray
*)var191
)->values
[2]=var_f
;
5522 ((struct instance_core__NativeArray
*)var191
)->values
[4]=var_o
;
5523 ((struct instance_core__NativeArray
*)var191
)->values
[6]=var_f
;
5525 var208
= ((val
*(*)(val
* self
))(var191
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var191
); /* native_to_s on <var191:NativeArray[String]>*/
5527 varonce190
= var191
;
5529 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var208
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5532 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var_o
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5535 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dep_rules
, var_o
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5538 ((void(*)(val
* self
))((((long)var_176
&3)?class_info
[((long)var_176
&3)]:var_176
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_176
); /* next on <var_176:IndexedIterator[String]>*/
5541 BREAK_label178
: (void)0;
5543 ((void(*)(val
* self
))((((long)var_176
&3)?class_info
[((long)var_176
&3)]:var_176
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_176
); /* finish on <var_176:IndexedIterator[String]>*/
5546 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5547 var211
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5548 if (unlikely(var211
== NULL
)) {
5549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5550 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5554 RET_LABEL210
:(void)0;
5558 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var209) on <var209:AbstractCompiler> */
5559 var214
= var209
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var209:AbstractCompiler> */
5560 if (unlikely(var214
== NULL
)) {
5561 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5562 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 588);
5566 RET_LABEL213
:(void)0;
5570 var215
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var212
);
5574 if (unlikely(varonce217
==NULL
)) {
5575 var218
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
5576 if (likely(varonce219
!=NULL
)) {
5577 var220
= varonce219
;
5579 var221
= "/linker_script";
5580 var222
= core__flat___NativeString___to_s_full(var221
, 14l, 14l);
5582 varonce219
= var220
;
5584 ((struct instance_core__NativeArray
*)var218
)->values
[1]=var220
;
5586 var218
= varonce217
;
5589 ((struct instance_core__NativeArray
*)var218
)->values
[0]=var_compile_dir
;
5591 var223
= ((val
*(*)(val
* self
))(var218
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var218
); /* native_to_s on <var218:NativeArray[String]>*/
5593 varonce217
= var218
;
5594 var_linker_script_path
= var223
;
5595 if (likely(varonce224
!=NULL
)) {
5596 var225
= varonce224
;
5598 var226
= "linker_script";
5599 var227
= core__flat___NativeString___to_s_full(var226
, 13l, 13l);
5601 varonce224
= var225
;
5604 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var225
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5606 var228
= NEW_core__FileWriter(&type_core__FileWriter
);
5608 core___core__FileWriter___open(var228
, var_linker_script_path
); /* Direct call file#FileWriter#open on <var228:FileWriter>*/
5612 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5613 var232
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5614 if (unlikely(var232
== NULL
)) {
5615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5616 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5620 RET_LABEL231
:(void)0;
5624 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var230) on <var230:AbstractCompiler> */
5625 var235
= var230
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var230:AbstractCompiler> */
5626 if (unlikely(var235
== NULL
)) {
5627 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5628 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 588);
5632 RET_LABEL234
:(void)0;
5637 var237
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_236
);
5642 var239
= ((short int(*)(val
* self
))((((long)var_238
&3)?class_info
[((long)var_238
&3)]:var_238
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_238
); /* is_ok on <var_238:IndexedIterator[String]>*/
5646 goto BREAK_label240
;
5649 var241
= ((val
*(*)(val
* self
))((((long)var_238
&3)?class_info
[((long)var_238
&3)]:var_238
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_238
); /* item on <var_238:IndexedIterator[String]>*/
5653 core___core__FileWriter___core__stream__Writer__write(var_f229
, var_l
); /* Direct call file#FileWriter#write on <var_f229:FileWriter>*/
5655 if (likely(varonce242
!=NULL
)) {
5656 var243
= varonce242
;
5659 var245
= core__flat___NativeString___to_s_full(var244
, 1l, 1l);
5661 varonce242
= var243
;
5664 core___core__FileWriter___core__stream__Writer__write(var_f229
, var243
); /* Direct call file#FileWriter#write on <var_f229:FileWriter>*/
5667 ((void(*)(val
* self
))((((long)var_238
&3)?class_info
[((long)var_238
&3)]:var_238
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_238
); /* next on <var_238:IndexedIterator[String]>*/
5670 BREAK_label240
: (void)0;
5672 ((void(*)(val
* self
))((((long)var_238
&3)?class_info
[((long)var_238
&3)]:var_238
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_238
); /* finish on <var_238:IndexedIterator[String]>*/
5675 core___core__FileWriter___core__stream__Stream__close(var_f229
); /* Direct call file#FileWriter#close on <var_f229:FileWriter>*/
5679 var246
= NEW_core__Array(&type_core__Array__nitc__ExternFile
);
5681 core___core__Array___core__kernel__Object__init(var246
); /* Direct call array#Array#init on <var246:Array[ExternFile]>*/
5683 var_java_files
= var246
;
5684 var247
= NEW_core__Array(&type_core__Array__core__String
);
5686 core___core__Array___core__kernel__Object__init(var247
); /* Direct call array#Array#init on <var247:Array[String]>*/
5688 var_pkgconfigs
= var247
;
5690 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5691 var250
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5692 if (unlikely(var250
== NULL
)) {
5693 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5694 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5698 RET_LABEL249
:(void)0;
5702 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var248) on <var248:AbstractCompiler> */
5703 var253
= var248
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var248:AbstractCompiler> */
5704 if (unlikely(var253
== NULL
)) {
5705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
5710 RET_LABEL252
:(void)0;
5715 var255
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_254
);
5720 var257
= ((short int(*)(val
* self
))((((long)var_256
&3)?class_info
[((long)var_256
&3)]:var_256
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_256
); /* is_ok on <var_256:IndexedIterator[ExternFile]>*/
5724 goto BREAK_label258
;
5727 var259
= ((val
*(*)(val
* self
))((((long)var_256
&3)?class_info
[((long)var_256
&3)]:var_256
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_256
); /* item on <var_256:IndexedIterator[ExternFile]>*/
5731 { /* Inline c_tools#ExternFile#pkgconfigs (var_f260) on <var_f260:ExternFile> */
5732 var263
= var_f260
->attrs
[COLOR_nitc__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f260:ExternFile> */
5733 if (unlikely(var263
== NULL
)) {
5734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
5735 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 123);
5739 RET_LABEL262
:(void)0;
5743 core___core__Array___core__abstract_collection__SimpleCollection__add_all(var_pkgconfigs
, var261
); /* Direct call array#Array#add_all on <var_pkgconfigs:Array[String]>*/
5746 ((void(*)(val
* self
))((((long)var_256
&3)?class_info
[((long)var_256
&3)]:var_256
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_256
); /* next on <var_256:IndexedIterator[ExternFile]>*/
5749 BREAK_label258
: (void)0;
5751 ((void(*)(val
* self
))((((long)var_256
&3)?class_info
[((long)var_256
&3)]:var_256
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_256
); /* finish on <var_256:IndexedIterator[ExternFile]>*/
5754 var264
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_pkgconfigs
);
5758 if (likely(varonce266
!=NULL
)) {
5759 var267
= varonce266
;
5761 var268
= "# 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";
5762 var269
= core__flat___NativeString___to_s_full(var268
, 151l, 151l);
5764 varonce266
= var267
;
5767 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var267
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5769 var_270
= var_pkgconfigs
;
5771 var271
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_270
);
5776 var273
= ((short int(*)(val
* self
))((((long)var_272
&3)?class_info
[((long)var_272
&3)]:var_272
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_272
); /* is_ok on <var_272:IndexedIterator[String]>*/
5780 goto BREAK_label274
;
5783 var275
= ((val
*(*)(val
* self
))((((long)var_272
&3)?class_info
[((long)var_272
&3)]:var_272
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_272
); /* item on <var_272:IndexedIterator[String]>*/
5786 if (unlikely(varonce276
==NULL
)) {
5787 var277
= NEW_core__NativeArray(7l, &type_core__NativeArray__core__String
);
5788 if (likely(varonce278
!=NULL
)) {
5789 var279
= varonce278
;
5791 var280
= "# Check for library ";
5792 var281
= core__flat___NativeString___to_s_full(var280
, 20l, 20l);
5794 varonce278
= var279
;
5796 ((struct instance_core__NativeArray
*)var277
)->values
[0]=var279
;
5797 if (likely(varonce282
!=NULL
)) {
5798 var283
= varonce282
;
5800 var284
= "\nifneq ($(shell pkg-config --exists \'";
5801 var285
= core__flat___NativeString___to_s_full(var284
, 37l, 37l);
5803 varonce282
= var283
;
5805 ((struct instance_core__NativeArray
*)var277
)->values
[2]=var283
;
5806 if (likely(varonce286
!=NULL
)) {
5807 var287
= varonce286
;
5809 var288
= "\'; echo $$?), 0)\n$(error \"pkg-config: package ";
5810 var289
= core__flat___NativeString___to_s_full(var288
, 46l, 46l);
5812 varonce286
= var287
;
5814 ((struct instance_core__NativeArray
*)var277
)->values
[4]=var287
;
5815 if (likely(varonce290
!=NULL
)) {
5816 var291
= varonce290
;
5818 var292
= " is not found.\")\nendif\n";
5819 var293
= core__flat___NativeString___to_s_full(var292
, 23l, 23l);
5821 varonce290
= var291
;
5823 ((struct instance_core__NativeArray
*)var277
)->values
[6]=var291
;
5825 var277
= varonce276
;
5828 ((struct instance_core__NativeArray
*)var277
)->values
[1]=var_p
;
5829 ((struct instance_core__NativeArray
*)var277
)->values
[3]=var_p
;
5830 ((struct instance_core__NativeArray
*)var277
)->values
[5]=var_p
;
5832 var294
= ((val
*(*)(val
* self
))(var277
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var277
); /* native_to_s on <var277:NativeArray[String]>*/
5834 varonce276
= var277
;
5836 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var294
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5839 ((void(*)(val
* self
))((((long)var_272
&3)?class_info
[((long)var_272
&3)]:var_272
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_272
); /* next on <var_272:IndexedIterator[String]>*/
5842 BREAK_label274
: (void)0;
5844 ((void(*)(val
* self
))((((long)var_272
&3)?class_info
[((long)var_272
&3)]:var_272
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_272
); /* finish on <var_272:IndexedIterator[String]>*/
5849 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5850 var297
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5851 if (unlikely(var297
== NULL
)) {
5852 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5853 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 134);
5857 RET_LABEL296
:(void)0;
5861 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var295) on <var295:AbstractCompiler> */
5862 var300
= var295
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var295:AbstractCompiler> */
5863 if (unlikely(var300
== NULL
)) {
5864 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5865 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
5869 RET_LABEL299
:(void)0;
5874 var302
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_301
);
5879 var304
= ((short int(*)(val
* self
))((((long)var_303
&3)?class_info
[((long)var_303
&3)]:var_303
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_303
); /* is_ok on <var_303:IndexedIterator[ExternFile]>*/
5883 goto BREAK_label305
;
5886 var306
= ((val
*(*)(val
* self
))((((long)var_303
&3)?class_info
[((long)var_303
&3)]:var_303
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_303
); /* item on <var_303:IndexedIterator[ExternFile]>*/
5890 var308
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f307
);
5894 { /* Inline c_tools#ExternFile#filename (var_f307) on <var_f307:ExternFile> */
5895 var312
= var_f307
->attrs
[COLOR_nitc__c_tools__ExternFile___filename
].val
; /* _filename on <var_f307:ExternFile> */
5896 if (unlikely(var312
== NULL
)) {
5897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
5898 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__c_tools
, 108);
5902 RET_LABEL311
:(void)0;
5906 var313
= ((val
*(*)(val
* self
, val
* p0
))(var310
->class->vft
[COLOR_core__file__String__basename
]))(var310
, ((val
*)NULL
)); /* basename on <var310:String>*/
5909 if (unlikely(varonce314
==NULL
)) {
5910 var315
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
5911 if (likely(varonce316
!=NULL
)) {
5912 var317
= varonce316
;
5915 var319
= core__flat___NativeString___to_s_full(var318
, 2l, 2l);
5917 varonce316
= var317
;
5919 ((struct instance_core__NativeArray
*)var315
)->values
[1]=var317
;
5920 if (likely(varonce320
!=NULL
)) {
5921 var321
= varonce320
;
5924 var323
= core__flat___NativeString___to_s_full(var322
, 1l, 1l);
5926 varonce320
= var321
;
5928 ((struct instance_core__NativeArray
*)var315
)->values
[3]=var321
;
5930 var315
= varonce314
;
5933 ((struct instance_core__NativeArray
*)var315
)->values
[0]=var_o309
;
5934 ((struct instance_core__NativeArray
*)var315
)->values
[2]=var_ff
;
5936 var324
= ((val
*(*)(val
* self
))(var315
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var315
); /* native_to_s on <var315:NativeArray[String]>*/
5938 varonce314
= var315
;
5940 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var324
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5942 if (unlikely(varonce325
==NULL
)) {
5943 var326
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
5944 if (likely(varonce327
!=NULL
)) {
5945 var328
= varonce327
;
5948 var330
= core__flat___NativeString___to_s_full(var329
, 1l, 1l);
5950 varonce327
= var328
;
5952 ((struct instance_core__NativeArray
*)var326
)->values
[0]=var328
;
5953 if (likely(varonce331
!=NULL
)) {
5954 var332
= varonce331
;
5957 var334
= core__flat___NativeString___to_s_full(var333
, 2l, 2l);
5959 varonce331
= var332
;
5961 ((struct instance_core__NativeArray
*)var326
)->values
[2]=var332
;
5963 var326
= varonce325
;
5967 var335
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_content(var_f307
);
5969 ((struct instance_core__NativeArray
*)var326
)->values
[1]=var335
;
5971 var336
= ((val
*(*)(val
* self
))(var326
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var326
); /* native_to_s on <var326:NativeArray[String]>*/
5973 varonce325
= var326
;
5975 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var336
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5978 var337
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f307
);
5981 core___core__Array___core__abstract_collection__SimpleCollection__add(var_dep_rules
, var337
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5984 var338
= nitc___nitc__ExternCFile___ExternFile__compiles_to_o_file(var_f307
);
5988 core___core__Array___core__abstract_collection__SimpleCollection__add(var_ofiles
, var_o309
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5993 var339
= nitc___nitc__ExternFile___add_to_jar(var_f307
);
5997 core___core__Array___core__abstract_collection__SimpleCollection__add(var_java_files
, var_f307
); /* Direct call array#Array#add on <var_java_files:Array[ExternFile]>*/
6002 ((void(*)(val
* self
))((((long)var_303
&3)?class_info
[((long)var_303
&3)]:var_303
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_303
); /* next on <var_303:IndexedIterator[ExternFile]>*/
6005 BREAK_label305
: (void)0;
6007 ((void(*)(val
* self
))((((long)var_303
&3)?class_info
[((long)var_303
&3)]:var_303
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_303
); /* finish on <var_303:IndexedIterator[ExternFile]>*/
6010 var340
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_java_files
);
6014 if (unlikely(varonce342
==NULL
)) {
6015 var343
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6016 if (likely(varonce344
!=NULL
)) {
6017 var345
= varonce344
;
6020 var347
= core__flat___NativeString___to_s_full(var346
, 4l, 4l);
6022 varonce344
= var345
;
6024 ((struct instance_core__NativeArray
*)var343
)->values
[1]=var345
;
6026 var343
= varonce342
;
6029 ((struct instance_core__NativeArray
*)var343
)->values
[0]=var_outpath
;
6031 var348
= ((val
*(*)(val
* self
))(var343
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var343
); /* native_to_s on <var343:NativeArray[String]>*/
6033 varonce342
= var343
;
6034 var_jar_file
= var348
;
6035 var349
= NEW_core__Array(&type_core__Array__core__String
);
6037 core___core__Array___core__kernel__Object__init(var349
); /* Direct call array#Array#init on <var349:Array[String]>*/
6039 var_class_files_array
= var349
;
6040 var_350
= var_java_files
;
6042 var351
= core___core__AbstractArrayRead___core__abstract_collection__Collection__iterator(var_350
);
6047 var353
= ((short int(*)(val
* self
))((((long)var_352
&3)?class_info
[((long)var_352
&3)]:var_352
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_352
); /* is_ok on <var_352:IndexedIterator[ExternFile]>*/
6051 goto BREAK_label354
;
6054 var355
= ((val
*(*)(val
* self
))((((long)var_352
&3)?class_info
[((long)var_352
&3)]:var_352
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_352
); /* item on <var_352:IndexedIterator[ExternFile]>*/
6058 var357
= nitc___nitc__ExternCFile___ExternFile__makefile_rule_name(var_f356
);
6061 core___core__Array___core__abstract_collection__SimpleCollection__add(var_class_files_array
, var357
); /* Direct call array#Array#add on <var_class_files_array:Array[String]>*/
6064 ((void(*)(val
* self
))((((long)var_352
&3)?class_info
[((long)var_352
&3)]:var_352
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_352
); /* next on <var_352:IndexedIterator[ExternFile]>*/
6067 BREAK_label354
: (void)0;
6069 ((void(*)(val
* self
))((((long)var_352
&3)?class_info
[((long)var_352
&3)]:var_352
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_352
); /* finish on <var_352:IndexedIterator[ExternFile]>*/
6071 if (likely(varonce358
!=NULL
)) {
6072 var359
= varonce358
;
6075 var361
= core__flat___NativeString___to_s_full(var360
, 1l, 1l);
6077 varonce358
= var359
;
6080 var362
= core__abstract_text___Collection___join(var_class_files_array
, var359
);
6082 var_class_files
= var362
;
6083 if (unlikely(varonce363
==NULL
)) {
6084 var364
= NEW_core__NativeArray(4l, &type_core__NativeArray__core__String
);
6085 if (likely(varonce365
!=NULL
)) {
6086 var366
= varonce365
;
6089 var368
= core__flat___NativeString___to_s_full(var367
, 2l, 2l);
6091 varonce365
= var366
;
6093 ((struct instance_core__NativeArray
*)var364
)->values
[1]=var366
;
6094 if (likely(varonce369
!=NULL
)) {
6095 var370
= varonce369
;
6098 var372
= core__flat___NativeString___to_s_full(var371
, 1l, 1l);
6100 varonce369
= var370
;
6102 ((struct instance_core__NativeArray
*)var364
)->values
[3]=var370
;
6104 var364
= varonce363
;
6107 ((struct instance_core__NativeArray
*)var364
)->values
[0]=var_jar_file
;
6108 ((struct instance_core__NativeArray
*)var364
)->values
[2]=var_class_files
;
6110 var373
= ((val
*(*)(val
* self
))(var364
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var364
); /* native_to_s on <var364:NativeArray[String]>*/
6112 varonce363
= var364
;
6114 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var373
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6116 if (unlikely(varonce374
==NULL
)) {
6117 var375
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6118 if (likely(varonce376
!=NULL
)) {
6119 var377
= varonce376
;
6121 var378
= "\tjar cf ";
6122 var379
= core__flat___NativeString___to_s_full(var378
, 8l, 8l);
6124 varonce376
= var377
;
6126 ((struct instance_core__NativeArray
*)var375
)->values
[0]=var377
;
6127 if (likely(varonce380
!=NULL
)) {
6128 var381
= varonce380
;
6131 var383
= core__flat___NativeString___to_s_full(var382
, 1l, 1l);
6133 varonce380
= var381
;
6135 ((struct instance_core__NativeArray
*)var375
)->values
[2]=var381
;
6136 if (likely(varonce384
!=NULL
)) {
6137 var385
= varonce384
;
6140 var387
= core__flat___NativeString___to_s_full(var386
, 2l, 2l);
6142 varonce384
= var385
;
6144 ((struct instance_core__NativeArray
*)var375
)->values
[4]=var385
;
6146 var375
= varonce374
;
6149 ((struct instance_core__NativeArray
*)var375
)->values
[1]=var_jar_file
;
6150 ((struct instance_core__NativeArray
*)var375
)->values
[3]=var_class_files
;
6152 var388
= ((val
*(*)(val
* self
))(var375
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var375
); /* native_to_s on <var375:NativeArray[String]>*/
6154 varonce374
= var375
;
6156 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var388
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6159 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]>*/
6163 if (likely(varonce389
!=NULL
)) {
6164 var390
= varonce389
;
6167 var392
= core__flat___NativeString___to_s_full(var391
, 0l, 0l);
6169 varonce389
= var390
;
6173 var393
= core___core__AbstractArrayRead___core__abstract_collection__Collection__is_empty(var_pkgconfigs
);
6177 if (unlikely(varonce395
==NULL
)) {
6178 var396
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6179 if (likely(varonce397
!=NULL
)) {
6180 var398
= varonce397
;
6182 var399
= "`pkg-config --libs ";
6183 var400
= core__flat___NativeString___to_s_full(var399
, 19l, 19l);
6185 varonce397
= var398
;
6187 ((struct instance_core__NativeArray
*)var396
)->values
[0]=var398
;
6188 if (likely(varonce401
!=NULL
)) {
6189 var402
= varonce401
;
6192 var404
= core__flat___NativeString___to_s_full(var403
, 1l, 1l);
6194 varonce401
= var402
;
6196 ((struct instance_core__NativeArray
*)var396
)->values
[2]=var402
;
6198 var396
= varonce395
;
6201 if (likely(varonce405
!=NULL
)) {
6202 var406
= varonce405
;
6205 var408
= core__flat___NativeString___to_s_full(var407
, 1l, 1l);
6207 varonce405
= var406
;
6210 var409
= core__abstract_text___Collection___join(var_pkgconfigs
, var406
);
6212 ((struct instance_core__NativeArray
*)var396
)->values
[1]=var409
;
6214 var410
= ((val
*(*)(val
* self
))(var396
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var396
); /* native_to_s on <var396:NativeArray[String]>*/
6216 varonce395
= var396
;
6220 if (unlikely(varonce411
==NULL
)) {
6221 var412
= NEW_core__NativeArray(10l, &type_core__NativeArray__core__String
);
6222 if (likely(varonce413
!=NULL
)) {
6223 var414
= varonce413
;
6226 var416
= core__flat___NativeString___to_s_full(var415
, 2l, 2l);
6228 varonce413
= var414
;
6230 ((struct instance_core__NativeArray
*)var412
)->values
[1]=var414
;
6231 if (likely(varonce417
!=NULL
)) {
6232 var418
= varonce417
;
6234 var419
= "\n\t$(CC) $(LDFLAGS) -o ";
6235 var420
= core__flat___NativeString___to_s_full(var419
, 22l, 22l);
6237 varonce417
= var418
;
6239 ((struct instance_core__NativeArray
*)var412
)->values
[3]=var418
;
6240 if (likely(varonce421
!=NULL
)) {
6241 var422
= varonce421
;
6244 var424
= core__flat___NativeString___to_s_full(var423
, 1l, 1l);
6246 varonce421
= var422
;
6248 ((struct instance_core__NativeArray
*)var412
)->values
[5]=var422
;
6249 if (likely(varonce425
!=NULL
)) {
6250 var426
= varonce425
;
6252 var427
= " $(LDLIBS) ";
6253 var428
= core__flat___NativeString___to_s_full(var427
, 11l, 11l);
6255 varonce425
= var426
;
6257 ((struct instance_core__NativeArray
*)var412
)->values
[7]=var426
;
6258 if (likely(varonce429
!=NULL
)) {
6259 var430
= varonce429
;
6262 var432
= core__flat___NativeString___to_s_full(var431
, 2l, 2l);
6264 varonce429
= var430
;
6266 ((struct instance_core__NativeArray
*)var412
)->values
[9]=var430
;
6268 var412
= varonce411
;
6271 ((struct instance_core__NativeArray
*)var412
)->values
[0]=var_outpath
;
6272 if (likely(varonce433
!=NULL
)) {
6273 var434
= varonce433
;
6276 var436
= core__flat___NativeString___to_s_full(var435
, 1l, 1l);
6278 varonce433
= var434
;
6281 var437
= core__abstract_text___Collection___join(var_dep_rules
, var434
);
6283 ((struct instance_core__NativeArray
*)var412
)->values
[2]=var437
;
6285 var438
= core___core__Text___escape_to_sh(var_outpath
);
6287 ((struct instance_core__NativeArray
*)var412
)->values
[4]=var438
;
6288 if (likely(varonce439
!=NULL
)) {
6289 var440
= varonce439
;
6292 var442
= core__flat___NativeString___to_s_full(var441
, 1l, 1l);
6294 varonce439
= var440
;
6297 var443
= core__abstract_text___Collection___join(var_ofiles
, var440
);
6299 ((struct instance_core__NativeArray
*)var412
)->values
[6]=var443
;
6300 ((struct instance_core__NativeArray
*)var412
)->values
[8]=var_pkg
;
6302 var444
= ((val
*(*)(val
* self
))(var412
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var412
); /* native_to_s on <var412:NativeArray[String]>*/
6304 varonce411
= var412
;
6306 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var444
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6308 if (unlikely(varonce445
==NULL
)) {
6309 var446
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6310 if (likely(varonce447
!=NULL
)) {
6311 var448
= varonce447
;
6313 var449
= "clean:\n\trm ";
6314 var450
= core__flat___NativeString___to_s_full(var449
, 11l, 11l);
6316 varonce447
= var448
;
6318 ((struct instance_core__NativeArray
*)var446
)->values
[0]=var448
;
6319 if (likely(varonce451
!=NULL
)) {
6320 var452
= varonce451
;
6322 var453
= " 2>/dev/null\n";
6323 var454
= core__flat___NativeString___to_s_full(var453
, 13l, 13l);
6325 varonce451
= var452
;
6327 ((struct instance_core__NativeArray
*)var446
)->values
[2]=var452
;
6329 var446
= varonce445
;
6332 if (likely(varonce455
!=NULL
)) {
6333 var456
= varonce455
;
6336 var458
= core__flat___NativeString___to_s_full(var457
, 1l, 1l);
6338 varonce455
= var456
;
6341 var459
= core__abstract_text___Collection___join(var_ofiles
, var456
);
6343 ((struct instance_core__NativeArray
*)var446
)->values
[1]=var459
;
6345 var460
= ((val
*(*)(val
* self
))(var446
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var446
); /* native_to_s on <var446:NativeArray[String]>*/
6347 varonce445
= var446
;
6349 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var460
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6352 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
6353 var_other
= var_real_outpath
;
6355 var463
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
6360 RET_LABEL462
:(void)0;
6364 if (unlikely(varonce465
==NULL
)) {
6365 var466
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
6366 if (likely(varonce467
!=NULL
)) {
6367 var468
= varonce467
;
6369 var469
= "\trm -- ";
6370 var470
= core__flat___NativeString___to_s_full(var469
, 7l, 7l);
6372 varonce467
= var468
;
6374 ((struct instance_core__NativeArray
*)var466
)->values
[0]=var468
;
6375 if (likely(varonce471
!=NULL
)) {
6376 var472
= varonce471
;
6378 var473
= " 2>/dev/null\n";
6379 var474
= core__flat___NativeString___to_s_full(var473
, 13l, 13l);
6381 varonce471
= var472
;
6383 ((struct instance_core__NativeArray
*)var466
)->values
[2]=var472
;
6385 var466
= varonce465
;
6389 var475
= core___core__Text___escape_to_sh(var_outpath
);
6391 ((struct instance_core__NativeArray
*)var466
)->values
[1]=var475
;
6393 var476
= ((val
*(*)(val
* self
))(var466
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var466
); /* native_to_s on <var466:NativeArray[String]>*/
6395 varonce465
= var466
;
6397 core___core__FileWriter___core__stream__Writer__write(var_makefile
, var476
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6402 core___core__FileWriter___core__stream__Stream__close(var_makefile
); /* Direct call file#FileWriter#close on <var_makefile:FileWriter>*/
6405 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6406 var479
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6407 if (unlikely(var479
== NULL
)) {
6408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6409 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6413 RET_LABEL478
:(void)0;
6416 if (unlikely(varonce480
==NULL
)) {
6417 var481
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6418 if (likely(varonce482
!=NULL
)) {
6419 var483
= varonce482
;
6421 var484
= "Generated makefile: ";
6422 var485
= core__flat___NativeString___to_s_full(var484
, 20l, 20l);
6424 varonce482
= var483
;
6426 ((struct instance_core__NativeArray
*)var481
)->values
[0]=var483
;
6428 var481
= varonce480
;
6431 ((struct instance_core__NativeArray
*)var481
)->values
[1]=var_makepath
;
6433 var486
= ((val
*(*)(val
* self
))(var481
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var481
); /* native_to_s on <var481:NativeArray[String]>*/
6435 varonce480
= var481
;
6437 nitc___nitc__ToolContext___info(var477
, var486
, 2l); /* Direct call toolcontext#ToolContext#info on <var477:ToolContext>*/
6439 if (unlikely(varonce487
==NULL
)) {
6440 var488
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6441 if (likely(varonce489
!=NULL
)) {
6442 var490
= varonce489
;
6444 var491
= "/Makefile";
6445 var492
= core__flat___NativeString___to_s_full(var491
, 9l, 9l);
6447 varonce489
= var490
;
6449 ((struct instance_core__NativeArray
*)var488
)->values
[1]=var490
;
6451 var488
= varonce487
;
6454 ((struct instance_core__NativeArray
*)var488
)->values
[0]=var_compile_dir
;
6456 var493
= ((val
*(*)(val
* self
))(var488
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var488
); /* native_to_s on <var488:NativeArray[String]>*/
6458 varonce487
= var488
;
6460 core__file___String___file_copy_to(var_makepath
, var493
); /* Direct call file#String#file_copy_to on <var_makepath:String>*/
6464 /* method abstract_compiler#MakefileToolchain#compile_c_code for (self: MakefileToolchain, String) */
6465 void nitc___nitc__MakefileToolchain___compile_c_code(val
* self
, val
* p0
) {
6466 val
* var_compile_dir
/* var compile_dir: String */;
6467 val
* var
/* : String */;
6468 val
* var_makename
/* var makename: String */;
6469 val
* var1
/* : ToolContext */;
6470 val
* var3
/* : ToolContext */;
6471 val
* var4
/* : OptionString */;
6472 val
* var6
/* : OptionString */;
6473 val
* var7
/* : nullable Object */;
6474 val
* var9
/* : nullable Object */;
6475 val
* var_makeflags
/* var makeflags: nullable String */;
6476 short int var10
/* : Bool */;
6477 short int var11
/* : Bool */;
6478 static val
* varonce
;
6479 val
* var12
/* : String */;
6480 char* var13
/* : NativeString */;
6481 val
* var14
/* : String */;
6482 val
* var16
/* : NativeArray[String] */;
6483 static val
* varonce15
;
6484 static val
* varonce17
;
6485 val
* var18
/* : String */;
6486 char* var19
/* : NativeString */;
6487 val
* var20
/* : String */;
6488 static val
* varonce21
;
6489 val
* var22
/* : String */;
6490 char* var23
/* : NativeString */;
6491 val
* var24
/* : String */;
6492 static val
* varonce25
;
6493 val
* var26
/* : String */;
6494 char* var27
/* : NativeString */;
6495 val
* var28
/* : String */;
6496 val
* var29
/* : String */;
6497 val
* var_command
/* var command: String */;
6498 val
* var30
/* : ToolContext */;
6499 val
* var32
/* : ToolContext */;
6500 val
* var33
/* : ToolContext */;
6501 val
* var35
/* : ToolContext */;
6502 long var36
/* : Int */;
6503 long var38
/* : Int */;
6504 short int var39
/* : Bool */;
6505 short int var41
/* : Bool */;
6508 const char* var_class_name
;
6509 short int var42
/* : Bool */;
6510 val
* var43
/* : Sys */;
6511 val
* var45
/* : Sys */;
6512 val
* var47
/* : NativeArray[String] */;
6513 static val
* varonce46
;
6514 static val
* varonce48
;
6515 val
* var49
/* : String */;
6516 char* var50
/* : NativeString */;
6517 val
* var51
/* : String */;
6518 val
* var52
/* : String */;
6519 long var53
/* : Int */;
6520 val
* var54
/* : nullable Object */;
6521 val
* var_res
/* var res: nullable Object */;
6522 val
* var55
/* : Sys */;
6523 val
* var57
/* : Sys */;
6524 val
* var59
/* : NativeArray[String] */;
6525 static val
* varonce58
;
6526 static val
* varonce60
;
6527 val
* var61
/* : String */;
6528 char* var62
/* : NativeString */;
6529 val
* var63
/* : String */;
6530 val
* var64
/* : String */;
6531 long var65
/* : Int */;
6532 val
* var66
/* : nullable Object */;
6533 short int var67
/* : Bool */;
6534 short int var69
/* : Bool */;
6535 long var70
/* : Int */;
6536 short int var71
/* : Bool */;
6537 val
* var72
/* : ToolContext */;
6538 val
* var74
/* : ToolContext */;
6539 val
* var76
/* : NativeArray[String] */;
6540 static val
* varonce75
;
6541 static val
* varonce77
;
6542 val
* var78
/* : String */;
6543 char* var79
/* : NativeString */;
6544 val
* var80
/* : String */;
6545 static val
* varonce81
;
6546 val
* var82
/* : String */;
6547 char* var83
/* : NativeString */;
6548 val
* var84
/* : String */;
6549 static val
* varonce85
;
6550 val
* var86
/* : String */;
6551 char* var87
/* : NativeString */;
6552 val
* var88
/* : String */;
6553 val
* var89
/* : String */;
6554 long var90
/* : Int */;
6555 val
* var91
/* : String */;
6556 val
* var92
/* : Message */;
6557 var_compile_dir
= p0
;
6559 var
= nitc___nitc__MakefileToolchain___makefile_name(self
);
6563 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6564 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6565 if (unlikely(var3
== NULL
)) {
6566 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6567 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6575 { /* Inline abstract_compiler#ToolContext#opt_make_flags (var1) on <var1:ToolContext> */
6576 var6
= var1
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <var1:ToolContext> */
6577 if (unlikely(var6
== NULL
)) {
6578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
6579 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 38);
6587 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
6588 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
6593 var_makeflags
= var7
;
6594 if (var_makeflags
== NULL
) {
6595 var10
= 1; /* is null */
6597 var10
= 0; /* arg is null but recv is not */
6600 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>*/
6604 if (likely(varonce
!=NULL
)) {
6608 var14
= core__flat___NativeString___to_s_full(var13
, 0l, 0l);
6612 var_makeflags
= var12
;
6615 if (unlikely(varonce15
==NULL
)) {
6616 var16
= NEW_core__NativeArray(6l, &type_core__NativeArray__core__String
);
6617 if (likely(varonce17
!=NULL
)) {
6620 var19
= "make -B -C ";
6621 var20
= core__flat___NativeString___to_s_full(var19
, 11l, 11l);
6625 ((struct instance_core__NativeArray
*)var16
)->values
[0]=var18
;
6626 if (likely(varonce21
!=NULL
)) {
6630 var24
= core__flat___NativeString___to_s_full(var23
, 4l, 4l);
6634 ((struct instance_core__NativeArray
*)var16
)->values
[2]=var22
;
6635 if (likely(varonce25
!=NULL
)) {
6639 var28
= core__flat___NativeString___to_s_full(var27
, 6l, 6l);
6643 ((struct instance_core__NativeArray
*)var16
)->values
[4]=var26
;
6648 ((struct instance_core__NativeArray
*)var16
)->values
[1]=var_compile_dir
;
6649 ((struct instance_core__NativeArray
*)var16
)->values
[3]=var_makename
;
6650 ((struct instance_core__NativeArray
*)var16
)->values
[5]=var_makeflags
;
6652 var29
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
6655 var_command
= var29
;
6657 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6658 var32
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6659 if (unlikely(var32
== NULL
)) {
6660 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6661 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6665 RET_LABEL31
:(void)0;
6669 nitc___nitc__ToolContext___info(var30
, var_command
, 2l); /* Direct call toolcontext#ToolContext#info on <var30:ToolContext>*/
6672 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6673 var35
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6674 if (unlikely(var35
== NULL
)) {
6675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6676 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6680 RET_LABEL34
:(void)0;
6684 { /* Inline toolcontext#ToolContext#verbose_level (var33) on <var33:ToolContext> */
6685 var38
= var33
->attrs
[COLOR_nitc__toolcontext__ToolContext___verbose_level
].l
; /* _verbose_level on <var33:ToolContext> */
6687 RET_LABEL37
:(void)0;
6691 { /* Inline kernel#Int#>= (var36,3l) on <var36:Int> */
6692 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
6693 /* <3l:Int> isa OTHER */
6694 var41
= 1; /* easy <3l:Int> isa OTHER*/
6695 if (unlikely(!var41
)) {
6696 var_class_name
= type_core__Int
.name
;
6697 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6698 PRINT_ERROR(" (%s:%d)\n", FILE_core__kernel
, 729);
6701 var42
= var36
>= 3l;
6704 RET_LABEL40
:(void)0;
6709 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6713 RET_LABEL44
:(void)0;
6716 if (unlikely(varonce46
==NULL
)) {
6717 var47
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6718 if (likely(varonce48
!=NULL
)) {
6722 var51
= core__flat___NativeString___to_s_full(var50
, 5l, 5l);
6726 ((struct instance_core__NativeArray
*)var47
)->values
[1]=var49
;
6731 ((struct instance_core__NativeArray
*)var47
)->values
[0]=var_command
;
6733 var52
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var47
); /* native_to_s on <var47:NativeArray[String]>*/
6737 var53
= core__exec___Sys___system(var43
, var52
);
6739 var54
= (val
*)(var53
<<2|1);
6743 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6747 RET_LABEL56
:(void)0;
6750 if (unlikely(varonce58
==NULL
)) {
6751 var59
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
6752 if (likely(varonce60
!=NULL
)) {
6755 var62
= " 2>&1 >/dev/null";
6756 var63
= core__flat___NativeString___to_s_full(var62
, 16l, 16l);
6760 ((struct instance_core__NativeArray
*)var59
)->values
[1]=var61
;
6765 ((struct instance_core__NativeArray
*)var59
)->values
[0]=var_command
;
6767 var64
= ((val
*(*)(val
* self
))(var59
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var59
); /* native_to_s on <var59:NativeArray[String]>*/
6771 var65
= core__exec___Sys___system(var55
, var64
);
6773 var66
= (val
*)(var65
<<2|1);
6777 { /* Inline kernel#Int#!= (var_res,0l) on <var_res:nullable Object(Int)> */
6778 var70
= (long)(var_res
)>>2;
6779 var69
= var70
== 0l;
6783 RET_LABEL68
:(void)0;
6788 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6789 var74
= self
->attrs
[COLOR_nitc__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6790 if (unlikely(var74
== NULL
)) {
6791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6792 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 131);
6796 RET_LABEL73
:(void)0;
6799 if (unlikely(varonce75
==NULL
)) {
6800 var76
= NEW_core__NativeArray(5l, &type_core__NativeArray__core__String
);
6801 if (likely(varonce77
!=NULL
)) {
6804 var79
= "Compilation Error: `make` failed with error code: ";
6805 var80
= core__flat___NativeString___to_s_full(var79
, 50l, 50l);
6809 ((struct instance_core__NativeArray
*)var76
)->values
[0]=var78
;
6810 if (likely(varonce81
!=NULL
)) {
6813 var83
= ". The command was `";
6814 var84
= core__flat___NativeString___to_s_full(var83
, 19l, 19l);
6818 ((struct instance_core__NativeArray
*)var76
)->values
[2]=var82
;
6819 if (likely(varonce85
!=NULL
)) {
6823 var88
= core__flat___NativeString___to_s_full(var87
, 2l, 2l);
6827 ((struct instance_core__NativeArray
*)var76
)->values
[4]=var86
;
6832 var90
= (long)(var_res
)>>2;
6833 var89
= core__flat___Int___core__abstract_text__Object__to_s(var90
);
6834 ((struct instance_core__NativeArray
*)var76
)->values
[1]=var89
;
6835 ((struct instance_core__NativeArray
*)var76
)->values
[3]=var_command
;
6837 var91
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
6841 var92
= nitc___nitc__ToolContext___error(var72
, ((val
*)NULL
), var91
);
6847 /* method abstract_compiler#AbstractCompiler#names for (self: AbstractCompiler): HashMap[String, String] */
6848 val
* nitc___nitc__AbstractCompiler___names(val
* self
) {
6849 val
* var
/* : HashMap[String, String] */;
6850 val
* var1
/* : HashMap[String, String] */;
6851 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
6852 if (unlikely(var1
== NULL
)) {
6853 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
6854 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 528);
6861 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
6862 val
* nitc___nitc__AbstractCompiler___mainmodule(val
* self
) {
6863 val
* var
/* : MModule */;
6864 val
* var1
/* : MModule */;
6865 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6866 if (unlikely(var1
== NULL
)) {
6867 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6868 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
6875 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
6876 void nitc___nitc__AbstractCompiler___mainmodule_61d(val
* self
, val
* p0
) {
6877 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
= p0
; /* _mainmodule on <self:AbstractCompiler> */
6880 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
6881 val
* nitc___nitc__AbstractCompiler___realmainmodule(val
* self
) {
6882 val
* var
/* : MModule */;
6883 val
* var1
/* : MModule */;
6884 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <self:AbstractCompiler> */
6885 if (unlikely(var1
== NULL
)) {
6886 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
6887 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 535);
6894 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
6895 void nitc___nitc__AbstractCompiler___realmainmodule_61d(val
* self
, val
* p0
) {
6896 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
= p0
; /* _realmainmodule on <self:AbstractCompiler> */
6899 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
6900 val
* nitc___nitc__AbstractCompiler___modelbuilder(val
* self
) {
6901 val
* var
/* : ModelBuilder */;
6902 val
* var1
/* : ModelBuilder */;
6903 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
6904 if (unlikely(var1
== NULL
)) {
6905 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6906 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
6913 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
6914 void nitc___nitc__AbstractCompiler___modelbuilder_61d(val
* self
, val
* p0
) {
6915 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
= p0
; /* _modelbuilder on <self:AbstractCompiler> */
6918 /* method abstract_compiler#AbstractCompiler#toolchain for (self: AbstractCompiler): Toolchain */
6919 val
* nitc___nitc__AbstractCompiler___toolchain(val
* self
) {
6920 val
* var
/* : Toolchain */;
6921 val
* var1
/* : Toolchain */;
6922 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
6923 if (unlikely(var1
== NULL
)) {
6924 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
6925 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 541);
6932 /* method abstract_compiler#AbstractCompiler#toolchain= for (self: AbstractCompiler, Toolchain) */
6933 void nitc___nitc__AbstractCompiler___toolchain_61d(val
* self
, val
* p0
) {
6934 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
= p0
; /* _toolchain on <self:AbstractCompiler> */
6937 /* method abstract_compiler#AbstractCompiler#target_platform for (self: AbstractCompiler): Platform */
6938 val
* nitc___nitc__AbstractCompiler___target_platform(val
* self
) {
6939 val
* var
/* : Platform */;
6940 val
* var1
/* : Platform */;
6941 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
6942 if (unlikely(var1
== NULL
)) {
6943 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
6944 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 549);
6951 /* method abstract_compiler#AbstractCompiler#target_platform= for (self: AbstractCompiler, Platform) */
6952 void nitc___nitc__AbstractCompiler___target_platform_61d(val
* self
, val
* p0
) {
6953 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
= p0
; /* _target_platform on <self:AbstractCompiler> */
6956 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler) */
6957 void nitc___nitc__AbstractCompiler___core__kernel__Object__init(val
* self
) {
6958 val
* var
/* : MModule */;
6959 val
* var2
/* : MModule */;
6960 val
* var4
/* : Platform */;
6961 val
* var5
/* : MModule */;
6962 val
* var7
/* : MModule */;
6963 val
* var8
/* : nullable Platform */;
6964 val
* var9
/* : Platform */;
6966 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc___nitc__AbstractCompiler___core__kernel__Object__init
]))(self
); /* init on <self:AbstractCompiler>*/
6969 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
6970 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6971 if (unlikely(var2
== NULL
)) {
6972 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6973 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
6981 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule= (self,var) on <self:AbstractCompiler> */
6982 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___realmainmodule
].val
= var
; /* _realmainmodule on <self:AbstractCompiler> */
6987 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
6988 var7
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6989 if (unlikely(var7
== NULL
)) {
6990 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6991 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
6999 var8
= nitc__platform___MModule___target_platform(var5
);
7004 var9
= NEW_nitc__Platform(&type_nitc__Platform
);
7006 { /* Inline kernel#Object#init (var9) on <var9:Platform> */
7007 RET_LABEL10
:(void)0;
7013 { /* Inline abstract_compiler#AbstractCompiler#target_platform= (self,var4) on <self:AbstractCompiler> */
7014 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___target_platform
].val
= var4
; /* _target_platform on <self:AbstractCompiler> */
7015 RET_LABEL11
:(void)0;
7020 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
7021 val
* nitc___nitc__AbstractCompiler___new_file(val
* self
, val
* p0
) {
7022 val
* var
/* : CodeFile */;
7023 val
* var_name
/* var name: String */;
7024 val
* var1
/* : ModelBuilder */;
7025 val
* var3
/* : ModelBuilder */;
7026 val
* var4
/* : ToolContext */;
7027 val
* var6
/* : ToolContext */;
7028 val
* var7
/* : OptionBool */;
7029 val
* var9
/* : OptionBool */;
7030 val
* var10
/* : nullable Object */;
7031 val
* var12
/* : nullable Object */;
7032 short int var13
/* : Bool */;
7033 val
* var14
/* : List[CodeFile] */;
7034 val
* var16
/* : List[CodeFile] */;
7035 short int var17
/* : Bool */;
7036 val
* var18
/* : CodeFile */;
7037 val
* var19
/* : MModule */;
7038 val
* var21
/* : MModule */;
7039 val
* var22
/* : String */;
7040 val
* var_f
/* var f: CodeFile */;
7041 val
* var23
/* : List[CodeFile] */;
7042 val
* var25
/* : List[CodeFile] */;
7043 val
* var26
/* : List[CodeFile] */;
7044 val
* var28
/* : List[CodeFile] */;
7045 val
* var29
/* : nullable Object */;
7046 val
* var30
/* : CodeFile */;
7047 val
* var_f31
/* var f: CodeFile */;
7048 val
* var32
/* : List[CodeFile] */;
7049 val
* var34
/* : List[CodeFile] */;
7052 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
7053 var3
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
7054 if (unlikely(var3
== NULL
)) {
7055 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7056 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
7064 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var1) on <var1:ModelBuilder> */
7065 var6
= var1
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var1:ModelBuilder> */
7066 if (unlikely(var6
== NULL
)) {
7067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7068 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
7076 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (var4) on <var4:ToolContext> */
7077 var9
= var4
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <var4:ToolContext> */
7078 if (unlikely(var9
== NULL
)) {
7079 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
7080 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 42);
7088 { /* Inline opts#Option#value (var7) on <var7:OptionBool> */
7089 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionBool> */
7091 RET_LABEL11
:(void)0;
7094 var13
= (short int)((long)(var10
)>>2);
7097 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7098 var16
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7099 if (unlikely(var16
== NULL
)) {
7100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7101 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
7105 RET_LABEL15
:(void)0;
7109 var17
= core___core__List___core__abstract_collection__Collection__is_empty(var14
);
7112 var18
= NEW_nitc__CodeFile(&type_nitc__CodeFile
);
7114 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
7115 var21
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
7116 if (unlikely(var21
== NULL
)) {
7117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7118 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
7122 RET_LABEL20
:(void)0;
7126 var22
= nitc___nitc__MModule___nitc__model_base__MEntity__c_name(var19
);
7129 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nitc__abstract_compiler__CodeFile__name_61d
]))(var18
, var22
); /* name= on <var18:CodeFile>*/
7132 ((void(*)(val
* self
))(var18
->class->vft
[COLOR_core__kernel__Object__init
]))(var18
); /* init on <var18:CodeFile>*/
7136 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7137 var25
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7138 if (unlikely(var25
== NULL
)) {
7139 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7140 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
7144 RET_LABEL24
:(void)0;
7148 core___core__Sequence___SimpleCollection__add(var23
, var_f
); /* Direct call abstract_collection#Sequence#add on <var23:List[CodeFile]>*/
7153 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7154 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7155 if (unlikely(var28
== NULL
)) {
7156 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7157 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
7161 RET_LABEL27
:(void)0;
7165 var29
= core___core__List___core__abstract_collection__Collection__first(var26
);
7171 var30
= NEW_nitc__CodeFile(&type_nitc__CodeFile
);
7173 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nitc__abstract_compiler__CodeFile__name_61d
]))(var30
, var_name
); /* name= on <var30:CodeFile>*/
7176 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_core__kernel__Object__init
]))(var30
); /* init on <var30:CodeFile>*/
7180 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7181 var34
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7182 if (unlikely(var34
== NULL
)) {
7183 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7184 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
7188 RET_LABEL33
:(void)0;
7192 core___core__Sequence___SimpleCollection__add(var32
, var_f31
); /* Direct call abstract_collection#Sequence#add on <var32:List[CodeFile]>*/
7199 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
7200 val
* nitc___nitc__AbstractCompiler___files(val
* self
) {
7201 val
* var
/* : List[CodeFile] */;
7202 val
* var1
/* : List[CodeFile] */;
7203 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7204 if (unlikely(var1
== NULL
)) {
7205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7206 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 578);
7213 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
7214 val
* nitc___nitc__AbstractCompiler___header(val
* self
) {
7215 val
* var
/* : CodeWriter */;
7216 val
* var1
/* : CodeWriter */;
7217 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
7218 if (unlikely(var1
== NULL
)) {
7219 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
7220 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
7227 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
7228 void nitc___nitc__AbstractCompiler___header_61d(val
* self
, val
* p0
) {
7229 self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
= p0
; /* _header on <self:AbstractCompiler> */
7232 /* method abstract_compiler#AbstractCompiler#linker_script for (self: AbstractCompiler): Array[String] */
7233 val
* nitc___nitc__AbstractCompiler___linker_script(val
* self
) {
7234 val
* var
/* : Array[String] */;
7235 val
* var1
/* : Array[String] */;
7236 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:AbstractCompiler> */
7237 if (unlikely(var1
== NULL
)) {
7238 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
7239 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 588);
7246 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
7247 void nitc___nitc__AbstractCompiler___provide_declaration(val
* self
, val
* p0
, val
* p1
) {
7248 val
* var_key
/* var key: String */;
7249 val
* var_s
/* var s: String */;
7250 val
* var
/* : HashMap[String, String] */;
7251 val
* var2
/* : HashMap[String, String] */;
7252 short int var3
/* : Bool */;
7253 val
* var4
/* : HashMap[String, String] */;
7254 val
* var6
/* : HashMap[String, String] */;
7255 val
* var7
/* : nullable Object */;
7256 short int var8
/* : Bool */;
7257 val
* var9
/* : HashMap[String, String] */;
7258 val
* var11
/* : HashMap[String, String] */;
7262 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7263 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7264 if (unlikely(var2
== NULL
)) {
7265 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7266 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
7274 var3
= core___core__HashMap___core__abstract_collection__MapRead__has_key(var
, var_key
);
7278 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7279 var6
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7280 if (unlikely(var6
== NULL
)) {
7281 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7282 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
7290 var7
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var4
, var_key
);
7293 var8
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_core__kernel__Object___61d_61d
]))(var7
, var_s
); /* == on <var7:nullable Object(String)>*/
7295 if (unlikely(!var8
)) {
7296 PRINT_ERROR("Runtime error: %s", "Assert failed");
7297 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 596);
7303 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7304 var11
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7305 if (unlikely(var11
== NULL
)) {
7306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7307 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
7311 RET_LABEL10
:(void)0;
7315 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]>*/
7319 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
7320 val
* nitc___nitc__AbstractCompiler___provided_declarations(val
* self
) {
7321 val
* var
/* : HashMap[String, String] */;
7322 val
* var1
/* : HashMap[String, String] */;
7323 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7324 if (unlikely(var1
== NULL
)) {
7325 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7326 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 601);
7333 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations for (self: AbstractCompiler): HashMap[String, ANode] */
7334 val
* nitc___nitc__AbstractCompiler___requirers_of_declarations(val
* self
) {
7335 val
* var
/* : HashMap[String, ANode] */;
7336 val
* var1
/* : HashMap[String, ANode] */;
7337 var1
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <self:AbstractCompiler> */
7338 if (unlikely(var1
== NULL
)) {
7339 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
7340 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 603);
7347 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: AbstractCompiler) */
7348 void nitc___nitc__AbstractCompiler___build_c_to_nit_bindings(val
* self
) {
7349 val
* var
/* : Toolchain */;
7350 val
* var2
/* : Toolchain */;
7351 val
* var3
/* : String */;
7352 val
* var_compile_dir
/* var compile_dir: String */;
7353 val
* var4
/* : FileWriter */;
7354 val
* var5
/* : NativeArray[String] */;
7355 static val
* varonce
;
7356 static val
* varonce6
;
7357 val
* var7
/* : String */;
7358 char* var8
/* : NativeString */;
7359 val
* var9
/* : String */;
7360 val
* var10
/* : String */;
7361 val
* var_stream
/* var stream: FileWriter */;
7362 static val
* varonce11
;
7363 val
* var12
/* : String */;
7364 char* var13
/* : NativeString */;
7365 val
* var14
/* : String */;
7366 static val
* varonce15
;
7367 val
* var16
/* : String */;
7368 char* var17
/* : NativeString */;
7369 val
* var18
/* : String */;
7370 static val
* varonce19
;
7371 val
* var20
/* : String */;
7372 char* var21
/* : NativeString */;
7373 val
* var22
/* : String */;
7374 static val
* varonce23
;
7375 val
* var24
/* : String */;
7376 char* var25
/* : NativeString */;
7377 val
* var26
/* : String */;
7378 static val
* varonce27
;
7379 val
* var28
/* : String */;
7380 char* var29
/* : NativeString */;
7381 val
* var30
/* : String */;
7382 static val
* varonce31
;
7383 val
* var32
/* : String */;
7384 char* var33
/* : NativeString */;
7385 val
* var34
/* : String */;
7386 static val
* varonce35
;
7387 val
* var36
/* : String */;
7388 char* var37
/* : NativeString */;
7389 val
* var38
/* : String */;
7390 static val
* varonce39
;
7391 val
* var40
/* : String */;
7392 char* var41
/* : NativeString */;
7393 val
* var42
/* : String */;
7394 val
* var44
/* : NativeArray[String] */;
7395 static val
* varonce43
;
7396 static val
* varonce45
;
7397 val
* var46
/* : String */;
7398 char* var47
/* : NativeString */;
7399 val
* var48
/* : String */;
7400 static val
* varonce49
;
7401 val
* var50
/* : String */;
7402 char* var51
/* : NativeString */;
7403 val
* var52
/* : String */;
7404 val
* var53
/* : HashMap[String, String] */;
7405 val
* var55
/* : HashMap[String, String] */;
7406 long var56
/* : Int */;
7407 val
* var57
/* : String */;
7408 val
* var58
/* : String */;
7409 val
* var59
/* : HashMap[String, String] */;
7410 val
* var61
/* : HashMap[String, String] */;
7411 val
* var62
/* : RemovableCollection[nullable Object] */;
7412 val
* var_
/* var : RemovableCollection[String] */;
7413 val
* var63
/* : Iterator[nullable Object] */;
7414 val
* var_64
/* var : Iterator[String] */;
7415 short int var65
/* : Bool */;
7416 val
* var66
/* : nullable Object */;
7417 val
* var_i
/* var i: String */;
7418 static val
* varonce67
;
7419 val
* var68
/* : String */;
7420 char* var69
/* : NativeString */;
7421 val
* var70
/* : String */;
7422 val
* var71
/* : String */;
7423 static val
* varonce72
;
7424 val
* var73
/* : String */;
7425 char* var74
/* : NativeString */;
7426 val
* var75
/* : String */;
7427 val
* var76
/* : HashMap[String, String] */;
7428 val
* var78
/* : HashMap[String, String] */;
7429 val
* var79
/* : nullable Object */;
7430 val
* var80
/* : String */;
7431 static val
* varonce81
;
7432 val
* var82
/* : String */;
7433 char* var83
/* : NativeString */;
7434 val
* var84
/* : String */;
7435 static val
* varonce85
;
7436 val
* var86
/* : String */;
7437 char* var87
/* : NativeString */;
7438 val
* var88
/* : String */;
7439 static val
* varonce89
;
7440 val
* var90
/* : String */;
7441 char* var91
/* : NativeString */;
7442 val
* var92
/* : String */;
7443 val
* var94
/* : NativeArray[String] */;
7444 static val
* varonce93
;
7445 static val
* varonce95
;
7446 val
* var96
/* : String */;
7447 char* var97
/* : NativeString */;
7448 val
* var98
/* : String */;
7449 static val
* varonce99
;
7450 val
* var100
/* : String */;
7451 char* var101
/* : NativeString */;
7452 val
* var102
/* : String */;
7453 val
* var103
/* : HashMap[String, String] */;
7454 val
* var105
/* : HashMap[String, String] */;
7455 long var106
/* : Int */;
7456 val
* var107
/* : String */;
7457 val
* var108
/* : String */;
7458 static val
* varonce109
;
7459 val
* var110
/* : String */;
7460 char* var111
/* : NativeString */;
7461 val
* var112
/* : String */;
7462 static val
* varonce113
;
7463 val
* var114
/* : String */;
7464 char* var115
/* : NativeString */;
7465 val
* var116
/* : String */;
7466 static val
* varonce117
;
7467 val
* var118
/* : String */;
7468 char* var119
/* : NativeString */;
7469 val
* var120
/* : String */;
7470 static val
* varonce121
;
7471 val
* var122
/* : String */;
7472 char* var123
/* : NativeString */;
7473 val
* var124
/* : String */;
7474 static val
* varonce125
;
7475 val
* var126
/* : String */;
7476 char* var127
/* : NativeString */;
7477 val
* var128
/* : String */;
7478 static val
* varonce129
;
7479 val
* var130
/* : String */;
7480 char* var131
/* : NativeString */;
7481 val
* var132
/* : String */;
7482 static val
* varonce133
;
7483 val
* var134
/* : String */;
7484 char* var135
/* : NativeString */;
7485 val
* var136
/* : String */;
7486 static val
* varonce137
;
7487 val
* var138
/* : String */;
7488 char* var139
/* : NativeString */;
7489 val
* var140
/* : String */;
7490 val
* var141
/* : FileWriter */;
7491 val
* var143
/* : NativeArray[String] */;
7492 static val
* varonce142
;
7493 static val
* varonce144
;
7494 val
* var145
/* : String */;
7495 char* var146
/* : NativeString */;
7496 val
* var147
/* : String */;
7497 val
* var148
/* : String */;
7498 static val
* varonce149
;
7499 val
* var150
/* : String */;
7500 char* var151
/* : NativeString */;
7501 val
* var152
/* : String */;
7502 val
* var153
/* : Array[ExternFile] */;
7503 val
* var155
/* : Array[ExternFile] */;
7504 val
* var156
/* : ExternCFile */;
7505 val
* var158
/* : NativeArray[String] */;
7506 static val
* varonce157
;
7507 static val
* varonce159
;
7508 val
* var160
/* : String */;
7509 char* var161
/* : NativeString */;
7510 val
* var162
/* : String */;
7511 val
* var163
/* : String */;
7512 static val
* varonce164
;
7513 val
* var165
/* : String */;
7514 char* var166
/* : NativeString */;
7515 val
* var167
/* : String */;
7517 { /* Inline abstract_compiler#AbstractCompiler#toolchain (self) on <self:AbstractCompiler> */
7518 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
7519 if (unlikely(var2
== NULL
)) {
7520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
7521 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 541);
7529 var3
= nitc___nitc__Toolchain___compile_dir(var
);
7531 var_compile_dir
= var3
;
7532 var4
= NEW_core__FileWriter(&type_core__FileWriter
);
7533 if (unlikely(varonce
==NULL
)) {
7534 var5
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
7535 if (likely(varonce6
!=NULL
)) {
7538 var8
= "/c_functions_hash.c";
7539 var9
= core__flat___NativeString___to_s_full(var8
, 19l, 19l);
7543 ((struct instance_core__NativeArray
*)var5
)->values
[1]=var7
;
7548 ((struct instance_core__NativeArray
*)var5
)->values
[0]=var_compile_dir
;
7550 var10
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
7554 core___core__FileWriter___open(var4
, var10
); /* Direct call file#FileWriter#open on <var4:FileWriter>*/
7557 if (likely(varonce11
!=NULL
)) {
7560 var13
= "#include <string.h>\n";
7561 var14
= core__flat___NativeString___to_s_full(var13
, 20l, 20l);
7566 core___core__FileWriter___core__stream__Writer__write(var_stream
, var12
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7568 if (likely(varonce15
!=NULL
)) {
7571 var17
= "#include <stdlib.h>\n";
7572 var18
= core__flat___NativeString___to_s_full(var17
, 20l, 20l);
7577 core___core__FileWriter___core__stream__Writer__write(var_stream
, var16
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7579 if (likely(varonce19
!=NULL
)) {
7582 var21
= "#include \"c_functions_hash.h\"\n";
7583 var22
= core__flat___NativeString___to_s_full(var21
, 30l, 30l);
7588 core___core__FileWriter___core__stream__Writer__write(var_stream
, var20
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7590 if (likely(varonce23
!=NULL
)) {
7593 var25
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
7594 var26
= core__flat___NativeString___to_s_full(var25
, 68l, 68l);
7599 core___core__FileWriter___core__stream__Writer__write(var_stream
, var24
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7601 if (likely(varonce27
!=NULL
)) {
7604 var29
= "const char* get_nit_name(register const char* procproc, register unsigned int len){\n";
7605 var30
= core__flat___NativeString___to_s_full(var29
, 84l, 84l);
7610 core___core__FileWriter___core__stream__Writer__write(var_stream
, var28
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7612 if (likely(varonce31
!=NULL
)) {
7615 var33
= "char* procname = malloc(len+1);";
7616 var34
= core__flat___NativeString___to_s_full(var33
, 31l, 31l);
7621 core___core__FileWriter___core__stream__Writer__write(var_stream
, var32
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7623 if (likely(varonce35
!=NULL
)) {
7626 var37
= "memcpy(procname, procproc, len);";
7627 var38
= core__flat___NativeString___to_s_full(var37
, 32l, 32l);
7632 core___core__FileWriter___core__stream__Writer__write(var_stream
, var36
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7634 if (likely(varonce39
!=NULL
)) {
7637 var41
= "procname[len] = \'\\0\';";
7638 var42
= core__flat___NativeString___to_s_full(var41
, 21l, 21l);
7643 core___core__FileWriter___core__stream__Writer__write(var_stream
, var40
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7645 if (unlikely(varonce43
==NULL
)) {
7646 var44
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
7647 if (likely(varonce45
!=NULL
)) {
7650 var47
= "static const C_Nit_Names map[";
7651 var48
= core__flat___NativeString___to_s_full(var47
, 29l, 29l);
7655 ((struct instance_core__NativeArray
*)var44
)->values
[0]=var46
;
7656 if (likely(varonce49
!=NULL
)) {
7660 var52
= core__flat___NativeString___to_s_full(var51
, 6l, 6l);
7664 ((struct instance_core__NativeArray
*)var44
)->values
[2]=var50
;
7670 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7671 var55
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7672 if (unlikely(var55
== NULL
)) {
7673 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7674 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 528);
7678 RET_LABEL54
:(void)0;
7682 var56
= core___core__HashMap___core__abstract_collection__MapRead__length(var53
);
7684 var57
= core__flat___Int___core__abstract_text__Object__to_s(var56
);
7685 ((struct instance_core__NativeArray
*)var44
)->values
[1]=var57
;
7687 var58
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
7691 core___core__FileWriter___core__stream__Writer__write(var_stream
, var58
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7694 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7695 var61
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7696 if (unlikely(var61
== NULL
)) {
7697 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7698 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 528);
7702 RET_LABEL60
:(void)0;
7706 var62
= core___core__HashMap___core__abstract_collection__MapRead__keys(var59
);
7710 var63
= ((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]>*/
7715 var65
= ((short int(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_core__abstract_collection__Iterator__is_ok
]))(var_64
); /* is_ok on <var_64:Iterator[String]>*/
7722 var66
= ((val
*(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_core__abstract_collection__Iterator__item
]))(var_64
); /* item on <var_64:Iterator[String]>*/
7725 if (likely(varonce67
!=NULL
)) {
7729 var70
= core__flat___NativeString___to_s_full(var69
, 2l, 2l);
7734 core___core__FileWriter___core__stream__Writer__write(var_stream
, var68
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7737 var71
= ((val
*(*)(val
* self
))(var_i
->class->vft
[COLOR_core__abstract_text__Text__escape_to_c
]))(var_i
); /* escape_to_c on <var_i:String>*/
7740 core___core__FileWriter___core__stream__Writer__write(var_stream
, var71
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7742 if (likely(varonce72
!=NULL
)) {
7746 var75
= core__flat___NativeString___to_s_full(var74
, 3l, 3l);
7751 core___core__FileWriter___core__stream__Writer__write(var_stream
, var73
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7754 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7755 var78
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7756 if (unlikely(var78
== NULL
)) {
7757 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7758 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 528);
7762 RET_LABEL77
:(void)0;
7766 var79
= core___core__HashMap___core__abstract_collection__MapRead___91d_93d(var76
, var_i
);
7769 var80
= ((val
*(*)(val
* self
))(var79
->class->vft
[COLOR_core__abstract_text__Text__escape_to_c
]))(var79
); /* escape_to_c on <var79:nullable Object(String)>*/
7772 core___core__FileWriter___core__stream__Writer__write(var_stream
, var80
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7774 if (likely(varonce81
!=NULL
)) {
7778 var84
= core__flat___NativeString___to_s_full(var83
, 4l, 4l);
7783 core___core__FileWriter___core__stream__Writer__write(var_stream
, var82
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7786 ((void(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_core__abstract_collection__Iterator__next
]))(var_64
); /* next on <var_64:Iterator[String]>*/
7789 BREAK_label
: (void)0;
7791 ((void(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_core__abstract_collection__Iterator__finish
]))(var_64
); /* finish on <var_64:Iterator[String]>*/
7793 if (likely(varonce85
!=NULL
)) {
7797 var88
= core__flat___NativeString___to_s_full(var87
, 3l, 3l);
7802 core___core__FileWriter___core__stream__Writer__write(var_stream
, var86
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7804 if (likely(varonce89
!=NULL
)) {
7808 var92
= core__flat___NativeString___to_s_full(var91
, 6l, 6l);
7813 core___core__FileWriter___core__stream__Writer__write(var_stream
, var90
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7815 if (unlikely(varonce93
==NULL
)) {
7816 var94
= NEW_core__NativeArray(3l, &type_core__NativeArray__core__String
);
7817 if (likely(varonce95
!=NULL
)) {
7820 var97
= "for(i = 0; i < ";
7821 var98
= core__flat___NativeString___to_s_full(var97
, 15l, 15l);
7825 ((struct instance_core__NativeArray
*)var94
)->values
[0]=var96
;
7826 if (likely(varonce99
!=NULL
)) {
7830 var102
= core__flat___NativeString___to_s_full(var101
, 7l, 7l);
7834 ((struct instance_core__NativeArray
*)var94
)->values
[2]=var100
;
7840 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7841 var105
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7842 if (unlikely(var105
== NULL
)) {
7843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 528);
7848 RET_LABEL104
:(void)0;
7852 var106
= core___core__HashMap___core__abstract_collection__MapRead__length(var103
);
7854 var107
= core__flat___Int___core__abstract_text__Object__to_s(var106
);
7855 ((struct instance_core__NativeArray
*)var94
)->values
[1]=var107
;
7857 var108
= ((val
*(*)(val
* self
))(var94
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var94
); /* native_to_s on <var94:NativeArray[String]>*/
7861 core___core__FileWriter___core__stream__Writer__write(var_stream
, var108
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7863 if (likely(varonce109
!=NULL
)) {
7864 var110
= varonce109
;
7866 var111
= "if(strcmp(procname,map[i].name) == 0){";
7867 var112
= core__flat___NativeString___to_s_full(var111
, 38l, 38l);
7869 varonce109
= var110
;
7872 core___core__FileWriter___core__stream__Writer__write(var_stream
, var110
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7874 if (likely(varonce113
!=NULL
)) {
7875 var114
= varonce113
;
7877 var115
= "free(procname);";
7878 var116
= core__flat___NativeString___to_s_full(var115
, 15l, 15l);
7880 varonce113
= var114
;
7883 core___core__FileWriter___core__stream__Writer__write(var_stream
, var114
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7885 if (likely(varonce117
!=NULL
)) {
7886 var118
= varonce117
;
7888 var119
= "return map[i].nit_name;";
7889 var120
= core__flat___NativeString___to_s_full(var119
, 23l, 23l);
7891 varonce117
= var118
;
7894 core___core__FileWriter___core__stream__Writer__write(var_stream
, var118
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7896 if (likely(varonce121
!=NULL
)) {
7897 var122
= varonce121
;
7900 var124
= core__flat___NativeString___to_s_full(var123
, 1l, 1l);
7902 varonce121
= var122
;
7905 core___core__FileWriter___core__stream__Writer__write(var_stream
, var122
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7907 if (likely(varonce125
!=NULL
)) {
7908 var126
= varonce125
;
7911 var128
= core__flat___NativeString___to_s_full(var127
, 1l, 1l);
7913 varonce125
= var126
;
7916 core___core__FileWriter___core__stream__Writer__write(var_stream
, var126
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7918 if (likely(varonce129
!=NULL
)) {
7919 var130
= varonce129
;
7921 var131
= "free(procname);";
7922 var132
= core__flat___NativeString___to_s_full(var131
, 15l, 15l);
7924 varonce129
= var130
;
7927 core___core__FileWriter___core__stream__Writer__write(var_stream
, var130
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7929 if (likely(varonce133
!=NULL
)) {
7930 var134
= varonce133
;
7932 var135
= "return NULL;";
7933 var136
= core__flat___NativeString___to_s_full(var135
, 12l, 12l);
7935 varonce133
= var134
;
7938 core___core__FileWriter___core__stream__Writer__write(var_stream
, var134
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7940 if (likely(varonce137
!=NULL
)) {
7941 var138
= varonce137
;
7944 var140
= core__flat___NativeString___to_s_full(var139
, 2l, 2l);
7946 varonce137
= var138
;
7949 core___core__FileWriter___core__stream__Writer__write(var_stream
, var138
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7952 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
7954 var141
= NEW_core__FileWriter(&type_core__FileWriter
);
7955 if (unlikely(varonce142
==NULL
)) {
7956 var143
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
7957 if (likely(varonce144
!=NULL
)) {
7958 var145
= varonce144
;
7960 var146
= "/c_functions_hash.h";
7961 var147
= core__flat___NativeString___to_s_full(var146
, 19l, 19l);
7963 varonce144
= var145
;
7965 ((struct instance_core__NativeArray
*)var143
)->values
[1]=var145
;
7967 var143
= varonce142
;
7970 ((struct instance_core__NativeArray
*)var143
)->values
[0]=var_compile_dir
;
7972 var148
= ((val
*(*)(val
* self
))(var143
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var143
); /* native_to_s on <var143:NativeArray[String]>*/
7974 varonce142
= var143
;
7976 core___core__FileWriter___open(var141
, var148
); /* Direct call file#FileWriter#open on <var141:FileWriter>*/
7978 var_stream
= var141
;
7979 if (likely(varonce149
!=NULL
)) {
7980 var150
= varonce149
;
7982 var151
= "const char* get_nit_name(register const char* procname, register unsigned int len);\n";
7983 var152
= core__flat___NativeString___to_s_full(var151
, 84l, 84l);
7985 varonce149
= var150
;
7988 core___core__FileWriter___core__stream__Writer__write(var_stream
, var150
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7991 core___core__FileWriter___core__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
7994 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (self) on <self:AbstractCompiler> */
7995 var155
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
7996 if (unlikely(var155
== NULL
)) {
7997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
7998 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 1010);
8002 RET_LABEL154
:(void)0;
8005 var156
= NEW_nitc__ExternCFile(&type_nitc__ExternCFile
);
8006 if (unlikely(varonce157
==NULL
)) {
8007 var158
= NEW_core__NativeArray(2l, &type_core__NativeArray__core__String
);
8008 if (likely(varonce159
!=NULL
)) {
8009 var160
= varonce159
;
8011 var161
= "/c_functions_hash.c";
8012 var162
= core__flat___NativeString___to_s_full(var161
, 19l, 19l);
8014 varonce159
= var160
;
8016 ((struct instance_core__NativeArray
*)var158
)->values
[1]=var160
;
8018 var158
= varonce157
;
8021 ((struct instance_core__NativeArray
*)var158
)->values
[0]=var_compile_dir
;
8023 var163
= ((val
*(*)(val
* self
))(var158
->class->vft
[COLOR_core__abstract_text__NativeArray__native_to_s
]))(var158
); /* native_to_s on <var158:NativeArray[String]>*/
8025 varonce157
= var158
;
8026 if (likely(varonce164
!=NULL
)) {
8027 var165
= varonce164
;
8030 var167
= core__flat___NativeString___to_s_full(var166
, 0l, 0l);
8032 varonce164
= var165
;
8035 ((void(*)(val
* self
, val
* p0
))(var156
->class->vft
[COLOR_nitc__c_tools__ExternFile__filename_61d
]))(var156
, var163
); /* filename= on <var156:ExternCFile>*/
8038 ((void(*)(val
* self
, val
* p0
))(var156
->class->vft
[COLOR_nitc__c_tools__ExternCFile__cflags_61d
]))(var156
, var165
); /* cflags= on <var156:ExternCFile>*/
8041 ((void(*)(val
* self
))(var156
->class->vft
[COLOR_core__kernel__Object__init
]))(var156
); /* init on <var156:ExternCFile>*/
8044 core___core__Array___core__abstract_collection__SimpleCollection__add(var153
, var156
); /* Direct call array#Array#add on <var153:Array[ExternFile]>*/
8048 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
8049 void nitc___nitc__AbstractCompiler___compile_header(val
* self
) {
8050 val
* var
/* : CodeWriter */;
8051 val
* var2
/* : CodeWriter */;
8052 static val
* varonce
;
8053 val
* var3
/* : String */;
8054 char* var4
/* : NativeString */;
8055 val
* var5
/* : String */;
8056 val
* var6
/* : CodeWriter */;
8057 val
* var8
/* : CodeWriter */;
8058 static val
* varonce9
;
8059 val
* var10
/* : String */;
8060 char* var11
/* : NativeString */;
8061 val
* var12
/* : String */;
8062 val
* var13
/* : CodeWriter */;
8063 val
* var15
/* : CodeWriter */;
8064 static val
* varonce16
;
8065 val
* var17
/* : String */;
8066 char* var18
/* : NativeString */;
8067 val
* var19
/* : String */;
8068 val
* var20
/* : CodeWriter */;
8069 val
* var22
/* : CodeWriter */;
8070 static val
* varonce23
;
8071 val
* var24
/* : String */;
8072 char* var25
/* : NativeString */;
8073 val
* var26
/* : String */;
8074 val
* var27
/* : CodeWriter */;
8075 val
* var29
/* : CodeWriter */;
8076 static val
* varonce30
;
8077 val
* var31
/* : String */;
8078 char* var32
/* : NativeString */;
8079 val
* var33
/* : String */;
8080 val
* var34
/* : CodeWriter */;
8081 val
* var36
/* : CodeWriter */;
8082 static val
* varonce37
;
8083 val
* var38
/* : String */;
8084 char* var39
/* : NativeString */;
8085 val
* var40
/* : String */;
8086 val
* var41
/* : CodeWriter */;
8087 val
* var43
/* : CodeWriter */;
8088 static val
* varonce44
;
8089 val
* var45
/* : String */;
8090 char* var46
/* : NativeString */;
8091 val
* var47
/* : String */;
8092 val
* var48
/* : CodeWriter */;
8093 val
* var50
/* : CodeWriter */;
8094 static val
* varonce51
;
8095 val
* var52
/* : String */;
8096 char* var53
/* : NativeString */;
8097 val
* var54
/* : String */;
8098 val
* var55
/* : CodeWriter */;
8099 val
* var57
/* : CodeWriter */;
8100 static val
* varonce58
;
8101 val
* var59
/* : String */;
8102 char* var60
/* : NativeString */;
8103 val
* var61
/* : String */;
8104 val
* var62
/* : CodeWriter */;
8105 val
* var64
/* : CodeWriter */;
8106 static val
* varonce65
;
8107 val
* var66
/* : String */;
8108 char* var67
/* : NativeString */;
8109 val
* var68
/* : String */;
8110 val
* var69
/* : CodeWriter */;
8111 val
* var71
/* : CodeWriter */;
8112 static val
* varonce72
;
8113 val
* var73
/* : String */;
8114 char* var74
/* : NativeString */;
8115 val
* var75
/* : String */;
8116 val
* var76
/* : CodeWriter */;
8117 val
* var78
/* : CodeWriter */;
8118 static val
* varonce79
;
8119 val
* var80
/* : String */;
8120 char* var81
/* : NativeString */;
8121 val
* var82
/* : String */;
8122 val
* var83
/* : CodeWriter */;
8123 val
* var85
/* : CodeWriter */;
8124 static val
* varonce86
;
8125 val
* var87
/* : String */;
8126 char* var88
/* : NativeString */;
8127 val
* var89
/* : String */;
8128 val
* var90
/* : CodeWriter */;
8129 val
* var92
/* : CodeWriter */;
8130 static val
* varonce93
;
8131 val
* var94
/* : String */;
8132 char* var95
/* : NativeString */;
8133 val
* var96
/* : String */;
8134 val
* var97
/* : CodeWriter */;
8135 val
* var99
/* : CodeWriter */;
8136 static val
* varonce100
;
8137 val
* var101
/* : String */;
8138 char* var102
/* : NativeString */;
8139 val
* var103
/* : String */;
8140 val
* var104
/* : CodeWriter */;
8141 val
* var106
/* : CodeWriter */;
8142 static val
* varonce107
;
8143 val
* var108
/* : String */;
8144 char* var109
/* : NativeString */;
8145 val
* var110
/* : String */;
8146 val
* var111
/* : CodeWriter */;
8147 val
* var113
/* : CodeWriter */;
8148 static val
* varonce114
;
8149 val
* var115
/* : String */;
8150 char* var116
/* : NativeString */;
8151 val
* var117
/* : String */;
8152 val
* var118
/* : CodeWriter */;
8153 val
* var120
/* : CodeWriter */;
8154 static val
* varonce121
;
8155 val
* var122
/* : String */;
8156 char* var123
/* : NativeString */;
8157 val
* var124
/* : String */;
8158 val
* var125
/* : CodeWriter */;
8159 val
* var127
/* : CodeWriter */;
8160 static val
* varonce128
;
8161 val
* var129
/* : String */;
8162 char* var130
/* : NativeString */;
8163 val
* var131
/* : String */;
8164 val
* var132
/* : CodeWriter */;
8165 val
* var134
/* : CodeWriter */;
8166 static val
* varonce135
;
8167 val
* var136
/* : String */;
8168 char* var137
/* : NativeString */;
8169 val
* var138
/* : String */;
8170 val
* var139
/* : CodeWriter */;
8171 val
* var141
/* : CodeWriter */;
8172 static val
* varonce142
;
8173 val
* var143
/* : String */;
8174 char* var144
/* : NativeString */;
8175 val
* var145
/* : String */;
8176 val
* var146
/* : CodeWriter */;
8177 val
* var148
/* : CodeWriter */;
8178 static val
* varonce149
;
8179 val
* var150
/* : String */;
8180 char* var151
/* : NativeString */;
8181 val
* var152
/* : String */;
8182 val
* var153
/* : CodeWriter */;
8183 val
* var155
/* : CodeWriter */;
8184 static val
* varonce156
;
8185 val
* var157
/* : String */;
8186 char* var158
/* : NativeString */;
8187 val
* var159
/* : String */;
8188 val
* var160
/* : CodeWriter */;
8189 val
* var162
/* : CodeWriter */;
8190 static val
* varonce163
;
8191 val
* var164
/* : String */;
8192 char* var165
/* : NativeString */;
8193 val
* var166
/* : String */;
8194 val
* var167
/* : CodeWriter */;
8195 val
* var169
/* : CodeWriter */;
8196 static val
* varonce170
;
8197 val
* var171
/* : String */;
8198 char* var172
/* : NativeString */;
8199 val
* var173
/* : String */;
8200 val
* var174
/* : CodeWriter */;
8201 val
* var176
/* : CodeWriter */;
8202 static val
* varonce177
;
8203 val
* var178
/* : String */;
8204 char* var179
/* : NativeString */;
8205 val
* var180
/* : String */;
8206 val
* var181
/* : ModelBuilder */;
8207 val
* var183
/* : ModelBuilder */;
8208 val
* var184
/* : ToolContext */;
8209 val
* var186
/* : ToolContext */;
8210 val
* var187
/* : OptionArray */;
8211 val
* var189
/* : OptionArray */;
8212 val
* var190
/* : nullable Object */;
8213 val
* var192
/* : nullable Object */;
8214 val
* var_gccd_disable
/* var gccd_disable: Array[String] */;
8215 short int var193
/* : Bool */;
8216 static val
* varonce194
;
8217 val
* var195
/* : String */;
8218 char* var196
/* : NativeString */;
8219 val
* var197
/* : String */;
8220 short int var198
/* : Bool */;
8221 short int var_
/* var : Bool */;
8222 static val
* varonce199
;
8223 val
* var200
/* : String */;
8224 char* var201
/* : NativeString */;
8225 val
* var202
/* : String */;
8226 short int var203
/* : Bool */;
8227 val
* var204
/* : CodeWriter */;
8228 val
* var206
/* : CodeWriter */;
8229 static val
* varonce207
;
8230 val
* var208
/* : String */;
8231 char* var209
/* : NativeString */;
8232 val
* var210
/* : String */;
8233 val
* var211
/* : CodeWriter */;
8234 val
* var213
/* : CodeWriter */;
8235 static val
* varonce214
;
8236 val
* var215
/* : String */;
8237 char* var216
/* : NativeString */;
8238 val
* var217
/* : String */;
8239 short int var218
/* : Bool */;
8240 static val
* varonce219
;
8241 val
* var220
/* : String */;
8242 char* var221
/* : NativeString */;
8243 val
* var222
/* : String */;
8244 short int var223
/* : Bool */;
8245 short int var_224
/* var : Bool */;
8246 static val
* varonce225
;
8247 val
* var226
/* : String */;
8248 char* var227
/* : NativeString */;
8249 val
* var228
/* : String */;
8250 short int var229
/* : Bool */;
8251 val
* var230
/* : CodeWriter */;
8252 val
* var232
/* : CodeWriter */;
8253 static val
* varonce233
;
8254 val
* var234
/* : String */;
8255 char* var235
/* : NativeString */;
8256 val
* var236
/* : String */;
8257 val
* var237
/* : CodeWriter */;
8258 val
* var239
/* : CodeWriter */;
8259 static val
* varonce240
;
8260 val
* var241
/* : String */;
8261 char* var242
/* : NativeString */;
8262 val
* var243
/* : String */;
8263 static val
* varonce244
;
8264 val
* var245
/* : String */;
8265 char* var246
/* : NativeString */;
8266 val
* var247
/* : String */;
8267 short int var248
/* : Bool */;
8268 val
* var249
/* : CodeWriter */;
8269 val
* var251
/* : CodeWriter */;
8270 static val
* varonce252
;
8271 val
* var253
/* : String */;
8272 char* var254
/* : NativeString */;
8273 val
* var255
/* : String */;
8274 val
* var256
/* : CodeWriter */;
8275 val
* var258
/* : CodeWriter */;
8276 static val
* varonce259
;
8277 val
* var260
/* : String */;
8278 char* var261
/* : NativeString */;
8279 val
* var262
/* : String */;
8280 val
* var263
/* : CodeWriter */;
8281 val
* var265
/* : CodeWriter */;
8282 static val
* varonce266
;
8283 val
* var267
/* : String */;
8284 char* var268
/* : NativeString */;
8285 val
* var269
/* : String */;
8286 val
* var270
/* : CodeWriter */;
8287 val
* var272
/* : CodeWriter */;
8288 static val
* varonce273
;
8289 val
* var274
/* : String */;
8290 char* var275
/* : NativeString */;
8291 val
* var276
/* : String */;
8292 val
* var277
/* : CodeWriter */;
8293 val
* var279
/* : CodeWriter */;
8294 static val
* varonce280
;
8295 val
* var281
/* : String */;
8296 char* var282
/* : NativeString */;
8297 val
* var283
/* : String */;
8298 val
* var284
/* : CodeWriter */;
8299 val
* var286
/* : CodeWriter */;
8300 static val
* varonce287
;
8301 val
* var288
/* : String */;
8302 char* var289
/* : NativeString */;
8303 val
* var290
/* : String */;
8304 val
* var291
/* : CodeWriter */;
8305 val
* var293
/* : CodeWriter */;
8306 static val
* varonce294
;
8307 val
* var295
/* : String */;
8308 char* var296
/* : NativeString */;
8309 val
* var297
/* : String */;
8311 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8312 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8313 if (unlikely(var2
== NULL
)) {
8314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8315 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8322 if (likely(varonce
!=NULL
)) {
8325 var4
= "#include <stdlib.h>";
8326 var5
= core__flat___NativeString___to_s_full(var4
, 19l, 19l);
8331 nitc___nitc__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
8334 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8335 var8
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8336 if (unlikely(var8
== NULL
)) {
8337 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8338 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8345 if (likely(varonce9
!=NULL
)) {
8348 var11
= "#include <stdio.h>";
8349 var12
= core__flat___NativeString___to_s_full(var11
, 18l, 18l);
8354 nitc___nitc__CodeWriter___add_decl(var6
, var10
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var6:CodeWriter>*/
8357 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8358 var15
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8359 if (unlikely(var15
== NULL
)) {
8360 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8361 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8365 RET_LABEL14
:(void)0;
8368 if (likely(varonce16
!=NULL
)) {
8371 var18
= "#include <string.h>";
8372 var19
= core__flat___NativeString___to_s_full(var18
, 19l, 19l);
8377 nitc___nitc__CodeWriter___add_decl(var13
, var17
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var13:CodeWriter>*/
8380 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8381 var22
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8382 if (unlikely(var22
== NULL
)) {
8383 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8384 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8388 RET_LABEL21
:(void)0;
8391 if (likely(varonce23
!=NULL
)) {
8394 var25
= "#include <sys/types.h>\n";
8395 var26
= core__flat___NativeString___to_s_full(var25
, 23l, 23l);
8400 nitc___nitc__CodeWriter___add_decl(var20
, var24
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var20:CodeWriter>*/
8403 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8404 var29
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8405 if (unlikely(var29
== NULL
)) {
8406 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8407 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8411 RET_LABEL28
:(void)0;
8414 if (likely(varonce30
!=NULL
)) {
8417 var32
= "#include <unistd.h>\n";
8418 var33
= core__flat___NativeString___to_s_full(var32
, 20l, 20l);
8423 nitc___nitc__CodeWriter___add_decl(var27
, var31
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var27:CodeWriter>*/
8426 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8427 var36
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8428 if (unlikely(var36
== NULL
)) {
8429 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8430 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8434 RET_LABEL35
:(void)0;
8437 if (likely(varonce37
!=NULL
)) {
8440 var39
= "#include <stdint.h>\n";
8441 var40
= core__flat___NativeString___to_s_full(var39
, 20l, 20l);
8446 nitc___nitc__CodeWriter___add_decl(var34
, var38
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var34:CodeWriter>*/
8449 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8450 var43
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8451 if (unlikely(var43
== NULL
)) {
8452 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8453 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8457 RET_LABEL42
:(void)0;
8460 if (likely(varonce44
!=NULL
)) {
8463 var46
= "#ifdef __linux__";
8464 var47
= core__flat___NativeString___to_s_full(var46
, 16l, 16l);
8469 nitc___nitc__CodeWriter___add_decl(var41
, var45
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var41:CodeWriter>*/
8472 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8473 var50
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8474 if (unlikely(var50
== NULL
)) {
8475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8476 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8480 RET_LABEL49
:(void)0;
8483 if (likely(varonce51
!=NULL
)) {
8486 var53
= "\t#include <endian.h>";
8487 var54
= core__flat___NativeString___to_s_full(var53
, 20l, 20l);
8492 nitc___nitc__CodeWriter___add_decl(var48
, var52
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var48:CodeWriter>*/
8495 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8496 var57
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8497 if (unlikely(var57
== NULL
)) {
8498 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8499 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8503 RET_LABEL56
:(void)0;
8506 if (likely(varonce58
!=NULL
)) {
8510 var61
= core__flat___NativeString___to_s_full(var60
, 6l, 6l);
8515 nitc___nitc__CodeWriter___add_decl(var55
, var59
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var55:CodeWriter>*/
8518 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8519 var64
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8520 if (unlikely(var64
== NULL
)) {
8521 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8522 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8526 RET_LABEL63
:(void)0;
8529 if (likely(varonce65
!=NULL
)) {
8532 var67
= "#include <inttypes.h>\n";
8533 var68
= core__flat___NativeString___to_s_full(var67
, 22l, 22l);
8538 nitc___nitc__CodeWriter___add_decl(var62
, var66
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var62:CodeWriter>*/
8541 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8542 var71
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8543 if (unlikely(var71
== NULL
)) {
8544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8545 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8549 RET_LABEL70
:(void)0;
8552 if (likely(varonce72
!=NULL
)) {
8555 var74
= "#include \"gc_chooser.h\"";
8556 var75
= core__flat___NativeString___to_s_full(var74
, 23l, 23l);
8561 nitc___nitc__CodeWriter___add_decl(var69
, var73
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var69:CodeWriter>*/
8564 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8565 var78
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8566 if (unlikely(var78
== NULL
)) {
8567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8568 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8572 RET_LABEL77
:(void)0;
8575 if (likely(varonce79
!=NULL
)) {
8578 var81
= "#ifdef __APPLE__";
8579 var82
= core__flat___NativeString___to_s_full(var81
, 16l, 16l);
8584 nitc___nitc__CodeWriter___add_decl(var76
, var80
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var76:CodeWriter>*/
8587 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8588 var85
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8589 if (unlikely(var85
== NULL
)) {
8590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8591 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8595 RET_LABEL84
:(void)0;
8598 if (likely(varonce86
!=NULL
)) {
8601 var88
= "\t#include <libkern/OSByteOrder.h>";
8602 var89
= core__flat___NativeString___to_s_full(var88
, 33l, 33l);
8607 nitc___nitc__CodeWriter___add_decl(var83
, var87
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var83:CodeWriter>*/
8610 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8611 var92
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8612 if (unlikely(var92
== NULL
)) {
8613 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8614 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8618 RET_LABEL91
:(void)0;
8621 if (likely(varonce93
!=NULL
)) {
8624 var95
= "\t#define be32toh(x) OSSwapBigToHostInt32(x)";
8625 var96
= core__flat___NativeString___to_s_full(var95
, 43l, 43l);
8630 nitc___nitc__CodeWriter___add_decl(var90
, var94
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var90:CodeWriter>*/
8633 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8634 var99
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8635 if (unlikely(var99
== NULL
)) {
8636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8637 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8641 RET_LABEL98
:(void)0;
8644 if (likely(varonce100
!=NULL
)) {
8645 var101
= varonce100
;
8648 var103
= core__flat___NativeString___to_s_full(var102
, 6l, 6l);
8650 varonce100
= var101
;
8653 nitc___nitc__CodeWriter___add_decl(var97
, var101
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var97:CodeWriter>*/
8656 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8657 var106
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8658 if (unlikely(var106
== NULL
)) {
8659 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8660 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8664 RET_LABEL105
:(void)0;
8667 if (likely(varonce107
!=NULL
)) {
8668 var108
= varonce107
;
8670 var109
= "#ifdef __pnacl__";
8671 var110
= core__flat___NativeString___to_s_full(var109
, 16l, 16l);
8673 varonce107
= var108
;
8676 nitc___nitc__CodeWriter___add_decl(var104
, var108
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var104:CodeWriter>*/
8679 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8680 var113
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8681 if (unlikely(var113
== NULL
)) {
8682 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8683 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8687 RET_LABEL112
:(void)0;
8690 if (likely(varonce114
!=NULL
)) {
8691 var115
= varonce114
;
8693 var116
= "\t#define be16toh(val) (((val) >> 8) | ((val) << 8))";
8694 var117
= core__flat___NativeString___to_s_full(var116
, 51l, 51l);
8696 varonce114
= var115
;
8699 nitc___nitc__CodeWriter___add_decl(var111
, var115
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var111:CodeWriter>*/
8702 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8703 var120
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8704 if (unlikely(var120
== NULL
)) {
8705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8706 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8710 RET_LABEL119
:(void)0;
8713 if (likely(varonce121
!=NULL
)) {
8714 var122
= varonce121
;
8716 var123
= "\t#define be32toh(val) ((be16toh((val) << 16) | (be16toh((val) >> 16))))";
8717 var124
= core__flat___NativeString___to_s_full(var123
, 71l, 71l);
8719 varonce121
= var122
;
8722 nitc___nitc__CodeWriter___add_decl(var118
, var122
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var118:CodeWriter>*/
8725 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8726 var127
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8727 if (unlikely(var127
== NULL
)) {
8728 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8729 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8733 RET_LABEL126
:(void)0;
8736 if (likely(varonce128
!=NULL
)) {
8737 var129
= varonce128
;
8740 var131
= core__flat___NativeString___to_s_full(var130
, 6l, 6l);
8742 varonce128
= var129
;
8745 nitc___nitc__CodeWriter___add_decl(var125
, var129
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var125:CodeWriter>*/
8748 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8749 var134
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8750 if (unlikely(var134
== NULL
)) {
8751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8752 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8756 RET_LABEL133
:(void)0;
8759 if (likely(varonce135
!=NULL
)) {
8760 var136
= varonce135
;
8762 var137
= "#ifdef ANDROID";
8763 var138
= core__flat___NativeString___to_s_full(var137
, 14l, 14l);
8765 varonce135
= var136
;
8768 nitc___nitc__CodeWriter___add_decl(var132
, var136
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var132:CodeWriter>*/
8771 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8772 var141
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8773 if (unlikely(var141
== NULL
)) {
8774 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8775 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8779 RET_LABEL140
:(void)0;
8782 if (likely(varonce142
!=NULL
)) {
8783 var143
= varonce142
;
8785 var144
= "\t#define be32toh(val) betoh32(val)";
8786 var145
= core__flat___NativeString___to_s_full(var144
, 34l, 34l);
8788 varonce142
= var143
;
8791 nitc___nitc__CodeWriter___add_decl(var139
, var143
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var139:CodeWriter>*/
8794 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8795 var148
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8796 if (unlikely(var148
== NULL
)) {
8797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8798 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8802 RET_LABEL147
:(void)0;
8805 if (likely(varonce149
!=NULL
)) {
8806 var150
= varonce149
;
8808 var151
= "\t#include <android/log.h>";
8809 var152
= core__flat___NativeString___to_s_full(var151
, 25l, 25l);
8811 varonce149
= var150
;
8814 nitc___nitc__CodeWriter___add_decl(var146
, var150
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var146:CodeWriter>*/
8817 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8818 var155
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8819 if (unlikely(var155
== NULL
)) {
8820 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8821 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8825 RET_LABEL154
:(void)0;
8828 if (likely(varonce156
!=NULL
)) {
8829 var157
= varonce156
;
8831 var158
= "\t#define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, \"Nit\", __VA_ARGS__)";
8832 var159
= core__flat___NativeString___to_s_full(var158
, 89l, 89l);
8834 varonce156
= var157
;
8837 nitc___nitc__CodeWriter___add_decl(var153
, var157
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var153:CodeWriter>*/
8840 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8841 var162
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8842 if (unlikely(var162
== NULL
)) {
8843 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8844 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8848 RET_LABEL161
:(void)0;
8851 if (likely(varonce163
!=NULL
)) {
8852 var164
= varonce163
;
8855 var166
= core__flat___NativeString___to_s_full(var165
, 5l, 5l);
8857 varonce163
= var164
;
8860 nitc___nitc__CodeWriter___add_decl(var160
, var164
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var160:CodeWriter>*/
8863 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8864 var169
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8865 if (unlikely(var169
== NULL
)) {
8866 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8867 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8871 RET_LABEL168
:(void)0;
8874 if (likely(varonce170
!=NULL
)) {
8875 var171
= varonce170
;
8877 var172
= "\t#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)";
8878 var173
= core__flat___NativeString___to_s_full(var172
, 54l, 54l);
8880 varonce170
= var171
;
8883 nitc___nitc__CodeWriter___add_decl(var167
, var171
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var167:CodeWriter>*/
8886 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8887 var176
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8888 if (unlikely(var176
== NULL
)) {
8889 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8890 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8894 RET_LABEL175
:(void)0;
8897 if (likely(varonce177
!=NULL
)) {
8898 var178
= varonce177
;
8901 var180
= core__flat___NativeString___to_s_full(var179
, 6l, 6l);
8903 varonce177
= var178
;
8906 nitc___nitc__CodeWriter___add_decl(var174
, var178
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var174:CodeWriter>*/
8909 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
); /* compile_header_structs on <self:AbstractCompiler>*/
8912 nitc___nitc__SeparateCompiler___nitc__abstract_compiler__AbstractCompiler__compile_nitni_structs(self
); /* Direct call separate_compiler#SeparateCompiler#compile_nitni_structs on <self:AbstractCompiler>*/
8915 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
8916 var183
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8917 if (unlikely(var183
== NULL
)) {
8918 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8919 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
8923 RET_LABEL182
:(void)0;
8927 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var181) on <var181:ModelBuilder> */
8928 var186
= var181
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var181:ModelBuilder> */
8929 if (unlikely(var186
== NULL
)) {
8930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8931 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
8935 RET_LABEL185
:(void)0;
8939 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (var184) on <var184:ToolContext> */
8940 var189
= var184
->attrs
[COLOR_nitc__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <var184:ToolContext> */
8941 if (unlikely(var189
== NULL
)) {
8942 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
8943 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 68);
8947 RET_LABEL188
:(void)0;
8951 { /* Inline opts#Option#value (var187) on <var187:OptionArray> */
8952 var192
= var187
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var187:OptionArray> */
8954 RET_LABEL191
:(void)0;
8957 var_gccd_disable
= var190
;
8958 if (likely(varonce194
!=NULL
)) {
8959 var195
= varonce194
;
8961 var196
= "noreturn";
8962 var197
= core__flat___NativeString___to_s_full(var196
, 8l, 8l);
8964 varonce194
= var195
;
8967 var198
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable
, var195
);
8973 if (likely(varonce199
!=NULL
)) {
8974 var200
= varonce199
;
8977 var202
= core__flat___NativeString___to_s_full(var201
, 3l, 3l);
8979 varonce199
= var200
;
8982 var203
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable
, var200
);
8988 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8989 var206
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8990 if (unlikely(var206
== NULL
)) {
8991 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8992 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
8996 RET_LABEL205
:(void)0;
8999 if (likely(varonce207
!=NULL
)) {
9000 var208
= varonce207
;
9002 var209
= "void fatal_exit(int);";
9003 var210
= core__flat___NativeString___to_s_full(var209
, 21l, 21l);
9005 varonce207
= var208
;
9008 nitc___nitc__CodeWriter___add_decl(var204
, var208
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var204:CodeWriter>*/
9012 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9013 var213
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9014 if (unlikely(var213
== NULL
)) {
9015 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9016 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9020 RET_LABEL212
:(void)0;
9023 if (likely(varonce214
!=NULL
)) {
9024 var215
= varonce214
;
9026 var216
= "void fatal_exit(int) __attribute__ ((noreturn));";
9027 var217
= core__flat___NativeString___to_s_full(var216
, 48l, 48l);
9029 varonce214
= var215
;
9032 nitc___nitc__CodeWriter___add_decl(var211
, var215
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var211:CodeWriter>*/
9035 if (likely(varonce219
!=NULL
)) {
9036 var220
= varonce219
;
9039 var222
= core__flat___NativeString___to_s_full(var221
, 6l, 6l);
9041 varonce219
= var220
;
9044 var223
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable
, var220
);
9050 if (likely(varonce225
!=NULL
)) {
9051 var226
= varonce225
;
9054 var228
= core__flat___NativeString___to_s_full(var227
, 3l, 3l);
9056 varonce225
= var226
;
9059 var229
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable
, var226
);
9065 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9066 var232
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9067 if (unlikely(var232
== NULL
)) {
9068 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9069 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9073 RET_LABEL231
:(void)0;
9076 if (likely(varonce233
!=NULL
)) {
9077 var234
= varonce233
;
9079 var235
= "#define likely(x) (x)";
9080 var236
= core__flat___NativeString___to_s_full(var235
, 27l, 27l);
9082 varonce233
= var234
;
9085 nitc___nitc__CodeWriter___add_decl(var230
, var234
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var230:CodeWriter>*/
9088 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9089 var239
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9090 if (unlikely(var239
== NULL
)) {
9091 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9092 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9096 RET_LABEL238
:(void)0;
9099 if (likely(varonce240
!=NULL
)) {
9100 var241
= varonce240
;
9102 var242
= "#define unlikely(x) (x)";
9103 var243
= core__flat___NativeString___to_s_full(var242
, 27l, 27l);
9105 varonce240
= var241
;
9108 nitc___nitc__CodeWriter___add_decl(var237
, var241
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var237:CodeWriter>*/
9111 if (likely(varonce244
!=NULL
)) {
9112 var245
= varonce244
;
9114 var246
= "correct-likely";
9115 var247
= core__flat___NativeString___to_s_full(var246
, 14l, 14l);
9117 varonce244
= var245
;
9120 var248
= core___core__AbstractArrayRead___core__abstract_collection__Collection__has(var_gccd_disable
, var245
);
9124 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9125 var251
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9126 if (unlikely(var251
== NULL
)) {
9127 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9128 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9132 RET_LABEL250
:(void)0;
9135 if (likely(varonce252
!=NULL
)) {
9136 var253
= varonce252
;
9138 var254
= "#define likely(x) __builtin_expect((x),0)";
9139 var255
= core__flat___NativeString___to_s_full(var254
, 47l, 47l);
9141 varonce252
= var253
;
9144 nitc___nitc__CodeWriter___add_decl(var249
, var253
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var249:CodeWriter>*/
9147 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9148 var258
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9149 if (unlikely(var258
== NULL
)) {
9150 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9151 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9155 RET_LABEL257
:(void)0;
9158 if (likely(varonce259
!=NULL
)) {
9159 var260
= varonce259
;
9161 var261
= "#define unlikely(x) __builtin_expect((x),1)";
9162 var262
= core__flat___NativeString___to_s_full(var261
, 47l, 47l);
9164 varonce259
= var260
;
9167 nitc___nitc__CodeWriter___add_decl(var256
, var260
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var256:CodeWriter>*/
9171 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9172 var265
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9173 if (unlikely(var265
== NULL
)) {
9174 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9175 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9179 RET_LABEL264
:(void)0;
9182 if (likely(varonce266
!=NULL
)) {
9183 var267
= varonce266
;
9185 var268
= "#define likely(x) __builtin_expect((x),1)";
9186 var269
= core__flat___NativeString___to_s_full(var268
, 47l, 47l);
9188 varonce266
= var267
;
9191 nitc___nitc__CodeWriter___add_decl(var263
, var267
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var263:CodeWriter>*/
9194 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9195 var272
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9196 if (unlikely(var272
== NULL
)) {
9197 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9198 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9202 RET_LABEL271
:(void)0;
9205 if (likely(varonce273
!=NULL
)) {
9206 var274
= varonce273
;
9208 var275
= "#define unlikely(x) __builtin_expect((x),0)";
9209 var276
= core__flat___NativeString___to_s_full(var275
, 47l, 47l);
9211 varonce273
= var274
;
9214 nitc___nitc__CodeWriter___add_decl(var270
, var274
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var270:CodeWriter>*/
9219 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9220 var279
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9221 if (unlikely(var279
== NULL
)) {
9222 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9223 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9227 RET_LABEL278
:(void)0;
9230 if (likely(varonce280
!=NULL
)) {
9231 var281
= varonce280
;
9233 var282
= "extern int glob_argc;";
9234 var283
= core__flat___NativeString___to_s_full(var282
, 21l, 21l);
9236 varonce280
= var281
;
9239 nitc___nitc__CodeWriter___add_decl(var277
, var281
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var277:CodeWriter>*/
9242 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9243 var286
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9244 if (unlikely(var286
== NULL
)) {
9245 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9246 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9250 RET_LABEL285
:(void)0;
9253 if (likely(varonce287
!=NULL
)) {
9254 var288
= varonce287
;
9256 var289
= "extern char **glob_argv;";
9257 var290
= core__flat___NativeString___to_s_full(var289
, 24l, 24l);
9259 varonce287
= var288
;
9262 nitc___nitc__CodeWriter___add_decl(var284
, var288
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var284:CodeWriter>*/
9265 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9266 var293
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9267 if (unlikely(var293
== NULL
)) {
9268 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9269 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9273 RET_LABEL292
:(void)0;
9276 if (likely(varonce294
!=NULL
)) {
9277 var295
= varonce294
;
9279 var296
= "extern val *glob_sys;";
9280 var297
= core__flat___NativeString___to_s_full(var296
, 21l, 21l);
9282 varonce294
= var295
;
9285 nitc___nitc__CodeWriter___add_decl(var291
, var295
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var291:CodeWriter>*/
9289 /* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: AbstractCompiler) */
9290 void nitc___nitc__AbstractCompiler___compile_nitni_structs(val
* self
) {
9291 val
* var
/* : CodeWriter */;
9292 val
* var2
/* : CodeWriter */;
9293 static val
* varonce
;
9294 val
* var3
/* : String */;
9295 char* var4
/* : NativeString */;
9296 val
* var5
/* : String */;
9298 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9299 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9300 if (unlikely(var2
== NULL
)) {
9301 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9302 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 585);
9309 if (likely(varonce
!=NULL
)) {
9312 var4
= "/* Native reference to Nit objects */\n/* This structure is used to represent every Nit type in extern methods and custom C code. */\nstruct nitni_ref {\n\tstruct nitni_ref *next,\n\t\t*prev; /* adjacent global references in global list */\n\tint count; /* number of time this global reference has been marked */\n};\n\n/* List of global references from C code to Nit objects */\n/* Instanciated empty at init of Nit system and filled explicitly by user in C code */\nstruct nitni_global_ref_list_t {\n\tstruct nitni_ref *head, *tail;\n};\nextern struct nitni_global_ref_list_t *nitni_global_ref_list;\n\n/* Initializer of global reference list */\nextern void nitni_global_ref_list_init();\n\n/* Intern function to add a global reference to the list */\nextern void nitni_global_ref_add( struct nitni_ref *ref );\n\n/* Intern function to remove a global reference from the list */\nextern void nitni_global_ref_remove( struct nitni_ref *ref );\n\n/* Increase count on an existing global reference */\nextern void nitni_global_ref_incr( struct nitni_ref *ref );\n\n/* Decrease count on an existing global reference */\nextern void nitni_global_ref_decr( struct nitni_ref *ref );\n";
9313 var5
= core__flat___NativeString___to_s_full(var4
, 1146l, 1146l);
9318 nitc___nitc__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
9322 /* method abstract_compiler#AbstractCompiler#compile_finalizer_function for (self: AbstractCompiler) */
9323 void nitc___nitc__AbstractCompiler___compile_finalizer_function(val
* self
) {
9324 val
* var
/* : MModule */;
9325 val
* var2
/* : MModule */;
9326 val
* var3
/* : nullable MClassType */;
9327 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
9328 short int var4
/* : Bool */;
9329 short int var5
/* : Bool */;
9330 val
* var_other
/* var other: nullable Object */;
9331 short int var7
/* : Bool */;
9332 short int var9
/* : Bool */;
9333 val
* var10
/* : MModule */;
9334 val
* var12
/* : MModule */;
9335 static val
* varonce
;
9336 val
* var13
/* : String */;
9337 char* var14
/* : NativeString */;
9338 val
* var15
/* : String */;
9339 val
* var16
/* : MClass */;
9340 val
* var18
/* : MClass */;
9341 val
* var19
/* : nullable MMethod */;
9342 val
* var_finalize_meth
/* var finalize_meth: nullable MMethod */;
9343 short int var20
/* : Bool */;
9344 short int var21
/* : Bool */;
9345 short int var23
/* : Bool */;
9346 short int var25
/* : Bool */;
9347 val
* var26
/* : ModelBuilder */;
9348 val
* var28
/* : ModelBuilder */;
9349 val
* var29
/* : ToolContext */;
9350 val
* var31
/* : ToolContext */;
9351 static val
* varonce32
;
9352 val
* var33
/* : String */;
9353 char* var34
/* : NativeString */;
9354 val
* var35
/* : String */;
9355 val
* var36
/* : Message */;
9356 val
* var37
/* : AbstractCompilerVisitor */;
9357 val
* var_v
/* var v: AbstractCompilerVisitor */;
9358 static val
* varonce38
;
9359 val
* var39
/* : String */;
9360 char* var40
/* : NativeString */;
9361 val
* var41
/* : String */;
9362 static val
* varonce42
;
9363 val
* var43
/* : String */;
9364 char* var44
/* : NativeString */;
9365 val
* var45
/* : String */;
9366 val
* var46
/* : RuntimeVariable */;
9367 val
* var_recv
/* var recv: RuntimeVariable */;
9368 val
* var47
/* : Array[RuntimeVariable] */;
9369 val
* var_
/* var : Array[RuntimeVariable] */;
9370 val
* var48
/* : nullable RuntimeVariable */;
9371 static val
* varonce49
;
9372 val
* var50
/* : String */;
9373 char* var51
/* : NativeString */;
9374 val
* var52
/* : String */;
9376 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
9377 var2
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
9378 if (unlikely(var2
== NULL
)) {
9379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9380 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
9388 var3
= nitc__model___MModule___finalizable_type(var
);
9390 var_finalizable_type
= var3
;
9391 if (var_finalizable_type
== NULL
) {
9392 var4
= 1; /* is null */
9394 var4
= 0; /* arg is null but recv is not */
9397 { /* Inline kernel#Object#== (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
9398 var_other
= ((val
*)NULL
);
9400 { /* Inline kernel#Object#is_same_instance (var_finalizable_type,var_other) on <var_finalizable_type:nullable MClassType(MClassType)> */
9401 var9
= var_finalizable_type
== var_other
;
9418 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
9419 var12
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
9420 if (unlikely(var12
== NULL
)) {
9421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9422 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 531);
9426 RET_LABEL11
:(void)0;
9429 if (likely(varonce
!=NULL
)) {
9433 var15
= core__flat___NativeString___to_s_full(var14
, 8l, 8l);
9438 { /* Inline model#MClassType#mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
9439 var18
= var_finalizable_type
->attrs
[COLOR_nitc__model__MClassType___mclass
].val
; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
9440 if (unlikely(var18
== NULL
)) {
9441 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9442 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__model
, 1163);
9446 RET_LABEL17
:(void)0;
9450 var19
= nitc__model___MModule___try_get_primitive_method(var10
, var13
, var16
);
9452 var_finalize_meth
= var19
;
9453 if (var_finalize_meth
== NULL
) {
9454 var20
= 1; /* is null */
9456 var20
= 0; /* arg is null but recv is not */
9459 { /* Inline kernel#Object#== (var_finalize_meth,((val*)NULL)) on <var_finalize_meth:nullable MMethod> */
9460 var_other
= ((val
*)NULL
);
9462 { /* Inline kernel#Object#is_same_instance (var_finalize_meth,var_other) on <var_finalize_meth:nullable MMethod(MMethod)> */
9463 var25
= var_finalize_meth
== var_other
;
9466 RET_LABEL24
:(void)0;
9471 RET_LABEL22
:(void)0;
9477 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
9478 var28
= self
->attrs
[COLOR_nitc__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
9479 if (unlikely(var28
== NULL
)) {
9480 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
9481 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__abstract_compiler
, 538);
9485 RET_LABEL27
:(void)0;
9489 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
9490 var31
= var26
->attrs
[COLOR_nitc__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
9491 if (unlikely(var31
== NULL
)) {
9492 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9493 PRINT_ERROR(" (%s:%d)\n", FILE_nitc__modelbuilder_base
, 47);
9497 RET_LABEL30
:(void)0;
9500 if (likely(varonce32
!=NULL
)) {
9503 var34
= "Error: the `Finalizable` class does not declare the `finalize` method.";
9504 var35
= core__flat___NativeString___to_s_full(var34
, 70l, 70l);
9509 var36
= nitc___nitc__ToolContext___error(var29
, ((val
*)NULL
), var33
);
9515 var37
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nitc__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:AbstractCompiler>*/
9518 if (likely(varonce38
!=NULL
)) {
9521 var40
= "void gc_finalize (void *obj, void *client_data) {";
9522 var41
= core__flat___NativeString___to_s_full(var40
, 49l, 49l);
9527 nitc___nitc__AbstractCompilerVisitor___add_decl(var_v
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
9529 if (likely(varonce42
!=NULL
)) {
9533 var45
= core__flat___NativeString___to_s_full(var44
, 3l, 3l);
9538 var46
= nitc___nitc__AbstractCompilerVisitor___new_expr(var_v
, var43
, var_finalizable_type
);
9541 var47
= NEW_core__Array(&type_core__Array__nitc__RuntimeVariable
);
9543 core___core__Array___with_capacity(var47
, 1l); /* Direct call array#Array#with_capacity on <var47:Array[RuntimeVariable]>*/
9547 core___core__AbstractArray___core__abstract_collection__Sequence__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9550 var48
= nitc___nitc__SeparateCompilerVisitor___nitc__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_finalize_meth
, var_
);
9552 if (likely(varonce49
!=NULL
)) {
9556 var52
= core__flat___NativeString___to_s_full(var51
, 1l, 1l);
9561 nitc___nitc__AbstractCompilerVisitor___add(var_v
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/