1 #include "nit__abstract_compiler.sep.0.h"
2 /* method abstract_compiler#ToolContext#opt_output for (self: ToolContext): OptionString */
3 val
* nit__abstract_compiler___ToolContext___opt_output(val
* self
) {
4 val
* var
/* : OptionString */;
5 val
* var1
/* : OptionString */;
6 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 30);
16 /* method abstract_compiler#ToolContext#opt_dir for (self: ToolContext): OptionString */
17 val
* nit__abstract_compiler___ToolContext___opt_dir(val
* self
) {
18 val
* var
/* : OptionString */;
19 val
* var1
/* : OptionString */;
20 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 32);
30 /* method abstract_compiler#ToolContext#opt_no_cc for (self: ToolContext): OptionBool */
31 val
* nit__abstract_compiler___ToolContext___opt_no_cc(val
* self
) {
32 val
* var
/* : OptionBool */;
33 val
* var1
/* : OptionBool */;
34 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 34);
44 /* method abstract_compiler#ToolContext#opt_no_main for (self: ToolContext): OptionBool */
45 val
* nit__abstract_compiler___ToolContext___opt_no_main(val
* self
) {
46 val
* var
/* : OptionBool */;
47 val
* var1
/* : OptionBool */;
48 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 36);
58 /* method abstract_compiler#ToolContext#opt_make_flags for (self: ToolContext): OptionString */
59 val
* nit__abstract_compiler___ToolContext___opt_make_flags(val
* self
) {
60 val
* var
/* : OptionString */;
61 val
* var1
/* : OptionString */;
62 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 38);
72 /* method abstract_compiler#ToolContext#opt_max_c_lines for (self: ToolContext): OptionInt */
73 val
* nit__abstract_compiler___ToolContext___opt_max_c_lines(val
* self
) {
74 val
* var
/* : OptionInt */;
75 val
* var1
/* : OptionInt */;
76 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 40);
86 /* method abstract_compiler#ToolContext#opt_group_c_files for (self: ToolContext): OptionBool */
87 val
* nit__abstract_compiler___ToolContext___opt_group_c_files(val
* self
) {
88 val
* var
/* : OptionBool */;
89 val
* var1
/* : OptionBool */;
90 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 42);
100 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: ToolContext): OptionString */
101 val
* nit__abstract_compiler___ToolContext___opt_compile_dir(val
* self
) {
102 val
* var
/* : OptionString */;
103 val
* var1
/* : OptionString */;
104 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 44);
114 /* method abstract_compiler#ToolContext#opt_hardening for (self: ToolContext): OptionBool */
115 val
* nit__abstract_compiler___ToolContext___opt_hardening(val
* self
) {
116 val
* var
/* : OptionBool */;
117 val
* var1
/* : OptionBool */;
118 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 46);
128 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: ToolContext): OptionBool */
129 val
* nit__abstract_compiler___ToolContext___opt_no_check_covariance(val
* self
) {
130 val
* var
/* : OptionBool */;
131 val
* var1
/* : OptionBool */;
132 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 48);
142 /* method abstract_compiler#ToolContext#opt_no_check_attr_isset for (self: ToolContext): OptionBool */
143 val
* nit__abstract_compiler___ToolContext___opt_no_check_attr_isset(val
* self
) {
144 val
* var
/* : OptionBool */;
145 val
* var1
/* : OptionBool */;
146 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 50);
156 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: ToolContext): OptionBool */
157 val
* nit__abstract_compiler___ToolContext___opt_no_check_assert(val
* self
) {
158 val
* var
/* : OptionBool */;
159 val
* var1
/* : OptionBool */;
160 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 52);
170 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: ToolContext): OptionBool */
171 val
* nit__abstract_compiler___ToolContext___opt_no_check_autocast(val
* self
) {
172 val
* var
/* : OptionBool */;
173 val
* var1
/* : OptionBool */;
174 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 54);
184 /* method abstract_compiler#ToolContext#opt_no_check_null for (self: ToolContext): OptionBool */
185 val
* nit__abstract_compiler___ToolContext___opt_no_check_null(val
* self
) {
186 val
* var
/* : OptionBool */;
187 val
* var1
/* : OptionBool */;
188 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 56);
198 /* method abstract_compiler#ToolContext#opt_no_check_all for (self: ToolContext): OptionBool */
199 val
* nit__abstract_compiler___ToolContext___opt_no_check_all(val
* self
) {
200 val
* var
/* : OptionBool */;
201 val
* var1
/* : OptionBool */;
202 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 58);
212 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: ToolContext): OptionBool */
213 val
* nit__abstract_compiler___ToolContext___opt_typing_test_metrics(val
* self
) {
214 val
* var
/* : OptionBool */;
215 val
* var1
/* : OptionBool */;
216 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 60);
226 /* method abstract_compiler#ToolContext#opt_invocation_metrics for (self: ToolContext): OptionBool */
227 val
* nit__abstract_compiler___ToolContext___opt_invocation_metrics(val
* self
) {
228 val
* var
/* : OptionBool */;
229 val
* var1
/* : OptionBool */;
230 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 62);
240 /* method abstract_compiler#ToolContext#opt_isset_checks_metrics for (self: ToolContext): OptionBool */
241 val
* nit__abstract_compiler___ToolContext___opt_isset_checks_metrics(val
* self
) {
242 val
* var
/* : OptionBool */;
243 val
* var1
/* : OptionBool */;
244 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 64);
254 /* method abstract_compiler#ToolContext#opt_no_stacktrace for (self: ToolContext): OptionBool */
255 val
* nit__abstract_compiler___ToolContext___opt_no_stacktrace(val
* self
) {
256 val
* var
/* : OptionBool */;
257 val
* var1
/* : OptionBool */;
258 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 66);
268 /* method abstract_compiler#ToolContext#opt_no_gcc_directive for (self: ToolContext): OptionArray */
269 val
* nit__abstract_compiler___ToolContext___opt_no_gcc_directive(val
* self
) {
270 val
* var
/* : OptionArray */;
271 val
* var1
/* : OptionArray */;
272 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 68);
282 /* method abstract_compiler#ToolContext#opt_release for (self: ToolContext): OptionBool */
283 val
* nit__abstract_compiler___ToolContext___opt_release(val
* self
) {
284 val
* var
/* : OptionBool */;
285 val
* var1
/* : OptionBool */;
286 var1
= self
->attrs
[COLOR_nit__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_nit__abstract_compiler
, 70);
296 /* method abstract_compiler#ToolContext#init for (self: ToolContext) */
297 void nit__abstract_compiler___ToolContext___standard__kernel__Object__init(val
* self
) {
298 val
* var
/* : OptionContext */;
299 val
* var2
/* : OptionContext */;
300 val
* var3
/* : OptionString */;
301 val
* var5
/* : OptionString */;
302 val
* var6
/* : OptionString */;
303 val
* var8
/* : OptionString */;
304 val
* var9
/* : OptionBool */;
305 val
* var11
/* : OptionBool */;
306 val
* var12
/* : OptionBool */;
307 val
* var14
/* : OptionBool */;
308 val
* var15
/* : OptionString */;
309 val
* var17
/* : OptionString */;
310 val
* var18
/* : OptionString */;
311 val
* var20
/* : OptionString */;
312 val
* var21
/* : OptionBool */;
313 val
* var23
/* : OptionBool */;
314 val
* var24
/* : Array[Option] */;
315 val
* var25
/* : NativeArray[Option] */;
316 val
* var26
/* : OptionContext */;
317 val
* var28
/* : OptionContext */;
318 val
* var29
/* : OptionBool */;
319 val
* var31
/* : OptionBool */;
320 val
* var32
/* : OptionBool */;
321 val
* var34
/* : OptionBool */;
322 val
* var35
/* : OptionBool */;
323 val
* var37
/* : OptionBool */;
324 val
* var38
/* : OptionBool */;
325 val
* var40
/* : OptionBool */;
326 val
* var41
/* : OptionBool */;
327 val
* var43
/* : OptionBool */;
328 val
* var44
/* : OptionBool */;
329 val
* var46
/* : OptionBool */;
330 val
* var47
/* : Array[Option] */;
331 val
* var48
/* : NativeArray[Option] */;
332 val
* var49
/* : OptionContext */;
333 val
* var51
/* : OptionContext */;
334 val
* var52
/* : OptionBool */;
335 val
* var54
/* : OptionBool */;
336 val
* var55
/* : OptionBool */;
337 val
* var57
/* : OptionBool */;
338 val
* var58
/* : OptionBool */;
339 val
* var60
/* : OptionBool */;
340 val
* var61
/* : Array[Option] */;
341 val
* var62
/* : NativeArray[Option] */;
342 val
* var63
/* : OptionContext */;
343 val
* var65
/* : OptionContext */;
344 val
* var66
/* : OptionBool */;
345 val
* var68
/* : OptionBool */;
346 val
* var69
/* : Array[Option] */;
347 val
* var70
/* : NativeArray[Option] */;
348 val
* var71
/* : OptionContext */;
349 val
* var73
/* : OptionContext */;
350 val
* var74
/* : OptionArray */;
351 val
* var76
/* : OptionArray */;
352 val
* var77
/* : Array[Option] */;
353 val
* var78
/* : NativeArray[Option] */;
354 val
* var79
/* : OptionContext */;
355 val
* var81
/* : OptionContext */;
356 val
* var82
/* : OptionBool */;
357 val
* var84
/* : OptionBool */;
358 val
* var85
/* : Array[Option] */;
359 val
* var86
/* : NativeArray[Option] */;
360 val
* var87
/* : OptionContext */;
361 val
* var89
/* : OptionContext */;
362 val
* var90
/* : OptionInt */;
363 val
* var92
/* : OptionInt */;
364 val
* var93
/* : OptionBool */;
365 val
* var95
/* : OptionBool */;
366 val
* var96
/* : Array[Option] */;
367 val
* var97
/* : NativeArray[Option] */;
368 val
* var98
/* : OptionBool */;
369 val
* var100
/* : OptionBool */;
371 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler___ToolContext___standard__kernel__Object__init
]))(self
); /* init on <self:ToolContext>*/
374 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
375 var2
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
376 if (unlikely(var2
== NULL
)) {
377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
378 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
386 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
387 var5
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
388 if (unlikely(var5
== NULL
)) {
389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 30);
398 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
399 var8
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
400 if (unlikely(var8
== NULL
)) {
401 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 32);
410 { /* Inline abstract_compiler#ToolContext#opt_no_cc (self) on <self:ToolContext> */
411 var11
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
412 if (unlikely(var11
== NULL
)) {
413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 34);
422 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
423 var14
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
424 if (unlikely(var14
== NULL
)) {
425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 36);
434 { /* Inline abstract_compiler#ToolContext#opt_make_flags (self) on <self:ToolContext> */
435 var17
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
436 if (unlikely(var17
== NULL
)) {
437 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 38);
446 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (self) on <self:ToolContext> */
447 var20
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
448 if (unlikely(var20
== NULL
)) {
449 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 44);
458 { /* Inline abstract_compiler#ToolContext#opt_hardening (self) on <self:ToolContext> */
459 var23
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
460 if (unlikely(var23
== NULL
)) {
461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 46);
469 var24
= NEW_standard__Array(&type_standard__Array__opts__Option
);
470 { /* var24 = array_instance Array[Option] */
471 var25
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__opts__Option
);
472 ((struct instance_standard__NativeArray
*)var25
)->values
[0] = (val
*) var3
;
473 ((struct instance_standard__NativeArray
*)var25
)->values
[1] = (val
*) var6
;
474 ((struct instance_standard__NativeArray
*)var25
)->values
[2] = (val
*) var9
;
475 ((struct instance_standard__NativeArray
*)var25
)->values
[3] = (val
*) var12
;
476 ((struct instance_standard__NativeArray
*)var25
)->values
[4] = (val
*) var15
;
477 ((struct instance_standard__NativeArray
*)var25
)->values
[5] = (val
*) var18
;
478 ((struct instance_standard__NativeArray
*)var25
)->values
[6] = (val
*) var21
;
480 ((void(*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var25
, 7l); /* with_native on <var24:Array[Option]>*/
484 opts___opts__OptionContext___add_option(var
, var24
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
487 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
488 var28
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
489 if (unlikely(var28
== NULL
)) {
490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
499 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
500 var31
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
501 if (unlikely(var31
== NULL
)) {
502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 48);
511 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
512 var34
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
513 if (unlikely(var34
== NULL
)) {
514 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
515 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 50);
523 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
524 var37
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
525 if (unlikely(var37
== NULL
)) {
526 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
527 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 52);
535 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
536 var40
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
537 if (unlikely(var40
== NULL
)) {
538 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
539 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 54);
547 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
548 var43
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
549 if (unlikely(var43
== NULL
)) {
550 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
551 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 56);
559 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
560 var46
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
561 if (unlikely(var46
== NULL
)) {
562 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
563 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 58);
570 var47
= NEW_standard__Array(&type_standard__Array__opts__Option
);
571 { /* var47 = array_instance Array[Option] */
572 var48
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__opts__Option
);
573 ((struct instance_standard__NativeArray
*)var48
)->values
[0] = (val
*) var29
;
574 ((struct instance_standard__NativeArray
*)var48
)->values
[1] = (val
*) var32
;
575 ((struct instance_standard__NativeArray
*)var48
)->values
[2] = (val
*) var35
;
576 ((struct instance_standard__NativeArray
*)var48
)->values
[3] = (val
*) var38
;
577 ((struct instance_standard__NativeArray
*)var48
)->values
[4] = (val
*) var41
;
578 ((struct instance_standard__NativeArray
*)var48
)->values
[5] = (val
*) var44
;
580 ((void(*)(val
* self
, val
* p0
, long p1
))(var47
->class->vft
[COLOR_standard__array__Array__with_native
]))(var47
, var48
, 6l); /* with_native on <var47:Array[Option]>*/
584 opts___opts__OptionContext___add_option(var26
, var47
); /* Direct call opts#OptionContext#add_option on <var26:OptionContext>*/
587 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
588 var51
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
589 if (unlikely(var51
== NULL
)) {
590 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
591 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
599 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (self) on <self:ToolContext> */
600 var54
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
601 if (unlikely(var54
== NULL
)) {
602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 60);
611 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (self) on <self:ToolContext> */
612 var57
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
613 if (unlikely(var57
== NULL
)) {
614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
615 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 62);
623 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (self) on <self:ToolContext> */
624 var60
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
625 if (unlikely(var60
== NULL
)) {
626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
627 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 64);
634 var61
= NEW_standard__Array(&type_standard__Array__opts__Option
);
635 { /* var61 = array_instance Array[Option] */
636 var62
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__opts__Option
);
637 ((struct instance_standard__NativeArray
*)var62
)->values
[0] = (val
*) var52
;
638 ((struct instance_standard__NativeArray
*)var62
)->values
[1] = (val
*) var55
;
639 ((struct instance_standard__NativeArray
*)var62
)->values
[2] = (val
*) var58
;
641 ((void(*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var62
, 3l); /* with_native on <var61:Array[Option]>*/
645 opts___opts__OptionContext___add_option(var49
, var61
); /* Direct call opts#OptionContext#add_option on <var49:OptionContext>*/
648 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
649 var65
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
650 if (unlikely(var65
== NULL
)) {
651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
660 { /* Inline abstract_compiler#ToolContext#opt_no_stacktrace (self) on <self:ToolContext> */
661 var68
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <self:ToolContext> */
662 if (unlikely(var68
== NULL
)) {
663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 66);
671 var69
= NEW_standard__Array(&type_standard__Array__opts__Option
);
672 { /* var69 = array_instance Array[Option] */
673 var70
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option
);
674 ((struct instance_standard__NativeArray
*)var70
)->values
[0] = (val
*) var66
;
676 ((void(*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var70
, 1l); /* with_native on <var69:Array[Option]>*/
680 opts___opts__OptionContext___add_option(var63
, var69
); /* Direct call opts#OptionContext#add_option on <var63:OptionContext>*/
683 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
684 var73
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
685 if (unlikely(var73
== NULL
)) {
686 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
687 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
695 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (self) on <self:ToolContext> */
696 var76
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
697 if (unlikely(var76
== NULL
)) {
698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 68);
706 var77
= NEW_standard__Array(&type_standard__Array__opts__Option
);
707 { /* var77 = array_instance Array[Option] */
708 var78
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option
);
709 ((struct instance_standard__NativeArray
*)var78
)->values
[0] = (val
*) var74
;
711 ((void(*)(val
* self
, val
* p0
, long p1
))(var77
->class->vft
[COLOR_standard__array__Array__with_native
]))(var77
, var78
, 1l); /* with_native on <var77:Array[Option]>*/
715 opts___opts__OptionContext___add_option(var71
, var77
); /* Direct call opts#OptionContext#add_option on <var71:OptionContext>*/
718 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
719 var81
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
720 if (unlikely(var81
== NULL
)) {
721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
730 { /* Inline abstract_compiler#ToolContext#opt_release (self) on <self:ToolContext> */
731 var84
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
732 if (unlikely(var84
== NULL
)) {
733 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 70);
741 var85
= NEW_standard__Array(&type_standard__Array__opts__Option
);
742 { /* var85 = array_instance Array[Option] */
743 var86
= NEW_standard__NativeArray(1l, &type_standard__NativeArray__opts__Option
);
744 ((struct instance_standard__NativeArray
*)var86
)->values
[0] = (val
*) var82
;
746 ((void(*)(val
* self
, val
* p0
, long p1
))(var85
->class->vft
[COLOR_standard__array__Array__with_native
]))(var85
, var86
, 1l); /* with_native on <var85:Array[Option]>*/
750 opts___opts__OptionContext___add_option(var79
, var85
); /* Direct call opts#OptionContext#add_option on <var79:OptionContext>*/
753 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
754 var89
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
755 if (unlikely(var89
== NULL
)) {
756 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
757 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 332);
765 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (self) on <self:ToolContext> */
766 var92
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
767 if (unlikely(var92
== NULL
)) {
768 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
769 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 40);
777 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (self) on <self:ToolContext> */
778 var95
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
779 if (unlikely(var95
== NULL
)) {
780 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
781 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 42);
788 var96
= NEW_standard__Array(&type_standard__Array__opts__Option
);
789 { /* var96 = array_instance Array[Option] */
790 var97
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__opts__Option
);
791 ((struct instance_standard__NativeArray
*)var97
)->values
[0] = (val
*) var90
;
792 ((struct instance_standard__NativeArray
*)var97
)->values
[1] = (val
*) var93
;
794 ((void(*)(val
* self
, val
* p0
, long p1
))(var96
->class->vft
[COLOR_standard__array__Array__with_native
]))(var96
, var97
, 2l); /* with_native on <var96:Array[Option]>*/
798 opts___opts__OptionContext___add_option(var87
, var96
); /* Direct call opts#OptionContext#add_option on <var87:OptionContext>*/
801 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
802 var100
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
803 if (unlikely(var100
== NULL
)) {
804 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 36);
813 { /* Inline opts#Option#hidden= (var98,1) on <var98:OptionBool> */
814 var98
->attrs
[COLOR_opts__Option___hidden
].s
= 1; /* _hidden on <var98:OptionBool> */
815 RET_LABEL101
:(void)0;
820 /* method abstract_compiler#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
821 void nit__abstract_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
822 val
* var_args
/* var args: Sequence[String] */;
823 short int var
/* : Bool */;
824 val
* var1
/* : OptionString */;
825 val
* var3
/* : OptionString */;
826 val
* var4
/* : nullable Object */;
827 val
* var6
/* : nullable Object */;
828 short int var7
/* : Bool */;
829 short int var8
/* : Bool */;
830 val
* var_other
/* var other: nullable Object */;
831 short int var10
/* : Bool */;
832 short int var11
/* : Bool */;
833 short int var_
/* var : Bool */;
834 val
* var12
/* : OptionString */;
835 val
* var14
/* : OptionString */;
836 val
* var15
/* : nullable Object */;
837 val
* var17
/* : nullable Object */;
838 short int var18
/* : Bool */;
839 short int var19
/* : Bool */;
840 short int var21
/* : Bool */;
841 short int var22
/* : Bool */;
842 val
* var23
/* : Sys */;
844 val
* var24
/* : String */;
845 char* var25
/* : NativeString */;
846 val
* var26
/* : FlatString */;
847 val
* var27
/* : Sys */;
848 val
* var29
/* : OptionBool */;
849 val
* var31
/* : OptionBool */;
850 val
* var32
/* : nullable Object */;
851 val
* var34
/* : nullable Object */;
852 short int var35
/* : Bool */;
853 val
* var36
/* : OptionBool */;
854 val
* var38
/* : OptionBool */;
855 short int var40
/* : Bool */;
858 const struct type
* type_struct
;
859 const char* var_class_name
;
860 val
* var41
/* : nullable Object */;
861 val
* var42
/* : OptionBool */;
862 val
* var44
/* : OptionBool */;
863 short int var46
/* : Bool */;
866 const struct type
* type_struct49
;
867 const char* var_class_name50
;
868 val
* var51
/* : nullable Object */;
869 val
* var52
/* : OptionBool */;
870 val
* var54
/* : OptionBool */;
871 short int var56
/* : Bool */;
874 const struct type
* type_struct59
;
875 const char* var_class_name60
;
876 val
* var61
/* : nullable Object */;
877 val
* var62
/* : OptionBool */;
878 val
* var64
/* : OptionBool */;
879 short int var66
/* : Bool */;
882 const struct type
* type_struct69
;
883 const char* var_class_name70
;
884 val
* var71
/* : nullable Object */;
885 val
* var72
/* : OptionBool */;
886 val
* var74
/* : OptionBool */;
887 short int var76
/* : Bool */;
890 const struct type
* type_struct79
;
891 const char* var_class_name80
;
892 val
* var81
/* : nullable Object */;
895 ((void(*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler___ToolContext___process_options
]))(self
, p0
); /* process_options on <self:ToolContext>*/
898 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
899 var3
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
900 if (unlikely(var3
== NULL
)) {
901 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
902 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 30);
910 { /* Inline opts#Option#value (var1) on <var1:OptionString> */
911 var6
= var1
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var1:OptionString> */
917 var7
= 0; /* is null */
919 var7
= 1; /* arg is null and recv is not */
922 { /* Inline kernel#Object#!= (var4,((val*)NULL)) on <var4:nullable Object(nullable String)> */
923 var_other
= ((val
*)NULL
);
925 var10
= ((short int(*)(val
* self
, val
* p0
))(var4
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var4
, var_other
); /* == on <var4:nullable String(String)>*/
937 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
938 var14
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
939 if (unlikely(var14
== NULL
)) {
940 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 32);
949 { /* Inline opts#Option#value (var12) on <var12:OptionString> */
950 var17
= var12
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var12:OptionString> */
956 var18
= 0; /* is null */
958 var18
= 1; /* arg is null and recv is not */
961 { /* Inline kernel#Object#!= (var15,((val*)NULL)) on <var15:nullable Object(nullable String)> */
962 var_other
= ((val
*)NULL
);
964 var21
= ((short int(*)(val
* self
, val
* p0
))(var15
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var15
, var_other
); /* == on <var15:nullable String(String)>*/
979 if (likely(varonce
!=NULL
)) {
982 var25
= "Option Error: cannot use both --dir and --output";
983 var26
= standard___standard__NativeString___to_s_with_length(var25
, 48l);
988 standard__file___Sys___print(var23
, var24
); /* Direct call file#Sys#print on <var23:Sys>*/
992 { /* Inline kernel#Sys#exit (var27,1l) on <var27:Sys> */
1000 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
1001 var31
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
1002 if (unlikely(var31
== NULL
)) {
1003 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
1004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 58);
1008 RET_LABEL30
:(void)0;
1012 { /* Inline opts#Option#value (var29) on <var29:OptionBool> */
1013 var34
= var29
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var29:OptionBool> */
1015 RET_LABEL33
:(void)0;
1018 var35
= (short int)((long)(var32
)>>2);
1021 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
1022 var38
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
1023 if (unlikely(var38
== NULL
)) {
1024 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
1025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 48);
1029 RET_LABEL37
:(void)0;
1033 { /* Inline opts#Option#value= (var36,1) on <var36:OptionBool> */
1034 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1035 /* <1:Bool> isa VALUE */
1036 type_struct
= var36
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1037 cltype
= type_struct
->color
;
1038 idtype
= type_struct
->id
;
1039 if(cltype
>= (&type_standard__Bool
)->table_size
) {
1042 var40
= (&type_standard__Bool
)->type_table
[cltype
] == idtype
;
1044 if (unlikely(!var40
)) {
1045 var_class_name
= type_standard__Bool
.name
;
1046 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1047 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1050 var41
= (val
*)((long)(1)<<2|3);
1051 var36
->attrs
[COLOR_opts__Option___value
].val
= var41
; /* _value on <var36:OptionBool> */
1052 RET_LABEL39
:(void)0;
1056 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
1057 var44
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
1058 if (unlikely(var44
== NULL
)) {
1059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
1060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 50);
1064 RET_LABEL43
:(void)0;
1068 { /* Inline opts#Option#value= (var42,1) on <var42:OptionBool> */
1069 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1070 /* <1:Bool> isa VALUE */
1071 type_struct49
= var42
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1072 cltype47
= type_struct49
->color
;
1073 idtype48
= type_struct49
->id
;
1074 if(cltype47
>= (&type_standard__Bool
)->table_size
) {
1077 var46
= (&type_standard__Bool
)->type_table
[cltype47
] == idtype48
;
1079 if (unlikely(!var46
)) {
1080 var_class_name50
= type_standard__Bool
.name
;
1081 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name50
);
1082 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1085 var51
= (val
*)((long)(1)<<2|3);
1086 var42
->attrs
[COLOR_opts__Option___value
].val
= var51
; /* _value on <var42:OptionBool> */
1087 RET_LABEL45
:(void)0;
1091 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
1092 var54
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
1093 if (unlikely(var54
== NULL
)) {
1094 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 52);
1099 RET_LABEL53
:(void)0;
1103 { /* Inline opts#Option#value= (var52,1) on <var52:OptionBool> */
1104 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1105 /* <1:Bool> isa VALUE */
1106 type_struct59
= var52
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1107 cltype57
= type_struct59
->color
;
1108 idtype58
= type_struct59
->id
;
1109 if(cltype57
>= (&type_standard__Bool
)->table_size
) {
1112 var56
= (&type_standard__Bool
)->type_table
[cltype57
] == idtype58
;
1114 if (unlikely(!var56
)) {
1115 var_class_name60
= type_standard__Bool
.name
;
1116 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name60
);
1117 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1120 var61
= (val
*)((long)(1)<<2|3);
1121 var52
->attrs
[COLOR_opts__Option___value
].val
= var61
; /* _value on <var52:OptionBool> */
1122 RET_LABEL55
:(void)0;
1126 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
1127 var64
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
1128 if (unlikely(var64
== NULL
)) {
1129 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
1130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 54);
1134 RET_LABEL63
:(void)0;
1138 { /* Inline opts#Option#value= (var62,1) on <var62:OptionBool> */
1139 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1140 /* <1:Bool> isa VALUE */
1141 type_struct69
= var62
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1142 cltype67
= type_struct69
->color
;
1143 idtype68
= type_struct69
->id
;
1144 if(cltype67
>= (&type_standard__Bool
)->table_size
) {
1147 var66
= (&type_standard__Bool
)->type_table
[cltype67
] == idtype68
;
1149 if (unlikely(!var66
)) {
1150 var_class_name70
= type_standard__Bool
.name
;
1151 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name70
);
1152 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1155 var71
= (val
*)((long)(1)<<2|3);
1156 var62
->attrs
[COLOR_opts__Option___value
].val
= var71
; /* _value on <var62:OptionBool> */
1157 RET_LABEL65
:(void)0;
1161 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
1162 var74
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
1163 if (unlikely(var74
== NULL
)) {
1164 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
1165 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 56);
1169 RET_LABEL73
:(void)0;
1173 { /* Inline opts#Option#value= (var72,1) on <var72:OptionBool> */
1174 /* Covariant cast for argument 0 (value) <1:Bool> isa VALUE */
1175 /* <1:Bool> isa VALUE */
1176 type_struct79
= var72
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1177 cltype77
= type_struct79
->color
;
1178 idtype78
= type_struct79
->id
;
1179 if(cltype77
>= (&type_standard__Bool
)->table_size
) {
1182 var76
= (&type_standard__Bool
)->type_table
[cltype77
] == idtype78
;
1184 if (unlikely(!var76
)) {
1185 var_class_name80
= type_standard__Bool
.name
;
1186 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name80
);
1187 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1190 var81
= (val
*)((long)(1)<<2|3);
1191 var72
->attrs
[COLOR_opts__Option___value
].val
= var81
; /* _value on <var72:OptionBool> */
1192 RET_LABEL75
:(void)0;
1199 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
1200 void nit__abstract_compiler___ModelBuilder___write_and_make(val
* self
, val
* p0
) {
1201 val
* var_compiler
/* var compiler: AbstractCompiler */;
1202 val
* var
/* : Platform */;
1203 val
* var2
/* : Platform */;
1204 val
* var_platform
/* var platform: Platform */;
1205 val
* var3
/* : ToolContext */;
1206 val
* var5
/* : ToolContext */;
1207 val
* var6
/* : Toolchain */;
1208 val
* var_toolchain
/* var toolchain: Toolchain */;
1211 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
1212 var2
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
1213 if (unlikely(var2
== NULL
)) {
1214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
1215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 533);
1224 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1225 var5
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1226 if (unlikely(var5
== NULL
)) {
1227 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1228 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1236 var6
= nit__abstract_compiler___Platform___toolchain(var_platform
, var3
, var_compiler
);
1238 var_toolchain
= var6
;
1240 { /* Inline abstract_compiler#AbstractCompiler#toolchain= (var_compiler,var_toolchain) on <var_compiler:AbstractCompiler> */
1241 var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
= var_toolchain
; /* _toolchain on <var_compiler:AbstractCompiler> */
1246 nit___nit__MakefileToolchain___Toolchain__write_and_make(var_toolchain
); /* Direct call abstract_compiler#MakefileToolchain#write_and_make on <var_toolchain:Toolchain>*/
1250 /* method abstract_compiler#Platform#toolchain for (self: Platform, ToolContext, AbstractCompiler): Toolchain */
1251 val
* nit__abstract_compiler___Platform___toolchain(val
* self
, val
* p0
, val
* p1
) {
1252 val
* var
/* : Toolchain */;
1253 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1254 val
* var_compiler
/* var compiler: AbstractCompiler */;
1255 val
* var1
/* : MakefileToolchain */;
1256 var_toolcontext
= p0
;
1258 var1
= NEW_nit__MakefileToolchain(&type_nit__MakefileToolchain
);
1260 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nit__abstract_compiler__Toolchain__toolcontext_61d
]))(var1
, var_toolcontext
); /* toolcontext= on <var1:MakefileToolchain>*/
1263 ((void(*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nit__abstract_compiler__Toolchain__compiler_61d
]))(var1
, var_compiler
); /* compiler= on <var1:MakefileToolchain>*/
1266 ((void(*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
); /* init on <var1:MakefileToolchain>*/
1273 /* method abstract_compiler#Toolchain#toolcontext for (self: Toolchain): ToolContext */
1274 val
* nit___nit__Toolchain___toolcontext(val
* self
) {
1275 val
* var
/* : ToolContext */;
1276 val
* var1
/* : ToolContext */;
1277 var1
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1278 if (unlikely(var1
== NULL
)) {
1279 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1280 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1287 /* method abstract_compiler#Toolchain#toolcontext= for (self: Toolchain, ToolContext) */
1288 void nit___nit__Toolchain___toolcontext_61d(val
* self
, val
* p0
) {
1289 self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
= p0
; /* _toolcontext on <self:Toolchain> */
1292 /* method abstract_compiler#Toolchain#compiler for (self: Toolchain): AbstractCompiler */
1293 val
* nit___nit__Toolchain___compiler(val
* self
) {
1294 val
* var
/* : AbstractCompiler */;
1295 val
* var1
/* : AbstractCompiler */;
1296 var1
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:Toolchain> */
1297 if (unlikely(var1
== NULL
)) {
1298 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
1299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
1306 /* method abstract_compiler#Toolchain#compiler= for (self: Toolchain, AbstractCompiler) */
1307 void nit___nit__Toolchain___compiler_61d(val
* self
, val
* p0
) {
1308 self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
= p0
; /* _compiler on <self:Toolchain> */
1311 /* method abstract_compiler#Toolchain#root_compile_dir for (self: Toolchain): String */
1312 val
* nit___nit__Toolchain___root_compile_dir(val
* self
) {
1313 val
* var
/* : String */;
1314 val
* var1
/* : ToolContext */;
1315 val
* var3
/* : ToolContext */;
1316 val
* var4
/* : OptionString */;
1317 val
* var6
/* : OptionString */;
1318 val
* var7
/* : nullable Object */;
1319 val
* var9
/* : nullable Object */;
1320 val
* var_compile_dir
/* var compile_dir: nullable String */;
1321 short int var10
/* : Bool */;
1322 short int var11
/* : Bool */;
1323 static val
* varonce
;
1324 val
* var12
/* : String */;
1325 char* var13
/* : NativeString */;
1326 val
* var14
/* : FlatString */;
1328 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:Toolchain> */
1329 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1330 if (unlikely(var3
== NULL
)) {
1331 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1332 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1340 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (var1) on <var1:ToolContext> */
1341 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var1:ToolContext> */
1342 if (unlikely(var6
== NULL
)) {
1343 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 44);
1352 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
1353 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
1358 var_compile_dir
= var7
;
1359 if (var_compile_dir
== NULL
) {
1360 var10
= 1; /* is null */
1362 var10
= 0; /* arg is null but recv is not */
1365 var11
= ((short int(*)(val
* self
, val
* p0
))(var_compile_dir
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_compile_dir
, ((val
*)NULL
)); /* == on <var_compile_dir:nullable String>*/
1369 if (likely(varonce
!=NULL
)) {
1372 var13
= "nit_compile";
1373 var14
= standard___standard__NativeString___to_s_with_length(var13
, 11l);
1377 var_compile_dir
= var12
;
1380 var
= var_compile_dir
;
1385 /* method abstract_compiler#Toolchain#compile_dir for (self: Toolchain): String */
1386 val
* nit___nit__Toolchain___compile_dir(val
* self
) {
1387 val
* var
/* : String */;
1388 val
* var1
/* : String */;
1390 var1
= nit___nit__Toolchain___root_compile_dir(self
);
1397 /* method abstract_compiler#Toolchain#init for (self: Toolchain) */
1398 void nit___nit__Toolchain___standard__kernel__Object__init(val
* self
) {
1400 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__Toolchain___standard__kernel__Object__init
]))(self
); /* init on <self:Toolchain>*/
1404 /* method abstract_compiler#MakefileToolchain#write_and_make for (self: MakefileToolchain) */
1405 void nit___nit__MakefileToolchain___Toolchain__write_and_make(val
* self
) {
1406 val
* var
/* : String */;
1407 val
* var_compile_dir
/* var compile_dir: String */;
1408 val
* var1
/* : ToolContext */;
1409 val
* var3
/* : ToolContext */;
1410 val
* var4
/* : OptionString */;
1411 val
* var6
/* : OptionString */;
1412 val
* var7
/* : nullable Object */;
1413 val
* var9
/* : nullable Object */;
1414 short int var10
/* : Bool */;
1415 short int var11
/* : Bool */;
1416 short int var_auto_remove
/* var auto_remove: Bool */;
1417 long var12
/* : Int */;
1418 long var14
/* : Int for extern */;
1419 long var_time0
/* var time0: Int */;
1420 val
* var15
/* : ToolContext */;
1421 val
* var17
/* : ToolContext */;
1422 static val
* varonce
;
1423 val
* var18
/* : String */;
1424 char* var19
/* : NativeString */;
1425 val
* var20
/* : FlatString */;
1426 val
* var21
/* : String */;
1427 val
* var22
/* : nullable Error */;
1428 val
* var23
/* : nullable Error */;
1429 val
* var24
/* : Array[String] */;
1430 val
* var_cfiles
/* var cfiles: Array[String] */;
1431 long var25
/* : Int */;
1432 long var27
/* : Int for extern */;
1433 long var_time1
/* var time1: Int */;
1434 val
* var28
/* : ToolContext */;
1435 val
* var30
/* : ToolContext */;
1436 val
* var32
/* : NativeArray[String] */;
1437 static val
* varonce31
;
1438 static val
* varonce33
;
1439 val
* var34
/* : String */;
1440 char* var35
/* : NativeString */;
1441 val
* var36
/* : FlatString */;
1442 static val
* varonce37
;
1443 val
* var38
/* : String */;
1444 char* var39
/* : NativeString */;
1445 val
* var40
/* : FlatString */;
1446 long var41
/* : Int */;
1447 short int var43
/* : Bool */;
1450 const char* var_class_name
;
1451 long var44
/* : Int */;
1452 val
* var45
/* : String */;
1453 val
* var46
/* : String */;
1454 val
* var47
/* : ToolContext */;
1455 val
* var49
/* : ToolContext */;
1456 val
* var50
/* : OptionBool */;
1457 val
* var52
/* : OptionBool */;
1458 val
* var53
/* : nullable Object */;
1459 val
* var55
/* : nullable Object */;
1460 short int var56
/* : Bool */;
1461 val
* var57
/* : ToolContext */;
1462 val
* var59
/* : ToolContext */;
1463 static val
* varonce60
;
1464 val
* var61
/* : String */;
1465 char* var62
/* : NativeString */;
1466 val
* var63
/* : FlatString */;
1467 val
* var64
/* : Sys */;
1468 val
* var66
/* : Sys */;
1469 val
* var68
/* : NativeArray[String] */;
1470 static val
* varonce67
;
1471 static val
* varonce69
;
1472 val
* var70
/* : String */;
1473 char* var71
/* : NativeString */;
1474 val
* var72
/* : FlatString */;
1475 static val
* varonce73
;
1476 val
* var74
/* : String */;
1477 char* var75
/* : NativeString */;
1478 val
* var76
/* : FlatString */;
1479 val
* var77
/* : String */;
1480 val
* var78
/* : String */;
1481 val
* var79
/* : String */;
1482 long var80
/* : Int */;
1483 long var81
/* : Int */;
1484 long var83
/* : Int for extern */;
1485 val
* var84
/* : ToolContext */;
1486 val
* var86
/* : ToolContext */;
1487 val
* var88
/* : NativeArray[String] */;
1488 static val
* varonce87
;
1489 static val
* varonce89
;
1490 val
* var90
/* : String */;
1491 char* var91
/* : NativeString */;
1492 val
* var92
/* : FlatString */;
1493 static val
* varonce93
;
1494 val
* var94
/* : String */;
1495 char* var95
/* : NativeString */;
1496 val
* var96
/* : FlatString */;
1497 long var97
/* : Int */;
1498 short int var99
/* : Bool */;
1501 const char* var_class_name102
;
1502 long var103
/* : Int */;
1503 val
* var104
/* : String */;
1504 val
* var105
/* : String */;
1506 var
= nit___nit__Toolchain___compile_dir(self
);
1508 var_compile_dir
= var
;
1510 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1511 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1512 if (unlikely(var3
== NULL
)) {
1513 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1514 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1522 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (var1) on <var1:ToolContext> */
1523 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var1:ToolContext> */
1524 if (unlikely(var6
== NULL
)) {
1525 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1526 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 44);
1534 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
1535 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
1541 var10
= 1; /* is null */
1543 var10
= 0; /* arg is null but recv is not */
1546 var11
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var7
, ((val
*)NULL
)); /* == on <var7:nullable Object(nullable String)>*/
1549 var_auto_remove
= var10
;
1551 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1552 var14
= kernel_Any_Any_get_time_0(self
);
1555 RET_LABEL13
:(void)0;
1560 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1561 var17
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1562 if (unlikely(var17
== NULL
)) {
1563 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1564 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1568 RET_LABEL16
:(void)0;
1571 if (likely(varonce
!=NULL
)) {
1574 var19
= "*** WRITING C ***";
1575 var20
= standard___standard__NativeString___to_s_with_length(var19
, 17l);
1580 nit___nit__ToolContext___info(var15
, var18
, 1l); /* Direct call toolcontext#ToolContext#info on <var15:ToolContext>*/
1583 var21
= nit___nit__Toolchain___root_compile_dir(self
);
1586 var22
= standard__file___String___mkdir(var21
);
1589 var23
= standard__file___String___mkdir(var_compile_dir
);
1591 var24
= NEW_standard__Array(&type_standard__Array__standard__String
);
1593 standard___standard__Array___standard__kernel__Object__init(var24
); /* Direct call array#Array#init on <var24:Array[String]>*/
1597 nit___nit__MakefileToolchain___write_files(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_files on <self:MakefileToolchain>*/
1600 nit___nit__MakefileToolchain___write_makefile(self
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_makefile on <self:MakefileToolchain>*/
1603 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1604 var27
= kernel_Any_Any_get_time_0(self
);
1607 RET_LABEL26
:(void)0;
1612 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1613 var30
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1614 if (unlikely(var30
== NULL
)) {
1615 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1616 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1620 RET_LABEL29
:(void)0;
1623 if (unlikely(varonce31
==NULL
)) {
1624 var32
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1625 if (likely(varonce33
!=NULL
)) {
1628 var35
= "*** END WRITING C: ";
1629 var36
= standard___standard__NativeString___to_s_with_length(var35
, 19l);
1633 ((struct instance_standard__NativeArray
*)var32
)->values
[0]=var34
;
1634 if (likely(varonce37
!=NULL
)) {
1638 var40
= standard___standard__NativeString___to_s_with_length(var39
, 4l);
1642 ((struct instance_standard__NativeArray
*)var32
)->values
[2]=var38
;
1648 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1649 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1650 /* <var_time0:Int> isa OTHER */
1651 var43
= 1; /* easy <var_time0:Int> isa OTHER*/
1652 if (unlikely(!var43
)) {
1653 var_class_name
= type_standard__Int
.name
;
1654 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1655 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1658 var44
= var_time1
- var_time0
;
1661 RET_LABEL42
:(void)0;
1664 var45
= standard__string___Int___Object__to_s(var41
);
1665 ((struct instance_standard__NativeArray
*)var32
)->values
[1]=var45
;
1667 var46
= ((val
*(*)(val
* self
))(var32
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var32
); /* native_to_s on <var32:NativeArray[String]>*/
1671 nit___nit__ToolContext___info(var28
, var46
, 2l); /* Direct call toolcontext#ToolContext#info on <var28:ToolContext>*/
1674 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1675 var49
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1676 if (unlikely(var49
== NULL
)) {
1677 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1678 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1682 RET_LABEL48
:(void)0;
1686 { /* Inline abstract_compiler#ToolContext#opt_no_cc (var47) on <var47:ToolContext> */
1687 var52
= var47
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <var47:ToolContext> */
1688 if (unlikely(var52
== NULL
)) {
1689 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
1690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 34);
1694 RET_LABEL51
:(void)0;
1698 { /* Inline opts#Option#value (var50) on <var50:OptionBool> */
1699 var55
= var50
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var50:OptionBool> */
1701 RET_LABEL54
:(void)0;
1704 var56
= (short int)((long)(var53
)>>2);
1709 var_time0
= var_time1
;
1711 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1712 var59
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1713 if (unlikely(var59
== NULL
)) {
1714 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1719 RET_LABEL58
:(void)0;
1722 if (likely(varonce60
!=NULL
)) {
1725 var62
= "*** COMPILING C ***";
1726 var63
= standard___standard__NativeString___to_s_with_length(var62
, 19l);
1731 nit___nit__ToolContext___info(var57
, var61
, 1l); /* Direct call toolcontext#ToolContext#info on <var57:ToolContext>*/
1734 nit___nit__MakefileToolchain___compile_c_code(self
, var_compile_dir
); /* Direct call abstract_compiler#MakefileToolchain#compile_c_code on <self:MakefileToolchain>*/
1736 if (var_auto_remove
){
1738 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
1742 RET_LABEL65
:(void)0;
1745 if (unlikely(varonce67
==NULL
)) {
1746 var68
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1747 if (likely(varonce69
!=NULL
)) {
1750 var71
= "rm -r -- \'";
1751 var72
= standard___standard__NativeString___to_s_with_length(var71
, 10l);
1755 ((struct instance_standard__NativeArray
*)var68
)->values
[0]=var70
;
1756 if (likely(varonce73
!=NULL
)) {
1760 var76
= standard___standard__NativeString___to_s_with_length(var75
, 2l);
1764 ((struct instance_standard__NativeArray
*)var68
)->values
[2]=var74
;
1770 var77
= nit___nit__Toolchain___root_compile_dir(self
);
1773 var78
= standard___standard__Text___escape_to_sh(var77
);
1775 ((struct instance_standard__NativeArray
*)var68
)->values
[1]=var78
;
1777 var79
= ((val
*(*)(val
* self
))(var68
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var68
); /* native_to_s on <var68:NativeArray[String]>*/
1781 var80
= standard__exec___Sys___system(var64
, var79
);
1786 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1787 var83
= kernel_Any_Any_get_time_0(self
);
1790 RET_LABEL82
:(void)0;
1795 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1796 var86
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1797 if (unlikely(var86
== NULL
)) {
1798 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1799 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
1803 RET_LABEL85
:(void)0;
1806 if (unlikely(varonce87
==NULL
)) {
1807 var88
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
1808 if (likely(varonce89
!=NULL
)) {
1811 var91
= "*** END COMPILING C: ";
1812 var92
= standard___standard__NativeString___to_s_with_length(var91
, 21l);
1816 ((struct instance_standard__NativeArray
*)var88
)->values
[0]=var90
;
1817 if (likely(varonce93
!=NULL
)) {
1821 var96
= standard___standard__NativeString___to_s_with_length(var95
, 4l);
1825 ((struct instance_standard__NativeArray
*)var88
)->values
[2]=var94
;
1831 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1832 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1833 /* <var_time0:Int> isa OTHER */
1834 var99
= 1; /* easy <var_time0:Int> isa OTHER*/
1835 if (unlikely(!var99
)) {
1836 var_class_name102
= type_standard__Int
.name
;
1837 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name102
);
1838 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 540);
1841 var103
= var_time1
- var_time0
;
1844 RET_LABEL98
:(void)0;
1847 var104
= standard__string___Int___Object__to_s(var97
);
1848 ((struct instance_standard__NativeArray
*)var88
)->values
[1]=var104
;
1850 var105
= ((val
*(*)(val
* self
))(var88
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var88
); /* native_to_s on <var88:NativeArray[String]>*/
1854 nit___nit__ToolContext___info(var84
, var105
, 2l); /* Direct call toolcontext#ToolContext#info on <var84:ToolContext>*/
1858 /* method abstract_compiler#MakefileToolchain#write_files for (self: MakefileToolchain, String, Array[String]) */
1859 void nit___nit__MakefileToolchain___write_files(val
* self
, val
* p0
, val
* p1
) {
1860 val
* var_compile_dir
/* var compile_dir: String */;
1861 val
* var_cfiles
/* var cfiles: Array[String] */;
1862 val
* var
/* : AbstractCompiler */;
1863 val
* var2
/* : AbstractCompiler */;
1864 val
* var3
/* : Platform */;
1865 val
* var5
/* : Platform */;
1866 val
* var_platform
/* var platform: Platform */;
1867 short int var6
/* : Bool */;
1868 val
* var7
/* : AbstractCompiler */;
1869 val
* var9
/* : AbstractCompiler */;
1870 static val
* varonce
;
1871 val
* var10
/* : String */;
1872 char* var11
/* : NativeString */;
1873 val
* var12
/* : FlatString */;
1874 val
* var_cc_opt_with_libgc
/* var cc_opt_with_libgc: String */;
1875 short int var13
/* : Bool */;
1876 short int var14
/* : Bool */;
1877 static val
* varonce15
;
1878 val
* var16
/* : String */;
1879 char* var17
/* : NativeString */;
1880 val
* var18
/* : FlatString */;
1881 val
* var19
/* : ExternCFile */;
1882 static val
* varonce20
;
1883 val
* var21
/* : String */;
1884 char* var22
/* : NativeString */;
1885 val
* var23
/* : FlatString */;
1886 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
1887 static val
* varonce24
;
1888 val
* var25
/* : String */;
1889 char* var26
/* : NativeString */;
1890 val
* var27
/* : FlatString */;
1891 short int var28
/* : Bool */;
1892 val
* var_other
/* var other: nullable Object */;
1893 short int var30
/* : Bool */;
1894 short int var31
/* : Bool */;
1895 val
* var32
/* : Array[String] */;
1896 val
* var34
/* : Array[String] */;
1897 static val
* varonce35
;
1898 val
* var36
/* : String */;
1899 char* var37
/* : NativeString */;
1900 val
* var38
/* : FlatString */;
1901 val
* var39
/* : AbstractCompiler */;
1902 val
* var41
/* : AbstractCompiler */;
1903 val
* var42
/* : Array[ExternFile] */;
1904 val
* var44
/* : Array[ExternFile] */;
1905 val
* var45
/* : ToolContext */;
1906 val
* var47
/* : ToolContext */;
1907 val
* var48
/* : String */;
1908 val
* var50
/* : String */;
1909 static val
* varonce51
;
1910 val
* var52
/* : String */;
1911 char* var53
/* : NativeString */;
1912 val
* var54
/* : FlatString */;
1913 val
* var55
/* : String */;
1914 val
* var_clib
/* var clib: String */;
1915 val
* var56
/* : AbstractCompiler */;
1916 val
* var58
/* : AbstractCompiler */;
1917 val
* var59
/* : Array[String] */;
1918 val
* var61
/* : Array[String] */;
1919 val
* var63
/* : NativeArray[String] */;
1920 static val
* varonce62
;
1921 static val
* varonce64
;
1922 val
* var65
/* : String */;
1923 char* var66
/* : NativeString */;
1924 val
* var67
/* : FlatString */;
1925 val
* var68
/* : String */;
1926 val
* var69
/* : AbstractCompiler */;
1927 val
* var71
/* : AbstractCompiler */;
1928 val
* var72
/* : Array[String] */;
1929 val
* var74
/* : Array[String] */;
1930 val
* var76
/* : NativeArray[String] */;
1931 static val
* varonce75
;
1932 static val
* varonce77
;
1933 val
* var78
/* : String */;
1934 char* var79
/* : NativeString */;
1935 val
* var80
/* : FlatString */;
1936 val
* var81
/* : String */;
1937 val
* var82
/* : AbstractCompiler */;
1938 val
* var84
/* : AbstractCompiler */;
1939 val
* var85
/* : MModule */;
1940 val
* var87
/* : MModule */;
1941 val
* var88
/* : POSetElement[MModule] */;
1942 val
* var90
/* : POSetElement[MModule] */;
1943 val
* var91
/* : Collection[nullable Object] */;
1944 val
* var_
/* var : Collection[MModule] */;
1945 val
* var92
/* : Iterator[nullable Object] */;
1946 val
* var_93
/* var : Iterator[MModule] */;
1947 short int var94
/* : Bool */;
1948 val
* var95
/* : nullable Object */;
1949 val
* var_m
/* var m: MModule */;
1950 val
* var96
/* : AbstractCompiler */;
1951 val
* var98
/* : AbstractCompiler */;
1952 val
* var99
/* : AbstractCompiler */;
1953 val
* var101
/* : AbstractCompiler */;
1954 val
* var102
/* : Array[String] */;
1955 val
* var104
/* : Array[String] */;
1956 val
* var_105
/* var : Array[String] */;
1957 val
* var106
/* : ArrayIterator[nullable Object] */;
1958 val
* var_107
/* var : ArrayIterator[String] */;
1959 short int var108
/* : Bool */;
1960 val
* var109
/* : nullable Object */;
1961 val
* var_src
/* var src: String */;
1962 static val
* varonce110
;
1963 val
* var111
/* : String */;
1964 char* var112
/* : NativeString */;
1965 val
* var113
/* : FlatString */;
1966 val
* var114
/* : String */;
1967 val
* var_basename
/* var basename: String */;
1968 val
* var116
/* : NativeArray[String] */;
1969 static val
* varonce115
;
1970 static val
* varonce117
;
1971 val
* var118
/* : String */;
1972 char* var119
/* : NativeString */;
1973 val
* var120
/* : FlatString */;
1974 val
* var121
/* : String */;
1975 val
* var_dst
/* var dst: String */;
1976 val
* var123
/* : AbstractCompiler */;
1977 val
* var125
/* : AbstractCompiler */;
1978 val
* var126
/* : CodeWriter */;
1979 val
* var128
/* : CodeWriter */;
1980 val
* var129
/* : CodeFile */;
1981 val
* var131
/* : CodeFile */;
1982 val
* var132
/* : String */;
1983 val
* var134
/* : String */;
1984 static val
* varonce135
;
1985 val
* var136
/* : String */;
1986 char* var137
/* : NativeString */;
1987 val
* var138
/* : FlatString */;
1988 val
* var139
/* : String */;
1989 val
* var_hfilename
/* var hfilename: String */;
1990 val
* var141
/* : NativeArray[String] */;
1991 static val
* varonce140
;
1992 static val
* varonce142
;
1993 val
* var143
/* : String */;
1994 char* var144
/* : NativeString */;
1995 val
* var145
/* : FlatString */;
1996 val
* var146
/* : String */;
1997 val
* var_hfilepath
/* var hfilepath: String */;
1998 val
* var147
/* : FileWriter */;
1999 val
* var_h
/* var h: FileWriter */;
2000 val
* var148
/* : AbstractCompiler */;
2001 val
* var150
/* : AbstractCompiler */;
2002 val
* var151
/* : CodeWriter */;
2003 val
* var153
/* : CodeWriter */;
2004 val
* var154
/* : List[String] */;
2005 val
* var156
/* : List[String] */;
2006 val
* var_157
/* var : List[String] */;
2007 val
* var158
/* : ListIterator[nullable Object] */;
2008 val
* var_159
/* var : ListIterator[String] */;
2009 short int var160
/* : Bool */;
2010 val
* var161
/* : nullable Object */;
2011 val
* var_l
/* var l: String */;
2012 static val
* varonce162
;
2013 val
* var163
/* : String */;
2014 char* var164
/* : NativeString */;
2015 val
* var165
/* : FlatString */;
2016 val
* var168
/* : AbstractCompiler */;
2017 val
* var170
/* : AbstractCompiler */;
2018 val
* var171
/* : CodeWriter */;
2019 val
* var173
/* : CodeWriter */;
2020 val
* var174
/* : List[String] */;
2021 val
* var176
/* : List[String] */;
2022 val
* var_177
/* var : List[String] */;
2023 val
* var178
/* : ListIterator[nullable Object] */;
2024 val
* var_179
/* var : ListIterator[String] */;
2025 short int var180
/* : Bool */;
2026 val
* var181
/* : nullable Object */;
2027 val
* var_l182
/* var l: String */;
2028 static val
* varonce183
;
2029 val
* var184
/* : String */;
2030 char* var185
/* : NativeString */;
2031 val
* var186
/* : FlatString */;
2032 val
* var189
/* : ToolContext */;
2033 val
* var191
/* : ToolContext */;
2034 val
* var192
/* : OptionInt */;
2035 val
* var194
/* : OptionInt */;
2036 val
* var195
/* : nullable Object */;
2037 val
* var197
/* : nullable Object */;
2038 long var198
/* : Int */;
2039 long var_max_c_lines
/* var max_c_lines: Int */;
2040 val
* var199
/* : AbstractCompiler */;
2041 val
* var201
/* : AbstractCompiler */;
2042 val
* var202
/* : List[CodeFile] */;
2043 val
* var204
/* : List[CodeFile] */;
2044 val
* var_205
/* var : List[CodeFile] */;
2045 val
* var206
/* : ListIterator[nullable Object] */;
2046 val
* var_207
/* var : ListIterator[CodeFile] */;
2047 short int var208
/* : Bool */;
2048 val
* var209
/* : nullable Object */;
2049 val
* var_f
/* var f: CodeFile */;
2050 long var_i
/* var i: Int */;
2051 long var_count
/* var count: Int */;
2052 val
* var_file
/* var file: nullable FileWriter */;
2053 val
* var210
/* : Array[CodeWriter] */;
2054 val
* var212
/* : Array[CodeWriter] */;
2055 val
* var_213
/* var : Array[CodeWriter] */;
2056 val
* var214
/* : ArrayIterator[nullable Object] */;
2057 val
* var_215
/* var : ArrayIterator[CodeWriter] */;
2058 short int var216
/* : Bool */;
2059 val
* var217
/* : nullable Object */;
2060 val
* var_vis
/* var vis: CodeWriter */;
2061 val
* var218
/* : AbstractCompiler */;
2062 val
* var220
/* : AbstractCompiler */;
2063 val
* var221
/* : CodeWriter */;
2064 val
* var223
/* : CodeWriter */;
2065 short int var224
/* : Bool */;
2066 val
* var_other226
/* var other: nullable Object */;
2067 short int var227
/* : Bool */;
2068 short int var229
/* : Bool */;
2069 val
* var231
/* : List[String] */;
2070 val
* var233
/* : List[String] */;
2071 long var234
/* : Int */;
2072 val
* var235
/* : List[String] */;
2073 val
* var237
/* : List[String] */;
2074 long var238
/* : Int */;
2075 long var239
/* : Int */;
2076 short int var241
/* : Bool */;
2079 const char* var_class_name
;
2080 long var242
/* : Int */;
2081 long var_total_lines
/* var total_lines: Int */;
2082 short int var243
/* : Bool */;
2083 short int var245
/* : Bool */;
2084 long var246
/* : Int */;
2085 short int var248
/* : Bool */;
2088 const char* var_class_name251
;
2089 long var252
/* : Int */;
2090 short int var253
/* : Bool */;
2091 short int var254
/* : Bool */;
2092 short int var255
/* : Bool */;
2093 short int var257
/* : Bool */;
2094 short int var259
/* : Bool */;
2095 short int var_260
/* var : Bool */;
2096 short int var261
/* : Bool */;
2097 short int var262
/* : Bool */;
2098 short int var264
/* : Bool */;
2101 const char* var_class_name267
;
2102 short int var268
/* : Bool */;
2103 short int var_269
/* var : Bool */;
2104 short int var270
/* : Bool */;
2105 short int var272
/* : Bool */;
2108 const char* var_class_name275
;
2109 short int var276
/* : Bool */;
2110 long var277
/* : Int */;
2111 short int var279
/* : Bool */;
2114 const char* var_class_name282
;
2115 long var283
/* : Int */;
2116 short int var284
/* : Bool */;
2117 short int var285
/* : Bool */;
2118 short int var287
/* : Bool */;
2119 short int var288
/* : Bool */;
2120 val
* var290
/* : NativeArray[String] */;
2121 static val
* varonce289
;
2122 static val
* varonce291
;
2123 val
* var292
/* : String */;
2124 char* var293
/* : NativeString */;
2125 val
* var294
/* : FlatString */;
2126 static val
* varonce295
;
2127 val
* var296
/* : String */;
2128 char* var297
/* : NativeString */;
2129 val
* var298
/* : FlatString */;
2130 val
* var299
/* : String */;
2131 val
* var301
/* : String */;
2132 val
* var302
/* : String */;
2133 val
* var303
/* : String */;
2134 val
* var_cfilename
/* var cfilename: String */;
2135 val
* var305
/* : NativeArray[String] */;
2136 static val
* varonce304
;
2137 static val
* varonce306
;
2138 val
* var307
/* : String */;
2139 char* var308
/* : NativeString */;
2140 val
* var309
/* : FlatString */;
2141 val
* var310
/* : String */;
2142 val
* var_cfilepath
/* var cfilepath: String */;
2143 val
* var311
/* : ToolContext */;
2144 val
* var313
/* : ToolContext */;
2145 val
* var315
/* : NativeArray[String] */;
2146 static val
* varonce314
;
2147 static val
* varonce316
;
2148 val
* var317
/* : String */;
2149 char* var318
/* : NativeString */;
2150 val
* var319
/* : FlatString */;
2151 val
* var320
/* : String */;
2152 val
* var321
/* : FileWriter */;
2153 val
* var323
/* : NativeArray[String] */;
2154 static val
* varonce322
;
2155 static val
* varonce324
;
2156 val
* var325
/* : String */;
2157 char* var326
/* : NativeString */;
2158 val
* var327
/* : FlatString */;
2159 static val
* varonce328
;
2160 val
* var329
/* : String */;
2161 char* var330
/* : NativeString */;
2162 val
* var331
/* : FlatString */;
2163 val
* var332
/* : String */;
2164 val
* var334
/* : String */;
2165 val
* var335
/* : String */;
2166 val
* var336
/* : List[String] */;
2167 val
* var338
/* : List[String] */;
2168 val
* var_339
/* var : List[String] */;
2169 val
* var340
/* : ListIterator[nullable Object] */;
2170 val
* var_341
/* var : ListIterator[String] */;
2171 short int var342
/* : Bool */;
2172 val
* var343
/* : nullable Object */;
2173 val
* var_l344
/* var l: String */;
2174 static val
* varonce345
;
2175 val
* var346
/* : String */;
2176 char* var347
/* : NativeString */;
2177 val
* var348
/* : FlatString */;
2178 val
* var351
/* : List[String] */;
2179 val
* var353
/* : List[String] */;
2180 val
* var_354
/* var : List[String] */;
2181 val
* var355
/* : ListIterator[nullable Object] */;
2182 val
* var_356
/* var : ListIterator[String] */;
2183 short int var357
/* : Bool */;
2184 val
* var358
/* : nullable Object */;
2185 val
* var_l359
/* var l: String */;
2186 static val
* varonce360
;
2187 val
* var361
/* : String */;
2188 char* var362
/* : NativeString */;
2189 val
* var363
/* : FlatString */;
2190 short int var367
/* : Bool */;
2191 short int var368
/* : Bool */;
2192 short int var370
/* : Bool */;
2193 short int var372
/* : Bool */;
2194 val
* var375
/* : NativeArray[String] */;
2195 static val
* varonce374
;
2196 static val
* varonce376
;
2197 val
* var377
/* : String */;
2198 char* var378
/* : NativeString */;
2199 val
* var379
/* : FlatString */;
2200 val
* var380
/* : String */;
2201 val
* var382
/* : String */;
2202 val
* var383
/* : String */;
2203 val
* var_cfilename384
/* var cfilename: String */;
2204 val
* var386
/* : NativeArray[String] */;
2205 static val
* varonce385
;
2206 static val
* varonce387
;
2207 val
* var388
/* : String */;
2208 char* var389
/* : NativeString */;
2209 val
* var390
/* : FlatString */;
2210 val
* var391
/* : String */;
2211 val
* var_cfilepath392
/* var cfilepath: String */;
2212 val
* var_hfile
/* var hfile: nullable FileWriter */;
2213 val
* var393
/* : FileWriter */;
2214 val
* var395
/* : NativeArray[String] */;
2215 static val
* varonce394
;
2216 static val
* varonce396
;
2217 val
* var397
/* : String */;
2218 char* var398
/* : NativeString */;
2219 val
* var399
/* : FlatString */;
2220 static val
* varonce400
;
2221 val
* var401
/* : String */;
2222 char* var402
/* : NativeString */;
2223 val
* var403
/* : FlatString */;
2224 val
* var404
/* : String */;
2225 val
* var405
/* : HashSet[String] */;
2226 val
* var407
/* : HashSet[String] */;
2227 val
* var_408
/* var : HashSet[String] */;
2228 val
* var409
/* : Iterator[nullable Object] */;
2229 val
* var_410
/* var : Iterator[String] */;
2230 short int var411
/* : Bool */;
2231 val
* var412
/* : nullable Object */;
2232 val
* var_key
/* var key: String */;
2233 val
* var413
/* : AbstractCompiler */;
2234 val
* var415
/* : AbstractCompiler */;
2235 val
* var416
/* : HashMap[String, String] */;
2236 val
* var418
/* : HashMap[String, String] */;
2237 short int var419
/* : Bool */;
2238 short int var420
/* : Bool */;
2239 val
* var421
/* : AbstractCompiler */;
2240 val
* var423
/* : AbstractCompiler */;
2241 val
* var424
/* : HashMap[String, ANode] */;
2242 val
* var426
/* : HashMap[String, ANode] */;
2243 val
* var427
/* : nullable Object */;
2244 val
* var_node
/* var node: nullable ANode */;
2245 short int var428
/* : Bool */;
2246 short int var429
/* : Bool */;
2247 short int var431
/* : Bool */;
2248 short int var432
/* : Bool */;
2249 val
* var434
/* : NativeArray[String] */;
2250 static val
* varonce433
;
2251 static val
* varonce435
;
2252 val
* var436
/* : String */;
2253 char* var437
/* : NativeString */;
2254 val
* var438
/* : FlatString */;
2255 val
* var439
/* : String */;
2256 val
* var440
/* : Sys */;
2257 val
* var442
/* : NativeArray[String] */;
2258 static val
* varonce441
;
2259 static val
* varonce443
;
2260 val
* var444
/* : String */;
2261 char* var445
/* : NativeString */;
2262 val
* var446
/* : FlatString */;
2263 val
* var447
/* : String */;
2264 val
* var448
/* : AbstractCompiler */;
2265 val
* var450
/* : AbstractCompiler */;
2266 val
* var451
/* : HashMap[String, String] */;
2267 val
* var453
/* : HashMap[String, String] */;
2268 val
* var454
/* : nullable Object */;
2269 static val
* varonce455
;
2270 val
* var456
/* : String */;
2271 char* var457
/* : NativeString */;
2272 val
* var458
/* : FlatString */;
2273 val
* var462
/* : ToolContext */;
2274 val
* var464
/* : ToolContext */;
2275 val
* var466
/* : NativeArray[String] */;
2276 static val
* varonce465
;
2277 static val
* varonce467
;
2278 val
* var468
/* : String */;
2279 char* var469
/* : NativeString */;
2280 val
* var470
/* : FlatString */;
2281 long var471
/* : Int */;
2282 long var473
/* : Int */;
2283 val
* var474
/* : String */;
2284 val
* var475
/* : String */;
2285 var_compile_dir
= p0
;
2288 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2289 var2
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2290 if (unlikely(var2
== NULL
)) {
2291 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2300 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var) on <var:AbstractCompiler> */
2301 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var:AbstractCompiler> */
2302 if (unlikely(var5
== NULL
)) {
2303 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
2304 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 533);
2311 var_platform
= var3
;
2313 var6
= nit___nit__Platform___supports_libunwind(var_platform
);
2317 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2318 var9
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2319 if (unlikely(var9
== NULL
)) {
2320 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2321 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2329 nit___nit__AbstractCompiler___build_c_to_nit_bindings(var7
); /* Direct call abstract_compiler#AbstractCompiler#build_c_to_nit_bindings on <var7:AbstractCompiler>*/
2333 if (likely(varonce
!=NULL
)) {
2336 var11
= "-DWITH_LIBGC";
2337 var12
= standard___standard__NativeString___to_s_with_length(var11
, 12l);
2341 var_cc_opt_with_libgc
= var10
;
2343 var13
= nit___nit__Platform___supports_libgc(var_platform
);
2347 if (likely(varonce15
!=NULL
)) {
2351 var18
= standard___standard__NativeString___to_s_with_length(var17
, 0l);
2355 var_cc_opt_with_libgc
= var16
;
2358 var19
= NEW_nit__ExternCFile(&type_nit__ExternCFile
);
2359 if (likely(varonce20
!=NULL
)) {
2362 var22
= "gc_chooser.c";
2363 var23
= standard___standard__NativeString___to_s_with_length(var22
, 12l);
2368 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__c_tools__ExternFile__filename_61d
]))(var19
, var21
); /* filename= on <var19:ExternCFile>*/
2371 ((void(*)(val
* self
, val
* p0
))(var19
->class->vft
[COLOR_nit__c_tools__ExternCFile__cflags_61d
]))(var19
, var_cc_opt_with_libgc
); /* cflags= on <var19:ExternCFile>*/
2374 ((void(*)(val
* self
))(var19
->class->vft
[COLOR_standard__kernel__Object__init
]))(var19
); /* init on <var19:ExternCFile>*/
2376 var_gc_chooser
= var19
;
2377 if (likely(varonce24
!=NULL
)) {
2381 var27
= standard___standard__NativeString___to_s_with_length(var26
, 0l);
2386 { /* Inline kernel#Object#!= (var_cc_opt_with_libgc,var25) on <var_cc_opt_with_libgc:String> */
2389 var30
= ((short int(*)(val
* self
, val
* p0
))(var_cc_opt_with_libgc
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_cc_opt_with_libgc
, var_other
); /* == on <var_cc_opt_with_libgc:String>*/
2394 RET_LABEL29
:(void)0;
2399 { /* Inline c_tools#ExternFile#pkgconfigs (var_gc_chooser) on <var_gc_chooser:ExternCFile> */
2400 var34
= var_gc_chooser
->attrs
[COLOR_nit__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_gc_chooser:ExternCFile> */
2401 if (unlikely(var34
== NULL
)) {
2402 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
2403 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 123);
2407 RET_LABEL33
:(void)0;
2410 if (likely(varonce35
!=NULL
)) {
2414 var38
= standard___standard__NativeString___to_s_with_length(var37
, 6l);
2419 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var32
, var36
); /* Direct call array#Array#add on <var32:Array[String]>*/
2424 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2425 var41
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2426 if (unlikely(var41
== NULL
)) {
2427 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2428 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2432 RET_LABEL40
:(void)0;
2436 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var39) on <var39:AbstractCompiler> */
2437 var44
= var39
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var39:AbstractCompiler> */
2438 if (unlikely(var44
== NULL
)) {
2439 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
2440 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
2444 RET_LABEL43
:(void)0;
2448 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var42
, var_gc_chooser
); /* Direct call array#Array#add on <var42:Array[ExternFile]>*/
2451 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
2452 var47
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2453 if (unlikely(var47
== NULL
)) {
2454 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2455 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
2459 RET_LABEL46
:(void)0;
2463 { /* Inline toolcontext#ToolContext#nit_dir (var45) on <var45:ToolContext> */
2464 var50
= var45
->attrs
[COLOR_nit__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var45:ToolContext> */
2465 if (unlikely(var50
== NULL
)) {
2466 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
2467 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 521);
2471 RET_LABEL49
:(void)0;
2474 if (likely(varonce51
!=NULL
)) {
2478 var54
= standard___standard__NativeString___to_s_with_length(var53
, 4l);
2483 var55
= standard__file___String____47d(var48
, var52
);
2487 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2488 var58
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2489 if (unlikely(var58
== NULL
)) {
2490 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2495 RET_LABEL57
:(void)0;
2499 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var56) on <var56:AbstractCompiler> */
2500 var61
= var56
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var56:AbstractCompiler> */
2501 if (unlikely(var61
== NULL
)) {
2502 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 982);
2507 RET_LABEL60
:(void)0;
2510 if (unlikely(varonce62
==NULL
)) {
2511 var63
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2512 if (likely(varonce64
!=NULL
)) {
2515 var66
= "/gc_chooser.c";
2516 var67
= standard___standard__NativeString___to_s_with_length(var66
, 13l);
2520 ((struct instance_standard__NativeArray
*)var63
)->values
[1]=var65
;
2525 ((struct instance_standard__NativeArray
*)var63
)->values
[0]=var_clib
;
2527 var68
= ((val
*(*)(val
* self
))(var63
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var63
); /* native_to_s on <var63:NativeArray[String]>*/
2531 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var59
, var68
); /* Direct call array#Array#add on <var59:Array[String]>*/
2534 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2535 var71
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2536 if (unlikely(var71
== NULL
)) {
2537 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2542 RET_LABEL70
:(void)0;
2546 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var69) on <var69:AbstractCompiler> */
2547 var74
= var69
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var69:AbstractCompiler> */
2548 if (unlikely(var74
== NULL
)) {
2549 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2550 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 982);
2554 RET_LABEL73
:(void)0;
2557 if (unlikely(varonce75
==NULL
)) {
2558 var76
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
2559 if (likely(varonce77
!=NULL
)) {
2562 var79
= "/gc_chooser.h";
2563 var80
= standard___standard__NativeString___to_s_with_length(var79
, 13l);
2567 ((struct instance_standard__NativeArray
*)var76
)->values
[1]=var78
;
2572 ((struct instance_standard__NativeArray
*)var76
)->values
[0]=var_clib
;
2574 var81
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
2578 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var72
, var81
); /* Direct call array#Array#add on <var72:Array[String]>*/
2581 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2582 var84
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2583 if (unlikely(var84
== NULL
)) {
2584 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2585 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2589 RET_LABEL83
:(void)0;
2593 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var82) on <var82:AbstractCompiler> */
2594 var87
= var82
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var82:AbstractCompiler> */
2595 if (unlikely(var87
== NULL
)) {
2596 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2597 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
2601 RET_LABEL86
:(void)0;
2605 { /* Inline mmodule#MModule#in_importation (var85) on <var85:MModule> */
2606 var90
= var85
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var85:MModule> */
2607 if (unlikely(var90
== NULL
)) {
2608 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2609 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
2613 RET_LABEL89
:(void)0;
2617 var91
= poset___poset__POSetElement___greaters(var88
);
2621 var92
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
2626 var94
= ((short int(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_93
); /* is_ok on <var_93:Iterator[MModule]>*/
2630 var95
= ((val
*(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_93
); /* item on <var_93:Iterator[MModule]>*/
2634 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2635 var98
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2636 if (unlikely(var98
== NULL
)) {
2637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2642 RET_LABEL97
:(void)0;
2646 nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(var96
, var_m
); /* Direct call separate_compiler#SeparateCompiler#finalize_ffi_for_module on <var96:AbstractCompiler>*/
2649 ((void(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_93
); /* next on <var_93:Iterator[MModule]>*/
2655 BREAK_label
: (void)0;
2657 ((void(*)(val
* self
))((((long)var_93
&3)?class_info
[((long)var_93
&3)]:var_93
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_93
); /* finish on <var_93:Iterator[MModule]>*/
2660 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2661 var101
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2662 if (unlikely(var101
== NULL
)) {
2663 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2664 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2668 RET_LABEL100
:(void)0;
2672 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var99) on <var99:AbstractCompiler> */
2673 var104
= var99
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var99:AbstractCompiler> */
2674 if (unlikely(var104
== NULL
)) {
2675 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2676 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 982);
2680 RET_LABEL103
:(void)0;
2685 var106
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_105
);
2690 var108
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_107
);
2694 var109
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_107
);
2697 if (likely(varonce110
!=NULL
)) {
2698 var111
= varonce110
;
2701 var113
= standard___standard__NativeString___to_s_with_length(var112
, 0l);
2703 varonce110
= var111
;
2706 var114
= standard__file___String___basename(var_src
, var111
);
2708 var_basename
= var114
;
2709 if (unlikely(varonce115
==NULL
)) {
2710 var116
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2711 if (likely(varonce117
!=NULL
)) {
2712 var118
= varonce117
;
2715 var120
= standard___standard__NativeString___to_s_with_length(var119
, 1l);
2717 varonce117
= var118
;
2719 ((struct instance_standard__NativeArray
*)var116
)->values
[1]=var118
;
2721 var116
= varonce115
;
2724 ((struct instance_standard__NativeArray
*)var116
)->values
[0]=var_compile_dir
;
2725 ((struct instance_standard__NativeArray
*)var116
)->values
[2]=var_basename
;
2727 var121
= ((val
*(*)(val
* self
))(var116
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var116
); /* native_to_s on <var116:NativeArray[String]>*/
2729 varonce115
= var116
;
2732 standard__file___String___file_copy_to(var_src
, var_dst
); /* Direct call file#String#file_copy_to on <var_src:String>*/
2735 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_107
); /* Direct call array#ArrayIterator#next on <var_107:ArrayIterator[String]>*/
2738 goto BREAK_label122
;
2741 BREAK_label122
: (void)0;
2743 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_107
); /* Direct call array#ArrayIterator#finish on <var_107:ArrayIterator[String]>*/
2746 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2747 var125
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2748 if (unlikely(var125
== NULL
)) {
2749 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2754 RET_LABEL124
:(void)0;
2758 { /* Inline abstract_compiler#AbstractCompiler#header (var123) on <var123:AbstractCompiler> */
2759 var128
= var123
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var123:AbstractCompiler> */
2760 if (unlikely(var128
== NULL
)) {
2761 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2762 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2766 RET_LABEL127
:(void)0;
2770 { /* Inline abstract_compiler#CodeWriter#file (var126) on <var126:CodeWriter> */
2771 var131
= var126
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <var126:CodeWriter> */
2772 if (unlikely(var131
== NULL
)) {
2773 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
2774 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1080);
2778 RET_LABEL130
:(void)0;
2782 { /* Inline abstract_compiler#CodeFile#name (var129) on <var129:CodeFile> */
2783 var134
= var129
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var129:CodeFile> */
2784 if (unlikely(var134
== NULL
)) {
2785 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2786 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1073);
2790 RET_LABEL133
:(void)0;
2793 if (likely(varonce135
!=NULL
)) {
2794 var136
= varonce135
;
2797 var138
= standard___standard__NativeString___to_s_with_length(var137
, 2l);
2799 varonce135
= var136
;
2802 var139
= ((val
*(*)(val
* self
, val
* p0
))(var132
->class->vft
[COLOR_standard__string__String___43d
]))(var132
, var136
); /* + on <var132:String>*/
2804 var_hfilename
= var139
;
2805 if (unlikely(varonce140
==NULL
)) {
2806 var141
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
2807 if (likely(varonce142
!=NULL
)) {
2808 var143
= varonce142
;
2811 var145
= standard___standard__NativeString___to_s_with_length(var144
, 1l);
2813 varonce142
= var143
;
2815 ((struct instance_standard__NativeArray
*)var141
)->values
[1]=var143
;
2817 var141
= varonce140
;
2820 ((struct instance_standard__NativeArray
*)var141
)->values
[0]=var_compile_dir
;
2821 ((struct instance_standard__NativeArray
*)var141
)->values
[2]=var_hfilename
;
2823 var146
= ((val
*(*)(val
* self
))(var141
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var141
); /* native_to_s on <var141:NativeArray[String]>*/
2825 varonce140
= var141
;
2826 var_hfilepath
= var146
;
2827 var147
= NEW_standard__FileWriter(&type_standard__FileWriter
);
2829 standard___standard__FileWriter___open(var147
, var_hfilepath
); /* Direct call file#FileWriter#open on <var147:FileWriter>*/
2833 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2834 var150
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2835 if (unlikely(var150
== NULL
)) {
2836 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2837 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2841 RET_LABEL149
:(void)0;
2845 { /* Inline abstract_compiler#AbstractCompiler#header (var148) on <var148:AbstractCompiler> */
2846 var153
= var148
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var148:AbstractCompiler> */
2847 if (unlikely(var153
== NULL
)) {
2848 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2849 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2853 RET_LABEL152
:(void)0;
2857 { /* Inline abstract_compiler#CodeWriter#decl_lines (var151) on <var151:CodeWriter> */
2858 var156
= var151
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var151:CodeWriter> */
2859 if (unlikely(var156
== NULL
)) {
2860 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
2861 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
2865 RET_LABEL155
:(void)0;
2870 var158
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_157
);
2875 var160
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_159
);
2879 var161
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_159
);
2883 standard___standard__FileWriter___standard__stream__Writer__write(var_h
, var_l
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
2885 if (likely(varonce162
!=NULL
)) {
2886 var163
= varonce162
;
2889 var165
= standard___standard__NativeString___to_s_with_length(var164
, 1l);
2891 varonce162
= var163
;
2894 standard___standard__FileWriter___standard__stream__Writer__write(var_h
, var163
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
2897 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_159
); /* Direct call list#ListIterator#next on <var_159:ListIterator[String]>*/
2900 goto BREAK_label166
;
2903 BREAK_label166
: (void)0;
2905 { /* Inline abstract_collection#Iterator#finish (var_159) on <var_159:ListIterator[String]> */
2906 RET_LABEL167
:(void)0;
2910 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
2911 var170
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
2912 if (unlikely(var170
== NULL
)) {
2913 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
2914 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
2918 RET_LABEL169
:(void)0;
2922 { /* Inline abstract_compiler#AbstractCompiler#header (var168) on <var168:AbstractCompiler> */
2923 var173
= var168
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var168:AbstractCompiler> */
2924 if (unlikely(var173
== NULL
)) {
2925 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2926 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
2930 RET_LABEL172
:(void)0;
2934 { /* Inline abstract_compiler#CodeWriter#lines (var171) on <var171:CodeWriter> */
2935 var176
= var171
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var171:CodeWriter> */
2936 if (unlikely(var176
== NULL
)) {
2937 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
2938 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1081);
2942 RET_LABEL175
:(void)0;
2947 var178
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_177
);
2952 var180
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_179
);
2956 var181
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_179
);
2960 standard___standard__FileWriter___standard__stream__Writer__write(var_h
, var_l182
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
2962 if (likely(varonce183
!=NULL
)) {
2963 var184
= varonce183
;
2966 var186
= standard___standard__NativeString___to_s_with_length(var185
, 1l);
2968 varonce183
= var184
;
2971 standard___standard__FileWriter___standard__stream__Writer__write(var_h
, var184
); /* Direct call file#FileWriter#write on <var_h:FileWriter>*/
2974 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_179
); /* Direct call list#ListIterator#next on <var_179:ListIterator[String]>*/
2977 goto BREAK_label187
;
2980 BREAK_label187
: (void)0;
2982 { /* Inline abstract_collection#Iterator#finish (var_179) on <var_179:ListIterator[String]> */
2983 RET_LABEL188
:(void)0;
2987 standard___standard__FileWriter___standard__stream__Stream__close(var_h
); /* Direct call file#FileWriter#close on <var_h:FileWriter>*/
2990 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
2991 var191
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2992 if (unlikely(var191
== NULL
)) {
2993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
2998 RET_LABEL190
:(void)0;
3002 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (var189) on <var189:ToolContext> */
3003 var194
= var189
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <var189:ToolContext> */
3004 if (unlikely(var194
== NULL
)) {
3005 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
3006 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 40);
3010 RET_LABEL193
:(void)0;
3014 { /* Inline opts#Option#value (var192) on <var192:OptionInt> */
3015 var197
= var192
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var192:OptionInt> */
3017 RET_LABEL196
:(void)0;
3020 var198
= (long)(var195
)>>2;
3021 var_max_c_lines
= var198
;
3023 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3024 var201
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3025 if (unlikely(var201
== NULL
)) {
3026 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3027 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
3031 RET_LABEL200
:(void)0;
3035 { /* Inline abstract_compiler#AbstractCompiler#files (var199) on <var199:AbstractCompiler> */
3036 var204
= var199
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var199:AbstractCompiler> */
3037 if (unlikely(var204
== NULL
)) {
3038 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3039 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
3043 RET_LABEL203
:(void)0;
3048 var206
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_205
);
3053 var208
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_207
);
3057 var209
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_207
);
3062 var_file
= ((val
*)NULL
);
3064 { /* Inline abstract_compiler#CodeFile#writers (var_f) on <var_f:CodeFile> */
3065 var212
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_f:CodeFile> */
3066 if (unlikely(var212
== NULL
)) {
3067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
3068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1074);
3072 RET_LABEL211
:(void)0;
3077 var214
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_213
);
3082 var216
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_215
);
3086 var217
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_215
);
3090 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3091 var220
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3092 if (unlikely(var220
== NULL
)) {
3093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
3098 RET_LABEL219
:(void)0;
3102 { /* Inline abstract_compiler#AbstractCompiler#header (var218) on <var218:AbstractCompiler> */
3103 var223
= var218
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var218:AbstractCompiler> */
3104 if (unlikely(var223
== NULL
)) {
3105 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3106 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
3110 RET_LABEL222
:(void)0;
3114 { /* Inline kernel#Object#== (var_vis,var221) on <var_vis:CodeWriter> */
3115 var_other226
= var221
;
3117 { /* Inline kernel#Object#is_same_instance (var_vis,var_other226) on <var_vis:CodeWriter> */
3118 var229
= var_vis
== var_other226
;
3121 RET_LABEL228
:(void)0;
3126 RET_LABEL225
:(void)0;
3130 goto BREAK_label230
;
3134 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3135 var233
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3136 if (unlikely(var233
== NULL
)) {
3137 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3138 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1081);
3142 RET_LABEL232
:(void)0;
3146 var234
= standard___standard__List___standard__abstract_collection__Collection__length(var231
);
3149 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3150 var237
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3151 if (unlikely(var237
== NULL
)) {
3152 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3153 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
3157 RET_LABEL236
:(void)0;
3161 var238
= standard___standard__List___standard__abstract_collection__Collection__length(var235
);
3164 { /* Inline kernel#Int#+ (var234,var238) on <var234:Int> */
3165 /* Covariant cast for argument 0 (i) <var238:Int> isa OTHER */
3166 /* <var238:Int> isa OTHER */
3167 var241
= 1; /* easy <var238:Int> isa OTHER*/
3168 if (unlikely(!var241
)) {
3169 var_class_name
= type_standard__Int
.name
;
3170 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3171 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
3174 var242
= var234
+ var238
;
3177 RET_LABEL240
:(void)0;
3180 var_total_lines
= var239
;
3182 { /* Inline kernel#Int#== (var_total_lines,0l) on <var_total_lines:Int> */
3183 var245
= var_total_lines
== 0l;
3186 RET_LABEL244
:(void)0;
3190 goto BREAK_label230
;
3194 { /* Inline kernel#Int#+ (var_count,var_total_lines) on <var_count:Int> */
3195 /* Covariant cast for argument 0 (i) <var_total_lines:Int> isa OTHER */
3196 /* <var_total_lines:Int> isa OTHER */
3197 var248
= 1; /* easy <var_total_lines:Int> isa OTHER*/
3198 if (unlikely(!var248
)) {
3199 var_class_name251
= type_standard__Int
.name
;
3200 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name251
);
3201 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
3204 var252
= var_count
+ var_total_lines
;
3207 RET_LABEL247
:(void)0;
3211 if (var_file
== NULL
) {
3212 var254
= 1; /* is null */
3214 var254
= 0; /* arg is null but recv is not */
3217 { /* Inline kernel#Object#== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3218 var_other226
= ((val
*)NULL
);
3220 { /* Inline kernel#Object#is_same_instance (var_file,var_other226) on <var_file:nullable FileWriter(FileWriter)> */
3221 var259
= var_file
== var_other226
;
3224 RET_LABEL258
:(void)0;
3229 RET_LABEL256
:(void)0;
3238 { /* Inline kernel#Int#> (var_count,var_max_c_lines) on <var_count:Int> */
3239 /* Covariant cast for argument 0 (i) <var_max_c_lines:Int> isa OTHER */
3240 /* <var_max_c_lines:Int> isa OTHER */
3241 var264
= 1; /* easy <var_max_c_lines:Int> isa OTHER*/
3242 if (unlikely(!var264
)) {
3243 var_class_name267
= type_standard__Int
.name
;
3244 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name267
);
3245 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
3248 var268
= var_count
> var_max_c_lines
;
3251 RET_LABEL263
:(void)0;
3257 { /* Inline kernel#Int#> (var_max_c_lines,0l) on <var_max_c_lines:Int> */
3258 /* Covariant cast for argument 0 (i) <0l:Int> isa OTHER */
3259 /* <0l:Int> isa OTHER */
3260 var272
= 1; /* easy <0l:Int> isa OTHER*/
3261 if (unlikely(!var272
)) {
3262 var_class_name275
= type_standard__Int
.name
;
3263 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name275
);
3264 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 536);
3267 var276
= var_max_c_lines
> 0l;
3270 RET_LABEL271
:(void)0;
3281 { /* Inline kernel#Int#+ (var_i,1l) on <var_i:Int> */
3282 /* Covariant cast for argument 0 (i) <1l:Int> isa OTHER */
3283 /* <1l:Int> isa OTHER */
3284 var279
= 1; /* easy <1l:Int> isa OTHER*/
3285 if (unlikely(!var279
)) {
3286 var_class_name282
= type_standard__Int
.name
;
3287 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name282
);
3288 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 537);
3291 var283
= var_i
+ 1l;
3294 RET_LABEL278
:(void)0;
3298 if (var_file
== NULL
) {
3299 var284
= 0; /* is null */
3301 var284
= 1; /* arg is null and recv is not */
3304 { /* Inline kernel#Object#!= (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3305 var_other
= ((val
*)NULL
);
3307 var287
= ((short int(*)(val
* self
, val
* p0
))(var_file
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_file
, var_other
); /* == on <var_file:nullable FileWriter(FileWriter)>*/
3312 RET_LABEL286
:(void)0;
3318 standard___standard__FileWriter___standard__stream__Stream__close(var_file
); /* Direct call file#FileWriter#close on <var_file:nullable FileWriter(FileWriter)>*/
3322 if (unlikely(varonce289
==NULL
)) {
3323 var290
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
3324 if (likely(varonce291
!=NULL
)) {
3325 var292
= varonce291
;
3328 var294
= standard___standard__NativeString___to_s_with_length(var293
, 1l);
3330 varonce291
= var292
;
3332 ((struct instance_standard__NativeArray
*)var290
)->values
[1]=var292
;
3333 if (likely(varonce295
!=NULL
)) {
3334 var296
= varonce295
;
3337 var298
= standard___standard__NativeString___to_s_with_length(var297
, 2l);
3339 varonce295
= var296
;
3341 ((struct instance_standard__NativeArray
*)var290
)->values
[3]=var296
;
3343 var290
= varonce289
;
3347 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3348 var301
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3349 if (unlikely(var301
== NULL
)) {
3350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1073);
3355 RET_LABEL300
:(void)0;
3358 ((struct instance_standard__NativeArray
*)var290
)->values
[0]=var299
;
3359 var302
= standard__string___Int___Object__to_s(var_i
);
3360 ((struct instance_standard__NativeArray
*)var290
)->values
[2]=var302
;
3362 var303
= ((val
*(*)(val
* self
))(var290
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var290
); /* native_to_s on <var290:NativeArray[String]>*/
3364 varonce289
= var290
;
3365 var_cfilename
= var303
;
3366 if (unlikely(varonce304
==NULL
)) {
3367 var305
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3368 if (likely(varonce306
!=NULL
)) {
3369 var307
= varonce306
;
3372 var309
= standard___standard__NativeString___to_s_with_length(var308
, 1l);
3374 varonce306
= var307
;
3376 ((struct instance_standard__NativeArray
*)var305
)->values
[1]=var307
;
3378 var305
= varonce304
;
3381 ((struct instance_standard__NativeArray
*)var305
)->values
[0]=var_compile_dir
;
3382 ((struct instance_standard__NativeArray
*)var305
)->values
[2]=var_cfilename
;
3384 var310
= ((val
*(*)(val
* self
))(var305
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var305
); /* native_to_s on <var305:NativeArray[String]>*/
3386 varonce304
= var305
;
3387 var_cfilepath
= var310
;
3389 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3390 var313
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3391 if (unlikely(var313
== NULL
)) {
3392 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3393 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
3397 RET_LABEL312
:(void)0;
3400 if (unlikely(varonce314
==NULL
)) {
3401 var315
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3402 if (likely(varonce316
!=NULL
)) {
3403 var317
= varonce316
;
3405 var318
= "new C source files to compile: ";
3406 var319
= standard___standard__NativeString___to_s_with_length(var318
, 31l);
3408 varonce316
= var317
;
3410 ((struct instance_standard__NativeArray
*)var315
)->values
[0]=var317
;
3412 var315
= varonce314
;
3415 ((struct instance_standard__NativeArray
*)var315
)->values
[1]=var_cfilepath
;
3417 var320
= ((val
*(*)(val
* self
))(var315
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var315
); /* native_to_s on <var315:NativeArray[String]>*/
3419 varonce314
= var315
;
3421 nit___nit__ToolContext___info(var311
, var320
, 3l); /* Direct call toolcontext#ToolContext#info on <var311:ToolContext>*/
3424 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_cfiles
, var_cfilename
); /* Direct call array#Array#add on <var_cfiles:Array[String]>*/
3426 var321
= NEW_standard__FileWriter(&type_standard__FileWriter
);
3428 standard___standard__FileWriter___open(var321
, var_cfilepath
); /* Direct call file#FileWriter#open on <var321:FileWriter>*/
3431 if (unlikely(varonce322
==NULL
)) {
3432 var323
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3433 if (likely(varonce324
!=NULL
)) {
3434 var325
= varonce324
;
3436 var326
= "#include \"";
3437 var327
= standard___standard__NativeString___to_s_with_length(var326
, 10l);
3439 varonce324
= var325
;
3441 ((struct instance_standard__NativeArray
*)var323
)->values
[0]=var325
;
3442 if (likely(varonce328
!=NULL
)) {
3443 var329
= varonce328
;
3445 var330
= ".0.h\"\n";
3446 var331
= standard___standard__NativeString___to_s_with_length(var330
, 6l);
3448 varonce328
= var329
;
3450 ((struct instance_standard__NativeArray
*)var323
)->values
[2]=var329
;
3452 var323
= varonce322
;
3456 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3457 var334
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3458 if (unlikely(var334
== NULL
)) {
3459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1073);
3464 RET_LABEL333
:(void)0;
3467 ((struct instance_standard__NativeArray
*)var323
)->values
[1]=var332
;
3469 var335
= ((val
*(*)(val
* self
))(var323
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var323
); /* native_to_s on <var323:NativeArray[String]>*/
3471 varonce322
= var323
;
3473 standard___standard__FileWriter___standard__stream__Writer__write(var_file
, var335
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3475 var_count
= var_total_lines
;
3479 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3480 var338
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3481 if (unlikely(var338
== NULL
)) {
3482 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3483 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1082);
3487 RET_LABEL337
:(void)0;
3492 var340
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_339
);
3497 var342
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_341
);
3501 var343
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_341
);
3505 standard___standard__FileWriter___standard__stream__Writer__write(var_file
, var_l344
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3507 if (likely(varonce345
!=NULL
)) {
3508 var346
= varonce345
;
3511 var348
= standard___standard__NativeString___to_s_with_length(var347
, 1l);
3513 varonce345
= var346
;
3516 standard___standard__FileWriter___standard__stream__Writer__write(var_file
, var346
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3519 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_341
); /* Direct call list#ListIterator#next on <var_341:ListIterator[String]>*/
3522 goto BREAK_label349
;
3525 BREAK_label349
: (void)0;
3527 { /* Inline abstract_collection#Iterator#finish (var_341) on <var_341:ListIterator[String]> */
3528 RET_LABEL350
:(void)0;
3532 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3533 var353
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3534 if (unlikely(var353
== NULL
)) {
3535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1081);
3540 RET_LABEL352
:(void)0;
3545 var355
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_354
);
3550 var357
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_356
);
3554 var358
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_356
);
3558 standard___standard__FileWriter___standard__stream__Writer__write(var_file
, var_l359
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3560 if (likely(varonce360
!=NULL
)) {
3561 var361
= varonce360
;
3564 var363
= standard___standard__NativeString___to_s_with_length(var362
, 1l);
3566 varonce360
= var361
;
3569 standard___standard__FileWriter___standard__stream__Writer__write(var_file
, var361
); /* Direct call file#FileWriter#write on <var_file:nullable FileWriter(FileWriter)>*/
3572 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_356
); /* Direct call list#ListIterator#next on <var_356:ListIterator[String]>*/
3575 goto BREAK_label364
;
3578 BREAK_label364
: (void)0;
3580 { /* Inline abstract_collection#Iterator#finish (var_356) on <var_356:ListIterator[String]> */
3581 RET_LABEL365
:(void)0;
3584 BREAK_label230
: (void)0;
3586 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_215
); /* Direct call array#ArrayIterator#next on <var_215:ArrayIterator[CodeWriter]>*/
3589 goto BREAK_label366
;
3592 BREAK_label366
: (void)0;
3594 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_215
); /* Direct call array#ArrayIterator#finish on <var_215:ArrayIterator[CodeWriter]>*/
3596 if (var_file
== NULL
) {
3597 var367
= 1; /* is null */
3599 var367
= 0; /* arg is null but recv is not */
3602 { /* Inline kernel#Object#== (var_file,((val*)NULL)) on <var_file:nullable FileWriter> */
3603 var_other226
= ((val
*)NULL
);
3605 { /* Inline kernel#Object#is_same_instance (var_file,var_other226) on <var_file:nullable FileWriter(FileWriter)> */
3606 var372
= var_file
== var_other226
;
3609 RET_LABEL371
:(void)0;
3614 RET_LABEL369
:(void)0;
3619 goto BREAK_label373
;
3623 standard___standard__FileWriter___standard__stream__Stream__close(var_file
); /* Direct call file#FileWriter#close on <var_file:nullable FileWriter(FileWriter)>*/
3625 if (unlikely(varonce374
==NULL
)) {
3626 var375
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3627 if (likely(varonce376
!=NULL
)) {
3628 var377
= varonce376
;
3631 var379
= standard___standard__NativeString___to_s_with_length(var378
, 4l);
3633 varonce376
= var377
;
3635 ((struct instance_standard__NativeArray
*)var375
)->values
[1]=var377
;
3637 var375
= varonce374
;
3641 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3642 var382
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3643 if (unlikely(var382
== NULL
)) {
3644 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3645 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1073);
3649 RET_LABEL381
:(void)0;
3652 ((struct instance_standard__NativeArray
*)var375
)->values
[0]=var380
;
3654 var383
= ((val
*(*)(val
* self
))(var375
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var375
); /* native_to_s on <var375:NativeArray[String]>*/
3656 varonce374
= var375
;
3657 var_cfilename384
= var383
;
3658 if (unlikely(varonce385
==NULL
)) {
3659 var386
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3660 if (likely(varonce387
!=NULL
)) {
3661 var388
= varonce387
;
3664 var390
= standard___standard__NativeString___to_s_with_length(var389
, 1l);
3666 varonce387
= var388
;
3668 ((struct instance_standard__NativeArray
*)var386
)->values
[1]=var388
;
3670 var386
= varonce385
;
3673 ((struct instance_standard__NativeArray
*)var386
)->values
[0]=var_compile_dir
;
3674 ((struct instance_standard__NativeArray
*)var386
)->values
[2]=var_cfilename384
;
3676 var391
= ((val
*(*)(val
* self
))(var386
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var386
); /* native_to_s on <var386:NativeArray[String]>*/
3678 varonce385
= var386
;
3679 var_cfilepath392
= var391
;
3680 var_hfile
= ((val
*)NULL
);
3681 var393
= NEW_standard__FileWriter(&type_standard__FileWriter
);
3683 standard___standard__FileWriter___open(var393
, var_cfilepath392
); /* Direct call file#FileWriter#open on <var393:FileWriter>*/
3686 if (unlikely(varonce394
==NULL
)) {
3687 var395
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
3688 if (likely(varonce396
!=NULL
)) {
3689 var397
= varonce396
;
3691 var398
= "#include \"";
3692 var399
= standard___standard__NativeString___to_s_with_length(var398
, 10l);
3694 varonce396
= var397
;
3696 ((struct instance_standard__NativeArray
*)var395
)->values
[0]=var397
;
3697 if (likely(varonce400
!=NULL
)) {
3698 var401
= varonce400
;
3701 var403
= standard___standard__NativeString___to_s_with_length(var402
, 2l);
3703 varonce400
= var401
;
3705 ((struct instance_standard__NativeArray
*)var395
)->values
[2]=var401
;
3707 var395
= varonce394
;
3710 ((struct instance_standard__NativeArray
*)var395
)->values
[1]=var_hfilename
;
3712 var404
= ((val
*(*)(val
* self
))(var395
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var395
); /* native_to_s on <var395:NativeArray[String]>*/
3714 varonce394
= var395
;
3716 standard___standard__FileWriter___standard__stream__Writer__write(var_hfile
, var404
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
3719 { /* Inline abstract_compiler#CodeFile#required_declarations (var_f) on <var_f:CodeFile> */
3720 var407
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var_f:CodeFile> */
3721 if (unlikely(var407
== NULL
)) {
3722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
3723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1075);
3727 RET_LABEL406
:(void)0;
3732 var409
= standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_408
);
3737 var411
= ((short int(*)(val
* self
))((((long)var_410
&3)?class_info
[((long)var_410
&3)]:var_410
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_410
); /* is_ok on <var_410:Iterator[String]>*/
3741 var412
= ((val
*(*)(val
* self
))((((long)var_410
&3)?class_info
[((long)var_410
&3)]:var_410
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_410
); /* item on <var_410:Iterator[String]>*/
3745 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3746 var415
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3747 if (unlikely(var415
== NULL
)) {
3748 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3749 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
3753 RET_LABEL414
:(void)0;
3757 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var413) on <var413:AbstractCompiler> */
3758 var418
= var413
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var413:AbstractCompiler> */
3759 if (unlikely(var418
== NULL
)) {
3760 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
3761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
3765 RET_LABEL417
:(void)0;
3769 var419
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var416
, var_key
);
3774 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3775 var423
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3776 if (unlikely(var423
== NULL
)) {
3777 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3778 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
3782 RET_LABEL422
:(void)0;
3786 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var421) on <var421:AbstractCompiler> */
3787 var426
= var421
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var421:AbstractCompiler> */
3788 if (unlikely(var426
== NULL
)) {
3789 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
3790 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 587);
3794 RET_LABEL425
:(void)0;
3798 var427
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var424
, var_key
);
3801 if (var_node
== NULL
) {
3802 var428
= 0; /* is null */
3804 var428
= 1; /* arg is null and recv is not */
3807 { /* Inline kernel#Object#!= (var_node,((val*)NULL)) on <var_node:nullable ANode> */
3808 var_other
= ((val
*)NULL
);
3810 var431
= ((short int(*)(val
* self
, val
* p0
))(var_node
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_node
, var_other
); /* == on <var_node:nullable ANode(ANode)>*/
3815 RET_LABEL430
:(void)0;
3820 if (unlikely(varonce433
==NULL
)) {
3821 var434
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3822 if (likely(varonce435
!=NULL
)) {
3823 var436
= varonce435
;
3825 var437
= "No provided declaration for ";
3826 var438
= standard___standard__NativeString___to_s_with_length(var437
, 28l);
3828 varonce435
= var436
;
3830 ((struct instance_standard__NativeArray
*)var434
)->values
[0]=var436
;
3832 var434
= varonce433
;
3835 ((struct instance_standard__NativeArray
*)var434
)->values
[1]=var_key
;
3837 var439
= ((val
*(*)(val
* self
))(var434
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var434
); /* native_to_s on <var434:NativeArray[String]>*/
3839 varonce433
= var434
;
3841 nit___nit__ANode___debug(var_node
, var439
); /* Direct call parser_nodes#ANode#debug on <var_node:nullable ANode(ANode)>*/
3845 if (unlikely(varonce441
==NULL
)) {
3846 var442
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3847 if (likely(varonce443
!=NULL
)) {
3848 var444
= varonce443
;
3850 var445
= "No provided declaration for ";
3851 var446
= standard___standard__NativeString___to_s_with_length(var445
, 28l);
3853 varonce443
= var444
;
3855 ((struct instance_standard__NativeArray
*)var442
)->values
[0]=var444
;
3857 var442
= varonce441
;
3860 ((struct instance_standard__NativeArray
*)var442
)->values
[1]=var_key
;
3862 var447
= ((val
*(*)(val
* self
))(var442
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var442
); /* native_to_s on <var442:NativeArray[String]>*/
3864 varonce441
= var442
;
3866 standard__file___Sys___print(var440
, var447
); /* Direct call file#Sys#print on <var440:Sys>*/
3869 PRINT_ERROR("Runtime error: %s", "Aborted");
3870 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 287);
3875 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
3876 var450
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
3877 if (unlikely(var450
== NULL
)) {
3878 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
3879 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
3883 RET_LABEL449
:(void)0;
3887 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var448) on <var448:AbstractCompiler> */
3888 var453
= var448
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var448:AbstractCompiler> */
3889 if (unlikely(var453
== NULL
)) {
3890 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
3891 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
3895 RET_LABEL452
:(void)0;
3899 var454
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var451
, var_key
);
3902 standard___standard__FileWriter___standard__stream__Writer__write(var_hfile
, var454
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
3904 if (likely(varonce455
!=NULL
)) {
3905 var456
= varonce455
;
3908 var458
= standard___standard__NativeString___to_s_with_length(var457
, 1l);
3910 varonce455
= var456
;
3913 standard___standard__FileWriter___standard__stream__Writer__write(var_hfile
, var456
); /* Direct call file#FileWriter#write on <var_hfile:nullable FileWriter(FileWriter)>*/
3916 ((void(*)(val
* self
))((((long)var_410
&3)?class_info
[((long)var_410
&3)]:var_410
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_410
); /* next on <var_410:Iterator[String]>*/
3919 goto BREAK_label459
;
3922 BREAK_label459
: (void)0;
3924 ((void(*)(val
* self
))((((long)var_410
&3)?class_info
[((long)var_410
&3)]:var_410
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_410
); /* finish on <var_410:Iterator[String]>*/
3927 standard___standard__FileWriter___standard__stream__Stream__close(var_hfile
); /* Direct call file#FileWriter#close on <var_hfile:nullable FileWriter(FileWriter)>*/
3929 BREAK_label373
: (void)0;
3931 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_207
); /* Direct call list#ListIterator#next on <var_207:ListIterator[CodeFile]>*/
3934 goto BREAK_label460
;
3937 BREAK_label460
: (void)0;
3939 { /* Inline abstract_collection#Iterator#finish (var_207) on <var_207:ListIterator[CodeFile]> */
3940 RET_LABEL461
:(void)0;
3944 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3945 var464
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3946 if (unlikely(var464
== NULL
)) {
3947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
3952 RET_LABEL463
:(void)0;
3955 if (unlikely(varonce465
==NULL
)) {
3956 var466
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
3957 if (likely(varonce467
!=NULL
)) {
3958 var468
= varonce467
;
3960 var469
= "Total C source files to compile: ";
3961 var470
= standard___standard__NativeString___to_s_with_length(var469
, 33l);
3963 varonce467
= var468
;
3965 ((struct instance_standard__NativeArray
*)var466
)->values
[0]=var468
;
3967 var466
= varonce465
;
3971 { /* Inline array#AbstractArrayRead#length (var_cfiles) on <var_cfiles:Array[String]> */
3972 var473
= var_cfiles
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_cfiles:Array[String]> */
3974 RET_LABEL472
:(void)0;
3977 var474
= standard__string___Int___Object__to_s(var471
);
3978 ((struct instance_standard__NativeArray
*)var466
)->values
[1]=var474
;
3980 var475
= ((val
*(*)(val
* self
))(var466
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var466
); /* native_to_s on <var466:NativeArray[String]>*/
3982 varonce465
= var466
;
3984 nit___nit__ToolContext___info(var462
, var475
, 2l); /* Direct call toolcontext#ToolContext#info on <var462:ToolContext>*/
3988 /* method abstract_compiler#MakefileToolchain#makefile_name for (self: MakefileToolchain): String */
3989 val
* nit___nit__MakefileToolchain___makefile_name(val
* self
) {
3990 val
* var
/* : String */;
3991 val
* var1
/* : NativeArray[String] */;
3992 static val
* varonce
;
3993 static val
* varonce2
;
3994 val
* var3
/* : String */;
3995 char* var4
/* : NativeString */;
3996 val
* var5
/* : FlatString */;
3997 val
* var6
/* : AbstractCompiler */;
3998 val
* var8
/* : AbstractCompiler */;
3999 val
* var9
/* : MModule */;
4000 val
* var11
/* : MModule */;
4001 val
* var12
/* : String */;
4002 val
* var13
/* : String */;
4003 if (unlikely(varonce
==NULL
)) {
4004 var1
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
4005 if (likely(varonce2
!=NULL
)) {
4009 var5
= standard___standard__NativeString___to_s_with_length(var4
, 3l);
4013 ((struct instance_standard__NativeArray
*)var1
)->values
[1]=var3
;
4019 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4020 var8
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4021 if (unlikely(var8
== NULL
)) {
4022 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4023 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
4031 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var6) on <var6:AbstractCompiler> */
4032 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var6:AbstractCompiler> */
4033 if (unlikely(var11
== NULL
)) {
4034 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4035 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
4039 RET_LABEL10
:(void)0;
4043 var12
= nit___nit__MModule___nit__model_base__MEntity__c_name(var9
);
4045 ((struct instance_standard__NativeArray
*)var1
)->values
[0]=var12
;
4047 var13
= ((val
*(*)(val
* self
))(var1
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var1
); /* native_to_s on <var1:NativeArray[String]>*/
4055 /* method abstract_compiler#MakefileToolchain#default_outname for (self: MakefileToolchain): String */
4056 val
* nit___nit__MakefileToolchain___default_outname(val
* self
) {
4057 val
* var
/* : String */;
4058 val
* var1
/* : AbstractCompiler */;
4059 val
* var3
/* : AbstractCompiler */;
4060 val
* var4
/* : MModule */;
4061 val
* var6
/* : MModule */;
4062 val
* var7
/* : MModule */;
4063 val
* var_mainmodule
/* var mainmodule: MModule */;
4064 val
* var8
/* : String */;
4065 val
* var10
/* : String */;
4067 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4068 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4069 if (unlikely(var3
== NULL
)) {
4070 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4071 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
4079 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var1) on <var1:AbstractCompiler> */
4080 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var1:AbstractCompiler> */
4081 if (unlikely(var6
== NULL
)) {
4082 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4083 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
4091 var7
= nit___nit__MModule___first_real_mmodule(var4
);
4093 var_mainmodule
= var7
;
4095 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
4096 var10
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
4097 if (unlikely(var10
== NULL
)) {
4098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
4111 /* method abstract_compiler#MakefileToolchain#outfile for (self: MakefileToolchain, MModule): String */
4112 val
* nit___nit__MakefileToolchain___outfile(val
* self
, val
* p0
) {
4113 val
* var
/* : String */;
4114 val
* var_mainmodule
/* var mainmodule: MModule */;
4115 val
* var1
/* : ToolContext */;
4116 val
* var3
/* : ToolContext */;
4117 val
* var4
/* : OptionString */;
4118 val
* var6
/* : OptionString */;
4119 val
* var7
/* : nullable Object */;
4120 val
* var9
/* : nullable Object */;
4121 val
* var_res
/* var res: nullable String */;
4122 short int var10
/* : Bool */;
4123 short int var11
/* : Bool */;
4124 val
* var_other
/* var other: nullable Object */;
4125 short int var13
/* : Bool */;
4126 short int var14
/* : Bool */;
4127 val
* var15
/* : String */;
4128 val
* var16
/* : ToolContext */;
4129 val
* var18
/* : ToolContext */;
4130 val
* var19
/* : OptionString */;
4131 val
* var21
/* : OptionString */;
4132 val
* var22
/* : nullable Object */;
4133 val
* var24
/* : nullable Object */;
4134 val
* var_dir
/* var dir: nullable String */;
4135 short int var25
/* : Bool */;
4136 short int var26
/* : Bool */;
4137 short int var28
/* : Bool */;
4138 short int var29
/* : Bool */;
4139 val
* var30
/* : String */;
4140 var_mainmodule
= p0
;
4142 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4143 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4144 if (unlikely(var3
== NULL
)) {
4145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
4154 { /* Inline abstract_compiler#ToolContext#opt_output (var1) on <var1:ToolContext> */
4155 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var1:ToolContext> */
4156 if (unlikely(var6
== NULL
)) {
4157 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
4158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 30);
4166 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
4167 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
4173 if (var_res
== NULL
) {
4174 var10
= 0; /* is null */
4176 var10
= 1; /* arg is null and recv is not */
4179 { /* Inline kernel#Object#!= (var_res,((val*)NULL)) on <var_res:nullable String> */
4180 var_other
= ((val
*)NULL
);
4182 var13
= ((short int(*)(val
* self
, val
* p0
))(var_res
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_res
, var_other
); /* == on <var_res:nullable String(String)>*/
4187 RET_LABEL12
:(void)0;
4197 var15
= nit___nit__MakefileToolchain___default_outname(self
);
4201 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4202 var18
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4203 if (unlikely(var18
== NULL
)) {
4204 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4205 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
4209 RET_LABEL17
:(void)0;
4213 { /* Inline abstract_compiler#ToolContext#opt_dir (var16) on <var16:ToolContext> */
4214 var21
= var16
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <var16:ToolContext> */
4215 if (unlikely(var21
== NULL
)) {
4216 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
4217 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 32);
4221 RET_LABEL20
:(void)0;
4225 { /* Inline opts#Option#value (var19) on <var19:OptionString> */
4226 var24
= var19
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var19:OptionString> */
4228 RET_LABEL23
:(void)0;
4232 if (var_dir
== NULL
) {
4233 var25
= 0; /* is null */
4235 var25
= 1; /* arg is null and recv is not */
4238 { /* Inline kernel#Object#!= (var_dir,((val*)NULL)) on <var_dir:nullable String> */
4239 var_other
= ((val
*)NULL
);
4241 var28
= ((short int(*)(val
* self
, val
* p0
))(var_dir
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_dir
, var_other
); /* == on <var_dir:nullable String(String)>*/
4246 RET_LABEL27
:(void)0;
4252 var30
= standard__file___String___join_path(var_dir
, var_res
);
4263 /* method abstract_compiler#MakefileToolchain#write_makefile for (self: MakefileToolchain, String, Array[String]) */
4264 void nit___nit__MakefileToolchain___write_makefile(val
* self
, val
* p0
, val
* p1
) {
4265 val
* var_compile_dir
/* var compile_dir: String */;
4266 val
* var_cfiles
/* var cfiles: Array[String] */;
4267 val
* var
/* : AbstractCompiler */;
4268 val
* var2
/* : AbstractCompiler */;
4269 val
* var3
/* : MModule */;
4270 val
* var5
/* : MModule */;
4271 val
* var_mainmodule
/* var mainmodule: MModule */;
4272 val
* var6
/* : AbstractCompiler */;
4273 val
* var8
/* : AbstractCompiler */;
4274 val
* var9
/* : Platform */;
4275 val
* var11
/* : Platform */;
4276 val
* var_platform
/* var platform: Platform */;
4277 val
* var12
/* : String */;
4278 val
* var_outname
/* var outname: String */;
4279 val
* var13
/* : String */;
4280 val
* var_real_outpath
/* var real_outpath: String */;
4281 val
* var14
/* : String */;
4282 val
* var_outpath
/* var outpath: String */;
4283 short int var15
/* : Bool */;
4284 val
* var_other
/* var other: nullable Object */;
4285 short int var17
/* : Bool */;
4286 short int var18
/* : Bool */;
4287 val
* var19
/* : String */;
4288 val
* var20
/* : String */;
4289 val
* var_makename
/* var makename: String */;
4290 val
* var21
/* : NativeArray[String] */;
4291 static val
* varonce
;
4292 static val
* varonce22
;
4293 val
* var23
/* : String */;
4294 char* var24
/* : NativeString */;
4295 val
* var25
/* : FlatString */;
4296 val
* var26
/* : String */;
4297 val
* var_makepath
/* var makepath: String */;
4298 val
* var27
/* : FileWriter */;
4299 val
* var_makefile
/* var makefile: FileWriter */;
4300 val
* var28
/* : HashSet[String] */;
4301 val
* var_linker_options
/* var linker_options: HashSet[String] */;
4302 val
* var29
/* : POSetElement[MModule] */;
4303 val
* var31
/* : POSetElement[MModule] */;
4304 val
* var32
/* : Collection[nullable Object] */;
4305 val
* var_
/* var : Collection[MModule] */;
4306 val
* var33
/* : Iterator[nullable Object] */;
4307 val
* var_34
/* var : Iterator[MModule] */;
4308 short int var35
/* : Bool */;
4309 val
* var36
/* : nullable Object */;
4310 val
* var_m
/* var m: MModule */;
4311 val
* var37
/* : nullable Array[String] */;
4312 val
* var_libs
/* var libs: nullable Array[String] */;
4313 short int var38
/* : Bool */;
4314 short int var39
/* : Bool */;
4315 short int var41
/* : Bool */;
4316 short int var42
/* : Bool */;
4317 val
* var44
/* : NativeArray[String] */;
4318 static val
* varonce43
;
4319 static val
* varonce45
;
4320 val
* var46
/* : String */;
4321 char* var47
/* : NativeString */;
4322 val
* var48
/* : FlatString */;
4323 static val
* varonce49
;
4324 val
* var50
/* : String */;
4325 char* var51
/* : NativeString */;
4326 val
* var52
/* : FlatString */;
4327 static val
* varonce53
;
4328 val
* var54
/* : String */;
4329 char* var55
/* : NativeString */;
4330 val
* var56
/* : FlatString */;
4331 val
* var57
/* : String */;
4332 val
* var58
/* : String */;
4333 static val
* varonce59
;
4334 val
* var60
/* : String */;
4335 char* var61
/* : NativeString */;
4336 val
* var62
/* : FlatString */;
4337 short int var63
/* : Bool */;
4338 val
* var64
/* : ToolContext */;
4339 val
* var66
/* : ToolContext */;
4340 val
* var67
/* : OptionBool */;
4341 val
* var69
/* : OptionBool */;
4342 val
* var70
/* : nullable Object */;
4343 val
* var72
/* : nullable Object */;
4344 short int var73
/* : Bool */;
4345 static val
* varonce74
;
4346 val
* var75
/* : String */;
4347 char* var76
/* : NativeString */;
4348 val
* var77
/* : FlatString */;
4349 static val
* varonce78
;
4350 val
* var79
/* : String */;
4351 char* var80
/* : NativeString */;
4352 val
* var81
/* : FlatString */;
4353 static val
* varonce82
;
4354 val
* var83
/* : String */;
4355 char* var84
/* : NativeString */;
4356 val
* var85
/* : FlatString */;
4357 static val
* varonce86
;
4358 val
* var87
/* : String */;
4359 char* var88
/* : NativeString */;
4360 val
* var89
/* : FlatString */;
4361 static val
* varonce90
;
4362 val
* var91
/* : String */;
4363 char* var92
/* : NativeString */;
4364 val
* var93
/* : FlatString */;
4365 short int var94
/* : Bool */;
4366 static val
* varonce95
;
4367 val
* var96
/* : String */;
4368 char* var97
/* : NativeString */;
4369 val
* var98
/* : FlatString */;
4370 static val
* varonce99
;
4371 val
* var100
/* : String */;
4372 char* var101
/* : NativeString */;
4373 val
* var102
/* : FlatString */;
4374 val
* var104
/* : NativeArray[String] */;
4375 static val
* varonce103
;
4376 static val
* varonce105
;
4377 val
* var106
/* : String */;
4378 char* var107
/* : NativeString */;
4379 val
* var108
/* : FlatString */;
4380 static val
* varonce109
;
4381 val
* var110
/* : String */;
4382 char* var111
/* : NativeString */;
4383 val
* var112
/* : FlatString */;
4384 val
* var113
/* : String */;
4385 short int var114
/* : Bool */;
4386 short int var116
/* : Bool */;
4387 short int var117
/* : Bool */;
4388 val
* var119
/* : NativeArray[String] */;
4389 static val
* varonce118
;
4390 static val
* varonce120
;
4391 val
* var121
/* : String */;
4392 char* var122
/* : NativeString */;
4393 val
* var123
/* : FlatString */;
4394 static val
* varonce124
;
4395 val
* var125
/* : String */;
4396 char* var126
/* : NativeString */;
4397 val
* var127
/* : FlatString */;
4398 val
* var128
/* : String */;
4399 val
* var129
/* : String */;
4400 static val
* varonce130
;
4401 val
* var131
/* : String */;
4402 char* var132
/* : NativeString */;
4403 val
* var133
/* : FlatString */;
4404 static val
* varonce134
;
4405 val
* var135
/* : String */;
4406 char* var136
/* : NativeString */;
4407 val
* var137
/* : FlatString */;
4408 val
* var138
/* : String */;
4409 val
* var139
/* : String */;
4410 static val
* varonce140
;
4411 val
* var141
/* : String */;
4412 char* var142
/* : NativeString */;
4413 val
* var143
/* : FlatString */;
4414 val
* var144
/* : Array[String] */;
4415 val
* var_ofiles
/* var ofiles: Array[String] */;
4416 val
* var145
/* : Array[String] */;
4417 val
* var_dep_rules
/* var dep_rules: Array[String] */;
4418 val
* var_146
/* var : Array[String] */;
4419 val
* var147
/* : ArrayIterator[nullable Object] */;
4420 val
* var_148
/* var : ArrayIterator[String] */;
4421 short int var149
/* : Bool */;
4422 val
* var150
/* : nullable Object */;
4423 val
* var_f
/* var f: String */;
4424 static val
* varonce151
;
4425 val
* var152
/* : String */;
4426 char* var153
/* : NativeString */;
4427 val
* var154
/* : FlatString */;
4428 val
* var155
/* : String */;
4429 static val
* varonce156
;
4430 val
* var157
/* : String */;
4431 char* var158
/* : NativeString */;
4432 val
* var159
/* : FlatString */;
4433 val
* var160
/* : String */;
4434 val
* var_o
/* var o: String */;
4435 val
* var162
/* : NativeArray[String] */;
4436 static val
* varonce161
;
4437 static val
* varonce163
;
4438 val
* var164
/* : String */;
4439 char* var165
/* : NativeString */;
4440 val
* var166
/* : FlatString */;
4441 static val
* varonce167
;
4442 val
* var168
/* : String */;
4443 char* var169
/* : NativeString */;
4444 val
* var170
/* : FlatString */;
4445 static val
* varonce171
;
4446 val
* var172
/* : String */;
4447 char* var173
/* : NativeString */;
4448 val
* var174
/* : FlatString */;
4449 static val
* varonce175
;
4450 val
* var176
/* : String */;
4451 char* var177
/* : NativeString */;
4452 val
* var178
/* : FlatString */;
4453 val
* var179
/* : String */;
4454 val
* var181
/* : AbstractCompiler */;
4455 val
* var183
/* : AbstractCompiler */;
4456 val
* var184
/* : Array[String] */;
4457 val
* var186
/* : Array[String] */;
4458 short int var187
/* : Bool */;
4459 short int var188
/* : Bool */;
4460 val
* var190
/* : NativeArray[String] */;
4461 static val
* varonce189
;
4462 static val
* varonce191
;
4463 val
* var192
/* : String */;
4464 char* var193
/* : NativeString */;
4465 val
* var194
/* : FlatString */;
4466 val
* var195
/* : String */;
4467 val
* var_linker_script_path
/* var linker_script_path: String */;
4468 static val
* varonce196
;
4469 val
* var197
/* : String */;
4470 char* var198
/* : NativeString */;
4471 val
* var199
/* : FlatString */;
4472 val
* var200
/* : FileWriter */;
4473 val
* var_f201
/* var f: FileWriter */;
4474 val
* var202
/* : AbstractCompiler */;
4475 val
* var204
/* : AbstractCompiler */;
4476 val
* var205
/* : Array[String] */;
4477 val
* var207
/* : Array[String] */;
4478 val
* var_208
/* var : Array[String] */;
4479 val
* var209
/* : ArrayIterator[nullable Object] */;
4480 val
* var_210
/* var : ArrayIterator[String] */;
4481 short int var211
/* : Bool */;
4482 val
* var212
/* : nullable Object */;
4483 val
* var_l
/* var l: String */;
4484 static val
* varonce213
;
4485 val
* var214
/* : String */;
4486 char* var215
/* : NativeString */;
4487 val
* var216
/* : FlatString */;
4488 val
* var218
/* : Array[ExternFile] */;
4489 val
* var_java_files
/* var java_files: Array[ExternFile] */;
4490 val
* var219
/* : Array[String] */;
4491 val
* var_pkgconfigs
/* var pkgconfigs: Array[String] */;
4492 val
* var220
/* : AbstractCompiler */;
4493 val
* var222
/* : AbstractCompiler */;
4494 val
* var223
/* : Array[ExternFile] */;
4495 val
* var225
/* : Array[ExternFile] */;
4496 val
* var_226
/* var : Array[ExternFile] */;
4497 val
* var227
/* : ArrayIterator[nullable Object] */;
4498 val
* var_228
/* var : ArrayIterator[ExternFile] */;
4499 short int var229
/* : Bool */;
4500 val
* var230
/* : nullable Object */;
4501 val
* var_f231
/* var f: ExternFile */;
4502 val
* var232
/* : Array[String] */;
4503 val
* var234
/* : Array[String] */;
4504 short int var236
/* : Bool */;
4505 short int var237
/* : Bool */;
4506 static val
* varonce238
;
4507 val
* var239
/* : String */;
4508 char* var240
/* : NativeString */;
4509 val
* var241
/* : FlatString */;
4510 val
* var_242
/* var : Array[String] */;
4511 val
* var243
/* : ArrayIterator[nullable Object] */;
4512 val
* var_244
/* var : ArrayIterator[String] */;
4513 short int var245
/* : Bool */;
4514 val
* var246
/* : nullable Object */;
4515 val
* var_p
/* var p: String */;
4516 val
* var248
/* : NativeArray[String] */;
4517 static val
* varonce247
;
4518 static val
* varonce249
;
4519 val
* var250
/* : String */;
4520 char* var251
/* : NativeString */;
4521 val
* var252
/* : FlatString */;
4522 static val
* varonce253
;
4523 val
* var254
/* : String */;
4524 char* var255
/* : NativeString */;
4525 val
* var256
/* : FlatString */;
4526 static val
* varonce257
;
4527 val
* var258
/* : String */;
4528 char* var259
/* : NativeString */;
4529 val
* var260
/* : FlatString */;
4530 static val
* varonce261
;
4531 val
* var262
/* : String */;
4532 char* var263
/* : NativeString */;
4533 val
* var264
/* : FlatString */;
4534 val
* var265
/* : String */;
4535 val
* var267
/* : AbstractCompiler */;
4536 val
* var269
/* : AbstractCompiler */;
4537 val
* var270
/* : Array[ExternFile] */;
4538 val
* var272
/* : Array[ExternFile] */;
4539 val
* var_273
/* var : Array[ExternFile] */;
4540 val
* var274
/* : ArrayIterator[nullable Object] */;
4541 val
* var_275
/* var : ArrayIterator[ExternFile] */;
4542 short int var276
/* : Bool */;
4543 val
* var277
/* : nullable Object */;
4544 val
* var_f278
/* var f: ExternFile */;
4545 val
* var279
/* : String */;
4546 val
* var_o280
/* var o: String */;
4547 val
* var281
/* : String */;
4548 val
* var283
/* : String */;
4549 static val
* varonce284
;
4550 val
* var285
/* : String */;
4551 char* var286
/* : NativeString */;
4552 val
* var287
/* : FlatString */;
4553 val
* var288
/* : String */;
4554 val
* var_ff
/* var ff: String */;
4555 val
* var290
/* : NativeArray[String] */;
4556 static val
* varonce289
;
4557 static val
* varonce291
;
4558 val
* var292
/* : String */;
4559 char* var293
/* : NativeString */;
4560 val
* var294
/* : FlatString */;
4561 static val
* varonce295
;
4562 val
* var296
/* : String */;
4563 char* var297
/* : NativeString */;
4564 val
* var298
/* : FlatString */;
4565 val
* var299
/* : String */;
4566 val
* var301
/* : NativeArray[String] */;
4567 static val
* varonce300
;
4568 static val
* varonce302
;
4569 val
* var303
/* : String */;
4570 char* var304
/* : NativeString */;
4571 val
* var305
/* : FlatString */;
4572 static val
* varonce306
;
4573 val
* var307
/* : String */;
4574 char* var308
/* : NativeString */;
4575 val
* var309
/* : FlatString */;
4576 val
* var310
/* : String */;
4577 val
* var311
/* : String */;
4578 val
* var312
/* : String */;
4579 short int var313
/* : Bool */;
4580 short int var314
/* : Bool */;
4581 short int var316
/* : Bool */;
4582 short int var317
/* : Bool */;
4583 val
* var319
/* : NativeArray[String] */;
4584 static val
* varonce318
;
4585 static val
* varonce320
;
4586 val
* var321
/* : String */;
4587 char* var322
/* : NativeString */;
4588 val
* var323
/* : FlatString */;
4589 val
* var324
/* : String */;
4590 val
* var_jar_file
/* var jar_file: String */;
4591 val
* var325
/* : Array[String] */;
4592 val
* var_class_files_array
/* var class_files_array: Array[String] */;
4593 val
* var_326
/* var : Array[ExternFile] */;
4594 val
* var327
/* : ArrayIterator[nullable Object] */;
4595 val
* var_328
/* var : ArrayIterator[ExternFile] */;
4596 short int var329
/* : Bool */;
4597 val
* var330
/* : nullable Object */;
4598 val
* var_f331
/* var f: ExternFile */;
4599 val
* var332
/* : String */;
4600 static val
* varonce334
;
4601 val
* var335
/* : String */;
4602 char* var336
/* : NativeString */;
4603 val
* var337
/* : FlatString */;
4604 val
* var338
/* : String */;
4605 val
* var_class_files
/* var class_files: String */;
4606 val
* var340
/* : NativeArray[String] */;
4607 static val
* varonce339
;
4608 static val
* varonce341
;
4609 val
* var342
/* : String */;
4610 char* var343
/* : NativeString */;
4611 val
* var344
/* : FlatString */;
4612 static val
* varonce345
;
4613 val
* var346
/* : String */;
4614 char* var347
/* : NativeString */;
4615 val
* var348
/* : FlatString */;
4616 val
* var349
/* : String */;
4617 val
* var351
/* : NativeArray[String] */;
4618 static val
* varonce350
;
4619 static val
* varonce352
;
4620 val
* var353
/* : String */;
4621 char* var354
/* : NativeString */;
4622 val
* var355
/* : FlatString */;
4623 static val
* varonce356
;
4624 val
* var357
/* : String */;
4625 char* var358
/* : NativeString */;
4626 val
* var359
/* : FlatString */;
4627 static val
* varonce360
;
4628 val
* var361
/* : String */;
4629 char* var362
/* : NativeString */;
4630 val
* var363
/* : FlatString */;
4631 val
* var364
/* : String */;
4632 static val
* varonce365
;
4633 val
* var366
/* : String */;
4634 char* var367
/* : NativeString */;
4635 val
* var368
/* : FlatString */;
4636 val
* var_pkg
/* var pkg: String */;
4637 short int var369
/* : Bool */;
4638 short int var370
/* : Bool */;
4639 val
* var372
/* : NativeArray[String] */;
4640 static val
* varonce371
;
4641 static val
* varonce373
;
4642 val
* var374
/* : String */;
4643 char* var375
/* : NativeString */;
4644 val
* var376
/* : FlatString */;
4645 static val
* varonce377
;
4646 val
* var378
/* : String */;
4647 char* var379
/* : NativeString */;
4648 val
* var380
/* : FlatString */;
4649 static val
* varonce381
;
4650 val
* var382
/* : String */;
4651 char* var383
/* : NativeString */;
4652 val
* var384
/* : FlatString */;
4653 val
* var385
/* : String */;
4654 val
* var386
/* : String */;
4655 val
* var388
/* : NativeArray[String] */;
4656 static val
* varonce387
;
4657 static val
* varonce389
;
4658 val
* var390
/* : String */;
4659 char* var391
/* : NativeString */;
4660 val
* var392
/* : FlatString */;
4661 static val
* varonce393
;
4662 val
* var394
/* : String */;
4663 char* var395
/* : NativeString */;
4664 val
* var396
/* : FlatString */;
4665 static val
* varonce397
;
4666 val
* var398
/* : String */;
4667 char* var399
/* : NativeString */;
4668 val
* var400
/* : FlatString */;
4669 static val
* varonce401
;
4670 val
* var402
/* : String */;
4671 char* var403
/* : NativeString */;
4672 val
* var404
/* : FlatString */;
4673 static val
* varonce405
;
4674 val
* var406
/* : String */;
4675 char* var407
/* : NativeString */;
4676 val
* var408
/* : FlatString */;
4677 static val
* varonce409
;
4678 val
* var410
/* : String */;
4679 char* var411
/* : NativeString */;
4680 val
* var412
/* : FlatString */;
4681 val
* var413
/* : String */;
4682 val
* var414
/* : String */;
4683 static val
* varonce415
;
4684 val
* var416
/* : String */;
4685 char* var417
/* : NativeString */;
4686 val
* var418
/* : FlatString */;
4687 val
* var419
/* : String */;
4688 val
* var420
/* : String */;
4689 val
* var422
/* : NativeArray[String] */;
4690 static val
* varonce421
;
4691 static val
* varonce423
;
4692 val
* var424
/* : String */;
4693 char* var425
/* : NativeString */;
4694 val
* var426
/* : FlatString */;
4695 static val
* varonce427
;
4696 val
* var428
/* : String */;
4697 char* var429
/* : NativeString */;
4698 val
* var430
/* : FlatString */;
4699 static val
* varonce431
;
4700 val
* var432
/* : String */;
4701 char* var433
/* : NativeString */;
4702 val
* var434
/* : FlatString */;
4703 val
* var435
/* : String */;
4704 val
* var436
/* : String */;
4705 short int var437
/* : Bool */;
4706 short int var439
/* : Bool */;
4707 short int var440
/* : Bool */;
4708 val
* var442
/* : NativeArray[String] */;
4709 static val
* varonce441
;
4710 static val
* varonce443
;
4711 val
* var444
/* : String */;
4712 char* var445
/* : NativeString */;
4713 val
* var446
/* : FlatString */;
4714 static val
* varonce447
;
4715 val
* var448
/* : String */;
4716 char* var449
/* : NativeString */;
4717 val
* var450
/* : FlatString */;
4718 val
* var451
/* : String */;
4719 val
* var452
/* : String */;
4720 val
* var453
/* : ToolContext */;
4721 val
* var455
/* : ToolContext */;
4722 val
* var457
/* : NativeArray[String] */;
4723 static val
* varonce456
;
4724 static val
* varonce458
;
4725 val
* var459
/* : String */;
4726 char* var460
/* : NativeString */;
4727 val
* var461
/* : FlatString */;
4728 val
* var462
/* : String */;
4729 val
* var464
/* : NativeArray[String] */;
4730 static val
* varonce463
;
4731 static val
* varonce465
;
4732 val
* var466
/* : String */;
4733 char* var467
/* : NativeString */;
4734 val
* var468
/* : FlatString */;
4735 val
* var469
/* : String */;
4736 var_compile_dir
= p0
;
4739 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4740 var2
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4741 if (unlikely(var2
== NULL
)) {
4742 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4743 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
4751 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var) on <var:AbstractCompiler> */
4752 var5
= var
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var:AbstractCompiler> */
4753 if (unlikely(var5
== NULL
)) {
4754 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
4762 var_mainmodule
= var3
;
4764 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
4765 var8
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
4766 if (unlikely(var8
== NULL
)) {
4767 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
4768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
4776 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var6) on <var6:AbstractCompiler> */
4777 var11
= var6
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var6:AbstractCompiler> */
4778 if (unlikely(var11
== NULL
)) {
4779 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
4780 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 533);
4784 RET_LABEL10
:(void)0;
4787 var_platform
= var9
;
4789 var12
= nit___nit__MakefileToolchain___outfile(self
, var_mainmodule
);
4791 var_outname
= var12
;
4793 var13
= standard__file___String___relpath(var_compile_dir
, var_outname
);
4795 var_real_outpath
= var13
;
4797 var14
= standard___standard__Text___escape_to_mk(var_real_outpath
);
4799 var_outpath
= var14
;
4801 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
4802 var_other
= var_real_outpath
;
4804 var17
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
4809 RET_LABEL16
:(void)0;
4814 var19
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_mainmodule
);
4816 var_outpath
= var19
;
4820 var20
= nit___nit__MakefileToolchain___makefile_name(self
);
4822 var_makename
= var20
;
4823 if (unlikely(varonce
==NULL
)) {
4824 var21
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4825 if (likely(varonce22
!=NULL
)) {
4829 var25
= standard___standard__NativeString___to_s_with_length(var24
, 1l);
4833 ((struct instance_standard__NativeArray
*)var21
)->values
[1]=var23
;
4838 ((struct instance_standard__NativeArray
*)var21
)->values
[0]=var_compile_dir
;
4839 ((struct instance_standard__NativeArray
*)var21
)->values
[2]=var_makename
;
4841 var26
= ((val
*(*)(val
* self
))(var21
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var21
); /* native_to_s on <var21:NativeArray[String]>*/
4844 var_makepath
= var26
;
4845 var27
= NEW_standard__FileWriter(&type_standard__FileWriter
);
4847 standard___standard__FileWriter___open(var27
, var_makepath
); /* Direct call file#FileWriter#open on <var27:FileWriter>*/
4849 var_makefile
= var27
;
4850 var28
= NEW_standard__HashSet(&type_standard__HashSet__standard__String
);
4852 standard___standard__HashSet___standard__kernel__Object__init(var28
); /* Direct call hash_collection#HashSet#init on <var28:HashSet[String]>*/
4854 var_linker_options
= var28
;
4856 { /* Inline mmodule#MModule#in_importation (var_mainmodule) on <var_mainmodule:MModule> */
4857 var31
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mainmodule:MModule> */
4858 if (unlikely(var31
== NULL
)) {
4859 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
4864 RET_LABEL30
:(void)0;
4868 var32
= poset___poset__POSetElement___greaters(var29
);
4872 var33
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:Collection[MModule]>*/
4877 var35
= ((short int(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_34
); /* is_ok on <var_34:Iterator[MModule]>*/
4881 var36
= ((val
*(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_34
); /* item on <var_34:Iterator[MModule]>*/
4885 var37
= nit__light___MModule___collect_linker_libs(var_m
);
4888 if (var_libs
== NULL
) {
4889 var38
= 0; /* is null */
4891 var38
= 1; /* arg is null and recv is not */
4894 { /* Inline kernel#Object#!= (var_libs,((val*)NULL)) on <var_libs:nullable Array[String]> */
4895 var_other
= ((val
*)NULL
);
4897 var41
= ((short int(*)(val
* self
, val
* p0
))(var_libs
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_libs
, var_other
); /* == on <var_libs:nullable Array[String](Array[String])>*/
4902 RET_LABEL40
:(void)0;
4908 standard___standard__SimpleCollection___add_all(var_linker_options
, var_libs
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_linker_options:HashSet[String]>*/
4913 ((void(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_34
); /* next on <var_34:Iterator[MModule]>*/
4919 BREAK_label
: (void)0;
4921 ((void(*)(val
* self
))((((long)var_34
&3)?class_info
[((long)var_34
&3)]:var_34
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_34
); /* finish on <var_34:Iterator[MModule]>*/
4923 if (unlikely(varonce43
==NULL
)) {
4924 var44
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
4925 if (likely(varonce45
!=NULL
)) {
4928 var47
= "CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g -O2 -Wno-unused-value -Wno-switch -Wno-attributes\nCINCL =\nLDFLAGS ?= \nLDLIBS ?= -lm ";
4929 var48
= standard___standard__NativeString___to_s_with_length(var47
, 129l);
4933 ((struct instance_standard__NativeArray
*)var44
)->values
[0]=var46
;
4934 if (likely(varonce49
!=NULL
)) {
4938 var52
= standard___standard__NativeString___to_s_with_length(var51
, 2l);
4942 ((struct instance_standard__NativeArray
*)var44
)->values
[2]=var50
;
4947 if (likely(varonce53
!=NULL
)) {
4951 var56
= standard___standard__NativeString___to_s_with_length(var55
, 1l);
4956 var57
= standard__string___Collection___join(var_linker_options
, var54
);
4958 ((struct instance_standard__NativeArray
*)var44
)->values
[1]=var57
;
4960 var58
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
4964 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var58
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
4966 if (likely(varonce59
!=NULL
)) {
4969 var61
= "\n# SPECIAL CONFIGURATION FLAGS\n";
4970 var62
= standard___standard__NativeString___to_s_with_length(var61
, 31l);
4975 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var60
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
4978 var63
= nit___nit__Platform___supports_libunwind(var_platform
);
4982 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4983 var66
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4984 if (unlikely(var66
== NULL
)) {
4985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4986 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
4990 RET_LABEL65
:(void)0;
4994 { /* Inline abstract_compiler#ToolContext#opt_no_stacktrace (var64) on <var64:ToolContext> */
4995 var69
= var64
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_stacktrace
].val
; /* _opt_no_stacktrace on <var64:ToolContext> */
4996 if (unlikely(var69
== NULL
)) {
4997 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_stacktrace");
4998 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 66);
5002 RET_LABEL68
:(void)0;
5006 { /* Inline opts#Option#value (var67) on <var67:OptionBool> */
5007 var72
= var67
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var67:OptionBool> */
5009 RET_LABEL71
:(void)0;
5012 var73
= (short int)((long)(var70
)>>2);
5014 if (likely(varonce74
!=NULL
)) {
5017 var76
= "NO_STACKTRACE=True";
5018 var77
= standard___standard__NativeString___to_s_with_length(var76
, 18l);
5023 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var75
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5026 if (likely(varonce78
!=NULL
)) {
5029 var80
= "NO_STACKTRACE= # Set to `True` to enable";
5030 var81
= standard___standard__NativeString___to_s_with_length(var80
, 40l);
5035 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var79
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5040 if (likely(varonce82
!=NULL
)) {
5044 var85
= standard___standard__NativeString___to_s_with_length(var84
, 2l);
5049 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var83
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5051 if (likely(varonce86
!=NULL
)) {
5054 var88
= "uname_S := $(shell sh -c \'uname -s 2>/dev/null || echo not\')\n";
5055 var89
= standard___standard__NativeString___to_s_with_length(var88
, 61l);
5060 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var87
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5062 if (likely(varonce90
!=NULL
)) {
5065 var92
= "clang_check := $(shell sh -c \'$(CC) -v 2>&1 | grep -q clang; echo $$?\')\nifeq ($(clang_check), 0)\n\tCFLAGS += -Qunused-arguments\nendif\n";
5066 var93
= standard___standard__NativeString___to_s_with_length(var92
, 133l);
5071 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var91
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5074 var94
= nit___nit__Platform___supports_libunwind(var_platform
);
5077 if (likely(varonce95
!=NULL
)) {
5080 var97
= "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";
5081 var98
= standard___standard__NativeString___to_s_with_length(var97
, 569l);
5086 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var96
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5089 if (likely(varonce99
!=NULL
)) {
5092 var101
= "CFLAGS += -D NO_STACKTRACE\n\n";
5093 var102
= standard___standard__NativeString___to_s_with_length(var101
, 28l);
5098 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var100
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5101 if (unlikely(varonce103
==NULL
)) {
5102 var104
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5103 if (likely(varonce105
!=NULL
)) {
5104 var106
= varonce105
;
5107 var108
= standard___standard__NativeString___to_s_with_length(var107
, 5l);
5109 varonce105
= var106
;
5111 ((struct instance_standard__NativeArray
*)var104
)->values
[0]=var106
;
5112 if (likely(varonce109
!=NULL
)) {
5113 var110
= varonce109
;
5116 var112
= standard___standard__NativeString___to_s_with_length(var111
, 1l);
5118 varonce109
= var110
;
5120 ((struct instance_standard__NativeArray
*)var104
)->values
[2]=var110
;
5122 var104
= varonce103
;
5125 ((struct instance_standard__NativeArray
*)var104
)->values
[1]=var_outpath
;
5127 var113
= ((val
*(*)(val
* self
))(var104
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var104
); /* native_to_s on <var104:NativeArray[String]>*/
5129 varonce103
= var104
;
5131 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var113
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5134 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
5135 var_other
= var_real_outpath
;
5137 var116
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
5142 RET_LABEL115
:(void)0;
5146 if (unlikely(varonce118
==NULL
)) {
5147 var119
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
5148 if (likely(varonce120
!=NULL
)) {
5149 var121
= varonce120
;
5151 var122
= "\tcp -- ";
5152 var123
= standard___standard__NativeString___to_s_with_length(var122
, 7l);
5154 varonce120
= var121
;
5156 ((struct instance_standard__NativeArray
*)var119
)->values
[0]=var121
;
5157 if (likely(varonce124
!=NULL
)) {
5158 var125
= varonce124
;
5161 var127
= standard___standard__NativeString___to_s_with_length(var126
, 1l);
5163 varonce124
= var125
;
5165 ((struct instance_standard__NativeArray
*)var119
)->values
[2]=var125
;
5167 var119
= varonce118
;
5171 var128
= standard___standard__Text___escape_to_sh(var_outpath
);
5173 ((struct instance_standard__NativeArray
*)var119
)->values
[1]=var128
;
5175 var129
= standard___standard__Text___escape_to_sh(var_real_outpath
);
5177 if (likely(varonce130
!=NULL
)) {
5178 var131
= varonce130
;
5181 var133
= standard___standard__NativeString___to_s_with_length(var132
, 1l);
5183 varonce130
= var131
;
5185 if (likely(varonce134
!=NULL
)) {
5186 var135
= varonce134
;
5189 var137
= standard___standard__NativeString___to_s_with_length(var136
, 2l);
5191 varonce134
= var135
;
5194 var138
= standard__string_search___Text___replace(var129
, var131
, var135
);
5196 ((struct instance_standard__NativeArray
*)var119
)->values
[3]=var138
;
5198 var139
= ((val
*(*)(val
* self
))(var119
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var119
); /* native_to_s on <var119:NativeArray[String]>*/
5200 varonce118
= var119
;
5202 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var139
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5206 if (likely(varonce140
!=NULL
)) {
5207 var141
= varonce140
;
5210 var143
= standard___standard__NativeString___to_s_with_length(var142
, 1l);
5212 varonce140
= var141
;
5215 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var141
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5217 var144
= NEW_standard__Array(&type_standard__Array__standard__String
);
5219 standard___standard__Array___standard__kernel__Object__init(var144
); /* Direct call array#Array#init on <var144:Array[String]>*/
5221 var_ofiles
= var144
;
5222 var145
= NEW_standard__Array(&type_standard__Array__standard__String
);
5224 standard___standard__Array___standard__kernel__Object__init(var145
); /* Direct call array#Array#init on <var145:Array[String]>*/
5226 var_dep_rules
= var145
;
5227 var_146
= var_cfiles
;
5229 var147
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_146
);
5234 var149
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_148
);
5238 var150
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_148
);
5241 if (likely(varonce151
!=NULL
)) {
5242 var152
= varonce151
;
5245 var154
= standard___standard__NativeString___to_s_with_length(var153
, 2l);
5247 varonce151
= var152
;
5250 var155
= standard__file___String___strip_extension(var_f
, var152
);
5252 if (likely(varonce156
!=NULL
)) {
5253 var157
= varonce156
;
5256 var159
= standard___standard__NativeString___to_s_with_length(var158
, 2l);
5258 varonce156
= var157
;
5261 var160
= ((val
*(*)(val
* self
, val
* p0
))(var155
->class->vft
[COLOR_standard__string__String___43d
]))(var155
, var157
); /* + on <var155:String>*/
5264 if (unlikely(varonce161
==NULL
)) {
5265 var162
= NEW_standard__NativeArray(8l, &type_standard__NativeArray__standard__String
);
5266 if (likely(varonce163
!=NULL
)) {
5267 var164
= varonce163
;
5270 var166
= standard___standard__NativeString___to_s_with_length(var165
, 2l);
5272 varonce163
= var164
;
5274 ((struct instance_standard__NativeArray
*)var162
)->values
[1]=var164
;
5275 if (likely(varonce167
!=NULL
)) {
5276 var168
= varonce167
;
5278 var169
= "\n\t$(CC) $(CFLAGS) $(CINCL) -c -o ";
5279 var170
= standard___standard__NativeString___to_s_with_length(var169
, 33l);
5281 varonce167
= var168
;
5283 ((struct instance_standard__NativeArray
*)var162
)->values
[3]=var168
;
5284 if (likely(varonce171
!=NULL
)) {
5285 var172
= varonce171
;
5288 var174
= standard___standard__NativeString___to_s_with_length(var173
, 1l);
5290 varonce171
= var172
;
5292 ((struct instance_standard__NativeArray
*)var162
)->values
[5]=var172
;
5293 if (likely(varonce175
!=NULL
)) {
5294 var176
= varonce175
;
5297 var178
= standard___standard__NativeString___to_s_with_length(var177
, 2l);
5299 varonce175
= var176
;
5301 ((struct instance_standard__NativeArray
*)var162
)->values
[7]=var176
;
5303 var162
= varonce161
;
5306 ((struct instance_standard__NativeArray
*)var162
)->values
[0]=var_o
;
5307 ((struct instance_standard__NativeArray
*)var162
)->values
[2]=var_f
;
5308 ((struct instance_standard__NativeArray
*)var162
)->values
[4]=var_o
;
5309 ((struct instance_standard__NativeArray
*)var162
)->values
[6]=var_f
;
5311 var179
= ((val
*(*)(val
* self
))(var162
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var162
); /* native_to_s on <var162:NativeArray[String]>*/
5313 varonce161
= var162
;
5315 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var179
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5318 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var_o
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5321 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dep_rules
, var_o
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5324 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_148
); /* Direct call array#ArrayIterator#next on <var_148:ArrayIterator[String]>*/
5327 goto BREAK_label180
;
5330 BREAK_label180
: (void)0;
5332 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_148
); /* Direct call array#ArrayIterator#finish on <var_148:ArrayIterator[String]>*/
5335 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5336 var183
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5337 if (unlikely(var183
== NULL
)) {
5338 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5339 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
5343 RET_LABEL182
:(void)0;
5347 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var181) on <var181:AbstractCompiler> */
5348 var186
= var181
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var181:AbstractCompiler> */
5349 if (unlikely(var186
== NULL
)) {
5350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 572);
5355 RET_LABEL185
:(void)0;
5359 var187
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var184
);
5363 if (unlikely(varonce189
==NULL
)) {
5364 var190
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5365 if (likely(varonce191
!=NULL
)) {
5366 var192
= varonce191
;
5368 var193
= "/linker_script";
5369 var194
= standard___standard__NativeString___to_s_with_length(var193
, 14l);
5371 varonce191
= var192
;
5373 ((struct instance_standard__NativeArray
*)var190
)->values
[1]=var192
;
5375 var190
= varonce189
;
5378 ((struct instance_standard__NativeArray
*)var190
)->values
[0]=var_compile_dir
;
5380 var195
= ((val
*(*)(val
* self
))(var190
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var190
); /* native_to_s on <var190:NativeArray[String]>*/
5382 varonce189
= var190
;
5383 var_linker_script_path
= var195
;
5384 if (likely(varonce196
!=NULL
)) {
5385 var197
= varonce196
;
5387 var198
= "linker_script";
5388 var199
= standard___standard__NativeString___to_s_with_length(var198
, 13l);
5390 varonce196
= var197
;
5393 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var197
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5395 var200
= NEW_standard__FileWriter(&type_standard__FileWriter
);
5397 standard___standard__FileWriter___open(var200
, var_linker_script_path
); /* Direct call file#FileWriter#open on <var200:FileWriter>*/
5401 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5402 var204
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5403 if (unlikely(var204
== NULL
)) {
5404 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
5409 RET_LABEL203
:(void)0;
5413 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var202) on <var202:AbstractCompiler> */
5414 var207
= var202
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var202:AbstractCompiler> */
5415 if (unlikely(var207
== NULL
)) {
5416 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 572);
5421 RET_LABEL206
:(void)0;
5426 var209
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_208
);
5431 var211
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_210
);
5435 var212
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_210
);
5439 standard___standard__FileWriter___standard__stream__Writer__write(var_f201
, var_l
); /* Direct call file#FileWriter#write on <var_f201:FileWriter>*/
5441 if (likely(varonce213
!=NULL
)) {
5442 var214
= varonce213
;
5445 var216
= standard___standard__NativeString___to_s_with_length(var215
, 1l);
5447 varonce213
= var214
;
5450 standard___standard__FileWriter___standard__stream__Writer__write(var_f201
, var214
); /* Direct call file#FileWriter#write on <var_f201:FileWriter>*/
5453 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_210
); /* Direct call array#ArrayIterator#next on <var_210:ArrayIterator[String]>*/
5456 goto BREAK_label217
;
5459 BREAK_label217
: (void)0;
5461 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_210
); /* Direct call array#ArrayIterator#finish on <var_210:ArrayIterator[String]>*/
5464 standard___standard__FileWriter___standard__stream__Stream__close(var_f201
); /* Direct call file#FileWriter#close on <var_f201:FileWriter>*/
5468 var218
= NEW_standard__Array(&type_standard__Array__nit__ExternFile
);
5470 standard___standard__Array___standard__kernel__Object__init(var218
); /* Direct call array#Array#init on <var218:Array[ExternFile]>*/
5472 var_java_files
= var218
;
5473 var219
= NEW_standard__Array(&type_standard__Array__standard__String
);
5475 standard___standard__Array___standard__kernel__Object__init(var219
); /* Direct call array#Array#init on <var219:Array[String]>*/
5477 var_pkgconfigs
= var219
;
5479 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5480 var222
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5481 if (unlikely(var222
== NULL
)) {
5482 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5483 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
5487 RET_LABEL221
:(void)0;
5491 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var220) on <var220:AbstractCompiler> */
5492 var225
= var220
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var220:AbstractCompiler> */
5493 if (unlikely(var225
== NULL
)) {
5494 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5495 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
5499 RET_LABEL224
:(void)0;
5504 var227
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_226
);
5509 var229
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_228
);
5513 var230
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_228
);
5517 { /* Inline c_tools#ExternFile#pkgconfigs (var_f231) on <var_f231:ExternFile> */
5518 var234
= var_f231
->attrs
[COLOR_nit__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f231:ExternFile> */
5519 if (unlikely(var234
== NULL
)) {
5520 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
5521 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 123);
5525 RET_LABEL233
:(void)0;
5529 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_pkgconfigs
, var232
); /* Direct call array#Array#add_all on <var_pkgconfigs:Array[String]>*/
5532 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_228
); /* Direct call array#ArrayIterator#next on <var_228:ArrayIterator[ExternFile]>*/
5535 goto BREAK_label235
;
5538 BREAK_label235
: (void)0;
5540 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_228
); /* Direct call array#ArrayIterator#finish on <var_228:ArrayIterator[ExternFile]>*/
5543 var236
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_pkgconfigs
);
5547 if (likely(varonce238
!=NULL
)) {
5548 var239
= varonce238
;
5550 var240
= "# 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";
5551 var241
= standard___standard__NativeString___to_s_with_length(var240
, 151l);
5553 varonce238
= var239
;
5556 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var239
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5558 var_242
= var_pkgconfigs
;
5560 var243
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_242
);
5565 var245
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_244
);
5569 var246
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_244
);
5572 if (unlikely(varonce247
==NULL
)) {
5573 var248
= NEW_standard__NativeArray(7l, &type_standard__NativeArray__standard__String
);
5574 if (likely(varonce249
!=NULL
)) {
5575 var250
= varonce249
;
5577 var251
= "# Check for library ";
5578 var252
= standard___standard__NativeString___to_s_with_length(var251
, 20l);
5580 varonce249
= var250
;
5582 ((struct instance_standard__NativeArray
*)var248
)->values
[0]=var250
;
5583 if (likely(varonce253
!=NULL
)) {
5584 var254
= varonce253
;
5586 var255
= "\nifneq ($(shell pkg-config --exists \'";
5587 var256
= standard___standard__NativeString___to_s_with_length(var255
, 37l);
5589 varonce253
= var254
;
5591 ((struct instance_standard__NativeArray
*)var248
)->values
[2]=var254
;
5592 if (likely(varonce257
!=NULL
)) {
5593 var258
= varonce257
;
5595 var259
= "\'; echo $$?), 0)\n$(error \"pkg-config: package ";
5596 var260
= standard___standard__NativeString___to_s_with_length(var259
, 46l);
5598 varonce257
= var258
;
5600 ((struct instance_standard__NativeArray
*)var248
)->values
[4]=var258
;
5601 if (likely(varonce261
!=NULL
)) {
5602 var262
= varonce261
;
5604 var263
= " is not found.\")\nendif\n";
5605 var264
= standard___standard__NativeString___to_s_with_length(var263
, 23l);
5607 varonce261
= var262
;
5609 ((struct instance_standard__NativeArray
*)var248
)->values
[6]=var262
;
5611 var248
= varonce247
;
5614 ((struct instance_standard__NativeArray
*)var248
)->values
[1]=var_p
;
5615 ((struct instance_standard__NativeArray
*)var248
)->values
[3]=var_p
;
5616 ((struct instance_standard__NativeArray
*)var248
)->values
[5]=var_p
;
5618 var265
= ((val
*(*)(val
* self
))(var248
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var248
); /* native_to_s on <var248:NativeArray[String]>*/
5620 varonce247
= var248
;
5622 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var265
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5625 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_244
); /* Direct call array#ArrayIterator#next on <var_244:ArrayIterator[String]>*/
5628 goto BREAK_label266
;
5631 BREAK_label266
: (void)0;
5633 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_244
); /* Direct call array#ArrayIterator#finish on <var_244:ArrayIterator[String]>*/
5638 { /* Inline abstract_compiler#Toolchain#compiler (self) on <self:MakefileToolchain> */
5639 var269
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___compiler
].val
; /* _compiler on <self:MakefileToolchain> */
5640 if (unlikely(var269
== NULL
)) {
5641 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compiler");
5642 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 131);
5646 RET_LABEL268
:(void)0;
5650 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var267) on <var267:AbstractCompiler> */
5651 var272
= var267
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var267:AbstractCompiler> */
5652 if (unlikely(var272
== NULL
)) {
5653 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5654 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
5658 RET_LABEL271
:(void)0;
5663 var274
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_273
);
5668 var276
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_275
);
5672 var277
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_275
);
5676 var279
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f278
);
5680 { /* Inline c_tools#ExternFile#filename (var_f278) on <var_f278:ExternFile> */
5681 var283
= var_f278
->attrs
[COLOR_nit__c_tools__ExternFile___filename
].val
; /* _filename on <var_f278:ExternFile> */
5682 if (unlikely(var283
== NULL
)) {
5683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
5684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 108);
5688 RET_LABEL282
:(void)0;
5691 if (likely(varonce284
!=NULL
)) {
5692 var285
= varonce284
;
5695 var287
= standard___standard__NativeString___to_s_with_length(var286
, 0l);
5697 varonce284
= var285
;
5700 var288
= standard__file___String___basename(var281
, var285
);
5703 if (unlikely(varonce289
==NULL
)) {
5704 var290
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
5705 if (likely(varonce291
!=NULL
)) {
5706 var292
= varonce291
;
5709 var294
= standard___standard__NativeString___to_s_with_length(var293
, 2l);
5711 varonce291
= var292
;
5713 ((struct instance_standard__NativeArray
*)var290
)->values
[1]=var292
;
5714 if (likely(varonce295
!=NULL
)) {
5715 var296
= varonce295
;
5718 var298
= standard___standard__NativeString___to_s_with_length(var297
, 1l);
5720 varonce295
= var296
;
5722 ((struct instance_standard__NativeArray
*)var290
)->values
[3]=var296
;
5724 var290
= varonce289
;
5727 ((struct instance_standard__NativeArray
*)var290
)->values
[0]=var_o280
;
5728 ((struct instance_standard__NativeArray
*)var290
)->values
[2]=var_ff
;
5730 var299
= ((val
*(*)(val
* self
))(var290
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var290
); /* native_to_s on <var290:NativeArray[String]>*/
5732 varonce289
= var290
;
5734 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var299
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5736 if (unlikely(varonce300
==NULL
)) {
5737 var301
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5738 if (likely(varonce302
!=NULL
)) {
5739 var303
= varonce302
;
5742 var305
= standard___standard__NativeString___to_s_with_length(var304
, 1l);
5744 varonce302
= var303
;
5746 ((struct instance_standard__NativeArray
*)var301
)->values
[0]=var303
;
5747 if (likely(varonce306
!=NULL
)) {
5748 var307
= varonce306
;
5751 var309
= standard___standard__NativeString___to_s_with_length(var308
, 2l);
5753 varonce306
= var307
;
5755 ((struct instance_standard__NativeArray
*)var301
)->values
[2]=var307
;
5757 var301
= varonce300
;
5761 var310
= nit___nit__ExternCFile___ExternFile__makefile_rule_content(var_f278
);
5763 ((struct instance_standard__NativeArray
*)var301
)->values
[1]=var310
;
5765 var311
= ((val
*(*)(val
* self
))(var301
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var301
); /* native_to_s on <var301:NativeArray[String]>*/
5767 varonce300
= var301
;
5769 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var311
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5772 var312
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f278
);
5775 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dep_rules
, var312
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5778 var313
= nit___nit__ExternCFile___ExternFile__compiles_to_o_file(var_f278
);
5782 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var_o280
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5787 var314
= nit___nit__ExternFile___add_to_jar(var_f278
);
5791 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_java_files
, var_f278
); /* Direct call array#Array#add on <var_java_files:Array[ExternFile]>*/
5796 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_275
); /* Direct call array#ArrayIterator#next on <var_275:ArrayIterator[ExternFile]>*/
5799 goto BREAK_label315
;
5802 BREAK_label315
: (void)0;
5804 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_275
); /* Direct call array#ArrayIterator#finish on <var_275:ArrayIterator[ExternFile]>*/
5807 var316
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_java_files
);
5811 if (unlikely(varonce318
==NULL
)) {
5812 var319
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
5813 if (likely(varonce320
!=NULL
)) {
5814 var321
= varonce320
;
5817 var323
= standard___standard__NativeString___to_s_with_length(var322
, 4l);
5819 varonce320
= var321
;
5821 ((struct instance_standard__NativeArray
*)var319
)->values
[1]=var321
;
5823 var319
= varonce318
;
5826 ((struct instance_standard__NativeArray
*)var319
)->values
[0]=var_outpath
;
5828 var324
= ((val
*(*)(val
* self
))(var319
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var319
); /* native_to_s on <var319:NativeArray[String]>*/
5830 varonce318
= var319
;
5831 var_jar_file
= var324
;
5832 var325
= NEW_standard__Array(&type_standard__Array__standard__String
);
5834 standard___standard__Array___standard__kernel__Object__init(var325
); /* Direct call array#Array#init on <var325:Array[String]>*/
5836 var_class_files_array
= var325
;
5837 var_326
= var_java_files
;
5839 var327
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_326
);
5844 var329
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_328
);
5848 var330
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_328
);
5852 var332
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f331
);
5855 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_class_files_array
, var332
); /* Direct call array#Array#add on <var_class_files_array:Array[String]>*/
5858 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_328
); /* Direct call array#ArrayIterator#next on <var_328:ArrayIterator[ExternFile]>*/
5861 goto BREAK_label333
;
5864 BREAK_label333
: (void)0;
5866 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__finish(var_328
); /* Direct call array#ArrayIterator#finish on <var_328:ArrayIterator[ExternFile]>*/
5868 if (likely(varonce334
!=NULL
)) {
5869 var335
= varonce334
;
5872 var337
= standard___standard__NativeString___to_s_with_length(var336
, 1l);
5874 varonce334
= var335
;
5877 var338
= standard__string___Collection___join(var_class_files_array
, var335
);
5879 var_class_files
= var338
;
5880 if (unlikely(varonce339
==NULL
)) {
5881 var340
= NEW_standard__NativeArray(4l, &type_standard__NativeArray__standard__String
);
5882 if (likely(varonce341
!=NULL
)) {
5883 var342
= varonce341
;
5886 var344
= standard___standard__NativeString___to_s_with_length(var343
, 2l);
5888 varonce341
= var342
;
5890 ((struct instance_standard__NativeArray
*)var340
)->values
[1]=var342
;
5891 if (likely(varonce345
!=NULL
)) {
5892 var346
= varonce345
;
5895 var348
= standard___standard__NativeString___to_s_with_length(var347
, 1l);
5897 varonce345
= var346
;
5899 ((struct instance_standard__NativeArray
*)var340
)->values
[3]=var346
;
5901 var340
= varonce339
;
5904 ((struct instance_standard__NativeArray
*)var340
)->values
[0]=var_jar_file
;
5905 ((struct instance_standard__NativeArray
*)var340
)->values
[2]=var_class_files
;
5907 var349
= ((val
*(*)(val
* self
))(var340
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var340
); /* native_to_s on <var340:NativeArray[String]>*/
5909 varonce339
= var340
;
5911 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var349
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5913 if (unlikely(varonce350
==NULL
)) {
5914 var351
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
5915 if (likely(varonce352
!=NULL
)) {
5916 var353
= varonce352
;
5918 var354
= "\tjar cf ";
5919 var355
= standard___standard__NativeString___to_s_with_length(var354
, 8l);
5921 varonce352
= var353
;
5923 ((struct instance_standard__NativeArray
*)var351
)->values
[0]=var353
;
5924 if (likely(varonce356
!=NULL
)) {
5925 var357
= varonce356
;
5928 var359
= standard___standard__NativeString___to_s_with_length(var358
, 1l);
5930 varonce356
= var357
;
5932 ((struct instance_standard__NativeArray
*)var351
)->values
[2]=var357
;
5933 if (likely(varonce360
!=NULL
)) {
5934 var361
= varonce360
;
5937 var363
= standard___standard__NativeString___to_s_with_length(var362
, 2l);
5939 varonce360
= var361
;
5941 ((struct instance_standard__NativeArray
*)var351
)->values
[4]=var361
;
5943 var351
= varonce350
;
5946 ((struct instance_standard__NativeArray
*)var351
)->values
[1]=var_jar_file
;
5947 ((struct instance_standard__NativeArray
*)var351
)->values
[3]=var_class_files
;
5949 var364
= ((val
*(*)(val
* self
))(var351
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var351
); /* native_to_s on <var351:NativeArray[String]>*/
5951 varonce350
= var351
;
5953 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var364
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
5956 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dep_rules
, var_jar_file
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5960 if (likely(varonce365
!=NULL
)) {
5961 var366
= varonce365
;
5964 var368
= standard___standard__NativeString___to_s_with_length(var367
, 0l);
5966 varonce365
= var366
;
5970 var369
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_pkgconfigs
);
5974 if (unlikely(varonce371
==NULL
)) {
5975 var372
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
5976 if (likely(varonce373
!=NULL
)) {
5977 var374
= varonce373
;
5979 var375
= "`pkg-config --libs ";
5980 var376
= standard___standard__NativeString___to_s_with_length(var375
, 19l);
5982 varonce373
= var374
;
5984 ((struct instance_standard__NativeArray
*)var372
)->values
[0]=var374
;
5985 if (likely(varonce377
!=NULL
)) {
5986 var378
= varonce377
;
5989 var380
= standard___standard__NativeString___to_s_with_length(var379
, 1l);
5991 varonce377
= var378
;
5993 ((struct instance_standard__NativeArray
*)var372
)->values
[2]=var378
;
5995 var372
= varonce371
;
5998 if (likely(varonce381
!=NULL
)) {
5999 var382
= varonce381
;
6002 var384
= standard___standard__NativeString___to_s_with_length(var383
, 1l);
6004 varonce381
= var382
;
6007 var385
= standard__string___Collection___join(var_pkgconfigs
, var382
);
6009 ((struct instance_standard__NativeArray
*)var372
)->values
[1]=var385
;
6011 var386
= ((val
*(*)(val
* self
))(var372
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var372
); /* native_to_s on <var372:NativeArray[String]>*/
6013 varonce371
= var372
;
6017 if (unlikely(varonce387
==NULL
)) {
6018 var388
= NEW_standard__NativeArray(10l, &type_standard__NativeArray__standard__String
);
6019 if (likely(varonce389
!=NULL
)) {
6020 var390
= varonce389
;
6023 var392
= standard___standard__NativeString___to_s_with_length(var391
, 2l);
6025 varonce389
= var390
;
6027 ((struct instance_standard__NativeArray
*)var388
)->values
[1]=var390
;
6028 if (likely(varonce393
!=NULL
)) {
6029 var394
= varonce393
;
6031 var395
= "\n\t$(CC) $(LDFLAGS) -o ";
6032 var396
= standard___standard__NativeString___to_s_with_length(var395
, 22l);
6034 varonce393
= var394
;
6036 ((struct instance_standard__NativeArray
*)var388
)->values
[3]=var394
;
6037 if (likely(varonce397
!=NULL
)) {
6038 var398
= varonce397
;
6041 var400
= standard___standard__NativeString___to_s_with_length(var399
, 1l);
6043 varonce397
= var398
;
6045 ((struct instance_standard__NativeArray
*)var388
)->values
[5]=var398
;
6046 if (likely(varonce401
!=NULL
)) {
6047 var402
= varonce401
;
6049 var403
= " $(LDLIBS) ";
6050 var404
= standard___standard__NativeString___to_s_with_length(var403
, 11l);
6052 varonce401
= var402
;
6054 ((struct instance_standard__NativeArray
*)var388
)->values
[7]=var402
;
6055 if (likely(varonce405
!=NULL
)) {
6056 var406
= varonce405
;
6059 var408
= standard___standard__NativeString___to_s_with_length(var407
, 2l);
6061 varonce405
= var406
;
6063 ((struct instance_standard__NativeArray
*)var388
)->values
[9]=var406
;
6065 var388
= varonce387
;
6068 ((struct instance_standard__NativeArray
*)var388
)->values
[0]=var_outpath
;
6069 if (likely(varonce409
!=NULL
)) {
6070 var410
= varonce409
;
6073 var412
= standard___standard__NativeString___to_s_with_length(var411
, 1l);
6075 varonce409
= var410
;
6078 var413
= standard__string___Collection___join(var_dep_rules
, var410
);
6080 ((struct instance_standard__NativeArray
*)var388
)->values
[2]=var413
;
6082 var414
= standard___standard__Text___escape_to_sh(var_outpath
);
6084 ((struct instance_standard__NativeArray
*)var388
)->values
[4]=var414
;
6085 if (likely(varonce415
!=NULL
)) {
6086 var416
= varonce415
;
6089 var418
= standard___standard__NativeString___to_s_with_length(var417
, 1l);
6091 varonce415
= var416
;
6094 var419
= standard__string___Collection___join(var_ofiles
, var416
);
6096 ((struct instance_standard__NativeArray
*)var388
)->values
[6]=var419
;
6097 ((struct instance_standard__NativeArray
*)var388
)->values
[8]=var_pkg
;
6099 var420
= ((val
*(*)(val
* self
))(var388
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var388
); /* native_to_s on <var388:NativeArray[String]>*/
6101 varonce387
= var388
;
6103 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var420
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6105 if (unlikely(varonce421
==NULL
)) {
6106 var422
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
6107 if (likely(varonce423
!=NULL
)) {
6108 var424
= varonce423
;
6110 var425
= "clean:\n\trm ";
6111 var426
= standard___standard__NativeString___to_s_with_length(var425
, 11l);
6113 varonce423
= var424
;
6115 ((struct instance_standard__NativeArray
*)var422
)->values
[0]=var424
;
6116 if (likely(varonce427
!=NULL
)) {
6117 var428
= varonce427
;
6119 var429
= " 2>/dev/null\n";
6120 var430
= standard___standard__NativeString___to_s_with_length(var429
, 13l);
6122 varonce427
= var428
;
6124 ((struct instance_standard__NativeArray
*)var422
)->values
[2]=var428
;
6126 var422
= varonce421
;
6129 if (likely(varonce431
!=NULL
)) {
6130 var432
= varonce431
;
6133 var434
= standard___standard__NativeString___to_s_with_length(var433
, 1l);
6135 varonce431
= var432
;
6138 var435
= standard__string___Collection___join(var_ofiles
, var432
);
6140 ((struct instance_standard__NativeArray
*)var422
)->values
[1]=var435
;
6142 var436
= ((val
*(*)(val
* self
))(var422
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var422
); /* native_to_s on <var422:NativeArray[String]>*/
6144 varonce421
= var422
;
6146 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var436
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6149 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
6150 var_other
= var_real_outpath
;
6152 var439
= ((short int(*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
); /* == on <var_outpath:String>*/
6157 RET_LABEL438
:(void)0;
6161 if (unlikely(varonce441
==NULL
)) {
6162 var442
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
6163 if (likely(varonce443
!=NULL
)) {
6164 var444
= varonce443
;
6166 var445
= "\trm -- ";
6167 var446
= standard___standard__NativeString___to_s_with_length(var445
, 7l);
6169 varonce443
= var444
;
6171 ((struct instance_standard__NativeArray
*)var442
)->values
[0]=var444
;
6172 if (likely(varonce447
!=NULL
)) {
6173 var448
= varonce447
;
6175 var449
= " 2>/dev/null\n";
6176 var450
= standard___standard__NativeString___to_s_with_length(var449
, 13l);
6178 varonce447
= var448
;
6180 ((struct instance_standard__NativeArray
*)var442
)->values
[2]=var448
;
6182 var442
= varonce441
;
6186 var451
= standard___standard__Text___escape_to_sh(var_outpath
);
6188 ((struct instance_standard__NativeArray
*)var442
)->values
[1]=var451
;
6190 var452
= ((val
*(*)(val
* self
))(var442
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var442
); /* native_to_s on <var442:NativeArray[String]>*/
6192 varonce441
= var442
;
6194 standard___standard__FileWriter___standard__stream__Writer__write(var_makefile
, var452
); /* Direct call file#FileWriter#write on <var_makefile:FileWriter>*/
6199 standard___standard__FileWriter___standard__stream__Stream__close(var_makefile
); /* Direct call file#FileWriter#close on <var_makefile:FileWriter>*/
6202 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6203 var455
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6204 if (unlikely(var455
== NULL
)) {
6205 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6206 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
6210 RET_LABEL454
:(void)0;
6213 if (unlikely(varonce456
==NULL
)) {
6214 var457
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6215 if (likely(varonce458
!=NULL
)) {
6216 var459
= varonce458
;
6218 var460
= "Generated makefile: ";
6219 var461
= standard___standard__NativeString___to_s_with_length(var460
, 20l);
6221 varonce458
= var459
;
6223 ((struct instance_standard__NativeArray
*)var457
)->values
[0]=var459
;
6225 var457
= varonce456
;
6228 ((struct instance_standard__NativeArray
*)var457
)->values
[1]=var_makepath
;
6230 var462
= ((val
*(*)(val
* self
))(var457
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var457
); /* native_to_s on <var457:NativeArray[String]>*/
6232 varonce456
= var457
;
6234 nit___nit__ToolContext___info(var453
, var462
, 2l); /* Direct call toolcontext#ToolContext#info on <var453:ToolContext>*/
6236 if (unlikely(varonce463
==NULL
)) {
6237 var464
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6238 if (likely(varonce465
!=NULL
)) {
6239 var466
= varonce465
;
6241 var467
= "/Makefile";
6242 var468
= standard___standard__NativeString___to_s_with_length(var467
, 9l);
6244 varonce465
= var466
;
6246 ((struct instance_standard__NativeArray
*)var464
)->values
[1]=var466
;
6248 var464
= varonce463
;
6251 ((struct instance_standard__NativeArray
*)var464
)->values
[0]=var_compile_dir
;
6253 var469
= ((val
*(*)(val
* self
))(var464
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var464
); /* native_to_s on <var464:NativeArray[String]>*/
6255 varonce463
= var464
;
6257 standard__file___String___file_copy_to(var_makepath
, var469
); /* Direct call file#String#file_copy_to on <var_makepath:String>*/
6261 /* method abstract_compiler#MakefileToolchain#compile_c_code for (self: MakefileToolchain, String) */
6262 void nit___nit__MakefileToolchain___compile_c_code(val
* self
, val
* p0
) {
6263 val
* var_compile_dir
/* var compile_dir: String */;
6264 val
* var
/* : String */;
6265 val
* var_makename
/* var makename: String */;
6266 val
* var1
/* : ToolContext */;
6267 val
* var3
/* : ToolContext */;
6268 val
* var4
/* : OptionString */;
6269 val
* var6
/* : OptionString */;
6270 val
* var7
/* : nullable Object */;
6271 val
* var9
/* : nullable Object */;
6272 val
* var_makeflags
/* var makeflags: nullable String */;
6273 short int var10
/* : Bool */;
6274 short int var11
/* : Bool */;
6275 static val
* varonce
;
6276 val
* var12
/* : String */;
6277 char* var13
/* : NativeString */;
6278 val
* var14
/* : FlatString */;
6279 val
* var16
/* : NativeArray[String] */;
6280 static val
* varonce15
;
6281 static val
* varonce17
;
6282 val
* var18
/* : String */;
6283 char* var19
/* : NativeString */;
6284 val
* var20
/* : FlatString */;
6285 static val
* varonce21
;
6286 val
* var22
/* : String */;
6287 char* var23
/* : NativeString */;
6288 val
* var24
/* : FlatString */;
6289 static val
* varonce25
;
6290 val
* var26
/* : String */;
6291 char* var27
/* : NativeString */;
6292 val
* var28
/* : FlatString */;
6293 val
* var29
/* : String */;
6294 val
* var_command
/* var command: String */;
6295 val
* var30
/* : ToolContext */;
6296 val
* var32
/* : ToolContext */;
6297 val
* var33
/* : ToolContext */;
6298 val
* var35
/* : ToolContext */;
6299 long var36
/* : Int */;
6300 long var38
/* : Int */;
6301 short int var39
/* : Bool */;
6302 short int var41
/* : Bool */;
6305 const char* var_class_name
;
6306 short int var42
/* : Bool */;
6307 val
* var43
/* : Sys */;
6308 val
* var45
/* : Sys */;
6309 val
* var47
/* : NativeArray[String] */;
6310 static val
* varonce46
;
6311 static val
* varonce48
;
6312 val
* var49
/* : String */;
6313 char* var50
/* : NativeString */;
6314 val
* var51
/* : FlatString */;
6315 val
* var52
/* : String */;
6316 long var53
/* : Int */;
6317 val
* var54
/* : nullable Object */;
6318 val
* var_res
/* var res: nullable Object */;
6319 val
* var55
/* : Sys */;
6320 val
* var57
/* : Sys */;
6321 val
* var59
/* : NativeArray[String] */;
6322 static val
* varonce58
;
6323 static val
* varonce60
;
6324 val
* var61
/* : String */;
6325 char* var62
/* : NativeString */;
6326 val
* var63
/* : FlatString */;
6327 val
* var64
/* : String */;
6328 long var65
/* : Int */;
6329 val
* var66
/* : nullable Object */;
6330 short int var67
/* : Bool */;
6331 short int var69
/* : Bool */;
6332 long var70
/* : Int */;
6333 short int var71
/* : Bool */;
6334 val
* var72
/* : ToolContext */;
6335 val
* var74
/* : ToolContext */;
6336 val
* var76
/* : NativeArray[String] */;
6337 static val
* varonce75
;
6338 static val
* varonce77
;
6339 val
* var78
/* : String */;
6340 char* var79
/* : NativeString */;
6341 val
* var80
/* : FlatString */;
6342 static val
* varonce81
;
6343 val
* var82
/* : String */;
6344 char* var83
/* : NativeString */;
6345 val
* var84
/* : FlatString */;
6346 static val
* varonce85
;
6347 val
* var86
/* : String */;
6348 char* var87
/* : NativeString */;
6349 val
* var88
/* : FlatString */;
6350 val
* var89
/* : String */;
6351 long var90
/* : Int */;
6352 val
* var91
/* : String */;
6353 val
* var92
/* : Message */;
6354 var_compile_dir
= p0
;
6356 var
= nit___nit__MakefileToolchain___makefile_name(self
);
6360 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6361 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6362 if (unlikely(var3
== NULL
)) {
6363 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6364 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
6372 { /* Inline abstract_compiler#ToolContext#opt_make_flags (var1) on <var1:ToolContext> */
6373 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <var1:ToolContext> */
6374 if (unlikely(var6
== NULL
)) {
6375 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
6376 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 38);
6384 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
6385 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
6390 var_makeflags
= var7
;
6391 if (var_makeflags
== NULL
) {
6392 var10
= 1; /* is null */
6394 var10
= 0; /* arg is null but recv is not */
6397 var11
= ((short int(*)(val
* self
, val
* p0
))(var_makeflags
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_makeflags
, ((val
*)NULL
)); /* == on <var_makeflags:nullable String>*/
6401 if (likely(varonce
!=NULL
)) {
6405 var14
= standard___standard__NativeString___to_s_with_length(var13
, 0l);
6409 var_makeflags
= var12
;
6412 if (unlikely(varonce15
==NULL
)) {
6413 var16
= NEW_standard__NativeArray(6l, &type_standard__NativeArray__standard__String
);
6414 if (likely(varonce17
!=NULL
)) {
6417 var19
= "make -B -C ";
6418 var20
= standard___standard__NativeString___to_s_with_length(var19
, 11l);
6422 ((struct instance_standard__NativeArray
*)var16
)->values
[0]=var18
;
6423 if (likely(varonce21
!=NULL
)) {
6427 var24
= standard___standard__NativeString___to_s_with_length(var23
, 4l);
6431 ((struct instance_standard__NativeArray
*)var16
)->values
[2]=var22
;
6432 if (likely(varonce25
!=NULL
)) {
6436 var28
= standard___standard__NativeString___to_s_with_length(var27
, 6l);
6440 ((struct instance_standard__NativeArray
*)var16
)->values
[4]=var26
;
6445 ((struct instance_standard__NativeArray
*)var16
)->values
[1]=var_compile_dir
;
6446 ((struct instance_standard__NativeArray
*)var16
)->values
[3]=var_makename
;
6447 ((struct instance_standard__NativeArray
*)var16
)->values
[5]=var_makeflags
;
6449 var29
= ((val
*(*)(val
* self
))(var16
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var16
); /* native_to_s on <var16:NativeArray[String]>*/
6452 var_command
= var29
;
6454 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6455 var32
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6456 if (unlikely(var32
== NULL
)) {
6457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
6462 RET_LABEL31
:(void)0;
6466 nit___nit__ToolContext___info(var30
, var_command
, 2l); /* Direct call toolcontext#ToolContext#info on <var30:ToolContext>*/
6469 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6470 var35
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6471 if (unlikely(var35
== NULL
)) {
6472 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6473 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
6477 RET_LABEL34
:(void)0;
6481 { /* Inline toolcontext#ToolContext#verbose_level (var33) on <var33:ToolContext> */
6482 var38
= var33
->attrs
[COLOR_nit__toolcontext__ToolContext___verbose_level
].l
; /* _verbose_level on <var33:ToolContext> */
6484 RET_LABEL37
:(void)0;
6488 { /* Inline kernel#Int#>= (var36,3l) on <var36:Int> */
6489 /* Covariant cast for argument 0 (i) <3l:Int> isa OTHER */
6490 /* <3l:Int> isa OTHER */
6491 var41
= 1; /* easy <3l:Int> isa OTHER*/
6492 if (unlikely(!var41
)) {
6493 var_class_name
= type_standard__Int
.name
;
6494 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6495 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 535);
6498 var42
= var36
>= 3l;
6501 RET_LABEL40
:(void)0;
6506 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6510 RET_LABEL44
:(void)0;
6513 if (unlikely(varonce46
==NULL
)) {
6514 var47
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6515 if (likely(varonce48
!=NULL
)) {
6519 var51
= standard___standard__NativeString___to_s_with_length(var50
, 5l);
6523 ((struct instance_standard__NativeArray
*)var47
)->values
[1]=var49
;
6528 ((struct instance_standard__NativeArray
*)var47
)->values
[0]=var_command
;
6530 var52
= ((val
*(*)(val
* self
))(var47
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var47
); /* native_to_s on <var47:NativeArray[String]>*/
6534 var53
= standard__exec___Sys___system(var43
, var52
);
6536 var54
= (val
*)(var53
<<2|1);
6540 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6544 RET_LABEL56
:(void)0;
6547 if (unlikely(varonce58
==NULL
)) {
6548 var59
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
6549 if (likely(varonce60
!=NULL
)) {
6552 var62
= " 2>&1 >/dev/null";
6553 var63
= standard___standard__NativeString___to_s_with_length(var62
, 16l);
6557 ((struct instance_standard__NativeArray
*)var59
)->values
[1]=var61
;
6562 ((struct instance_standard__NativeArray
*)var59
)->values
[0]=var_command
;
6564 var64
= ((val
*(*)(val
* self
))(var59
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var59
); /* native_to_s on <var59:NativeArray[String]>*/
6568 var65
= standard__exec___Sys___system(var55
, var64
);
6570 var66
= (val
*)(var65
<<2|1);
6574 { /* Inline kernel#Int#!= (var_res,0l) on <var_res:nullable Object(Int)> */
6575 var70
= (long)(var_res
)>>2;
6576 var69
= (var_res
!= NULL
) && (var70
== 0l);
6580 RET_LABEL68
:(void)0;
6585 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6586 var74
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6587 if (unlikely(var74
== NULL
)) {
6588 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 128);
6593 RET_LABEL73
:(void)0;
6596 if (unlikely(varonce75
==NULL
)) {
6597 var76
= NEW_standard__NativeArray(5l, &type_standard__NativeArray__standard__String
);
6598 if (likely(varonce77
!=NULL
)) {
6601 var79
= "Compilation Error: `make` failed with error code: ";
6602 var80
= standard___standard__NativeString___to_s_with_length(var79
, 50l);
6606 ((struct instance_standard__NativeArray
*)var76
)->values
[0]=var78
;
6607 if (likely(varonce81
!=NULL
)) {
6610 var83
= ". The command was `";
6611 var84
= standard___standard__NativeString___to_s_with_length(var83
, 19l);
6615 ((struct instance_standard__NativeArray
*)var76
)->values
[2]=var82
;
6616 if (likely(varonce85
!=NULL
)) {
6620 var88
= standard___standard__NativeString___to_s_with_length(var87
, 2l);
6624 ((struct instance_standard__NativeArray
*)var76
)->values
[4]=var86
;
6629 var90
= (long)(var_res
)>>2;
6630 var89
= standard__string___Int___Object__to_s(var90
);
6631 ((struct instance_standard__NativeArray
*)var76
)->values
[1]=var89
;
6632 ((struct instance_standard__NativeArray
*)var76
)->values
[3]=var_command
;
6634 var91
= ((val
*(*)(val
* self
))(var76
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var76
); /* native_to_s on <var76:NativeArray[String]>*/
6638 var92
= nit___nit__ToolContext___error(var72
, ((val
*)NULL
), var91
);
6644 /* method abstract_compiler#AbstractCompiler#names for (self: AbstractCompiler): HashMap[String, String] */
6645 val
* nit___nit__AbstractCompiler___names(val
* self
) {
6646 val
* var
/* : HashMap[String, String] */;
6647 val
* var1
/* : HashMap[String, String] */;
6648 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
6649 if (unlikely(var1
== NULL
)) {
6650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
6651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 512);
6658 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
6659 val
* nit___nit__AbstractCompiler___mainmodule(val
* self
) {
6660 val
* var
/* : MModule */;
6661 val
* var1
/* : MModule */;
6662 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6663 if (unlikely(var1
== NULL
)) {
6664 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6665 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6672 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
6673 void nit___nit__AbstractCompiler___mainmodule_61d(val
* self
, val
* p0
) {
6674 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= p0
; /* _mainmodule on <self:AbstractCompiler> */
6677 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
6678 val
* nit___nit__AbstractCompiler___realmainmodule(val
* self
) {
6679 val
* var
/* : MModule */;
6680 val
* var1
/* : MModule */;
6681 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <self:AbstractCompiler> */
6682 if (unlikely(var1
== NULL
)) {
6683 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
6684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 519);
6691 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
6692 void nit___nit__AbstractCompiler___realmainmodule_61d(val
* self
, val
* p0
) {
6693 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
= p0
; /* _realmainmodule on <self:AbstractCompiler> */
6696 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
6697 val
* nit___nit__AbstractCompiler___modelbuilder(val
* self
) {
6698 val
* var
/* : ModelBuilder */;
6699 val
* var1
/* : ModelBuilder */;
6700 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
6701 if (unlikely(var1
== NULL
)) {
6702 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6703 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6710 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
6711 void nit___nit__AbstractCompiler___modelbuilder_61d(val
* self
, val
* p0
) {
6712 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
= p0
; /* _modelbuilder on <self:AbstractCompiler> */
6715 /* method abstract_compiler#AbstractCompiler#toolchain for (self: AbstractCompiler): Toolchain */
6716 val
* nit___nit__AbstractCompiler___toolchain(val
* self
) {
6717 val
* var
/* : Toolchain */;
6718 val
* var1
/* : Toolchain */;
6719 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
6720 if (unlikely(var1
== NULL
)) {
6721 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
6722 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 525);
6729 /* method abstract_compiler#AbstractCompiler#toolchain= for (self: AbstractCompiler, Toolchain) */
6730 void nit___nit__AbstractCompiler___toolchain_61d(val
* self
, val
* p0
) {
6731 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
= p0
; /* _toolchain on <self:AbstractCompiler> */
6734 /* method abstract_compiler#AbstractCompiler#target_platform for (self: AbstractCompiler): Platform */
6735 val
* nit___nit__AbstractCompiler___target_platform(val
* self
) {
6736 val
* var
/* : Platform */;
6737 val
* var1
/* : Platform */;
6738 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
6739 if (unlikely(var1
== NULL
)) {
6740 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
6741 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 533);
6748 /* method abstract_compiler#AbstractCompiler#target_platform= for (self: AbstractCompiler, Platform) */
6749 void nit___nit__AbstractCompiler___target_platform_61d(val
* self
, val
* p0
) {
6750 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
= p0
; /* _target_platform on <self:AbstractCompiler> */
6753 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler) */
6754 void nit___nit__AbstractCompiler___standard__kernel__Object__init(val
* self
) {
6755 val
* var
/* : MModule */;
6756 val
* var2
/* : MModule */;
6757 val
* var4
/* : Platform */;
6758 val
* var5
/* : MModule */;
6759 val
* var7
/* : MModule */;
6760 val
* var8
/* : nullable Platform */;
6761 val
* var9
/* : Platform */;
6763 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
6764 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6765 if (unlikely(var2
== NULL
)) {
6766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6775 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule= (self,var) on <self:AbstractCompiler> */
6776 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
= var
; /* _realmainmodule on <self:AbstractCompiler> */
6781 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
6782 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6783 if (unlikely(var7
== NULL
)) {
6784 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6793 var8
= nit__platform___MModule___target_platform(var5
);
6798 var9
= NEW_nit__Platform(&type_nit__Platform
);
6800 { /* Inline kernel#Object#init (var9) on <var9:Platform> */
6801 RET_LABEL10
:(void)0;
6807 { /* Inline abstract_compiler#AbstractCompiler#target_platform= (self,var4) on <self:AbstractCompiler> */
6808 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
= var4
; /* _target_platform on <self:AbstractCompiler> */
6809 RET_LABEL11
:(void)0;
6814 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
6815 val
* nit___nit__AbstractCompiler___new_file(val
* self
, val
* p0
) {
6816 val
* var
/* : CodeFile */;
6817 val
* var_name
/* var name: String */;
6818 val
* var1
/* : ModelBuilder */;
6819 val
* var3
/* : ModelBuilder */;
6820 val
* var4
/* : ToolContext */;
6821 val
* var6
/* : ToolContext */;
6822 val
* var7
/* : OptionBool */;
6823 val
* var9
/* : OptionBool */;
6824 val
* var10
/* : nullable Object */;
6825 val
* var12
/* : nullable Object */;
6826 short int var13
/* : Bool */;
6827 val
* var14
/* : List[CodeFile] */;
6828 val
* var16
/* : List[CodeFile] */;
6829 short int var17
/* : Bool */;
6830 val
* var18
/* : CodeFile */;
6831 val
* var19
/* : MModule */;
6832 val
* var21
/* : MModule */;
6833 val
* var22
/* : String */;
6834 val
* var_f
/* var f: CodeFile */;
6835 val
* var23
/* : List[CodeFile] */;
6836 val
* var25
/* : List[CodeFile] */;
6837 val
* var26
/* : List[CodeFile] */;
6838 val
* var28
/* : List[CodeFile] */;
6839 val
* var29
/* : nullable Object */;
6840 val
* var30
/* : CodeFile */;
6841 val
* var_f31
/* var f: CodeFile */;
6842 val
* var32
/* : List[CodeFile] */;
6843 val
* var34
/* : List[CodeFile] */;
6846 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
6847 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
6848 if (unlikely(var3
== NULL
)) {
6849 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
6850 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
6858 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var1) on <var1:ModelBuilder> */
6859 var6
= var1
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var1:ModelBuilder> */
6860 if (unlikely(var6
== NULL
)) {
6861 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6862 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
6870 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (var4) on <var4:ToolContext> */
6871 var9
= var4
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <var4:ToolContext> */
6872 if (unlikely(var9
== NULL
)) {
6873 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
6874 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 42);
6882 { /* Inline opts#Option#value (var7) on <var7:OptionBool> */
6883 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionBool> */
6885 RET_LABEL11
:(void)0;
6888 var13
= (short int)((long)(var10
)>>2);
6891 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
6892 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
6893 if (unlikely(var16
== NULL
)) {
6894 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
6899 RET_LABEL15
:(void)0;
6903 var17
= standard___standard__List___standard__abstract_collection__Collection__is_empty(var14
);
6906 var18
= NEW_nit__CodeFile(&type_nit__CodeFile
);
6908 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
6909 var21
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
6910 if (unlikely(var21
== NULL
)) {
6911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
6916 RET_LABEL20
:(void)0;
6920 var22
= nit___nit__MModule___nit__model_base__MEntity__c_name(var19
);
6923 ((void(*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nit__abstract_compiler__CodeFile__name_61d
]))(var18
, var22
); /* name= on <var18:CodeFile>*/
6926 ((void(*)(val
* self
))(var18
->class->vft
[COLOR_standard__kernel__Object__init
]))(var18
); /* init on <var18:CodeFile>*/
6930 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
6931 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
6932 if (unlikely(var25
== NULL
)) {
6933 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6934 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
6938 RET_LABEL24
:(void)0;
6942 standard___standard__Sequence___SimpleCollection__add(var23
, var_f
); /* Direct call abstract_collection#Sequence#add on <var23:List[CodeFile]>*/
6947 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
6948 var28
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
6949 if (unlikely(var28
== NULL
)) {
6950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
6955 RET_LABEL27
:(void)0;
6959 var29
= standard___standard__List___standard__abstract_collection__Collection__first(var26
);
6965 var30
= NEW_nit__CodeFile(&type_nit__CodeFile
);
6967 ((void(*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__abstract_compiler__CodeFile__name_61d
]))(var30
, var_name
); /* name= on <var30:CodeFile>*/
6970 ((void(*)(val
* self
))(var30
->class->vft
[COLOR_standard__kernel__Object__init
]))(var30
); /* init on <var30:CodeFile>*/
6974 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
6975 var34
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
6976 if (unlikely(var34
== NULL
)) {
6977 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
6978 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
6982 RET_LABEL33
:(void)0;
6986 standard___standard__Sequence___SimpleCollection__add(var32
, var_f31
); /* Direct call abstract_collection#Sequence#add on <var32:List[CodeFile]>*/
6993 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
6994 val
* nit___nit__AbstractCompiler___files(val
* self
) {
6995 val
* var
/* : List[CodeFile] */;
6996 val
* var1
/* : List[CodeFile] */;
6997 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
6998 if (unlikely(var1
== NULL
)) {
6999 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7000 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 562);
7007 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
7008 val
* nit___nit__AbstractCompiler___header(val
* self
) {
7009 val
* var
/* : CodeWriter */;
7010 val
* var1
/* : CodeWriter */;
7011 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
7012 if (unlikely(var1
== NULL
)) {
7013 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
7014 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
7021 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
7022 void nit___nit__AbstractCompiler___header_61d(val
* self
, val
* p0
) {
7023 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
= p0
; /* _header on <self:AbstractCompiler> */
7026 /* method abstract_compiler#AbstractCompiler#linker_script for (self: AbstractCompiler): Array[String] */
7027 val
* nit___nit__AbstractCompiler___linker_script(val
* self
) {
7028 val
* var
/* : Array[String] */;
7029 val
* var1
/* : Array[String] */;
7030 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:AbstractCompiler> */
7031 if (unlikely(var1
== NULL
)) {
7032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
7033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 572);
7040 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
7041 void nit___nit__AbstractCompiler___provide_declaration(val
* self
, val
* p0
, val
* p1
) {
7042 val
* var_key
/* var key: String */;
7043 val
* var_s
/* var s: String */;
7044 val
* var
/* : HashMap[String, String] */;
7045 val
* var2
/* : HashMap[String, String] */;
7046 short int var3
/* : Bool */;
7047 val
* var4
/* : HashMap[String, String] */;
7048 val
* var6
/* : HashMap[String, String] */;
7049 val
* var7
/* : nullable Object */;
7050 short int var8
/* : Bool */;
7051 val
* var9
/* : HashMap[String, String] */;
7052 val
* var11
/* : HashMap[String, String] */;
7056 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7057 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7058 if (unlikely(var2
== NULL
)) {
7059 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
7068 var3
= standard___standard__HashMap___standard__abstract_collection__MapRead__has_key(var
, var_key
);
7072 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7073 var6
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7074 if (unlikely(var6
== NULL
)) {
7075 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
7084 var7
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var4
, var_key
);
7087 var8
= ((short int(*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var7
, var_s
); /* == on <var7:nullable Object(String)>*/
7089 if (unlikely(!var8
)) {
7090 PRINT_ERROR("Runtime error: %s", "Assert failed");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 580);
7097 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7098 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7099 if (unlikely(var11
== NULL
)) {
7100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
7105 RET_LABEL10
:(void)0;
7109 standard___standard__HashMap___standard__abstract_collection__Map___91d_93d_61d(var9
, var_key
, var_s
); /* Direct call hash_collection#HashMap#[]= on <var9:HashMap[String, String]>*/
7113 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
7114 val
* nit___nit__AbstractCompiler___provided_declarations(val
* self
) {
7115 val
* var
/* : HashMap[String, String] */;
7116 val
* var1
/* : HashMap[String, String] */;
7117 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7118 if (unlikely(var1
== NULL
)) {
7119 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7120 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 585);
7127 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations for (self: AbstractCompiler): HashMap[String, ANode] */
7128 val
* nit___nit__AbstractCompiler___requirers_of_declarations(val
* self
) {
7129 val
* var
/* : HashMap[String, ANode] */;
7130 val
* var1
/* : HashMap[String, ANode] */;
7131 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <self:AbstractCompiler> */
7132 if (unlikely(var1
== NULL
)) {
7133 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
7134 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 587);
7141 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: AbstractCompiler) */
7142 void nit___nit__AbstractCompiler___build_c_to_nit_bindings(val
* self
) {
7143 val
* var
/* : Toolchain */;
7144 val
* var2
/* : Toolchain */;
7145 val
* var3
/* : String */;
7146 val
* var_compile_dir
/* var compile_dir: String */;
7147 val
* var4
/* : FileWriter */;
7148 val
* var5
/* : NativeArray[String] */;
7149 static val
* varonce
;
7150 static val
* varonce6
;
7151 val
* var7
/* : String */;
7152 char* var8
/* : NativeString */;
7153 val
* var9
/* : FlatString */;
7154 val
* var10
/* : String */;
7155 val
* var_stream
/* var stream: FileWriter */;
7156 static val
* varonce11
;
7157 val
* var12
/* : String */;
7158 char* var13
/* : NativeString */;
7159 val
* var14
/* : FlatString */;
7160 static val
* varonce15
;
7161 val
* var16
/* : String */;
7162 char* var17
/* : NativeString */;
7163 val
* var18
/* : FlatString */;
7164 static val
* varonce19
;
7165 val
* var20
/* : String */;
7166 char* var21
/* : NativeString */;
7167 val
* var22
/* : FlatString */;
7168 static val
* varonce23
;
7169 val
* var24
/* : String */;
7170 char* var25
/* : NativeString */;
7171 val
* var26
/* : FlatString */;
7172 static val
* varonce27
;
7173 val
* var28
/* : String */;
7174 char* var29
/* : NativeString */;
7175 val
* var30
/* : FlatString */;
7176 static val
* varonce31
;
7177 val
* var32
/* : String */;
7178 char* var33
/* : NativeString */;
7179 val
* var34
/* : FlatString */;
7180 static val
* varonce35
;
7181 val
* var36
/* : String */;
7182 char* var37
/* : NativeString */;
7183 val
* var38
/* : FlatString */;
7184 static val
* varonce39
;
7185 val
* var40
/* : String */;
7186 char* var41
/* : NativeString */;
7187 val
* var42
/* : FlatString */;
7188 val
* var44
/* : NativeArray[String] */;
7189 static val
* varonce43
;
7190 static val
* varonce45
;
7191 val
* var46
/* : String */;
7192 char* var47
/* : NativeString */;
7193 val
* var48
/* : FlatString */;
7194 static val
* varonce49
;
7195 val
* var50
/* : String */;
7196 char* var51
/* : NativeString */;
7197 val
* var52
/* : FlatString */;
7198 val
* var53
/* : HashMap[String, String] */;
7199 val
* var55
/* : HashMap[String, String] */;
7200 long var56
/* : Int */;
7201 val
* var57
/* : String */;
7202 val
* var58
/* : String */;
7203 val
* var59
/* : HashMap[String, String] */;
7204 val
* var61
/* : HashMap[String, String] */;
7205 val
* var62
/* : RemovableCollection[nullable Object] */;
7206 val
* var_
/* var : RemovableCollection[String] */;
7207 val
* var63
/* : Iterator[nullable Object] */;
7208 val
* var_64
/* var : Iterator[String] */;
7209 short int var65
/* : Bool */;
7210 val
* var66
/* : nullable Object */;
7211 val
* var_i
/* var i: String */;
7212 static val
* varonce67
;
7213 val
* var68
/* : String */;
7214 char* var69
/* : NativeString */;
7215 val
* var70
/* : FlatString */;
7216 val
* var71
/* : String */;
7217 static val
* varonce72
;
7218 val
* var73
/* : String */;
7219 char* var74
/* : NativeString */;
7220 val
* var75
/* : FlatString */;
7221 val
* var76
/* : HashMap[String, String] */;
7222 val
* var78
/* : HashMap[String, String] */;
7223 val
* var79
/* : nullable Object */;
7224 val
* var80
/* : String */;
7225 static val
* varonce81
;
7226 val
* var82
/* : String */;
7227 char* var83
/* : NativeString */;
7228 val
* var84
/* : FlatString */;
7229 static val
* varonce85
;
7230 val
* var86
/* : String */;
7231 char* var87
/* : NativeString */;
7232 val
* var88
/* : FlatString */;
7233 static val
* varonce89
;
7234 val
* var90
/* : String */;
7235 char* var91
/* : NativeString */;
7236 val
* var92
/* : FlatString */;
7237 val
* var94
/* : NativeArray[String] */;
7238 static val
* varonce93
;
7239 static val
* varonce95
;
7240 val
* var96
/* : String */;
7241 char* var97
/* : NativeString */;
7242 val
* var98
/* : FlatString */;
7243 static val
* varonce99
;
7244 val
* var100
/* : String */;
7245 char* var101
/* : NativeString */;
7246 val
* var102
/* : FlatString */;
7247 val
* var103
/* : HashMap[String, String] */;
7248 val
* var105
/* : HashMap[String, String] */;
7249 long var106
/* : Int */;
7250 val
* var107
/* : String */;
7251 val
* var108
/* : String */;
7252 static val
* varonce109
;
7253 val
* var110
/* : String */;
7254 char* var111
/* : NativeString */;
7255 val
* var112
/* : FlatString */;
7256 static val
* varonce113
;
7257 val
* var114
/* : String */;
7258 char* var115
/* : NativeString */;
7259 val
* var116
/* : FlatString */;
7260 static val
* varonce117
;
7261 val
* var118
/* : String */;
7262 char* var119
/* : NativeString */;
7263 val
* var120
/* : FlatString */;
7264 static val
* varonce121
;
7265 val
* var122
/* : String */;
7266 char* var123
/* : NativeString */;
7267 val
* var124
/* : FlatString */;
7268 static val
* varonce125
;
7269 val
* var126
/* : String */;
7270 char* var127
/* : NativeString */;
7271 val
* var128
/* : FlatString */;
7272 static val
* varonce129
;
7273 val
* var130
/* : String */;
7274 char* var131
/* : NativeString */;
7275 val
* var132
/* : FlatString */;
7276 static val
* varonce133
;
7277 val
* var134
/* : String */;
7278 char* var135
/* : NativeString */;
7279 val
* var136
/* : FlatString */;
7280 static val
* varonce137
;
7281 val
* var138
/* : String */;
7282 char* var139
/* : NativeString */;
7283 val
* var140
/* : FlatString */;
7284 val
* var141
/* : FileWriter */;
7285 val
* var143
/* : NativeArray[String] */;
7286 static val
* varonce142
;
7287 static val
* varonce144
;
7288 val
* var145
/* : String */;
7289 char* var146
/* : NativeString */;
7290 val
* var147
/* : FlatString */;
7291 val
* var148
/* : String */;
7292 static val
* varonce149
;
7293 val
* var150
/* : String */;
7294 char* var151
/* : NativeString */;
7295 val
* var152
/* : FlatString */;
7296 val
* var153
/* : Array[ExternFile] */;
7297 val
* var155
/* : Array[ExternFile] */;
7298 val
* var156
/* : ExternCFile */;
7299 val
* var158
/* : NativeArray[String] */;
7300 static val
* varonce157
;
7301 static val
* varonce159
;
7302 val
* var160
/* : String */;
7303 char* var161
/* : NativeString */;
7304 val
* var162
/* : FlatString */;
7305 val
* var163
/* : String */;
7306 static val
* varonce164
;
7307 val
* var165
/* : String */;
7308 char* var166
/* : NativeString */;
7309 val
* var167
/* : FlatString */;
7311 { /* Inline abstract_compiler#AbstractCompiler#toolchain (self) on <self:AbstractCompiler> */
7312 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___toolchain
].val
; /* _toolchain on <self:AbstractCompiler> */
7313 if (unlikely(var2
== NULL
)) {
7314 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolchain");
7315 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 525);
7323 var3
= nit___nit__Toolchain___compile_dir(var
);
7325 var_compile_dir
= var3
;
7326 var4
= NEW_standard__FileWriter(&type_standard__FileWriter
);
7327 if (unlikely(varonce
==NULL
)) {
7328 var5
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7329 if (likely(varonce6
!=NULL
)) {
7332 var8
= "/c_functions_hash.c";
7333 var9
= standard___standard__NativeString___to_s_with_length(var8
, 19l);
7337 ((struct instance_standard__NativeArray
*)var5
)->values
[1]=var7
;
7342 ((struct instance_standard__NativeArray
*)var5
)->values
[0]=var_compile_dir
;
7344 var10
= ((val
*(*)(val
* self
))(var5
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var5
); /* native_to_s on <var5:NativeArray[String]>*/
7348 standard___standard__FileWriter___open(var4
, var10
); /* Direct call file#FileWriter#open on <var4:FileWriter>*/
7351 if (likely(varonce11
!=NULL
)) {
7354 var13
= "#include <string.h>\n";
7355 var14
= standard___standard__NativeString___to_s_with_length(var13
, 20l);
7360 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var12
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7362 if (likely(varonce15
!=NULL
)) {
7365 var17
= "#include <stdlib.h>\n";
7366 var18
= standard___standard__NativeString___to_s_with_length(var17
, 20l);
7371 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var16
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7373 if (likely(varonce19
!=NULL
)) {
7376 var21
= "#include \"c_functions_hash.h\"\n";
7377 var22
= standard___standard__NativeString___to_s_with_length(var21
, 30l);
7382 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var20
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7384 if (likely(varonce23
!=NULL
)) {
7387 var25
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
7388 var26
= standard___standard__NativeString___to_s_with_length(var25
, 68l);
7393 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var24
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7395 if (likely(varonce27
!=NULL
)) {
7398 var29
= "const char* get_nit_name(register const char* procproc, register unsigned int len){\n";
7399 var30
= standard___standard__NativeString___to_s_with_length(var29
, 84l);
7404 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var28
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7406 if (likely(varonce31
!=NULL
)) {
7409 var33
= "char* procname = malloc(len+1);";
7410 var34
= standard___standard__NativeString___to_s_with_length(var33
, 31l);
7415 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var32
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7417 if (likely(varonce35
!=NULL
)) {
7420 var37
= "memcpy(procname, procproc, len);";
7421 var38
= standard___standard__NativeString___to_s_with_length(var37
, 32l);
7426 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var36
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7428 if (likely(varonce39
!=NULL
)) {
7431 var41
= "procname[len] = \'\\0\';";
7432 var42
= standard___standard__NativeString___to_s_with_length(var41
, 21l);
7437 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var40
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7439 if (unlikely(varonce43
==NULL
)) {
7440 var44
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7441 if (likely(varonce45
!=NULL
)) {
7444 var47
= "static const C_Nit_Names map[";
7445 var48
= standard___standard__NativeString___to_s_with_length(var47
, 29l);
7449 ((struct instance_standard__NativeArray
*)var44
)->values
[0]=var46
;
7450 if (likely(varonce49
!=NULL
)) {
7454 var52
= standard___standard__NativeString___to_s_with_length(var51
, 6l);
7458 ((struct instance_standard__NativeArray
*)var44
)->values
[2]=var50
;
7464 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7465 var55
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7466 if (unlikely(var55
== NULL
)) {
7467 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 512);
7472 RET_LABEL54
:(void)0;
7476 var56
= standard___standard__HashMap___standard__abstract_collection__MapRead__length(var53
);
7478 var57
= standard__string___Int___Object__to_s(var56
);
7479 ((struct instance_standard__NativeArray
*)var44
)->values
[1]=var57
;
7481 var58
= ((val
*(*)(val
* self
))(var44
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var44
); /* native_to_s on <var44:NativeArray[String]>*/
7485 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var58
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7488 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7489 var61
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7490 if (unlikely(var61
== NULL
)) {
7491 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7492 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 512);
7496 RET_LABEL60
:(void)0;
7500 var62
= standard___standard__HashMap___standard__abstract_collection__MapRead__keys(var59
);
7504 var63
= ((val
*(*)(val
* self
))((((long)var_
&3)?class_info
[((long)var_
&3)]:var_
->class)->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
); /* iterator on <var_:RemovableCollection[String]>*/
7509 var65
= ((short int(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_64
); /* is_ok on <var_64:Iterator[String]>*/
7513 var66
= ((val
*(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_64
); /* item on <var_64:Iterator[String]>*/
7516 if (likely(varonce67
!=NULL
)) {
7520 var70
= standard___standard__NativeString___to_s_with_length(var69
, 2l);
7525 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var68
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7528 var71
= standard___standard__Text___escape_to_c(var_i
);
7531 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var71
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7533 if (likely(varonce72
!=NULL
)) {
7537 var75
= standard___standard__NativeString___to_s_with_length(var74
, 3l);
7542 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var73
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7545 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7546 var78
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7547 if (unlikely(var78
== NULL
)) {
7548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 512);
7553 RET_LABEL77
:(void)0;
7557 var79
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var76
, var_i
);
7560 var80
= standard___standard__Text___escape_to_c(var79
);
7563 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var80
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7565 if (likely(varonce81
!=NULL
)) {
7569 var84
= standard___standard__NativeString___to_s_with_length(var83
, 4l);
7574 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var82
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7577 ((void(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_64
); /* next on <var_64:Iterator[String]>*/
7583 BREAK_label
: (void)0;
7585 ((void(*)(val
* self
))((((long)var_64
&3)?class_info
[((long)var_64
&3)]:var_64
->class)->vft
[COLOR_standard__abstract_collection__Iterator__finish
]))(var_64
); /* finish on <var_64:Iterator[String]>*/
7587 if (likely(varonce85
!=NULL
)) {
7591 var88
= standard___standard__NativeString___to_s_with_length(var87
, 3l);
7596 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var86
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7598 if (likely(varonce89
!=NULL
)) {
7602 var92
= standard___standard__NativeString___to_s_with_length(var91
, 6l);
7607 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var90
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7609 if (unlikely(varonce93
==NULL
)) {
7610 var94
= NEW_standard__NativeArray(3l, &type_standard__NativeArray__standard__String
);
7611 if (likely(varonce95
!=NULL
)) {
7614 var97
= "for(i = 0; i < ";
7615 var98
= standard___standard__NativeString___to_s_with_length(var97
, 15l);
7619 ((struct instance_standard__NativeArray
*)var94
)->values
[0]=var96
;
7620 if (likely(varonce99
!=NULL
)) {
7624 var102
= standard___standard__NativeString___to_s_with_length(var101
, 7l);
7628 ((struct instance_standard__NativeArray
*)var94
)->values
[2]=var100
;
7634 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7635 var105
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7636 if (unlikely(var105
== NULL
)) {
7637 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7638 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 512);
7642 RET_LABEL104
:(void)0;
7646 var106
= standard___standard__HashMap___standard__abstract_collection__MapRead__length(var103
);
7648 var107
= standard__string___Int___Object__to_s(var106
);
7649 ((struct instance_standard__NativeArray
*)var94
)->values
[1]=var107
;
7651 var108
= ((val
*(*)(val
* self
))(var94
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var94
); /* native_to_s on <var94:NativeArray[String]>*/
7655 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var108
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7657 if (likely(varonce109
!=NULL
)) {
7658 var110
= varonce109
;
7660 var111
= "if(strcmp(procname,map[i].name) == 0){";
7661 var112
= standard___standard__NativeString___to_s_with_length(var111
, 38l);
7663 varonce109
= var110
;
7666 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var110
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7668 if (likely(varonce113
!=NULL
)) {
7669 var114
= varonce113
;
7671 var115
= "free(procname);";
7672 var116
= standard___standard__NativeString___to_s_with_length(var115
, 15l);
7674 varonce113
= var114
;
7677 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var114
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7679 if (likely(varonce117
!=NULL
)) {
7680 var118
= varonce117
;
7682 var119
= "return map[i].nit_name;";
7683 var120
= standard___standard__NativeString___to_s_with_length(var119
, 23l);
7685 varonce117
= var118
;
7688 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var118
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7690 if (likely(varonce121
!=NULL
)) {
7691 var122
= varonce121
;
7694 var124
= standard___standard__NativeString___to_s_with_length(var123
, 1l);
7696 varonce121
= var122
;
7699 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var122
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7701 if (likely(varonce125
!=NULL
)) {
7702 var126
= varonce125
;
7705 var128
= standard___standard__NativeString___to_s_with_length(var127
, 1l);
7707 varonce125
= var126
;
7710 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var126
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7712 if (likely(varonce129
!=NULL
)) {
7713 var130
= varonce129
;
7715 var131
= "free(procname);";
7716 var132
= standard___standard__NativeString___to_s_with_length(var131
, 15l);
7718 varonce129
= var130
;
7721 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var130
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7723 if (likely(varonce133
!=NULL
)) {
7724 var134
= varonce133
;
7726 var135
= "return NULL;";
7727 var136
= standard___standard__NativeString___to_s_with_length(var135
, 12l);
7729 varonce133
= var134
;
7732 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var134
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7734 if (likely(varonce137
!=NULL
)) {
7735 var138
= varonce137
;
7738 var140
= standard___standard__NativeString___to_s_with_length(var139
, 2l);
7740 varonce137
= var138
;
7743 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var138
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7746 standard___standard__FileWriter___standard__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
7748 var141
= NEW_standard__FileWriter(&type_standard__FileWriter
);
7749 if (unlikely(varonce142
==NULL
)) {
7750 var143
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7751 if (likely(varonce144
!=NULL
)) {
7752 var145
= varonce144
;
7754 var146
= "/c_functions_hash.h";
7755 var147
= standard___standard__NativeString___to_s_with_length(var146
, 19l);
7757 varonce144
= var145
;
7759 ((struct instance_standard__NativeArray
*)var143
)->values
[1]=var145
;
7761 var143
= varonce142
;
7764 ((struct instance_standard__NativeArray
*)var143
)->values
[0]=var_compile_dir
;
7766 var148
= ((val
*(*)(val
* self
))(var143
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var143
); /* native_to_s on <var143:NativeArray[String]>*/
7768 varonce142
= var143
;
7770 standard___standard__FileWriter___open(var141
, var148
); /* Direct call file#FileWriter#open on <var141:FileWriter>*/
7772 var_stream
= var141
;
7773 if (likely(varonce149
!=NULL
)) {
7774 var150
= varonce149
;
7776 var151
= "const char* get_nit_name(register const char* procname, register unsigned int len);\n";
7777 var152
= standard___standard__NativeString___to_s_with_length(var151
, 84l);
7779 varonce149
= var150
;
7782 standard___standard__FileWriter___standard__stream__Writer__write(var_stream
, var150
); /* Direct call file#FileWriter#write on <var_stream:FileWriter>*/
7785 standard___standard__FileWriter___standard__stream__Stream__close(var_stream
); /* Direct call file#FileWriter#close on <var_stream:FileWriter>*/
7788 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (self) on <self:AbstractCompiler> */
7789 var155
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
7790 if (unlikely(var155
== NULL
)) {
7791 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
7792 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 979);
7796 RET_LABEL154
:(void)0;
7799 var156
= NEW_nit__ExternCFile(&type_nit__ExternCFile
);
7800 if (unlikely(varonce157
==NULL
)) {
7801 var158
= NEW_standard__NativeArray(2l, &type_standard__NativeArray__standard__String
);
7802 if (likely(varonce159
!=NULL
)) {
7803 var160
= varonce159
;
7805 var161
= "/c_functions_hash.c";
7806 var162
= standard___standard__NativeString___to_s_with_length(var161
, 19l);
7808 varonce159
= var160
;
7810 ((struct instance_standard__NativeArray
*)var158
)->values
[1]=var160
;
7812 var158
= varonce157
;
7815 ((struct instance_standard__NativeArray
*)var158
)->values
[0]=var_compile_dir
;
7817 var163
= ((val
*(*)(val
* self
))(var158
->class->vft
[COLOR_standard__string__NativeArray__native_to_s
]))(var158
); /* native_to_s on <var158:NativeArray[String]>*/
7819 varonce157
= var158
;
7820 if (likely(varonce164
!=NULL
)) {
7821 var165
= varonce164
;
7824 var167
= standard___standard__NativeString___to_s_with_length(var166
, 0l);
7826 varonce164
= var165
;
7829 ((void(*)(val
* self
, val
* p0
))(var156
->class->vft
[COLOR_nit__c_tools__ExternFile__filename_61d
]))(var156
, var163
); /* filename= on <var156:ExternCFile>*/
7832 ((void(*)(val
* self
, val
* p0
))(var156
->class->vft
[COLOR_nit__c_tools__ExternCFile__cflags_61d
]))(var156
, var165
); /* cflags= on <var156:ExternCFile>*/
7835 ((void(*)(val
* self
))(var156
->class->vft
[COLOR_standard__kernel__Object__init
]))(var156
); /* init on <var156:ExternCFile>*/
7838 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var153
, var156
); /* Direct call array#Array#add on <var153:Array[ExternFile]>*/
7842 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
7843 void nit___nit__AbstractCompiler___compile_header(val
* self
) {
7844 val
* var
/* : CodeWriter */;
7845 val
* var2
/* : CodeWriter */;
7846 static val
* varonce
;
7847 val
* var3
/* : String */;
7848 char* var4
/* : NativeString */;
7849 val
* var5
/* : FlatString */;
7850 val
* var6
/* : CodeWriter */;
7851 val
* var8
/* : CodeWriter */;
7852 static val
* varonce9
;
7853 val
* var10
/* : String */;
7854 char* var11
/* : NativeString */;
7855 val
* var12
/* : FlatString */;
7856 val
* var13
/* : CodeWriter */;
7857 val
* var15
/* : CodeWriter */;
7858 static val
* varonce16
;
7859 val
* var17
/* : String */;
7860 char* var18
/* : NativeString */;
7861 val
* var19
/* : FlatString */;
7862 val
* var20
/* : CodeWriter */;
7863 val
* var22
/* : CodeWriter */;
7864 static val
* varonce23
;
7865 val
* var24
/* : String */;
7866 char* var25
/* : NativeString */;
7867 val
* var26
/* : FlatString */;
7868 val
* var27
/* : CodeWriter */;
7869 val
* var29
/* : CodeWriter */;
7870 static val
* varonce30
;
7871 val
* var31
/* : String */;
7872 char* var32
/* : NativeString */;
7873 val
* var33
/* : FlatString */;
7874 val
* var34
/* : CodeWriter */;
7875 val
* var36
/* : CodeWriter */;
7876 static val
* varonce37
;
7877 val
* var38
/* : String */;
7878 char* var39
/* : NativeString */;
7879 val
* var40
/* : FlatString */;
7880 val
* var41
/* : CodeWriter */;
7881 val
* var43
/* : CodeWriter */;
7882 static val
* varonce44
;
7883 val
* var45
/* : String */;
7884 char* var46
/* : NativeString */;
7885 val
* var47
/* : FlatString */;
7886 val
* var48
/* : CodeWriter */;
7887 val
* var50
/* : CodeWriter */;
7888 static val
* varonce51
;
7889 val
* var52
/* : String */;
7890 char* var53
/* : NativeString */;
7891 val
* var54
/* : FlatString */;
7892 val
* var55
/* : CodeWriter */;
7893 val
* var57
/* : CodeWriter */;
7894 static val
* varonce58
;
7895 val
* var59
/* : String */;
7896 char* var60
/* : NativeString */;
7897 val
* var61
/* : FlatString */;
7898 val
* var62
/* : CodeWriter */;
7899 val
* var64
/* : CodeWriter */;
7900 static val
* varonce65
;
7901 val
* var66
/* : String */;
7902 char* var67
/* : NativeString */;
7903 val
* var68
/* : FlatString */;
7904 val
* var69
/* : CodeWriter */;
7905 val
* var71
/* : CodeWriter */;
7906 static val
* varonce72
;
7907 val
* var73
/* : String */;
7908 char* var74
/* : NativeString */;
7909 val
* var75
/* : FlatString */;
7910 val
* var76
/* : CodeWriter */;
7911 val
* var78
/* : CodeWriter */;
7912 static val
* varonce79
;
7913 val
* var80
/* : String */;
7914 char* var81
/* : NativeString */;
7915 val
* var82
/* : FlatString */;
7916 val
* var83
/* : CodeWriter */;
7917 val
* var85
/* : CodeWriter */;
7918 static val
* varonce86
;
7919 val
* var87
/* : String */;
7920 char* var88
/* : NativeString */;
7921 val
* var89
/* : FlatString */;
7922 val
* var90
/* : ModelBuilder */;
7923 val
* var92
/* : ModelBuilder */;
7924 val
* var93
/* : ToolContext */;
7925 val
* var95
/* : ToolContext */;
7926 val
* var96
/* : OptionArray */;
7927 val
* var98
/* : OptionArray */;
7928 val
* var99
/* : nullable Object */;
7929 val
* var101
/* : nullable Object */;
7930 val
* var_gccd_disable
/* var gccd_disable: Array[String] */;
7931 short int var102
/* : Bool */;
7932 static val
* varonce103
;
7933 val
* var104
/* : String */;
7934 char* var105
/* : NativeString */;
7935 val
* var106
/* : FlatString */;
7936 short int var107
/* : Bool */;
7937 short int var_
/* var : Bool */;
7938 static val
* varonce108
;
7939 val
* var109
/* : String */;
7940 char* var110
/* : NativeString */;
7941 val
* var111
/* : FlatString */;
7942 short int var112
/* : Bool */;
7943 val
* var113
/* : CodeWriter */;
7944 val
* var115
/* : CodeWriter */;
7945 static val
* varonce116
;
7946 val
* var117
/* : String */;
7947 char* var118
/* : NativeString */;
7948 val
* var119
/* : FlatString */;
7949 val
* var120
/* : CodeWriter */;
7950 val
* var122
/* : CodeWriter */;
7951 static val
* varonce123
;
7952 val
* var124
/* : String */;
7953 char* var125
/* : NativeString */;
7954 val
* var126
/* : FlatString */;
7955 short int var127
/* : Bool */;
7956 static val
* varonce128
;
7957 val
* var129
/* : String */;
7958 char* var130
/* : NativeString */;
7959 val
* var131
/* : FlatString */;
7960 short int var132
/* : Bool */;
7961 short int var_133
/* var : Bool */;
7962 static val
* varonce134
;
7963 val
* var135
/* : String */;
7964 char* var136
/* : NativeString */;
7965 val
* var137
/* : FlatString */;
7966 short int var138
/* : Bool */;
7967 val
* var139
/* : CodeWriter */;
7968 val
* var141
/* : CodeWriter */;
7969 static val
* varonce142
;
7970 val
* var143
/* : String */;
7971 char* var144
/* : NativeString */;
7972 val
* var145
/* : FlatString */;
7973 val
* var146
/* : CodeWriter */;
7974 val
* var148
/* : CodeWriter */;
7975 static val
* varonce149
;
7976 val
* var150
/* : String */;
7977 char* var151
/* : NativeString */;
7978 val
* var152
/* : FlatString */;
7979 static val
* varonce153
;
7980 val
* var154
/* : String */;
7981 char* var155
/* : NativeString */;
7982 val
* var156
/* : FlatString */;
7983 short int var157
/* : Bool */;
7984 val
* var158
/* : CodeWriter */;
7985 val
* var160
/* : CodeWriter */;
7986 static val
* varonce161
;
7987 val
* var162
/* : String */;
7988 char* var163
/* : NativeString */;
7989 val
* var164
/* : FlatString */;
7990 val
* var165
/* : CodeWriter */;
7991 val
* var167
/* : CodeWriter */;
7992 static val
* varonce168
;
7993 val
* var169
/* : String */;
7994 char* var170
/* : NativeString */;
7995 val
* var171
/* : FlatString */;
7996 val
* var172
/* : CodeWriter */;
7997 val
* var174
/* : CodeWriter */;
7998 static val
* varonce175
;
7999 val
* var176
/* : String */;
8000 char* var177
/* : NativeString */;
8001 val
* var178
/* : FlatString */;
8002 val
* var179
/* : CodeWriter */;
8003 val
* var181
/* : CodeWriter */;
8004 static val
* varonce182
;
8005 val
* var183
/* : String */;
8006 char* var184
/* : NativeString */;
8007 val
* var185
/* : FlatString */;
8008 val
* var186
/* : CodeWriter */;
8009 val
* var188
/* : CodeWriter */;
8010 static val
* varonce189
;
8011 val
* var190
/* : String */;
8012 char* var191
/* : NativeString */;
8013 val
* var192
/* : FlatString */;
8014 val
* var193
/* : CodeWriter */;
8015 val
* var195
/* : CodeWriter */;
8016 static val
* varonce196
;
8017 val
* var197
/* : String */;
8018 char* var198
/* : NativeString */;
8019 val
* var199
/* : FlatString */;
8020 val
* var200
/* : CodeWriter */;
8021 val
* var202
/* : CodeWriter */;
8022 static val
* varonce203
;
8023 val
* var204
/* : String */;
8024 char* var205
/* : NativeString */;
8025 val
* var206
/* : FlatString */;
8027 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8028 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8029 if (unlikely(var2
== NULL
)) {
8030 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8031 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8038 if (likely(varonce
!=NULL
)) {
8041 var4
= "#include <stdlib.h>";
8042 var5
= standard___standard__NativeString___to_s_with_length(var4
, 19l);
8047 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
8050 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8051 var8
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8052 if (unlikely(var8
== NULL
)) {
8053 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8054 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8061 if (likely(varonce9
!=NULL
)) {
8064 var11
= "#include <stdio.h>";
8065 var12
= standard___standard__NativeString___to_s_with_length(var11
, 18l);
8070 nit___nit__CodeWriter___add_decl(var6
, var10
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var6:CodeWriter>*/
8073 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8074 var15
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8075 if (unlikely(var15
== NULL
)) {
8076 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8077 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8081 RET_LABEL14
:(void)0;
8084 if (likely(varonce16
!=NULL
)) {
8087 var18
= "#include <string.h>";
8088 var19
= standard___standard__NativeString___to_s_with_length(var18
, 19l);
8093 nit___nit__CodeWriter___add_decl(var13
, var17
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var13:CodeWriter>*/
8096 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8097 var22
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8098 if (unlikely(var22
== NULL
)) {
8099 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8100 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8104 RET_LABEL21
:(void)0;
8107 if (likely(varonce23
!=NULL
)) {
8110 var25
= "#include <sys/types.h>\n";
8111 var26
= standard___standard__NativeString___to_s_with_length(var25
, 23l);
8116 nit___nit__CodeWriter___add_decl(var20
, var24
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var20:CodeWriter>*/
8119 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8120 var29
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8121 if (unlikely(var29
== NULL
)) {
8122 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8127 RET_LABEL28
:(void)0;
8130 if (likely(varonce30
!=NULL
)) {
8133 var32
= "#include <unistd.h>\n";
8134 var33
= standard___standard__NativeString___to_s_with_length(var32
, 20l);
8139 nit___nit__CodeWriter___add_decl(var27
, var31
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var27:CodeWriter>*/
8142 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8143 var36
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8144 if (unlikely(var36
== NULL
)) {
8145 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8146 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8150 RET_LABEL35
:(void)0;
8153 if (likely(varonce37
!=NULL
)) {
8156 var39
= "#include <stdint.h>\n";
8157 var40
= standard___standard__NativeString___to_s_with_length(var39
, 20l);
8162 nit___nit__CodeWriter___add_decl(var34
, var38
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var34:CodeWriter>*/
8165 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8166 var43
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8167 if (unlikely(var43
== NULL
)) {
8168 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8169 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8173 RET_LABEL42
:(void)0;
8176 if (likely(varonce44
!=NULL
)) {
8179 var46
= "#include \"gc_chooser.h\"";
8180 var47
= standard___standard__NativeString___to_s_with_length(var46
, 23l);
8185 nit___nit__CodeWriter___add_decl(var41
, var45
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var41:CodeWriter>*/
8188 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8189 var50
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8190 if (unlikely(var50
== NULL
)) {
8191 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8192 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8196 RET_LABEL49
:(void)0;
8199 if (likely(varonce51
!=NULL
)) {
8202 var53
= "#ifdef ANDROID";
8203 var54
= standard___standard__NativeString___to_s_with_length(var53
, 14l);
8208 nit___nit__CodeWriter___add_decl(var48
, var52
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var48:CodeWriter>*/
8211 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8212 var57
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8213 if (unlikely(var57
== NULL
)) {
8214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8219 RET_LABEL56
:(void)0;
8222 if (likely(varonce58
!=NULL
)) {
8225 var60
= "\t#include <android/log.h>";
8226 var61
= standard___standard__NativeString___to_s_with_length(var60
, 25l);
8231 nit___nit__CodeWriter___add_decl(var55
, var59
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var55:CodeWriter>*/
8234 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8235 var64
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8236 if (unlikely(var64
== NULL
)) {
8237 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8238 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8242 RET_LABEL63
:(void)0;
8245 if (likely(varonce65
!=NULL
)) {
8248 var67
= "\t#define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, \"Nit\", __VA_ARGS__)";
8249 var68
= standard___standard__NativeString___to_s_with_length(var67
, 89l);
8254 nit___nit__CodeWriter___add_decl(var62
, var66
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var62:CodeWriter>*/
8257 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8258 var71
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8259 if (unlikely(var71
== NULL
)) {
8260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8261 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8265 RET_LABEL70
:(void)0;
8268 if (likely(varonce72
!=NULL
)) {
8272 var75
= standard___standard__NativeString___to_s_with_length(var74
, 5l);
8277 nit___nit__CodeWriter___add_decl(var69
, var73
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var69:CodeWriter>*/
8280 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8281 var78
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8282 if (unlikely(var78
== NULL
)) {
8283 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8284 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8288 RET_LABEL77
:(void)0;
8291 if (likely(varonce79
!=NULL
)) {
8294 var81
= "\t#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)";
8295 var82
= standard___standard__NativeString___to_s_with_length(var81
, 54l);
8300 nit___nit__CodeWriter___add_decl(var76
, var80
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var76:CodeWriter>*/
8303 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8304 var85
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8305 if (unlikely(var85
== NULL
)) {
8306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8311 RET_LABEL84
:(void)0;
8314 if (likely(varonce86
!=NULL
)) {
8318 var89
= standard___standard__NativeString___to_s_with_length(var88
, 6l);
8323 nit___nit__CodeWriter___add_decl(var83
, var87
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var83:CodeWriter>*/
8326 ((void(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
); /* compile_header_structs on <self:AbstractCompiler>*/
8329 nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs(self
); /* Direct call separate_compiler#SeparateCompiler#compile_nitni_structs on <self:AbstractCompiler>*/
8332 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
8333 var92
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8334 if (unlikely(var92
== NULL
)) {
8335 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8336 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
8340 RET_LABEL91
:(void)0;
8344 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var90) on <var90:ModelBuilder> */
8345 var95
= var90
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var90:ModelBuilder> */
8346 if (unlikely(var95
== NULL
)) {
8347 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8348 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8352 RET_LABEL94
:(void)0;
8356 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (var93) on <var93:ToolContext> */
8357 var98
= var93
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <var93:ToolContext> */
8358 if (unlikely(var98
== NULL
)) {
8359 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
8360 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 68);
8364 RET_LABEL97
:(void)0;
8368 { /* Inline opts#Option#value (var96) on <var96:OptionArray> */
8369 var101
= var96
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var96:OptionArray> */
8371 RET_LABEL100
:(void)0;
8374 var_gccd_disable
= var99
;
8375 if (likely(varonce103
!=NULL
)) {
8376 var104
= varonce103
;
8378 var105
= "noreturn";
8379 var106
= standard___standard__NativeString___to_s_with_length(var105
, 8l);
8381 varonce103
= var104
;
8384 var107
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var104
);
8390 if (likely(varonce108
!=NULL
)) {
8391 var109
= varonce108
;
8394 var111
= standard___standard__NativeString___to_s_with_length(var110
, 3l);
8396 varonce108
= var109
;
8399 var112
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var109
);
8405 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8406 var115
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8407 if (unlikely(var115
== NULL
)) {
8408 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8413 RET_LABEL114
:(void)0;
8416 if (likely(varonce116
!=NULL
)) {
8417 var117
= varonce116
;
8419 var118
= "void fatal_exit(int);";
8420 var119
= standard___standard__NativeString___to_s_with_length(var118
, 21l);
8422 varonce116
= var117
;
8425 nit___nit__CodeWriter___add_decl(var113
, var117
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var113:CodeWriter>*/
8429 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8430 var122
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8431 if (unlikely(var122
== NULL
)) {
8432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8433 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8437 RET_LABEL121
:(void)0;
8440 if (likely(varonce123
!=NULL
)) {
8441 var124
= varonce123
;
8443 var125
= "void fatal_exit(int) __attribute__ ((noreturn));";
8444 var126
= standard___standard__NativeString___to_s_with_length(var125
, 48l);
8446 varonce123
= var124
;
8449 nit___nit__CodeWriter___add_decl(var120
, var124
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var120:CodeWriter>*/
8452 if (likely(varonce128
!=NULL
)) {
8453 var129
= varonce128
;
8456 var131
= standard___standard__NativeString___to_s_with_length(var130
, 6l);
8458 varonce128
= var129
;
8461 var132
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var129
);
8467 if (likely(varonce134
!=NULL
)) {
8468 var135
= varonce134
;
8471 var137
= standard___standard__NativeString___to_s_with_length(var136
, 3l);
8473 varonce134
= var135
;
8476 var138
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var135
);
8482 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8483 var141
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8484 if (unlikely(var141
== NULL
)) {
8485 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8490 RET_LABEL140
:(void)0;
8493 if (likely(varonce142
!=NULL
)) {
8494 var143
= varonce142
;
8496 var144
= "#define likely(x) (x)";
8497 var145
= standard___standard__NativeString___to_s_with_length(var144
, 27l);
8499 varonce142
= var143
;
8502 nit___nit__CodeWriter___add_decl(var139
, var143
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var139:CodeWriter>*/
8505 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8506 var148
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8507 if (unlikely(var148
== NULL
)) {
8508 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8509 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8513 RET_LABEL147
:(void)0;
8516 if (likely(varonce149
!=NULL
)) {
8517 var150
= varonce149
;
8519 var151
= "#define unlikely(x) (x)";
8520 var152
= standard___standard__NativeString___to_s_with_length(var151
, 27l);
8522 varonce149
= var150
;
8525 nit___nit__CodeWriter___add_decl(var146
, var150
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var146:CodeWriter>*/
8528 if (likely(varonce153
!=NULL
)) {
8529 var154
= varonce153
;
8531 var155
= "correct-likely";
8532 var156
= standard___standard__NativeString___to_s_with_length(var155
, 14l);
8534 varonce153
= var154
;
8537 var157
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var154
);
8541 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8542 var160
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8543 if (unlikely(var160
== NULL
)) {
8544 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8545 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8549 RET_LABEL159
:(void)0;
8552 if (likely(varonce161
!=NULL
)) {
8553 var162
= varonce161
;
8555 var163
= "#define likely(x) __builtin_expect((x),0)";
8556 var164
= standard___standard__NativeString___to_s_with_length(var163
, 47l);
8558 varonce161
= var162
;
8561 nit___nit__CodeWriter___add_decl(var158
, var162
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var158:CodeWriter>*/
8564 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8565 var167
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8566 if (unlikely(var167
== NULL
)) {
8567 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8572 RET_LABEL166
:(void)0;
8575 if (likely(varonce168
!=NULL
)) {
8576 var169
= varonce168
;
8578 var170
= "#define unlikely(x) __builtin_expect((x),1)";
8579 var171
= standard___standard__NativeString___to_s_with_length(var170
, 47l);
8581 varonce168
= var169
;
8584 nit___nit__CodeWriter___add_decl(var165
, var169
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var165:CodeWriter>*/
8588 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8589 var174
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8590 if (unlikely(var174
== NULL
)) {
8591 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8592 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8596 RET_LABEL173
:(void)0;
8599 if (likely(varonce175
!=NULL
)) {
8600 var176
= varonce175
;
8602 var177
= "#define likely(x) __builtin_expect((x),1)";
8603 var178
= standard___standard__NativeString___to_s_with_length(var177
, 47l);
8605 varonce175
= var176
;
8608 nit___nit__CodeWriter___add_decl(var172
, var176
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var172:CodeWriter>*/
8611 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8612 var181
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8613 if (unlikely(var181
== NULL
)) {
8614 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8615 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8619 RET_LABEL180
:(void)0;
8622 if (likely(varonce182
!=NULL
)) {
8623 var183
= varonce182
;
8625 var184
= "#define unlikely(x) __builtin_expect((x),0)";
8626 var185
= standard___standard__NativeString___to_s_with_length(var184
, 47l);
8628 varonce182
= var183
;
8631 nit___nit__CodeWriter___add_decl(var179
, var183
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var179:CodeWriter>*/
8636 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8637 var188
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8638 if (unlikely(var188
== NULL
)) {
8639 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8640 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8644 RET_LABEL187
:(void)0;
8647 if (likely(varonce189
!=NULL
)) {
8648 var190
= varonce189
;
8650 var191
= "extern int glob_argc;";
8651 var192
= standard___standard__NativeString___to_s_with_length(var191
, 21l);
8653 varonce189
= var190
;
8656 nit___nit__CodeWriter___add_decl(var186
, var190
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var186:CodeWriter>*/
8659 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8660 var195
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8661 if (unlikely(var195
== NULL
)) {
8662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8667 RET_LABEL194
:(void)0;
8670 if (likely(varonce196
!=NULL
)) {
8671 var197
= varonce196
;
8673 var198
= "extern char **glob_argv;";
8674 var199
= standard___standard__NativeString___to_s_with_length(var198
, 24l);
8676 varonce196
= var197
;
8679 nit___nit__CodeWriter___add_decl(var193
, var197
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var193:CodeWriter>*/
8682 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8683 var202
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8684 if (unlikely(var202
== NULL
)) {
8685 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8686 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8690 RET_LABEL201
:(void)0;
8693 if (likely(varonce203
!=NULL
)) {
8694 var204
= varonce203
;
8696 var205
= "extern val *glob_sys;";
8697 var206
= standard___standard__NativeString___to_s_with_length(var205
, 21l);
8699 varonce203
= var204
;
8702 nit___nit__CodeWriter___add_decl(var200
, var204
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var200:CodeWriter>*/
8706 /* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: AbstractCompiler) */
8707 void nit___nit__AbstractCompiler___compile_nitni_structs(val
* self
) {
8708 val
* var
/* : CodeWriter */;
8709 val
* var2
/* : CodeWriter */;
8710 static val
* varonce
;
8711 val
* var3
/* : String */;
8712 char* var4
/* : NativeString */;
8713 val
* var5
/* : FlatString */;
8715 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8716 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8717 if (unlikely(var2
== NULL
)) {
8718 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 569);
8726 if (likely(varonce
!=NULL
)) {
8729 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";
8730 var5
= standard___standard__NativeString___to_s_with_length(var4
, 1146l);
8735 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
8739 /* method abstract_compiler#AbstractCompiler#compile_finalizer_function for (self: AbstractCompiler) */
8740 void nit___nit__AbstractCompiler___compile_finalizer_function(val
* self
) {
8741 val
* var
/* : MModule */;
8742 val
* var2
/* : MModule */;
8743 val
* var3
/* : nullable MClassType */;
8744 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
8745 short int var4
/* : Bool */;
8746 short int var5
/* : Bool */;
8747 val
* var_other
/* var other: nullable Object */;
8748 short int var7
/* : Bool */;
8749 short int var9
/* : Bool */;
8750 val
* var10
/* : MModule */;
8751 val
* var12
/* : MModule */;
8752 static val
* varonce
;
8753 val
* var13
/* : String */;
8754 char* var14
/* : NativeString */;
8755 val
* var15
/* : FlatString */;
8756 val
* var16
/* : MClass */;
8757 val
* var18
/* : MClass */;
8758 val
* var19
/* : nullable MMethod */;
8759 val
* var_finalize_meth
/* var finalize_meth: nullable MMethod */;
8760 short int var20
/* : Bool */;
8761 short int var21
/* : Bool */;
8762 short int var23
/* : Bool */;
8763 short int var25
/* : Bool */;
8764 val
* var26
/* : ModelBuilder */;
8765 val
* var28
/* : ModelBuilder */;
8766 val
* var29
/* : ToolContext */;
8767 val
* var31
/* : ToolContext */;
8768 static val
* varonce32
;
8769 val
* var33
/* : String */;
8770 char* var34
/* : NativeString */;
8771 val
* var35
/* : FlatString */;
8772 val
* var36
/* : Message */;
8773 val
* var37
/* : AbstractCompilerVisitor */;
8774 val
* var_v
/* var v: AbstractCompilerVisitor */;
8775 static val
* varonce38
;
8776 val
* var39
/* : String */;
8777 char* var40
/* : NativeString */;
8778 val
* var41
/* : FlatString */;
8779 static val
* varonce42
;
8780 val
* var43
/* : String */;
8781 char* var44
/* : NativeString */;
8782 val
* var45
/* : FlatString */;
8783 val
* var46
/* : RuntimeVariable */;
8784 val
* var_recv
/* var recv: RuntimeVariable */;
8785 val
* var47
/* : Array[RuntimeVariable] */;
8786 val
* var_
/* var : Array[RuntimeVariable] */;
8787 val
* var48
/* : nullable RuntimeVariable */;
8788 static val
* varonce49
;
8789 val
* var50
/* : String */;
8790 char* var51
/* : NativeString */;
8791 val
* var52
/* : FlatString */;
8793 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
8794 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8795 if (unlikely(var2
== NULL
)) {
8796 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8797 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
8805 var3
= nit__model___MModule___finalizable_type(var
);
8807 var_finalizable_type
= var3
;
8808 if (var_finalizable_type
== NULL
) {
8809 var4
= 1; /* is null */
8811 var4
= 0; /* arg is null but recv is not */
8814 { /* Inline kernel#Object#== (var_finalizable_type,((val*)NULL)) on <var_finalizable_type:nullable MClassType> */
8815 var_other
= ((val
*)NULL
);
8817 { /* Inline kernel#Object#is_same_instance (var_finalizable_type,var_other) on <var_finalizable_type:nullable MClassType(MClassType)> */
8818 var9
= var_finalizable_type
== var_other
;
8835 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
8836 var12
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
8837 if (unlikely(var12
== NULL
)) {
8838 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
8839 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 515);
8843 RET_LABEL11
:(void)0;
8846 if (likely(varonce
!=NULL
)) {
8850 var15
= standard___standard__NativeString___to_s_with_length(var14
, 8l);
8855 { /* Inline model#MClassType#mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
8856 var18
= var_finalizable_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
8857 if (unlikely(var18
== NULL
)) {
8858 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
8859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1138);
8863 RET_LABEL17
:(void)0;
8867 var19
= nit__model___MModule___try_get_primitive_method(var10
, var13
, var16
);
8869 var_finalize_meth
= var19
;
8870 if (var_finalize_meth
== NULL
) {
8871 var20
= 1; /* is null */
8873 var20
= 0; /* arg is null but recv is not */
8876 { /* Inline kernel#Object#== (var_finalize_meth,((val*)NULL)) on <var_finalize_meth:nullable MMethod> */
8877 var_other
= ((val
*)NULL
);
8879 { /* Inline kernel#Object#is_same_instance (var_finalize_meth,var_other) on <var_finalize_meth:nullable MMethod(MMethod)> */
8880 var25
= var_finalize_meth
== var_other
;
8883 RET_LABEL24
:(void)0;
8888 RET_LABEL22
:(void)0;
8894 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
8895 var28
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8896 if (unlikely(var28
== NULL
)) {
8897 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 522);
8902 RET_LABEL27
:(void)0;
8906 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var26) on <var26:ModelBuilder> */
8907 var31
= var26
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var26:ModelBuilder> */
8908 if (unlikely(var31
== NULL
)) {
8909 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8910 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8914 RET_LABEL30
:(void)0;
8917 if (likely(varonce32
!=NULL
)) {
8920 var34
= "Error: the `Finalizable` class does not declare the `finalize` method.";
8921 var35
= standard___standard__NativeString___to_s_with_length(var34
, 70l);
8926 var36
= nit___nit__ToolContext___error(var29
, ((val
*)NULL
), var33
);
8932 var37
= ((val
*(*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
); /* new_visitor on <self:AbstractCompiler>*/
8935 if (likely(varonce38
!=NULL
)) {
8938 var40
= "void gc_finalize (void *obj, void *client_data) {";
8939 var41
= standard___standard__NativeString___to_s_with_length(var40
, 49l);
8944 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var39
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
8946 if (likely(varonce42
!=NULL
)) {
8950 var45
= standard___standard__NativeString___to_s_with_length(var44
, 3l);
8955 var46
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var43
, var_finalizable_type
);
8958 var47
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
8960 standard___standard__Array___with_capacity(var47
, 1l); /* Direct call array#Array#with_capacity on <var47:Array[RuntimeVariable]>*/
8964 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
8967 var48
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_finalize_meth
, var_
);
8969 if (likely(varonce49
!=NULL
)) {
8973 var52
= standard___standard__NativeString___to_s_with_length(var51
, 1l);
8978 nit___nit__AbstractCompilerVisitor___add(var_v
, var50
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/