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
, 29);
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
, 31);
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
, 33);
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
, 35);
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
, 37);
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
, 39);
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
, 41);
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
, 43);
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
, 45);
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
, 47);
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
, 49);
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
, 51);
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
, 53);
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
, 55);
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
, 57);
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
, 59);
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
, 61);
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
, 63);
254 /* method abstract_compiler#ToolContext#opt_stacktrace for (self: ToolContext): OptionString */
255 val
* nit__abstract_compiler___ToolContext___opt_stacktrace(val
* self
) {
256 val
* var
/* : OptionString */;
257 val
* var1
/* : OptionString */;
258 var1
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <self:ToolContext> */
259 if (unlikely(var1
== NULL
)) {
260 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
261 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
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
, 67);
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
, 69);
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 long var25
/* : Int */;
316 val
* var26
/* : NativeArray[Option] */;
317 val
* var27
/* : OptionContext */;
318 val
* var29
/* : OptionContext */;
319 val
* var30
/* : OptionBool */;
320 val
* var32
/* : OptionBool */;
321 val
* var33
/* : OptionBool */;
322 val
* var35
/* : OptionBool */;
323 val
* var36
/* : OptionBool */;
324 val
* var38
/* : OptionBool */;
325 val
* var39
/* : OptionBool */;
326 val
* var41
/* : OptionBool */;
327 val
* var42
/* : OptionBool */;
328 val
* var44
/* : OptionBool */;
329 val
* var45
/* : OptionBool */;
330 val
* var47
/* : OptionBool */;
331 val
* var48
/* : Array[Option] */;
332 long var49
/* : Int */;
333 val
* var50
/* : NativeArray[Option] */;
334 val
* var51
/* : OptionContext */;
335 val
* var53
/* : OptionContext */;
336 val
* var54
/* : OptionBool */;
337 val
* var56
/* : OptionBool */;
338 val
* var57
/* : OptionBool */;
339 val
* var59
/* : OptionBool */;
340 val
* var60
/* : OptionBool */;
341 val
* var62
/* : OptionBool */;
342 val
* var63
/* : Array[Option] */;
343 long var64
/* : Int */;
344 val
* var65
/* : NativeArray[Option] */;
345 val
* var66
/* : OptionContext */;
346 val
* var68
/* : OptionContext */;
347 val
* var69
/* : OptionString */;
348 val
* var71
/* : OptionString */;
349 val
* var72
/* : Array[Option] */;
350 long var73
/* : Int */;
351 val
* var74
/* : NativeArray[Option] */;
352 val
* var75
/* : OptionContext */;
353 val
* var77
/* : OptionContext */;
354 val
* var78
/* : OptionArray */;
355 val
* var80
/* : OptionArray */;
356 val
* var81
/* : Array[Option] */;
357 long var82
/* : Int */;
358 val
* var83
/* : NativeArray[Option] */;
359 val
* var84
/* : OptionContext */;
360 val
* var86
/* : OptionContext */;
361 val
* var87
/* : OptionBool */;
362 val
* var89
/* : OptionBool */;
363 val
* var90
/* : Array[Option] */;
364 long var91
/* : Int */;
365 val
* var92
/* : NativeArray[Option] */;
366 val
* var93
/* : OptionContext */;
367 val
* var95
/* : OptionContext */;
368 val
* var96
/* : OptionInt */;
369 val
* var98
/* : OptionInt */;
370 val
* var99
/* : OptionBool */;
371 val
* var101
/* : OptionBool */;
372 val
* var102
/* : Array[Option] */;
373 long var103
/* : Int */;
374 val
* var104
/* : NativeArray[Option] */;
375 val
* var105
/* : OptionBool */;
376 val
* var107
/* : OptionBool */;
377 short int var108
/* : Bool */;
379 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler___ToolContext___standard__kernel__Object__init
]))(self
) /* init on <self:ToolContext>*/;
382 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
383 var2
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
384 if (unlikely(var2
== NULL
)) {
385 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
386 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
394 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
395 var5
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
396 if (unlikely(var5
== NULL
)) {
397 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 29);
406 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
407 var8
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
408 if (unlikely(var8
== NULL
)) {
409 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
410 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 31);
418 { /* Inline abstract_compiler#ToolContext#opt_no_cc (self) on <self:ToolContext> */
419 var11
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <self:ToolContext> */
420 if (unlikely(var11
== NULL
)) {
421 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
422 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 33);
430 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
431 var14
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
432 if (unlikely(var14
== NULL
)) {
433 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
434 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 35);
442 { /* Inline abstract_compiler#ToolContext#opt_make_flags (self) on <self:ToolContext> */
443 var17
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <self:ToolContext> */
444 if (unlikely(var17
== NULL
)) {
445 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
446 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 37);
454 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (self) on <self:ToolContext> */
455 var20
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <self:ToolContext> */
456 if (unlikely(var20
== NULL
)) {
457 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
458 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 43);
466 { /* Inline abstract_compiler#ToolContext#opt_hardening (self) on <self:ToolContext> */
467 var23
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_hardening
].val
; /* _opt_hardening on <self:ToolContext> */
468 if (unlikely(var23
== NULL
)) {
469 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_hardening");
470 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 45);
477 var24
= NEW_standard__Array(&type_standard__Array__opts__Option
);
478 { /* var24 = array_instance Array[Option] */
480 var26
= NEW_standard__NativeArray(var25
, &type_standard__NativeArray__opts__Option
);
481 ((struct instance_standard__NativeArray
*)var26
)->values
[0] = (val
*) var3
;
482 ((struct instance_standard__NativeArray
*)var26
)->values
[1] = (val
*) var6
;
483 ((struct instance_standard__NativeArray
*)var26
)->values
[2] = (val
*) var9
;
484 ((struct instance_standard__NativeArray
*)var26
)->values
[3] = (val
*) var12
;
485 ((struct instance_standard__NativeArray
*)var26
)->values
[4] = (val
*) var15
;
486 ((struct instance_standard__NativeArray
*)var26
)->values
[5] = (val
*) var18
;
487 ((struct instance_standard__NativeArray
*)var26
)->values
[6] = (val
*) var21
;
489 ((void (*)(val
* self
, val
* p0
, long p1
))(var24
->class->vft
[COLOR_standard__array__Array__with_native
]))(var24
, var26
, var25
) /* with_native on <var24:Array[Option]>*/;
493 opts___opts__OptionContext___add_option(var
, var24
); /* Direct call opts#OptionContext#add_option on <var:OptionContext>*/
496 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
497 var29
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
498 if (unlikely(var29
== NULL
)) {
499 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
500 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
508 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
509 var32
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
510 if (unlikely(var32
== NULL
)) {
511 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 47);
520 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
521 var35
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
522 if (unlikely(var35
== NULL
)) {
523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 49);
532 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
533 var38
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
534 if (unlikely(var38
== NULL
)) {
535 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
536 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 51);
544 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
545 var41
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
546 if (unlikely(var41
== NULL
)) {
547 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 53);
556 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
557 var44
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
558 if (unlikely(var44
== NULL
)) {
559 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 55);
568 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
569 var47
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
570 if (unlikely(var47
== NULL
)) {
571 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
572 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 57);
579 var48
= NEW_standard__Array(&type_standard__Array__opts__Option
);
580 { /* var48 = array_instance Array[Option] */
582 var50
= NEW_standard__NativeArray(var49
, &type_standard__NativeArray__opts__Option
);
583 ((struct instance_standard__NativeArray
*)var50
)->values
[0] = (val
*) var30
;
584 ((struct instance_standard__NativeArray
*)var50
)->values
[1] = (val
*) var33
;
585 ((struct instance_standard__NativeArray
*)var50
)->values
[2] = (val
*) var36
;
586 ((struct instance_standard__NativeArray
*)var50
)->values
[3] = (val
*) var39
;
587 ((struct instance_standard__NativeArray
*)var50
)->values
[4] = (val
*) var42
;
588 ((struct instance_standard__NativeArray
*)var50
)->values
[5] = (val
*) var45
;
590 ((void (*)(val
* self
, val
* p0
, long p1
))(var48
->class->vft
[COLOR_standard__array__Array__with_native
]))(var48
, var50
, var49
) /* with_native on <var48:Array[Option]>*/;
594 opts___opts__OptionContext___add_option(var27
, var48
); /* Direct call opts#OptionContext#add_option on <var27:OptionContext>*/
597 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
598 var53
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
599 if (unlikely(var53
== NULL
)) {
600 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
609 { /* Inline abstract_compiler#ToolContext#opt_typing_test_metrics (self) on <self:ToolContext> */
610 var56
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_typing_test_metrics
].val
; /* _opt_typing_test_metrics on <self:ToolContext> */
611 if (unlikely(var56
== NULL
)) {
612 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_typing_test_metrics");
613 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 59);
621 { /* Inline abstract_compiler#ToolContext#opt_invocation_metrics (self) on <self:ToolContext> */
622 var59
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_invocation_metrics
].val
; /* _opt_invocation_metrics on <self:ToolContext> */
623 if (unlikely(var59
== NULL
)) {
624 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_invocation_metrics");
625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 61);
633 { /* Inline abstract_compiler#ToolContext#opt_isset_checks_metrics (self) on <self:ToolContext> */
634 var62
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_isset_checks_metrics
].val
; /* _opt_isset_checks_metrics on <self:ToolContext> */
635 if (unlikely(var62
== NULL
)) {
636 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_isset_checks_metrics");
637 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 63);
644 var63
= NEW_standard__Array(&type_standard__Array__opts__Option
);
645 { /* var63 = array_instance Array[Option] */
647 var65
= NEW_standard__NativeArray(var64
, &type_standard__NativeArray__opts__Option
);
648 ((struct instance_standard__NativeArray
*)var65
)->values
[0] = (val
*) var54
;
649 ((struct instance_standard__NativeArray
*)var65
)->values
[1] = (val
*) var57
;
650 ((struct instance_standard__NativeArray
*)var65
)->values
[2] = (val
*) var60
;
652 ((void (*)(val
* self
, val
* p0
, long p1
))(var63
->class->vft
[COLOR_standard__array__Array__with_native
]))(var63
, var65
, var64
) /* with_native on <var63:Array[Option]>*/;
656 opts___opts__OptionContext___add_option(var51
, var63
); /* Direct call opts#OptionContext#add_option on <var51:OptionContext>*/
659 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
660 var68
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
661 if (unlikely(var68
== NULL
)) {
662 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
663 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
671 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (self) on <self:ToolContext> */
672 var71
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <self:ToolContext> */
673 if (unlikely(var71
== NULL
)) {
674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
682 var72
= NEW_standard__Array(&type_standard__Array__opts__Option
);
683 { /* var72 = array_instance Array[Option] */
685 var74
= NEW_standard__NativeArray(var73
, &type_standard__NativeArray__opts__Option
);
686 ((struct instance_standard__NativeArray
*)var74
)->values
[0] = (val
*) var69
;
688 ((void (*)(val
* self
, val
* p0
, long p1
))(var72
->class->vft
[COLOR_standard__array__Array__with_native
]))(var72
, var74
, var73
) /* with_native on <var72:Array[Option]>*/;
692 opts___opts__OptionContext___add_option(var66
, var72
); /* Direct call opts#OptionContext#add_option on <var66:OptionContext>*/
695 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
696 var77
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
697 if (unlikely(var77
== NULL
)) {
698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
707 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (self) on <self:ToolContext> */
708 var80
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <self:ToolContext> */
709 if (unlikely(var80
== NULL
)) {
710 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
711 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 67);
718 var81
= NEW_standard__Array(&type_standard__Array__opts__Option
);
719 { /* var81 = array_instance Array[Option] */
721 var83
= NEW_standard__NativeArray(var82
, &type_standard__NativeArray__opts__Option
);
722 ((struct instance_standard__NativeArray
*)var83
)->values
[0] = (val
*) var78
;
724 ((void (*)(val
* self
, val
* p0
, long p1
))(var81
->class->vft
[COLOR_standard__array__Array__with_native
]))(var81
, var83
, var82
) /* with_native on <var81:Array[Option]>*/;
728 opts___opts__OptionContext___add_option(var75
, var81
); /* Direct call opts#OptionContext#add_option on <var75:OptionContext>*/
731 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
732 var86
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
733 if (unlikely(var86
== NULL
)) {
734 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
735 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
743 { /* Inline abstract_compiler#ToolContext#opt_release (self) on <self:ToolContext> */
744 var89
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_release
].val
; /* _opt_release on <self:ToolContext> */
745 if (unlikely(var89
== NULL
)) {
746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_release");
747 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 69);
754 var90
= NEW_standard__Array(&type_standard__Array__opts__Option
);
755 { /* var90 = array_instance Array[Option] */
757 var92
= NEW_standard__NativeArray(var91
, &type_standard__NativeArray__opts__Option
);
758 ((struct instance_standard__NativeArray
*)var92
)->values
[0] = (val
*) var87
;
760 ((void (*)(val
* self
, val
* p0
, long p1
))(var90
->class->vft
[COLOR_standard__array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Option]>*/;
764 opts___opts__OptionContext___add_option(var84
, var90
); /* Direct call opts#OptionContext#add_option on <var84:OptionContext>*/
767 { /* Inline toolcontext#ToolContext#option_context (self) on <self:ToolContext> */
768 var95
= self
->attrs
[COLOR_nit__toolcontext__ToolContext___option_context
].val
; /* _option_context on <self:ToolContext> */
769 if (unlikely(var95
== NULL
)) {
770 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _option_context");
771 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 270);
779 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (self) on <self:ToolContext> */
780 var98
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <self:ToolContext> */
781 if (unlikely(var98
== NULL
)) {
782 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
783 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 39);
791 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (self) on <self:ToolContext> */
792 var101
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <self:ToolContext> */
793 if (unlikely(var101
== NULL
)) {
794 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
795 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 41);
799 RET_LABEL100
:(void)0;
802 var102
= NEW_standard__Array(&type_standard__Array__opts__Option
);
803 { /* var102 = array_instance Array[Option] */
805 var104
= NEW_standard__NativeArray(var103
, &type_standard__NativeArray__opts__Option
);
806 ((struct instance_standard__NativeArray
*)var104
)->values
[0] = (val
*) var96
;
807 ((struct instance_standard__NativeArray
*)var104
)->values
[1] = (val
*) var99
;
809 ((void (*)(val
* self
, val
* p0
, long p1
))(var102
->class->vft
[COLOR_standard__array__Array__with_native
]))(var102
, var104
, var103
) /* with_native on <var102:Array[Option]>*/;
813 opts___opts__OptionContext___add_option(var93
, var102
); /* Direct call opts#OptionContext#add_option on <var93:OptionContext>*/
816 { /* Inline abstract_compiler#ToolContext#opt_no_main (self) on <self:ToolContext> */
817 var107
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_main
].val
; /* _opt_no_main on <self:ToolContext> */
818 if (unlikely(var107
== NULL
)) {
819 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_main");
820 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 35);
824 RET_LABEL106
:(void)0;
829 { /* Inline opts#Option#hidden= (var105,var108) on <var105:OptionBool> */
830 var105
->attrs
[COLOR_opts__Option___hidden
].s
= var108
; /* _hidden on <var105:OptionBool> */
831 RET_LABEL109
:(void)0;
836 /* method abstract_compiler#ToolContext#process_options for (self: ToolContext, Sequence[String]) */
837 void nit__abstract_compiler___ToolContext___process_options(val
* self
, val
* p0
) {
838 val
* var_args
/* var args: Sequence[String] */;
839 val
* var
/* : OptionString */;
840 val
* var2
/* : OptionString */;
841 val
* var3
/* : nullable Object */;
842 val
* var5
/* : nullable Object */;
843 val
* var_st
/* var st: nullable String */;
844 short int var6
/* : Bool */;
845 short int var7
/* : Bool */;
847 val
* var8
/* : String */;
848 char* var9
/* : NativeString */;
849 long var10
/* : Int */;
850 val
* var11
/* : FlatString */;
851 short int var12
/* : Bool */;
852 short int var13
/* : Bool */;
853 short int var_
/* var : Bool */;
854 static val
* varonce14
;
855 val
* var15
/* : String */;
856 char* var16
/* : NativeString */;
857 long var17
/* : Int */;
858 val
* var18
/* : FlatString */;
859 short int var19
/* : Bool */;
860 short int var20
/* : Bool */;
861 short int var_21
/* var : Bool */;
862 static val
* varonce22
;
863 val
* var23
/* : String */;
864 char* var24
/* : NativeString */;
865 long var25
/* : Int */;
866 val
* var26
/* : FlatString */;
867 short int var27
/* : Bool */;
868 short int var28
/* : Bool */;
869 short int var29
/* : Bool */;
870 static val
* varonce30
;
871 val
* var31
/* : String */;
872 char* var32
/* : NativeString */;
873 long var33
/* : Int */;
874 val
* var34
/* : FlatString */;
875 short int var35
/* : Bool */;
876 short int var36
/* : Bool */;
877 short int var_37
/* var : Bool */;
878 val
* var38
/* : null */;
879 short int var39
/* : Bool */;
880 short int var40
/* : Bool */;
881 val
* var41
/* : OptionString */;
882 val
* var43
/* : OptionString */;
883 static val
* varonce44
;
884 val
* var45
/* : String */;
885 char* var46
/* : NativeString */;
886 long var47
/* : Int */;
887 val
* var48
/* : FlatString */;
888 short int var50
/* : Bool */;
891 const struct type
* type_struct
;
892 const char* var_class_name
;
893 static val
* varonce51
;
894 val
* var52
/* : String */;
895 char* var53
/* : NativeString */;
896 long var54
/* : Int */;
897 val
* var55
/* : FlatString */;
898 static val
* varonce56
;
899 val
* var57
/* : String */;
900 char* var58
/* : NativeString */;
901 long var59
/* : Int */;
902 val
* var60
/* : FlatString */;
903 val
* var61
/* : Array[Object] */;
904 long var62
/* : Int */;
905 val
* var63
/* : NativeArray[Object] */;
906 val
* var64
/* : String */;
907 long var65
/* : Int */;
908 short int var67
/* : Bool */;
909 val
* var68
/* : OptionString */;
910 val
* var70
/* : OptionString */;
911 val
* var71
/* : nullable Object */;
912 val
* var73
/* : nullable Object */;
913 val
* var74
/* : null */;
914 short int var75
/* : Bool */;
915 short int var76
/* : Bool */;
916 val
* var_other
/* var other: nullable Object */;
917 short int var78
/* : Bool */;
918 short int var79
/* : Bool */;
919 short int var_80
/* var : Bool */;
920 val
* var81
/* : OptionString */;
921 val
* var83
/* : OptionString */;
922 val
* var84
/* : nullable Object */;
923 val
* var86
/* : nullable Object */;
924 val
* var87
/* : null */;
925 short int var88
/* : Bool */;
926 short int var89
/* : Bool */;
927 short int var91
/* : Bool */;
928 short int var92
/* : Bool */;
929 static val
* varonce93
;
930 val
* var94
/* : String */;
931 char* var95
/* : NativeString */;
932 long var96
/* : Int */;
933 val
* var97
/* : FlatString */;
934 long var98
/* : Int */;
935 val
* var100
/* : OptionBool */;
936 val
* var102
/* : OptionBool */;
937 val
* var103
/* : nullable Object */;
938 val
* var105
/* : nullable Object */;
939 short int var106
/* : Bool */;
940 val
* var107
/* : OptionBool */;
941 val
* var109
/* : OptionBool */;
942 short int var110
/* : Bool */;
943 short int var112
/* : Bool */;
946 const struct type
* type_struct115
;
947 const char* var_class_name116
;
948 val
* var117
/* : nullable Object */;
949 val
* var118
/* : OptionBool */;
950 val
* var120
/* : OptionBool */;
951 short int var121
/* : Bool */;
952 short int var123
/* : Bool */;
955 const struct type
* type_struct126
;
956 const char* var_class_name127
;
957 val
* var128
/* : nullable Object */;
958 val
* var129
/* : OptionBool */;
959 val
* var131
/* : OptionBool */;
960 short int var132
/* : Bool */;
961 short int var134
/* : Bool */;
964 const struct type
* type_struct137
;
965 const char* var_class_name138
;
966 val
* var139
/* : nullable Object */;
967 val
* var140
/* : OptionBool */;
968 val
* var142
/* : OptionBool */;
969 short int var143
/* : Bool */;
970 short int var145
/* : Bool */;
973 const struct type
* type_struct148
;
974 const char* var_class_name149
;
975 val
* var150
/* : nullable Object */;
976 val
* var151
/* : OptionBool */;
977 val
* var153
/* : OptionBool */;
978 short int var154
/* : Bool */;
979 short int var156
/* : Bool */;
982 const struct type
* type_struct159
;
983 const char* var_class_name160
;
984 val
* var161
/* : nullable Object */;
987 ((void (*)(val
* self
, val
* p0
))(self
->class->vft
[COLOR_nit__abstract_compiler___ToolContext___process_options
]))(self
, p0
) /* process_options on <self:ToolContext>*/;
990 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (self) on <self:ToolContext> */
991 var2
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <self:ToolContext> */
992 if (unlikely(var2
== NULL
)) {
993 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
994 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
1002 { /* Inline opts#Option#value (var) on <var:OptionString> */
1003 var5
= var
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var:OptionString> */
1014 var11
= standard___standard__NativeString___to_s_with_length(var9
, var10
);
1018 if (var_st
== NULL
) {
1019 var12
= 0; /* <var8:String> cannot be null */
1021 var13
= ((short int (*)(val
* self
, val
* p0
))(var_st
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st
, var8
) /* == on <var_st:nullable String>*/;
1031 var16
= "libunwind";
1033 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
1037 if (var_st
== NULL
) {
1038 var19
= 0; /* <var15:String> cannot be null */
1040 var20
= ((short int (*)(val
* self
, val
* p0
))(var_st
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st
, var15
) /* == on <var_st:nullable String>*/;
1054 var26
= standard___standard__NativeString___to_s_with_length(var24
, var25
);
1058 if (var_st
== NULL
) {
1059 var27
= 0; /* <var23:String> cannot be null */
1061 var28
= ((short int (*)(val
* self
, val
* p0
))(var_st
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st
, var23
) /* == on <var_st:nullable String>*/;
1073 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
1077 if (var_st
== NULL
) {
1078 var35
= 0; /* <var31:String> cannot be null */
1080 var36
= ((short int (*)(val
* self
, val
* p0
))(var_st
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st
, var31
) /* == on <var_st:nullable String>*/;
1088 if (var_st
== NULL
) {
1089 var39
= 1; /* is null */
1091 var39
= 0; /* arg is null but recv is not */
1094 var40
= ((short int (*)(val
* self
, val
* p0
))(var_st
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_st
, var38
) /* == on <var_st:nullable String>*/;
1101 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (self) on <self:ToolContext> */
1102 var43
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <self:ToolContext> */
1103 if (unlikely(var43
== NULL
)) {
1104 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
1105 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
1109 RET_LABEL42
:(void)0;
1117 var48
= standard___standard__NativeString___to_s_with_length(var46
, var47
);
1122 { /* Inline opts#Option#value= (var41,var45) on <var41:OptionString> */
1123 /* Covariant cast for argument 0 (value) <var45:String> isa VALUE */
1124 /* <var45:String> isa VALUE */
1125 type_struct
= var41
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1126 cltype
= type_struct
->color
;
1127 idtype
= type_struct
->id
;
1128 if(cltype
>= var45
->type
->table_size
) {
1131 var50
= var45
->type
->type_table
[cltype
] == idtype
;
1133 if (unlikely(!var50
)) {
1134 var_class_name
= var45
== NULL ?
"null" : var45
->type
->name
;
1135 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name
);
1136 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1139 var41
->attrs
[COLOR_opts__Option___value
].val
= var45
; /* _value on <var41:OptionString> */
1140 RET_LABEL49
:(void)0;
1147 var53
= "Error: unknown value `";
1149 var55
= standard___standard__NativeString___to_s_with_length(var53
, var54
);
1156 var58
= "` for --stacktrace. Use `none`, `libunwind`, `nitstack` or `auto`.";
1158 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
1162 var61
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1163 { /* var61 = array_instance Array[Object] */
1165 var63
= NEW_standard__NativeArray(var62
, &type_standard__NativeArray__standard__Object
);
1166 ((struct instance_standard__NativeArray
*)var63
)->values
[0] = (val
*) var52
;
1167 ((struct instance_standard__NativeArray
*)var63
)->values
[1] = (val
*) var_st
;
1168 ((struct instance_standard__NativeArray
*)var63
)->values
[2] = (val
*) var57
;
1170 ((void (*)(val
* self
, val
* p0
, long p1
))(var61
->class->vft
[COLOR_standard__array__Array__with_native
]))(var61
, var63
, var62
) /* with_native on <var61:Array[Object]>*/;
1174 var64
= ((val
* (*)(val
* self
))(var61
->class->vft
[COLOR_standard__string__Object__to_s
]))(var61
) /* to_s on <var61:Array[Object]>*/;
1177 standard__file___Object___print(self
, var64
); /* Direct call file#Object#print on <self:ToolContext>*/
1181 { /* Inline kernel#Object#exit (self,var65) on <self:ToolContext> */
1183 RET_LABEL66
:(void)0;
1189 { /* Inline abstract_compiler#ToolContext#opt_output (self) on <self:ToolContext> */
1190 var70
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <self:ToolContext> */
1191 if (unlikely(var70
== NULL
)) {
1192 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
1193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 29);
1197 RET_LABEL69
:(void)0;
1201 { /* Inline opts#Option#value (var68) on <var68:OptionString> */
1202 var73
= var68
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var68:OptionString> */
1204 RET_LABEL72
:(void)0;
1208 if (var71
== NULL
) {
1209 var75
= 0; /* is null */
1211 var75
= 1; /* arg is null and recv is not */
1214 { /* Inline kernel#Object#!= (var71,var74) on <var71:nullable Object(nullable String)> */
1217 var78
= ((short int (*)(val
* self
, val
* p0
))(var71
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var71
, var_other
) /* == on <var71:nullable String(String)>*/;
1222 RET_LABEL77
:(void)0;
1229 { /* Inline abstract_compiler#ToolContext#opt_dir (self) on <self:ToolContext> */
1230 var83
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <self:ToolContext> */
1231 if (unlikely(var83
== NULL
)) {
1232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
1233 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 31);
1237 RET_LABEL82
:(void)0;
1241 { /* Inline opts#Option#value (var81) on <var81:OptionString> */
1242 var86
= var81
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var81:OptionString> */
1244 RET_LABEL85
:(void)0;
1248 if (var84
== NULL
) {
1249 var88
= 0; /* is null */
1251 var88
= 1; /* arg is null and recv is not */
1254 { /* Inline kernel#Object#!= (var84,var87) on <var84:nullable Object(nullable String)> */
1257 var91
= ((short int (*)(val
* self
, val
* p0
))(var84
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var84
, var_other
) /* == on <var84:nullable String(String)>*/;
1262 RET_LABEL90
:(void)0;
1274 var95
= "Error: cannot use both --dir and --output";
1276 var97
= standard___standard__NativeString___to_s_with_length(var95
, var96
);
1281 standard__file___Object___print(self
, var94
); /* Direct call file#Object#print on <self:ToolContext>*/
1285 { /* Inline kernel#Object#exit (self,var98) on <self:ToolContext> */
1287 RET_LABEL99
:(void)0;
1293 { /* Inline abstract_compiler#ToolContext#opt_no_check_all (self) on <self:ToolContext> */
1294 var102
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_all
].val
; /* _opt_no_check_all on <self:ToolContext> */
1295 if (unlikely(var102
== NULL
)) {
1296 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_all");
1297 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 57);
1301 RET_LABEL101
:(void)0;
1305 { /* Inline opts#Option#value (var100) on <var100:OptionBool> */
1306 var105
= var100
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var100:OptionBool> */
1308 RET_LABEL104
:(void)0;
1311 var106
= ((struct instance_standard__Bool
*)var103
)->value
; /* autounbox from nullable Object to Bool */;
1314 { /* Inline abstract_compiler#ToolContext#opt_no_check_covariance (self) on <self:ToolContext> */
1315 var109
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_covariance
].val
; /* _opt_no_check_covariance on <self:ToolContext> */
1316 if (unlikely(var109
== NULL
)) {
1317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_covariance");
1318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 47);
1322 RET_LABEL108
:(void)0;
1327 { /* Inline opts#Option#value= (var107,var110) on <var107:OptionBool> */
1328 /* Covariant cast for argument 0 (value) <var110:Bool> isa VALUE */
1329 /* <var110:Bool> isa VALUE */
1330 type_struct115
= var107
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1331 cltype113
= type_struct115
->color
;
1332 idtype114
= type_struct115
->id
;
1333 if(cltype113
>= (&type_standard__Bool
)->table_size
) {
1336 var112
= (&type_standard__Bool
)->type_table
[cltype113
] == idtype114
;
1338 if (unlikely(!var112
)) {
1339 var_class_name116
= type_standard__Bool
.name
;
1340 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name116
);
1341 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1344 var117
= BOX_standard__Bool(var110
); /* autobox from Bool to nullable Object */
1345 var107
->attrs
[COLOR_opts__Option___value
].val
= var117
; /* _value on <var107:OptionBool> */
1346 RET_LABEL111
:(void)0;
1350 { /* Inline abstract_compiler#ToolContext#opt_no_check_attr_isset (self) on <self:ToolContext> */
1351 var120
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_attr_isset
].val
; /* _opt_no_check_attr_isset on <self:ToolContext> */
1352 if (unlikely(var120
== NULL
)) {
1353 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_attr_isset");
1354 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 49);
1358 RET_LABEL119
:(void)0;
1363 { /* Inline opts#Option#value= (var118,var121) on <var118:OptionBool> */
1364 /* Covariant cast for argument 0 (value) <var121:Bool> isa VALUE */
1365 /* <var121:Bool> isa VALUE */
1366 type_struct126
= var118
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1367 cltype124
= type_struct126
->color
;
1368 idtype125
= type_struct126
->id
;
1369 if(cltype124
>= (&type_standard__Bool
)->table_size
) {
1372 var123
= (&type_standard__Bool
)->type_table
[cltype124
] == idtype125
;
1374 if (unlikely(!var123
)) {
1375 var_class_name127
= type_standard__Bool
.name
;
1376 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name127
);
1377 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1380 var128
= BOX_standard__Bool(var121
); /* autobox from Bool to nullable Object */
1381 var118
->attrs
[COLOR_opts__Option___value
].val
= var128
; /* _value on <var118:OptionBool> */
1382 RET_LABEL122
:(void)0;
1386 { /* Inline abstract_compiler#ToolContext#opt_no_check_assert (self) on <self:ToolContext> */
1387 var131
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_assert
].val
; /* _opt_no_check_assert on <self:ToolContext> */
1388 if (unlikely(var131
== NULL
)) {
1389 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_assert");
1390 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 51);
1394 RET_LABEL130
:(void)0;
1399 { /* Inline opts#Option#value= (var129,var132) on <var129:OptionBool> */
1400 /* Covariant cast for argument 0 (value) <var132:Bool> isa VALUE */
1401 /* <var132:Bool> isa VALUE */
1402 type_struct137
= var129
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1403 cltype135
= type_struct137
->color
;
1404 idtype136
= type_struct137
->id
;
1405 if(cltype135
>= (&type_standard__Bool
)->table_size
) {
1408 var134
= (&type_standard__Bool
)->type_table
[cltype135
] == idtype136
;
1410 if (unlikely(!var134
)) {
1411 var_class_name138
= type_standard__Bool
.name
;
1412 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name138
);
1413 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1416 var139
= BOX_standard__Bool(var132
); /* autobox from Bool to nullable Object */
1417 var129
->attrs
[COLOR_opts__Option___value
].val
= var139
; /* _value on <var129:OptionBool> */
1418 RET_LABEL133
:(void)0;
1422 { /* Inline abstract_compiler#ToolContext#opt_no_check_autocast (self) on <self:ToolContext> */
1423 var142
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_autocast
].val
; /* _opt_no_check_autocast on <self:ToolContext> */
1424 if (unlikely(var142
== NULL
)) {
1425 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_autocast");
1426 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 53);
1430 RET_LABEL141
:(void)0;
1435 { /* Inline opts#Option#value= (var140,var143) on <var140:OptionBool> */
1436 /* Covariant cast for argument 0 (value) <var143:Bool> isa VALUE */
1437 /* <var143:Bool> isa VALUE */
1438 type_struct148
= var140
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1439 cltype146
= type_struct148
->color
;
1440 idtype147
= type_struct148
->id
;
1441 if(cltype146
>= (&type_standard__Bool
)->table_size
) {
1444 var145
= (&type_standard__Bool
)->type_table
[cltype146
] == idtype147
;
1446 if (unlikely(!var145
)) {
1447 var_class_name149
= type_standard__Bool
.name
;
1448 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name149
);
1449 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1452 var150
= BOX_standard__Bool(var143
); /* autobox from Bool to nullable Object */
1453 var140
->attrs
[COLOR_opts__Option___value
].val
= var150
; /* _value on <var140:OptionBool> */
1454 RET_LABEL144
:(void)0;
1458 { /* Inline abstract_compiler#ToolContext#opt_no_check_null (self) on <self:ToolContext> */
1459 var153
= self
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_check_null
].val
; /* _opt_no_check_null on <self:ToolContext> */
1460 if (unlikely(var153
== NULL
)) {
1461 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_check_null");
1462 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 55);
1466 RET_LABEL152
:(void)0;
1471 { /* Inline opts#Option#value= (var151,var154) on <var151:OptionBool> */
1472 /* Covariant cast for argument 0 (value) <var154:Bool> isa VALUE */
1473 /* <var154:Bool> isa VALUE */
1474 type_struct159
= var151
->type
->resolution_table
->types
[COLOR_opts__Option__VALUE
];
1475 cltype157
= type_struct159
->color
;
1476 idtype158
= type_struct159
->id
;
1477 if(cltype157
>= (&type_standard__Bool
)->table_size
) {
1480 var156
= (&type_standard__Bool
)->type_table
[cltype157
] == idtype158
;
1482 if (unlikely(!var156
)) {
1483 var_class_name160
= type_standard__Bool
.name
;
1484 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "VALUE", var_class_name160
);
1485 PRINT_ERROR(" (%s:%d)\n", FILE_opts
, 40);
1488 var161
= BOX_standard__Bool(var154
); /* autobox from Bool to nullable Object */
1489 var151
->attrs
[COLOR_opts__Option___value
].val
= var161
; /* _value on <var151:OptionBool> */
1490 RET_LABEL155
:(void)0;
1497 /* method abstract_compiler#ModelBuilder#compile_dir for (self: ModelBuilder): String */
1498 val
* nit__abstract_compiler___ModelBuilder___compile_dir(val
* self
) {
1499 val
* var
/* : String */;
1500 val
* var1
/* : String */;
1501 var1
= self
->attrs
[COLOR_nit__abstract_compiler__ModelBuilder___compile_dir
].val
; /* _compile_dir on <self:ModelBuilder> */
1502 if (unlikely(var1
== NULL
)) {
1503 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compile_dir");
1504 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 117);
1511 /* method abstract_compiler#ModelBuilder#compile_dir= for (self: ModelBuilder, String) */
1512 void nit__abstract_compiler___ModelBuilder___compile_dir_61d(val
* self
, val
* p0
) {
1513 self
->attrs
[COLOR_nit__abstract_compiler__ModelBuilder___compile_dir
].val
= p0
; /* _compile_dir on <self:ModelBuilder> */
1516 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
1517 void nit__abstract_compiler___ModelBuilder___write_and_make(val
* self
, val
* p0
) {
1518 val
* var_compiler
/* var compiler: AbstractCompiler */;
1519 val
* var
/* : Platform */;
1520 val
* var2
/* : Platform */;
1521 val
* var_platform
/* var platform: Platform */;
1522 val
* var3
/* : ToolContext */;
1523 val
* var5
/* : ToolContext */;
1524 val
* var6
/* : Toolchain */;
1525 val
* var_toolchain
/* var toolchain: Toolchain */;
1526 val
* var7
/* : String */;
1529 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
1530 var2
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
1531 if (unlikely(var2
== NULL
)) {
1532 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
1533 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 487);
1542 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (self) on <self:ModelBuilder> */
1543 var5
= self
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <self:ModelBuilder> */
1544 if (unlikely(var5
== NULL
)) {
1545 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1546 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
1554 var6
= nit__abstract_compiler___Platform___toolchain(var_platform
, var3
);
1556 var_toolchain
= var6
;
1558 var7
= nit___nit__Toolchain___compile_dir(var_toolchain
);
1561 { /* Inline abstract_compiler#ModelBuilder#compile_dir= (self,var7) on <self:ModelBuilder> */
1562 self
->attrs
[COLOR_nit__abstract_compiler__ModelBuilder___compile_dir
].val
= var7
; /* _compile_dir on <self:ModelBuilder> */
1567 nit___nit__MakefileToolchain___Toolchain__write_and_make(var_toolchain
, var_compiler
); /* Direct call abstract_compiler#MakefileToolchain#write_and_make on <var_toolchain:Toolchain>*/
1571 /* method abstract_compiler#Platform#toolchain for (self: Platform, ToolContext): Toolchain */
1572 val
* nit__abstract_compiler___Platform___toolchain(val
* self
, val
* p0
) {
1573 val
* var
/* : Toolchain */;
1574 val
* var_toolcontext
/* var toolcontext: ToolContext */;
1575 val
* var1
/* : MakefileToolchain */;
1576 var_toolcontext
= p0
;
1577 var1
= NEW_nit__MakefileToolchain(&type_nit__MakefileToolchain
);
1579 ((void (*)(val
* self
, val
* p0
))(var1
->class->vft
[COLOR_nit__abstract_compiler__Toolchain__toolcontext_61d
]))(var1
, var_toolcontext
) /* toolcontext= on <var1:MakefileToolchain>*/;
1582 ((void (*)(val
* self
))(var1
->class->vft
[COLOR_standard__kernel__Object__init
]))(var1
) /* init on <var1:MakefileToolchain>*/;
1589 /* method abstract_compiler#Toolchain#toolcontext for (self: Toolchain): ToolContext */
1590 val
* nit___nit__Toolchain___toolcontext(val
* self
) {
1591 val
* var
/* : ToolContext */;
1592 val
* var1
/* : ToolContext */;
1593 var1
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1594 if (unlikely(var1
== NULL
)) {
1595 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1596 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1603 /* method abstract_compiler#Toolchain#toolcontext= for (self: Toolchain, ToolContext) */
1604 void nit___nit__Toolchain___toolcontext_61d(val
* self
, val
* p0
) {
1605 self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
= p0
; /* _toolcontext on <self:Toolchain> */
1608 /* method abstract_compiler#Toolchain#compile_dir for (self: Toolchain): String */
1609 val
* nit___nit__Toolchain___compile_dir(val
* self
) {
1610 val
* var
/* : String */;
1611 val
* var1
/* : ToolContext */;
1612 val
* var3
/* : ToolContext */;
1613 val
* var4
/* : OptionString */;
1614 val
* var6
/* : OptionString */;
1615 val
* var7
/* : nullable Object */;
1616 val
* var9
/* : nullable Object */;
1617 val
* var_compile_dir
/* var compile_dir: nullable String */;
1618 val
* var10
/* : null */;
1619 short int var11
/* : Bool */;
1620 short int var12
/* : Bool */;
1621 static val
* varonce
;
1622 val
* var13
/* : String */;
1623 char* var14
/* : NativeString */;
1624 long var15
/* : Int */;
1625 val
* var16
/* : FlatString */;
1627 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:Toolchain> */
1628 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:Toolchain> */
1629 if (unlikely(var3
== NULL
)) {
1630 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1639 { /* Inline abstract_compiler#ToolContext#opt_compile_dir (var1) on <var1:ToolContext> */
1640 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_compile_dir
].val
; /* _opt_compile_dir on <var1:ToolContext> */
1641 if (unlikely(var6
== NULL
)) {
1642 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_compile_dir");
1643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 43);
1651 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
1652 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
1657 var_compile_dir
= var7
;
1659 if (var_compile_dir
== NULL
) {
1660 var11
= 1; /* is null */
1662 var11
= 0; /* arg is null but recv is not */
1665 var12
= ((short int (*)(val
* self
, val
* p0
))(var_compile_dir
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_compile_dir
, var10
) /* == on <var_compile_dir:nullable String>*/;
1672 var14
= ".nit_compile";
1674 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
1678 var_compile_dir
= var13
;
1681 var
= var_compile_dir
;
1686 /* method abstract_compiler#Toolchain#init for (self: Toolchain) */
1687 void nit___nit__Toolchain___standard__kernel__Object__init(val
* self
) {
1689 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit___nit__Toolchain___standard__kernel__Object__init
]))(self
) /* init on <self:Toolchain>*/;
1693 /* method abstract_compiler#MakefileToolchain#write_and_make for (self: MakefileToolchain, AbstractCompiler) */
1694 void nit___nit__MakefileToolchain___Toolchain__write_and_make(val
* self
, val
* p0
) {
1695 val
* var_compiler
/* var compiler: AbstractCompiler */;
1696 val
* var
/* : String */;
1697 val
* var_compile_dir
/* var compile_dir: String */;
1698 long var1
/* : Int */;
1699 long var3
/* : Int for extern */;
1700 long var_time0
/* var time0: Int */;
1701 val
* var4
/* : ToolContext */;
1702 val
* var6
/* : ToolContext */;
1703 static val
* varonce
;
1704 val
* var7
/* : String */;
1705 char* var8
/* : NativeString */;
1706 long var9
/* : Int */;
1707 val
* var10
/* : FlatString */;
1708 long var11
/* : Int */;
1709 val
* var12
/* : Array[String] */;
1710 val
* var_cfiles
/* var cfiles: Array[String] */;
1711 long var13
/* : Int */;
1712 long var15
/* : Int for extern */;
1713 long var_time1
/* var time1: Int */;
1714 val
* var16
/* : ToolContext */;
1715 val
* var18
/* : ToolContext */;
1716 static val
* varonce19
;
1717 val
* var20
/* : String */;
1718 char* var21
/* : NativeString */;
1719 long var22
/* : Int */;
1720 val
* var23
/* : FlatString */;
1721 long var24
/* : Int */;
1722 short int var26
/* : Bool */;
1725 const char* var_class_name
;
1726 long var27
/* : Int */;
1727 static val
* varonce28
;
1728 val
* var29
/* : String */;
1729 char* var30
/* : NativeString */;
1730 long var31
/* : Int */;
1731 val
* var32
/* : FlatString */;
1732 val
* var33
/* : Array[Object] */;
1733 long var34
/* : Int */;
1734 val
* var35
/* : NativeArray[Object] */;
1735 val
* var36
/* : Object */;
1736 val
* var37
/* : String */;
1737 long var38
/* : Int */;
1738 val
* var39
/* : ToolContext */;
1739 val
* var41
/* : ToolContext */;
1740 val
* var42
/* : OptionBool */;
1741 val
* var44
/* : OptionBool */;
1742 val
* var45
/* : nullable Object */;
1743 val
* var47
/* : nullable Object */;
1744 short int var48
/* : Bool */;
1745 val
* var49
/* : ToolContext */;
1746 val
* var51
/* : ToolContext */;
1747 static val
* varonce52
;
1748 val
* var53
/* : String */;
1749 char* var54
/* : NativeString */;
1750 long var55
/* : Int */;
1751 val
* var56
/* : FlatString */;
1752 long var57
/* : Int */;
1753 long var58
/* : Int */;
1754 long var60
/* : Int for extern */;
1755 val
* var61
/* : ToolContext */;
1756 val
* var63
/* : ToolContext */;
1757 static val
* varonce64
;
1758 val
* var65
/* : String */;
1759 char* var66
/* : NativeString */;
1760 long var67
/* : Int */;
1761 val
* var68
/* : FlatString */;
1762 long var69
/* : Int */;
1763 short int var71
/* : Bool */;
1766 const char* var_class_name74
;
1767 long var75
/* : Int */;
1768 static val
* varonce76
;
1769 val
* var77
/* : String */;
1770 char* var78
/* : NativeString */;
1771 long var79
/* : Int */;
1772 val
* var80
/* : FlatString */;
1773 val
* var81
/* : Array[Object] */;
1774 long var82
/* : Int */;
1775 val
* var83
/* : NativeArray[Object] */;
1776 val
* var84
/* : Object */;
1777 val
* var85
/* : String */;
1778 long var86
/* : Int */;
1781 var
= nit___nit__Toolchain___compile_dir(self
);
1783 var_compile_dir
= var
;
1785 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1786 var3
= kernel_Any_Any_get_time_0(self
);
1794 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1795 var6
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1796 if (unlikely(var6
== NULL
)) {
1797 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1798 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1808 var8
= "*** WRITING C ***";
1810 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
1816 nit___nit__ToolContext___info(var4
, var7
, var11
); /* Direct call toolcontext#ToolContext#info on <var4:ToolContext>*/
1819 standard__file___String___mkdir(var_compile_dir
); /* Direct call file#String#mkdir on <var_compile_dir:String>*/
1821 var12
= NEW_standard__Array(&type_standard__Array__standard__String
);
1823 standard___standard__Array___standard__kernel__Object__init(var12
); /* Direct call array#Array#init on <var12:Array[String]>*/
1827 nit___nit__MakefileToolchain___write_files(self
, var_compiler
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_files on <self:MakefileToolchain>*/
1830 nit___nit__MakefileToolchain___write_makefile(self
, var_compiler
, var_compile_dir
, var_cfiles
); /* Direct call abstract_compiler#MakefileToolchain#write_makefile on <self:MakefileToolchain>*/
1833 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1834 var15
= kernel_Any_Any_get_time_0(self
);
1837 RET_LABEL14
:(void)0;
1842 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1843 var18
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1844 if (unlikely(var18
== NULL
)) {
1845 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1846 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1850 RET_LABEL17
:(void)0;
1856 var21
= "*** END WRITING C: ";
1858 var23
= standard___standard__NativeString___to_s_with_length(var21
, var22
);
1863 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
1864 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
1865 /* <var_time0:Int> isa OTHER */
1866 var26
= 1; /* easy <var_time0:Int> isa OTHER*/
1867 if (unlikely(!var26
)) {
1868 var_class_name
= type_standard__Int
.name
;
1869 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
1870 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
1873 var27
= var_time1
- var_time0
;
1876 RET_LABEL25
:(void)0;
1884 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
1888 var33
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1889 { /* var33 = array_instance Array[Object] */
1891 var35
= NEW_standard__NativeArray(var34
, &type_standard__NativeArray__standard__Object
);
1892 ((struct instance_standard__NativeArray
*)var35
)->values
[0] = (val
*) var20
;
1893 var36
= BOX_standard__Int(var24
); /* autobox from Int to Object */
1894 ((struct instance_standard__NativeArray
*)var35
)->values
[1] = (val
*) var36
;
1895 ((struct instance_standard__NativeArray
*)var35
)->values
[2] = (val
*) var29
;
1897 ((void (*)(val
* self
, val
* p0
, long p1
))(var33
->class->vft
[COLOR_standard__array__Array__with_native
]))(var33
, var35
, var34
) /* with_native on <var33:Array[Object]>*/;
1901 var37
= ((val
* (*)(val
* self
))(var33
->class->vft
[COLOR_standard__string__Object__to_s
]))(var33
) /* to_s on <var33:Array[Object]>*/;
1905 nit___nit__ToolContext___info(var16
, var37
, var38
); /* Direct call toolcontext#ToolContext#info on <var16:ToolContext>*/
1908 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1909 var41
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1910 if (unlikely(var41
== NULL
)) {
1911 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1916 RET_LABEL40
:(void)0;
1920 { /* Inline abstract_compiler#ToolContext#opt_no_cc (var39) on <var39:ToolContext> */
1921 var44
= var39
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_cc
].val
; /* _opt_no_cc on <var39:ToolContext> */
1922 if (unlikely(var44
== NULL
)) {
1923 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_cc");
1924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 33);
1928 RET_LABEL43
:(void)0;
1932 { /* Inline opts#Option#value (var42) on <var42:OptionBool> */
1933 var47
= var42
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var42:OptionBool> */
1935 RET_LABEL46
:(void)0;
1938 var48
= ((struct instance_standard__Bool
*)var45
)->value
; /* autounbox from nullable Object to Bool */;
1943 var_time0
= var_time1
;
1945 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1946 var51
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1947 if (unlikely(var51
== NULL
)) {
1948 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1949 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1953 RET_LABEL50
:(void)0;
1959 var54
= "*** COMPILING C ***";
1961 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
1967 nit___nit__ToolContext___info(var49
, var53
, var57
); /* Direct call toolcontext#ToolContext#info on <var49:ToolContext>*/
1970 nit___nit__MakefileToolchain___compile_c_code(self
, var_compiler
, var_compile_dir
); /* Direct call abstract_compiler#MakefileToolchain#compile_c_code on <self:MakefileToolchain>*/
1973 { /* Inline time#Object#get_time (self) on <self:MakefileToolchain> */
1974 var60
= kernel_Any_Any_get_time_0(self
);
1977 RET_LABEL59
:(void)0;
1982 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
1983 var63
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
1984 if (unlikely(var63
== NULL
)) {
1985 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
1986 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
1990 RET_LABEL62
:(void)0;
1996 var66
= "*** END COMPILING C: ";
1998 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
2003 { /* Inline kernel#Int#- (var_time1,var_time0) on <var_time1:Int> */
2004 /* Covariant cast for argument 0 (i) <var_time0:Int> isa OTHER */
2005 /* <var_time0:Int> isa OTHER */
2006 var71
= 1; /* easy <var_time0:Int> isa OTHER*/
2007 if (unlikely(!var71
)) {
2008 var_class_name74
= type_standard__Int
.name
;
2009 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name74
);
2010 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 416);
2013 var75
= var_time1
- var_time0
;
2016 RET_LABEL70
:(void)0;
2024 var80
= standard___standard__NativeString___to_s_with_length(var78
, var79
);
2028 var81
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2029 { /* var81 = array_instance Array[Object] */
2031 var83
= NEW_standard__NativeArray(var82
, &type_standard__NativeArray__standard__Object
);
2032 ((struct instance_standard__NativeArray
*)var83
)->values
[0] = (val
*) var65
;
2033 var84
= BOX_standard__Int(var69
); /* autobox from Int to Object */
2034 ((struct instance_standard__NativeArray
*)var83
)->values
[1] = (val
*) var84
;
2035 ((struct instance_standard__NativeArray
*)var83
)->values
[2] = (val
*) var77
;
2037 ((void (*)(val
* self
, val
* p0
, long p1
))(var81
->class->vft
[COLOR_standard__array__Array__with_native
]))(var81
, var83
, var82
) /* with_native on <var81:Array[Object]>*/;
2041 var85
= ((val
* (*)(val
* self
))(var81
->class->vft
[COLOR_standard__string__Object__to_s
]))(var81
) /* to_s on <var81:Array[Object]>*/;
2045 nit___nit__ToolContext___info(var61
, var85
, var86
); /* Direct call toolcontext#ToolContext#info on <var61:ToolContext>*/
2049 /* method abstract_compiler#MakefileToolchain#write_files for (self: MakefileToolchain, AbstractCompiler, String, Array[String]) */
2050 void nit___nit__MakefileToolchain___write_files(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2051 val
* var_compiler
/* var compiler: AbstractCompiler */;
2052 val
* var_compile_dir
/* var compile_dir: String */;
2053 val
* var_cfiles
/* var cfiles: Array[String] */;
2054 val
* var
/* : Platform */;
2055 val
* var2
/* : Platform */;
2056 val
* var_platform
/* var platform: Platform */;
2057 short int var3
/* : Bool */;
2058 val
* var4
/* : ToolContext */;
2059 val
* var6
/* : ToolContext */;
2060 val
* var7
/* : OptionString */;
2061 val
* var9
/* : OptionString */;
2062 val
* var10
/* : nullable Object */;
2063 val
* var12
/* : nullable Object */;
2064 static val
* varonce
;
2065 val
* var13
/* : String */;
2066 char* var14
/* : NativeString */;
2067 long var15
/* : Int */;
2068 val
* var16
/* : FlatString */;
2069 short int var17
/* : Bool */;
2070 short int var18
/* : Bool */;
2071 short int var_
/* var : Bool */;
2072 short int var19
/* : Bool */;
2073 static val
* varonce20
;
2074 val
* var21
/* : String */;
2075 char* var22
/* : NativeString */;
2076 long var23
/* : Int */;
2077 val
* var24
/* : FlatString */;
2078 val
* var_cc_opt_with_libgc
/* var cc_opt_with_libgc: String */;
2079 short int var25
/* : Bool */;
2080 short int var26
/* : Bool */;
2081 static val
* varonce27
;
2082 val
* var28
/* : String */;
2083 char* var29
/* : NativeString */;
2084 long var30
/* : Int */;
2085 val
* var31
/* : FlatString */;
2086 val
* var32
/* : ExternCFile */;
2087 static val
* varonce33
;
2088 val
* var34
/* : String */;
2089 char* var35
/* : NativeString */;
2090 long var36
/* : Int */;
2091 val
* var37
/* : FlatString */;
2092 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
2093 static val
* varonce38
;
2094 val
* var39
/* : String */;
2095 char* var40
/* : NativeString */;
2096 long var41
/* : Int */;
2097 val
* var42
/* : FlatString */;
2098 short int var43
/* : Bool */;
2099 val
* var_other
/* var other: nullable Object */;
2100 short int var45
/* : Bool */;
2101 short int var46
/* : Bool */;
2102 val
* var47
/* : Array[String] */;
2103 val
* var49
/* : Array[String] */;
2104 static val
* varonce50
;
2105 val
* var51
/* : String */;
2106 char* var52
/* : NativeString */;
2107 long var53
/* : Int */;
2108 val
* var54
/* : FlatString */;
2109 val
* var55
/* : Array[ExternFile] */;
2110 val
* var57
/* : Array[ExternFile] */;
2111 val
* var58
/* : ToolContext */;
2112 val
* var60
/* : ToolContext */;
2113 val
* var61
/* : String */;
2114 val
* var63
/* : String */;
2115 static val
* varonce64
;
2116 val
* var65
/* : String */;
2117 char* var66
/* : NativeString */;
2118 long var67
/* : Int */;
2119 val
* var68
/* : FlatString */;
2120 val
* var69
/* : String */;
2121 val
* var_clib
/* var clib: String */;
2122 val
* var70
/* : Array[String] */;
2123 val
* var72
/* : Array[String] */;
2124 static val
* varonce73
;
2125 val
* var74
/* : String */;
2126 char* var75
/* : NativeString */;
2127 long var76
/* : Int */;
2128 val
* var77
/* : FlatString */;
2129 val
* var78
/* : Array[Object] */;
2130 long var79
/* : Int */;
2131 val
* var80
/* : NativeArray[Object] */;
2132 val
* var81
/* : String */;
2133 val
* var82
/* : Array[String] */;
2134 val
* var84
/* : Array[String] */;
2135 static val
* varonce85
;
2136 val
* var86
/* : String */;
2137 char* var87
/* : NativeString */;
2138 long var88
/* : Int */;
2139 val
* var89
/* : FlatString */;
2140 val
* var90
/* : Array[Object] */;
2141 long var91
/* : Int */;
2142 val
* var92
/* : NativeArray[Object] */;
2143 val
* var93
/* : String */;
2144 val
* var94
/* : MModule */;
2145 val
* var96
/* : MModule */;
2146 val
* var97
/* : POSetElement[MModule] */;
2147 val
* var99
/* : POSetElement[MModule] */;
2148 val
* var100
/* : Collection[nullable Object] */;
2149 val
* var_101
/* var : Collection[MModule] */;
2150 val
* var102
/* : Iterator[nullable Object] */;
2151 val
* var_103
/* var : Iterator[MModule] */;
2152 short int var104
/* : Bool */;
2153 val
* var105
/* : nullable Object */;
2154 val
* var_m
/* var m: MModule */;
2155 val
* var107
/* : Array[String] */;
2156 val
* var109
/* : Array[String] */;
2157 val
* var_110
/* var : Array[String] */;
2158 val
* var111
/* : ArrayIterator[nullable Object] */;
2159 val
* var_112
/* var : ArrayIterator[String] */;
2160 short int var113
/* : Bool */;
2161 val
* var114
/* : nullable Object */;
2162 val
* var_src
/* var src: String */;
2163 static val
* varonce115
;
2164 val
* var116
/* : String */;
2165 char* var117
/* : NativeString */;
2166 long var118
/* : Int */;
2167 val
* var119
/* : FlatString */;
2168 val
* var120
/* : String */;
2169 val
* var_basename
/* var basename: String */;
2170 static val
* varonce121
;
2171 val
* var122
/* : String */;
2172 char* var123
/* : NativeString */;
2173 long var124
/* : Int */;
2174 val
* var125
/* : FlatString */;
2175 val
* var126
/* : Array[Object] */;
2176 long var127
/* : Int */;
2177 val
* var128
/* : NativeArray[Object] */;
2178 val
* var129
/* : String */;
2179 val
* var_dst
/* var dst: String */;
2180 val
* var132
/* : CodeWriter */;
2181 val
* var134
/* : CodeWriter */;
2182 val
* var135
/* : CodeFile */;
2183 val
* var137
/* : CodeFile */;
2184 val
* var138
/* : String */;
2185 val
* var140
/* : String */;
2186 static val
* varonce141
;
2187 val
* var142
/* : String */;
2188 char* var143
/* : NativeString */;
2189 long var144
/* : Int */;
2190 val
* var145
/* : FlatString */;
2191 val
* var146
/* : String */;
2192 val
* var_hfilename
/* var hfilename: String */;
2193 static val
* varonce147
;
2194 val
* var148
/* : String */;
2195 char* var149
/* : NativeString */;
2196 long var150
/* : Int */;
2197 val
* var151
/* : FlatString */;
2198 val
* var152
/* : Array[Object] */;
2199 long var153
/* : Int */;
2200 val
* var154
/* : NativeArray[Object] */;
2201 val
* var155
/* : String */;
2202 val
* var_hfilepath
/* var hfilepath: String */;
2203 val
* var156
/* : OFStream */;
2204 val
* var_h
/* var h: OFStream */;
2205 val
* var157
/* : CodeWriter */;
2206 val
* var159
/* : CodeWriter */;
2207 val
* var160
/* : List[String] */;
2208 val
* var162
/* : List[String] */;
2209 val
* var_163
/* var : List[String] */;
2210 val
* var164
/* : ListIterator[nullable Object] */;
2211 val
* var_165
/* var : ListIterator[String] */;
2212 short int var166
/* : Bool */;
2213 val
* var167
/* : nullable Object */;
2214 val
* var_l
/* var l: String */;
2215 static val
* varonce168
;
2216 val
* var169
/* : String */;
2217 char* var170
/* : NativeString */;
2218 long var171
/* : Int */;
2219 val
* var172
/* : FlatString */;
2220 val
* var175
/* : CodeWriter */;
2221 val
* var177
/* : CodeWriter */;
2222 val
* var178
/* : List[String] */;
2223 val
* var180
/* : List[String] */;
2224 val
* var_181
/* var : List[String] */;
2225 val
* var182
/* : ListIterator[nullable Object] */;
2226 val
* var_183
/* var : ListIterator[String] */;
2227 short int var184
/* : Bool */;
2228 val
* var185
/* : nullable Object */;
2229 val
* var_l186
/* var l: String */;
2230 static val
* varonce187
;
2231 val
* var188
/* : String */;
2232 char* var189
/* : NativeString */;
2233 long var190
/* : Int */;
2234 val
* var191
/* : FlatString */;
2235 val
* var194
/* : ToolContext */;
2236 val
* var196
/* : ToolContext */;
2237 val
* var197
/* : OptionInt */;
2238 val
* var199
/* : OptionInt */;
2239 val
* var200
/* : nullable Object */;
2240 val
* var202
/* : nullable Object */;
2241 long var203
/* : Int */;
2242 long var_max_c_lines
/* var max_c_lines: Int */;
2243 val
* var204
/* : List[CodeFile] */;
2244 val
* var206
/* : List[CodeFile] */;
2245 val
* var_207
/* var : List[CodeFile] */;
2246 val
* var208
/* : ListIterator[nullable Object] */;
2247 val
* var_209
/* var : ListIterator[CodeFile] */;
2248 short int var210
/* : Bool */;
2249 val
* var211
/* : nullable Object */;
2250 val
* var_f
/* var f: CodeFile */;
2251 long var212
/* : Int */;
2252 long var_i
/* var i: Int */;
2253 long var213
/* : Int */;
2254 long var_count
/* var count: Int */;
2255 val
* var214
/* : null */;
2256 val
* var_file
/* var file: nullable OFStream */;
2257 val
* var215
/* : Array[CodeWriter] */;
2258 val
* var217
/* : Array[CodeWriter] */;
2259 val
* var_218
/* var : Array[CodeWriter] */;
2260 val
* var219
/* : ArrayIterator[nullable Object] */;
2261 val
* var_220
/* var : ArrayIterator[CodeWriter] */;
2262 short int var221
/* : Bool */;
2263 val
* var222
/* : nullable Object */;
2264 val
* var_vis
/* var vis: CodeWriter */;
2265 val
* var223
/* : CodeWriter */;
2266 val
* var225
/* : CodeWriter */;
2267 short int var226
/* : Bool */;
2268 val
* var_other228
/* var other: nullable Object */;
2269 short int var229
/* : Bool */;
2270 short int var231
/* : Bool */;
2271 val
* var233
/* : List[String] */;
2272 val
* var235
/* : List[String] */;
2273 long var236
/* : Int */;
2274 val
* var237
/* : List[String] */;
2275 val
* var239
/* : List[String] */;
2276 long var240
/* : Int */;
2277 long var241
/* : Int */;
2278 short int var243
/* : Bool */;
2281 const char* var_class_name
;
2282 long var244
/* : Int */;
2283 long var_total_lines
/* var total_lines: Int */;
2284 long var245
/* : Int */;
2285 short int var246
/* : Bool */;
2286 short int var248
/* : Bool */;
2287 long var249
/* : Int */;
2288 short int var251
/* : Bool */;
2291 const char* var_class_name254
;
2292 long var255
/* : Int */;
2293 short int var256
/* : Bool */;
2294 val
* var257
/* : null */;
2295 short int var258
/* : Bool */;
2296 short int var259
/* : Bool */;
2297 short int var261
/* : Bool */;
2298 short int var263
/* : Bool */;
2299 short int var_264
/* var : Bool */;
2300 short int var265
/* : Bool */;
2301 short int var266
/* : Bool */;
2302 short int var268
/* : Bool */;
2305 const char* var_class_name271
;
2306 short int var272
/* : Bool */;
2307 short int var_273
/* var : Bool */;
2308 long var274
/* : Int */;
2309 short int var275
/* : Bool */;
2310 short int var277
/* : Bool */;
2313 const char* var_class_name280
;
2314 short int var281
/* : Bool */;
2315 long var282
/* : Int */;
2316 long var283
/* : Int */;
2317 short int var285
/* : Bool */;
2320 const char* var_class_name288
;
2321 long var289
/* : Int */;
2322 val
* var290
/* : null */;
2323 short int var291
/* : Bool */;
2324 short int var292
/* : Bool */;
2325 short int var294
/* : Bool */;
2326 short int var295
/* : Bool */;
2327 val
* var296
/* : String */;
2328 val
* var298
/* : String */;
2329 static val
* varonce299
;
2330 val
* var300
/* : String */;
2331 char* var301
/* : NativeString */;
2332 long var302
/* : Int */;
2333 val
* var303
/* : FlatString */;
2334 static val
* varonce304
;
2335 val
* var305
/* : String */;
2336 char* var306
/* : NativeString */;
2337 long var307
/* : Int */;
2338 val
* var308
/* : FlatString */;
2339 val
* var309
/* : Array[Object] */;
2340 long var310
/* : Int */;
2341 val
* var311
/* : NativeArray[Object] */;
2342 val
* var312
/* : Object */;
2343 val
* var313
/* : String */;
2344 val
* var_cfilename
/* var cfilename: String */;
2345 static val
* varonce314
;
2346 val
* var315
/* : String */;
2347 char* var316
/* : NativeString */;
2348 long var317
/* : Int */;
2349 val
* var318
/* : FlatString */;
2350 val
* var319
/* : Array[Object] */;
2351 long var320
/* : Int */;
2352 val
* var321
/* : NativeArray[Object] */;
2353 val
* var322
/* : String */;
2354 val
* var_cfilepath
/* var cfilepath: String */;
2355 val
* var323
/* : ToolContext */;
2356 val
* var325
/* : ToolContext */;
2357 static val
* varonce326
;
2358 val
* var327
/* : String */;
2359 char* var328
/* : NativeString */;
2360 long var329
/* : Int */;
2361 val
* var330
/* : FlatString */;
2362 val
* var331
/* : Array[Object] */;
2363 long var332
/* : Int */;
2364 val
* var333
/* : NativeArray[Object] */;
2365 val
* var334
/* : String */;
2366 long var335
/* : Int */;
2367 val
* var336
/* : OFStream */;
2368 static val
* varonce337
;
2369 val
* var338
/* : String */;
2370 char* var339
/* : NativeString */;
2371 long var340
/* : Int */;
2372 val
* var341
/* : FlatString */;
2373 val
* var342
/* : String */;
2374 val
* var344
/* : String */;
2375 static val
* varonce345
;
2376 val
* var346
/* : String */;
2377 char* var347
/* : NativeString */;
2378 long var348
/* : Int */;
2379 val
* var349
/* : FlatString */;
2380 val
* var350
/* : Array[Object] */;
2381 long var351
/* : Int */;
2382 val
* var352
/* : NativeArray[Object] */;
2383 val
* var353
/* : String */;
2384 val
* var354
/* : List[String] */;
2385 val
* var356
/* : List[String] */;
2386 val
* var_357
/* var : List[String] */;
2387 val
* var358
/* : ListIterator[nullable Object] */;
2388 val
* var_359
/* var : ListIterator[String] */;
2389 short int var360
/* : Bool */;
2390 val
* var361
/* : nullable Object */;
2391 val
* var_l362
/* var l: String */;
2392 static val
* varonce363
;
2393 val
* var364
/* : String */;
2394 char* var365
/* : NativeString */;
2395 long var366
/* : Int */;
2396 val
* var367
/* : FlatString */;
2397 val
* var370
/* : List[String] */;
2398 val
* var372
/* : List[String] */;
2399 val
* var_373
/* var : List[String] */;
2400 val
* var374
/* : ListIterator[nullable Object] */;
2401 val
* var_375
/* var : ListIterator[String] */;
2402 short int var376
/* : Bool */;
2403 val
* var377
/* : nullable Object */;
2404 val
* var_l378
/* var l: String */;
2405 static val
* varonce379
;
2406 val
* var380
/* : String */;
2407 char* var381
/* : NativeString */;
2408 long var382
/* : Int */;
2409 val
* var383
/* : FlatString */;
2410 val
* var388
/* : null */;
2411 short int var389
/* : Bool */;
2412 short int var390
/* : Bool */;
2413 short int var392
/* : Bool */;
2414 short int var394
/* : Bool */;
2415 val
* var396
/* : String */;
2416 val
* var398
/* : String */;
2417 static val
* varonce399
;
2418 val
* var400
/* : String */;
2419 char* var401
/* : NativeString */;
2420 long var402
/* : Int */;
2421 val
* var403
/* : FlatString */;
2422 val
* var404
/* : Array[Object] */;
2423 long var405
/* : Int */;
2424 val
* var406
/* : NativeArray[Object] */;
2425 val
* var407
/* : String */;
2426 val
* var_cfilename408
/* var cfilename: String */;
2427 static val
* varonce409
;
2428 val
* var410
/* : String */;
2429 char* var411
/* : NativeString */;
2430 long var412
/* : Int */;
2431 val
* var413
/* : FlatString */;
2432 val
* var414
/* : Array[Object] */;
2433 long var415
/* : Int */;
2434 val
* var416
/* : NativeArray[Object] */;
2435 val
* var417
/* : String */;
2436 val
* var_cfilepath418
/* var cfilepath: String */;
2437 val
* var419
/* : null */;
2438 val
* var_hfile
/* var hfile: nullable OFStream */;
2439 val
* var420
/* : OFStream */;
2440 static val
* varonce421
;
2441 val
* var422
/* : String */;
2442 char* var423
/* : NativeString */;
2443 long var424
/* : Int */;
2444 val
* var425
/* : FlatString */;
2445 static val
* varonce426
;
2446 val
* var427
/* : String */;
2447 char* var428
/* : NativeString */;
2448 long var429
/* : Int */;
2449 val
* var430
/* : FlatString */;
2450 val
* var431
/* : Array[Object] */;
2451 long var432
/* : Int */;
2452 val
* var433
/* : NativeArray[Object] */;
2453 val
* var434
/* : String */;
2454 val
* var435
/* : HashSet[String] */;
2455 val
* var437
/* : HashSet[String] */;
2456 val
* var_438
/* var : HashSet[String] */;
2457 val
* var439
/* : Iterator[nullable Object] */;
2458 val
* var_440
/* var : Iterator[String] */;
2459 short int var441
/* : Bool */;
2460 val
* var442
/* : nullable Object */;
2461 val
* var_key
/* var key: String */;
2462 val
* var443
/* : HashMap[String, String] */;
2463 val
* var445
/* : HashMap[String, String] */;
2464 short int var446
/* : Bool */;
2465 short int var447
/* : Bool */;
2466 val
* var448
/* : HashMap[String, ANode] */;
2467 val
* var450
/* : HashMap[String, ANode] */;
2468 val
* var451
/* : nullable Object */;
2469 val
* var_node
/* var node: nullable ANode */;
2470 val
* var452
/* : null */;
2471 short int var453
/* : Bool */;
2472 short int var454
/* : Bool */;
2473 short int var456
/* : Bool */;
2474 short int var457
/* : Bool */;
2475 static val
* varonce458
;
2476 val
* var459
/* : String */;
2477 char* var460
/* : NativeString */;
2478 long var461
/* : Int */;
2479 val
* var462
/* : FlatString */;
2480 val
* var463
/* : Array[Object] */;
2481 long var464
/* : Int */;
2482 val
* var465
/* : NativeArray[Object] */;
2483 val
* var466
/* : String */;
2484 static val
* varonce467
;
2485 val
* var468
/* : String */;
2486 char* var469
/* : NativeString */;
2487 long var470
/* : Int */;
2488 val
* var471
/* : FlatString */;
2489 val
* var472
/* : Array[Object] */;
2490 long var473
/* : Int */;
2491 val
* var474
/* : NativeArray[Object] */;
2492 val
* var475
/* : String */;
2493 val
* var476
/* : HashMap[String, String] */;
2494 val
* var478
/* : HashMap[String, String] */;
2495 val
* var479
/* : nullable Object */;
2496 static val
* varonce480
;
2497 val
* var481
/* : String */;
2498 char* var482
/* : NativeString */;
2499 long var483
/* : Int */;
2500 val
* var484
/* : FlatString */;
2501 val
* var489
/* : ToolContext */;
2502 val
* var491
/* : ToolContext */;
2503 static val
* varonce492
;
2504 val
* var493
/* : String */;
2505 char* var494
/* : NativeString */;
2506 long var495
/* : Int */;
2507 val
* var496
/* : FlatString */;
2508 long var497
/* : Int */;
2509 long var499
/* : Int */;
2510 val
* var500
/* : Array[Object] */;
2511 long var501
/* : Int */;
2512 val
* var502
/* : NativeArray[Object] */;
2513 val
* var503
/* : Object */;
2514 val
* var504
/* : String */;
2515 long var505
/* : Int */;
2517 var_compile_dir
= p1
;
2520 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
2521 var2
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
2522 if (unlikely(var2
== NULL
)) {
2523 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
2524 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 487);
2533 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
2534 var6
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2535 if (unlikely(var6
== NULL
)) {
2536 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2537 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
2545 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (var4) on <var4:ToolContext> */
2546 var9
= var4
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <var4:ToolContext> */
2547 if (unlikely(var9
== NULL
)) {
2548 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
2549 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
2557 { /* Inline opts#Option#value (var7) on <var7:OptionString> */
2558 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionString> */
2560 RET_LABEL11
:(void)0;
2568 var16
= standard___standard__NativeString___to_s_with_length(var14
, var15
);
2572 if (var10
== NULL
) {
2573 var17
= 0; /* <var13:String> cannot be null */
2575 var18
= ((short int (*)(val
* self
, val
* p0
))(var10
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var10
, var13
) /* == on <var10:nullable Object(nullable String)>*/;
2581 var19
= nit___nit__Platform___supports_libunwind(var_platform
);
2589 nit___nit__AbstractCompiler___build_c_to_nit_bindings(var_compiler
); /* Direct call abstract_compiler#AbstractCompiler#build_c_to_nit_bindings on <var_compiler:AbstractCompiler>*/
2596 var22
= "-DWITH_LIBGC";
2598 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
2602 var_cc_opt_with_libgc
= var21
;
2604 var25
= nit___nit__Platform___supports_libgc(var_platform
);
2613 var31
= standard___standard__NativeString___to_s_with_length(var29
, var30
);
2617 var_cc_opt_with_libgc
= var28
;
2620 var32
= NEW_nit__ExternCFile(&type_nit__ExternCFile
);
2624 var35
= "gc_chooser.c";
2626 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
2631 ((void (*)(val
* self
, val
* p0
))(var32
->class->vft
[COLOR_nit__c_tools__ExternFile__filename_61d
]))(var32
, var34
) /* filename= on <var32:ExternCFile>*/;
2634 ((void (*)(val
* self
, val
* p0
))(var32
->class->vft
[COLOR_nit__c_tools__ExternCFile__cflags_61d
]))(var32
, var_cc_opt_with_libgc
) /* cflags= on <var32:ExternCFile>*/;
2637 ((void (*)(val
* self
))(var32
->class->vft
[COLOR_standard__kernel__Object__init
]))(var32
) /* init on <var32:ExternCFile>*/;
2639 var_gc_chooser
= var32
;
2645 var42
= standard___standard__NativeString___to_s_with_length(var40
, var41
);
2650 { /* Inline kernel#Object#!= (var_cc_opt_with_libgc,var39) on <var_cc_opt_with_libgc:String> */
2653 var45
= ((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>*/;
2658 RET_LABEL44
:(void)0;
2663 { /* Inline c_tools#ExternFile#pkgconfigs (var_gc_chooser) on <var_gc_chooser:ExternCFile> */
2664 var49
= var_gc_chooser
->attrs
[COLOR_nit__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_gc_chooser:ExternCFile> */
2665 if (unlikely(var49
== NULL
)) {
2666 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
2667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 119);
2671 RET_LABEL48
:(void)0;
2679 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
2684 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var47
, var51
); /* Direct call array#Array#add on <var47:Array[String]>*/
2689 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var_compiler) on <var_compiler:AbstractCompiler> */
2690 var57
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var_compiler:AbstractCompiler> */
2691 if (unlikely(var57
== NULL
)) {
2692 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
2693 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 928);
2697 RET_LABEL56
:(void)0;
2701 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var55
, var_gc_chooser
); /* Direct call array#Array#add on <var55:Array[ExternFile]>*/
2704 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
2705 var60
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
2706 if (unlikely(var60
== NULL
)) {
2707 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
2708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
2712 RET_LABEL59
:(void)0;
2716 { /* Inline toolcontext#ToolContext#nit_dir (var58) on <var58:ToolContext> */
2717 var63
= var58
->attrs
[COLOR_nit__toolcontext__ToolContext___nit_dir
].val
; /* _nit_dir on <var58:ToolContext> */
2718 if (unlikely(var63
== NULL
)) {
2719 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _nit_dir");
2720 PRINT_ERROR(" (%s:%d)\n", FILE_nit__toolcontext
, 452);
2724 RET_LABEL62
:(void)0;
2732 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
2737 var69
= standard__file___String____47d(var61
, var65
);
2741 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var_compiler) on <var_compiler:AbstractCompiler> */
2742 var72
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var_compiler:AbstractCompiler> */
2743 if (unlikely(var72
== NULL
)) {
2744 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2745 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 931);
2749 RET_LABEL71
:(void)0;
2755 var75
= "/gc_chooser.c";
2757 var77
= standard___standard__NativeString___to_s_with_length(var75
, var76
);
2761 var78
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2762 { /* var78 = array_instance Array[Object] */
2764 var80
= NEW_standard__NativeArray(var79
, &type_standard__NativeArray__standard__Object
);
2765 ((struct instance_standard__NativeArray
*)var80
)->values
[0] = (val
*) var_clib
;
2766 ((struct instance_standard__NativeArray
*)var80
)->values
[1] = (val
*) var74
;
2768 ((void (*)(val
* self
, val
* p0
, long p1
))(var78
->class->vft
[COLOR_standard__array__Array__with_native
]))(var78
, var80
, var79
) /* with_native on <var78:Array[Object]>*/;
2772 var81
= ((val
* (*)(val
* self
))(var78
->class->vft
[COLOR_standard__string__Object__to_s
]))(var78
) /* to_s on <var78:Array[Object]>*/;
2775 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var70
, var81
); /* Direct call array#Array#add on <var70:Array[String]>*/
2778 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var_compiler) on <var_compiler:AbstractCompiler> */
2779 var84
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var_compiler:AbstractCompiler> */
2780 if (unlikely(var84
== NULL
)) {
2781 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2782 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 931);
2786 RET_LABEL83
:(void)0;
2792 var87
= "/gc_chooser.h";
2794 var89
= standard___standard__NativeString___to_s_with_length(var87
, var88
);
2798 var90
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2799 { /* var90 = array_instance Array[Object] */
2801 var92
= NEW_standard__NativeArray(var91
, &type_standard__NativeArray__standard__Object
);
2802 ((struct instance_standard__NativeArray
*)var92
)->values
[0] = (val
*) var_clib
;
2803 ((struct instance_standard__NativeArray
*)var92
)->values
[1] = (val
*) var86
;
2805 ((void (*)(val
* self
, val
* p0
, long p1
))(var90
->class->vft
[COLOR_standard__array__Array__with_native
]))(var90
, var92
, var91
) /* with_native on <var90:Array[Object]>*/;
2809 var93
= ((val
* (*)(val
* self
))(var90
->class->vft
[COLOR_standard__string__Object__to_s
]))(var90
) /* to_s on <var90:Array[Object]>*/;
2812 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var82
, var93
); /* Direct call array#Array#add on <var82:Array[String]>*/
2815 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var_compiler) on <var_compiler:AbstractCompiler> */
2816 var96
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var_compiler:AbstractCompiler> */
2817 if (unlikely(var96
== NULL
)) {
2818 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
2819 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
2823 RET_LABEL95
:(void)0;
2827 { /* Inline mmodule#MModule#in_importation (var94) on <var94:MModule> */
2828 var99
= var94
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var94:MModule> */
2829 if (unlikely(var99
== NULL
)) {
2830 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
2831 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
2835 RET_LABEL98
:(void)0;
2839 var100
= poset___poset__POSetElement___greaters(var97
);
2843 var102
= ((val
* (*)(val
* self
))(var_101
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_101
) /* iterator on <var_101:Collection[MModule]>*/;
2848 var104
= ((short int (*)(val
* self
))(var_103
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_103
) /* is_ok on <var_103:Iterator[MModule]>*/;
2852 var105
= ((val
* (*)(val
* self
))(var_103
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_103
) /* item on <var_103:Iterator[MModule]>*/;
2856 nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__finalize_ffi_for_module(var_compiler
, var_m
); /* Direct call separate_compiler#SeparateCompiler#finalize_ffi_for_module on <var_compiler:AbstractCompiler>*/
2859 ((void (*)(val
* self
))(var_103
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_103
) /* next on <var_103:Iterator[MModule]>*/;
2865 BREAK_label
: (void)0;
2867 { /* Inline abstract_collection#Iterator#finish (var_103) on <var_103:Iterator[MModule]> */
2868 RET_LABEL106
:(void)0;
2872 { /* Inline abstract_compiler#AbstractCompiler#files_to_copy (var_compiler) on <var_compiler:AbstractCompiler> */
2873 var109
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files_to_copy
].val
; /* _files_to_copy on <var_compiler:AbstractCompiler> */
2874 if (unlikely(var109
== NULL
)) {
2875 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files_to_copy");
2876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 931);
2880 RET_LABEL108
:(void)0;
2885 var111
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_110
);
2890 var113
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_112
);
2894 var114
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_112
);
2898 var116
= varonce115
;
2902 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
2904 varonce115
= var116
;
2907 var120
= standard__file___String___basename(var_src
, var116
);
2909 var_basename
= var120
;
2911 var122
= varonce121
;
2915 var125
= standard___standard__NativeString___to_s_with_length(var123
, var124
);
2917 varonce121
= var122
;
2919 var126
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2920 { /* var126 = array_instance Array[Object] */
2922 var128
= NEW_standard__NativeArray(var127
, &type_standard__NativeArray__standard__Object
);
2923 ((struct instance_standard__NativeArray
*)var128
)->values
[0] = (val
*) var_compile_dir
;
2924 ((struct instance_standard__NativeArray
*)var128
)->values
[1] = (val
*) var122
;
2925 ((struct instance_standard__NativeArray
*)var128
)->values
[2] = (val
*) var_basename
;
2927 ((void (*)(val
* self
, val
* p0
, long p1
))(var126
->class->vft
[COLOR_standard__array__Array__with_native
]))(var126
, var128
, var127
) /* with_native on <var126:Array[Object]>*/;
2931 var129
= ((val
* (*)(val
* self
))(var126
->class->vft
[COLOR_standard__string__Object__to_s
]))(var126
) /* to_s on <var126:Array[Object]>*/;
2935 standard__file___String___file_copy_to(var_src
, var_dst
); /* Direct call file#String#file_copy_to on <var_src:String>*/
2938 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_112
); /* Direct call array#ArrayIterator#next on <var_112:ArrayIterator[String]>*/
2941 goto BREAK_label130
;
2944 BREAK_label130
: (void)0;
2946 { /* Inline abstract_collection#Iterator#finish (var_112) on <var_112:ArrayIterator[String]> */
2947 RET_LABEL131
:(void)0;
2951 { /* Inline abstract_compiler#AbstractCompiler#header (var_compiler) on <var_compiler:AbstractCompiler> */
2952 var134
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var_compiler:AbstractCompiler> */
2953 if (unlikely(var134
== NULL
)) {
2954 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
2955 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
2959 RET_LABEL133
:(void)0;
2963 { /* Inline abstract_compiler#CodeWriter#file (var132) on <var132:CodeWriter> */
2964 var137
= var132
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___file
].val
; /* _file on <var132:CodeWriter> */
2965 if (unlikely(var137
== NULL
)) {
2966 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _file");
2967 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1037);
2971 RET_LABEL136
:(void)0;
2975 { /* Inline abstract_compiler#CodeFile#name (var135) on <var135:CodeFile> */
2976 var140
= var135
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var135:CodeFile> */
2977 if (unlikely(var140
== NULL
)) {
2978 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
2979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1030);
2983 RET_LABEL139
:(void)0;
2987 var142
= varonce141
;
2991 var145
= standard___standard__NativeString___to_s_with_length(var143
, var144
);
2993 varonce141
= var142
;
2996 var146
= ((val
* (*)(val
* self
, val
* p0
))(var138
->class->vft
[COLOR_standard__string__String___43d
]))(var138
, var142
) /* + on <var138:String>*/;
2998 var_hfilename
= var146
;
3000 var148
= varonce147
;
3004 var151
= standard___standard__NativeString___to_s_with_length(var149
, var150
);
3006 varonce147
= var148
;
3008 var152
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3009 { /* var152 = array_instance Array[Object] */
3011 var154
= NEW_standard__NativeArray(var153
, &type_standard__NativeArray__standard__Object
);
3012 ((struct instance_standard__NativeArray
*)var154
)->values
[0] = (val
*) var_compile_dir
;
3013 ((struct instance_standard__NativeArray
*)var154
)->values
[1] = (val
*) var148
;
3014 ((struct instance_standard__NativeArray
*)var154
)->values
[2] = (val
*) var_hfilename
;
3016 ((void (*)(val
* self
, val
* p0
, long p1
))(var152
->class->vft
[COLOR_standard__array__Array__with_native
]))(var152
, var154
, var153
) /* with_native on <var152:Array[Object]>*/;
3020 var155
= ((val
* (*)(val
* self
))(var152
->class->vft
[COLOR_standard__string__Object__to_s
]))(var152
) /* to_s on <var152:Array[Object]>*/;
3022 var_hfilepath
= var155
;
3023 var156
= NEW_standard__OFStream(&type_standard__OFStream
);
3025 standard___standard__OFStream___open(var156
, var_hfilepath
); /* Direct call file#OFStream#open on <var156:OFStream>*/
3029 { /* Inline abstract_compiler#AbstractCompiler#header (var_compiler) on <var_compiler:AbstractCompiler> */
3030 var159
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var_compiler:AbstractCompiler> */
3031 if (unlikely(var159
== NULL
)) {
3032 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3033 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3037 RET_LABEL158
:(void)0;
3041 { /* Inline abstract_compiler#CodeWriter#decl_lines (var157) on <var157:CodeWriter> */
3042 var162
= var157
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var157:CodeWriter> */
3043 if (unlikely(var162
== NULL
)) {
3044 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3045 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1039);
3049 RET_LABEL161
:(void)0;
3054 var164
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_163
);
3059 var166
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_165
);
3063 var167
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_165
);
3067 standard___standard__OFStream___standard__stream__OStream__write(var_h
, var_l
); /* Direct call file#OFStream#write on <var_h:OFStream>*/
3070 var169
= varonce168
;
3074 var172
= standard___standard__NativeString___to_s_with_length(var170
, var171
);
3076 varonce168
= var169
;
3079 standard___standard__OFStream___standard__stream__OStream__write(var_h
, var169
); /* Direct call file#OFStream#write on <var_h:OFStream>*/
3082 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_165
); /* Direct call list#ListIterator#next on <var_165:ListIterator[String]>*/
3085 goto BREAK_label173
;
3088 BREAK_label173
: (void)0;
3090 { /* Inline abstract_collection#Iterator#finish (var_165) on <var_165:ListIterator[String]> */
3091 RET_LABEL174
:(void)0;
3095 { /* Inline abstract_compiler#AbstractCompiler#header (var_compiler) on <var_compiler:AbstractCompiler> */
3096 var177
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var_compiler:AbstractCompiler> */
3097 if (unlikely(var177
== NULL
)) {
3098 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3099 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3103 RET_LABEL176
:(void)0;
3107 { /* Inline abstract_compiler#CodeWriter#lines (var175) on <var175:CodeWriter> */
3108 var180
= var175
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var175:CodeWriter> */
3109 if (unlikely(var180
== NULL
)) {
3110 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3111 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1038);
3115 RET_LABEL179
:(void)0;
3120 var182
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_181
);
3125 var184
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_183
);
3129 var185
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_183
);
3133 standard___standard__OFStream___standard__stream__OStream__write(var_h
, var_l186
); /* Direct call file#OFStream#write on <var_h:OFStream>*/
3136 var188
= varonce187
;
3140 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
3142 varonce187
= var188
;
3145 standard___standard__OFStream___standard__stream__OStream__write(var_h
, var188
); /* Direct call file#OFStream#write on <var_h:OFStream>*/
3148 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_183
); /* Direct call list#ListIterator#next on <var_183:ListIterator[String]>*/
3151 goto BREAK_label192
;
3154 BREAK_label192
: (void)0;
3156 { /* Inline abstract_collection#Iterator#finish (var_183) on <var_183:ListIterator[String]> */
3157 RET_LABEL193
:(void)0;
3161 standard___standard__OFStream___standard__stream__IOS__close(var_h
); /* Direct call file#OFStream#close on <var_h:OFStream>*/
3164 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3165 var196
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3166 if (unlikely(var196
== NULL
)) {
3167 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3168 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
3172 RET_LABEL195
:(void)0;
3176 { /* Inline abstract_compiler#ToolContext#opt_max_c_lines (var194) on <var194:ToolContext> */
3177 var199
= var194
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_max_c_lines
].val
; /* _opt_max_c_lines on <var194:ToolContext> */
3178 if (unlikely(var199
== NULL
)) {
3179 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_max_c_lines");
3180 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 39);
3184 RET_LABEL198
:(void)0;
3188 { /* Inline opts#Option#value (var197) on <var197:OptionInt> */
3189 var202
= var197
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var197:OptionInt> */
3191 RET_LABEL201
:(void)0;
3194 var203
= ((struct instance_standard__Int
*)var200
)->value
; /* autounbox from nullable Object to Int */;
3195 var_max_c_lines
= var203
;
3197 { /* Inline abstract_compiler#AbstractCompiler#files (var_compiler) on <var_compiler:AbstractCompiler> */
3198 var206
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <var_compiler:AbstractCompiler> */
3199 if (unlikely(var206
== NULL
)) {
3200 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
3201 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
3205 RET_LABEL205
:(void)0;
3210 var208
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_207
);
3215 var210
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_209
);
3219 var211
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_209
);
3229 { /* Inline abstract_compiler#CodeFile#writers (var_f) on <var_f:CodeFile> */
3230 var217
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___writers
].val
; /* _writers on <var_f:CodeFile> */
3231 if (unlikely(var217
== NULL
)) {
3232 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _writers");
3233 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1031);
3237 RET_LABEL216
:(void)0;
3242 var219
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_218
);
3247 var221
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_220
);
3251 var222
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_220
);
3255 { /* Inline abstract_compiler#AbstractCompiler#header (var_compiler) on <var_compiler:AbstractCompiler> */
3256 var225
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <var_compiler:AbstractCompiler> */
3257 if (unlikely(var225
== NULL
)) {
3258 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
3259 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
3263 RET_LABEL224
:(void)0;
3267 { /* Inline kernel#Object#== (var_vis,var223) on <var_vis:CodeWriter> */
3268 var_other228
= var223
;
3270 { /* Inline kernel#Object#is_same_instance (var_vis,var_other228) on <var_vis:CodeWriter> */
3271 var231
= var_vis
== var_other228
;
3274 RET_LABEL230
:(void)0;
3279 RET_LABEL227
:(void)0;
3283 goto BREAK_label232
;
3287 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3288 var235
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3289 if (unlikely(var235
== NULL
)) {
3290 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1038);
3295 RET_LABEL234
:(void)0;
3299 var236
= standard___standard__List___standard__abstract_collection__Collection__length(var233
);
3302 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3303 var239
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3304 if (unlikely(var239
== NULL
)) {
3305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1039);
3310 RET_LABEL238
:(void)0;
3314 var240
= standard___standard__List___standard__abstract_collection__Collection__length(var237
);
3317 { /* Inline kernel#Int#+ (var236,var240) on <var236:Int> */
3318 /* Covariant cast for argument 0 (i) <var240:Int> isa OTHER */
3319 /* <var240:Int> isa OTHER */
3320 var243
= 1; /* easy <var240:Int> isa OTHER*/
3321 if (unlikely(!var243
)) {
3322 var_class_name
= type_standard__Int
.name
;
3323 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3324 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3327 var244
= var236
+ var240
;
3330 RET_LABEL242
:(void)0;
3333 var_total_lines
= var241
;
3336 { /* Inline kernel#Int#== (var_total_lines,var245) on <var_total_lines:Int> */
3337 var248
= var_total_lines
== var245
;
3340 RET_LABEL247
:(void)0;
3344 goto BREAK_label232
;
3348 { /* Inline kernel#Int#+ (var_count,var_total_lines) on <var_count:Int> */
3349 /* Covariant cast for argument 0 (i) <var_total_lines:Int> isa OTHER */
3350 /* <var_total_lines:Int> isa OTHER */
3351 var251
= 1; /* easy <var_total_lines:Int> isa OTHER*/
3352 if (unlikely(!var251
)) {
3353 var_class_name254
= type_standard__Int
.name
;
3354 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name254
);
3355 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3358 var255
= var_count
+ var_total_lines
;
3361 RET_LABEL250
:(void)0;
3366 if (var_file
== NULL
) {
3367 var258
= 1; /* is null */
3369 var258
= 0; /* arg is null but recv is not */
3372 { /* Inline kernel#Object#== (var_file,var257) on <var_file:nullable OFStream> */
3373 var_other228
= var257
;
3375 { /* Inline kernel#Object#is_same_instance (var_file,var_other228) on <var_file:nullable OFStream(OFStream)> */
3376 var263
= var_file
== var_other228
;
3379 RET_LABEL262
:(void)0;
3384 RET_LABEL260
:(void)0;
3393 { /* Inline kernel#Int#> (var_count,var_max_c_lines) on <var_count:Int> */
3394 /* Covariant cast for argument 0 (i) <var_max_c_lines:Int> isa OTHER */
3395 /* <var_max_c_lines:Int> isa OTHER */
3396 var268
= 1; /* easy <var_max_c_lines:Int> isa OTHER*/
3397 if (unlikely(!var268
)) {
3398 var_class_name271
= type_standard__Int
.name
;
3399 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name271
);
3400 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
3403 var272
= var_count
> var_max_c_lines
;
3406 RET_LABEL267
:(void)0;
3413 { /* Inline kernel#Int#> (var_max_c_lines,var274) on <var_max_c_lines:Int> */
3414 /* Covariant cast for argument 0 (i) <var274:Int> isa OTHER */
3415 /* <var274:Int> isa OTHER */
3416 var277
= 1; /* easy <var274:Int> isa OTHER*/
3417 if (unlikely(!var277
)) {
3418 var_class_name280
= type_standard__Int
.name
;
3419 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name280
);
3420 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 412);
3423 var281
= var_max_c_lines
> var274
;
3426 RET_LABEL276
:(void)0;
3438 { /* Inline kernel#Int#+ (var_i,var282) on <var_i:Int> */
3439 /* Covariant cast for argument 0 (i) <var282:Int> isa OTHER */
3440 /* <var282:Int> isa OTHER */
3441 var285
= 1; /* easy <var282:Int> isa OTHER*/
3442 if (unlikely(!var285
)) {
3443 var_class_name288
= type_standard__Int
.name
;
3444 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name288
);
3445 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 413);
3448 var289
= var_i
+ var282
;
3451 RET_LABEL284
:(void)0;
3456 if (var_file
== NULL
) {
3457 var291
= 0; /* is null */
3459 var291
= 1; /* arg is null and recv is not */
3462 { /* Inline kernel#Object#!= (var_file,var290) on <var_file:nullable OFStream> */
3465 var294
= ((short int (*)(val
* self
, val
* p0
))(var_file
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_file
, var_other
) /* == on <var_file:nullable OFStream(OFStream)>*/;
3470 RET_LABEL293
:(void)0;
3476 standard___standard__OFStream___standard__stream__IOS__close(var_file
); /* Direct call file#OFStream#close on <var_file:nullable OFStream(OFStream)>*/
3481 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3482 var298
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3483 if (unlikely(var298
== NULL
)) {
3484 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1030);
3489 RET_LABEL297
:(void)0;
3493 var300
= varonce299
;
3497 var303
= standard___standard__NativeString___to_s_with_length(var301
, var302
);
3499 varonce299
= var300
;
3502 var305
= varonce304
;
3506 var308
= standard___standard__NativeString___to_s_with_length(var306
, var307
);
3508 varonce304
= var305
;
3510 var309
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3511 { /* var309 = array_instance Array[Object] */
3513 var311
= NEW_standard__NativeArray(var310
, &type_standard__NativeArray__standard__Object
);
3514 ((struct instance_standard__NativeArray
*)var311
)->values
[0] = (val
*) var296
;
3515 ((struct instance_standard__NativeArray
*)var311
)->values
[1] = (val
*) var300
;
3516 var312
= BOX_standard__Int(var_i
); /* autobox from Int to Object */
3517 ((struct instance_standard__NativeArray
*)var311
)->values
[2] = (val
*) var312
;
3518 ((struct instance_standard__NativeArray
*)var311
)->values
[3] = (val
*) var305
;
3520 ((void (*)(val
* self
, val
* p0
, long p1
))(var309
->class->vft
[COLOR_standard__array__Array__with_native
]))(var309
, var311
, var310
) /* with_native on <var309:Array[Object]>*/;
3524 var313
= ((val
* (*)(val
* self
))(var309
->class->vft
[COLOR_standard__string__Object__to_s
]))(var309
) /* to_s on <var309:Array[Object]>*/;
3526 var_cfilename
= var313
;
3528 var315
= varonce314
;
3532 var318
= standard___standard__NativeString___to_s_with_length(var316
, var317
);
3534 varonce314
= var315
;
3536 var319
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3537 { /* var319 = array_instance Array[Object] */
3539 var321
= NEW_standard__NativeArray(var320
, &type_standard__NativeArray__standard__Object
);
3540 ((struct instance_standard__NativeArray
*)var321
)->values
[0] = (val
*) var_compile_dir
;
3541 ((struct instance_standard__NativeArray
*)var321
)->values
[1] = (val
*) var315
;
3542 ((struct instance_standard__NativeArray
*)var321
)->values
[2] = (val
*) var_cfilename
;
3544 ((void (*)(val
* self
, val
* p0
, long p1
))(var319
->class->vft
[COLOR_standard__array__Array__with_native
]))(var319
, var321
, var320
) /* with_native on <var319:Array[Object]>*/;
3548 var322
= ((val
* (*)(val
* self
))(var319
->class->vft
[COLOR_standard__string__Object__to_s
]))(var319
) /* to_s on <var319:Array[Object]>*/;
3550 var_cfilepath
= var322
;
3552 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
3553 var325
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
3554 if (unlikely(var325
== NULL
)) {
3555 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
3556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
3560 RET_LABEL324
:(void)0;
3564 var327
= varonce326
;
3566 var328
= "new C source files to compile: ";
3568 var330
= standard___standard__NativeString___to_s_with_length(var328
, var329
);
3570 varonce326
= var327
;
3572 var331
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3573 { /* var331 = array_instance Array[Object] */
3575 var333
= NEW_standard__NativeArray(var332
, &type_standard__NativeArray__standard__Object
);
3576 ((struct instance_standard__NativeArray
*)var333
)->values
[0] = (val
*) var327
;
3577 ((struct instance_standard__NativeArray
*)var333
)->values
[1] = (val
*) var_cfilepath
;
3579 ((void (*)(val
* self
, val
* p0
, long p1
))(var331
->class->vft
[COLOR_standard__array__Array__with_native
]))(var331
, var333
, var332
) /* with_native on <var331:Array[Object]>*/;
3583 var334
= ((val
* (*)(val
* self
))(var331
->class->vft
[COLOR_standard__string__Object__to_s
]))(var331
) /* to_s on <var331:Array[Object]>*/;
3587 nit___nit__ToolContext___info(var323
, var334
, var335
); /* Direct call toolcontext#ToolContext#info on <var323:ToolContext>*/
3590 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_cfiles
, var_cfilename
); /* Direct call array#Array#add on <var_cfiles:Array[String]>*/
3592 var336
= NEW_standard__OFStream(&type_standard__OFStream
);
3594 standard___standard__OFStream___open(var336
, var_cfilepath
); /* Direct call file#OFStream#open on <var336:OFStream>*/
3598 var338
= varonce337
;
3600 var339
= "#include \"";
3602 var341
= standard___standard__NativeString___to_s_with_length(var339
, var340
);
3604 varonce337
= var338
;
3607 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3608 var344
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3609 if (unlikely(var344
== NULL
)) {
3610 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3611 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1030);
3615 RET_LABEL343
:(void)0;
3619 var346
= varonce345
;
3621 var347
= ".0.h\"\n";
3623 var349
= standard___standard__NativeString___to_s_with_length(var347
, var348
);
3625 varonce345
= var346
;
3627 var350
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3628 { /* var350 = array_instance Array[Object] */
3630 var352
= NEW_standard__NativeArray(var351
, &type_standard__NativeArray__standard__Object
);
3631 ((struct instance_standard__NativeArray
*)var352
)->values
[0] = (val
*) var338
;
3632 ((struct instance_standard__NativeArray
*)var352
)->values
[1] = (val
*) var342
;
3633 ((struct instance_standard__NativeArray
*)var352
)->values
[2] = (val
*) var346
;
3635 ((void (*)(val
* self
, val
* p0
, long p1
))(var350
->class->vft
[COLOR_standard__array__Array__with_native
]))(var350
, var352
, var351
) /* with_native on <var350:Array[Object]>*/;
3639 var353
= ((val
* (*)(val
* self
))(var350
->class->vft
[COLOR_standard__string__Object__to_s
]))(var350
) /* to_s on <var350:Array[Object]>*/;
3642 standard___standard__OFStream___standard__stream__OStream__write(var_file
, var353
); /* Direct call file#OFStream#write on <var_file:nullable OFStream(OFStream)>*/
3644 var_count
= var_total_lines
;
3648 { /* Inline abstract_compiler#CodeWriter#decl_lines (var_vis) on <var_vis:CodeWriter> */
3649 var356
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___decl_lines
].val
; /* _decl_lines on <var_vis:CodeWriter> */
3650 if (unlikely(var356
== NULL
)) {
3651 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _decl_lines");
3652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1039);
3656 RET_LABEL355
:(void)0;
3661 var358
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_357
);
3666 var360
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_359
);
3670 var361
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_359
);
3674 standard___standard__OFStream___standard__stream__OStream__write(var_file
, var_l362
); /* Direct call file#OFStream#write on <var_file:nullable OFStream(OFStream)>*/
3677 var364
= varonce363
;
3681 var367
= standard___standard__NativeString___to_s_with_length(var365
, var366
);
3683 varonce363
= var364
;
3686 standard___standard__OFStream___standard__stream__OStream__write(var_file
, var364
); /* Direct call file#OFStream#write on <var_file:nullable OFStream(OFStream)>*/
3689 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_359
); /* Direct call list#ListIterator#next on <var_359:ListIterator[String]>*/
3692 goto BREAK_label368
;
3695 BREAK_label368
: (void)0;
3697 { /* Inline abstract_collection#Iterator#finish (var_359) on <var_359:ListIterator[String]> */
3698 RET_LABEL369
:(void)0;
3702 { /* Inline abstract_compiler#CodeWriter#lines (var_vis) on <var_vis:CodeWriter> */
3703 var372
= var_vis
->attrs
[COLOR_nit__abstract_compiler__CodeWriter___lines
].val
; /* _lines on <var_vis:CodeWriter> */
3704 if (unlikely(var372
== NULL
)) {
3705 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _lines");
3706 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1038);
3710 RET_LABEL371
:(void)0;
3715 var374
= standard___standard__List___standard__abstract_collection__Collection__iterator(var_373
);
3720 var376
= standard___standard__ListIterator___standard__abstract_collection__Iterator__is_ok(var_375
);
3724 var377
= standard___standard__ListIterator___standard__abstract_collection__Iterator__item(var_375
);
3728 standard___standard__OFStream___standard__stream__OStream__write(var_file
, var_l378
); /* Direct call file#OFStream#write on <var_file:nullable OFStream(OFStream)>*/
3731 var380
= varonce379
;
3735 var383
= standard___standard__NativeString___to_s_with_length(var381
, var382
);
3737 varonce379
= var380
;
3740 standard___standard__OFStream___standard__stream__OStream__write(var_file
, var380
); /* Direct call file#OFStream#write on <var_file:nullable OFStream(OFStream)>*/
3743 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_375
); /* Direct call list#ListIterator#next on <var_375:ListIterator[String]>*/
3746 goto BREAK_label384
;
3749 BREAK_label384
: (void)0;
3751 { /* Inline abstract_collection#Iterator#finish (var_375) on <var_375:ListIterator[String]> */
3752 RET_LABEL385
:(void)0;
3755 BREAK_label232
: (void)0;
3757 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_220
); /* Direct call array#ArrayIterator#next on <var_220:ArrayIterator[CodeWriter]>*/
3760 goto BREAK_label386
;
3763 BREAK_label386
: (void)0;
3765 { /* Inline abstract_collection#Iterator#finish (var_220) on <var_220:ArrayIterator[CodeWriter]> */
3766 RET_LABEL387
:(void)0;
3770 if (var_file
== NULL
) {
3771 var389
= 1; /* is null */
3773 var389
= 0; /* arg is null but recv is not */
3776 { /* Inline kernel#Object#== (var_file,var388) on <var_file:nullable OFStream> */
3777 var_other228
= var388
;
3779 { /* Inline kernel#Object#is_same_instance (var_file,var_other228) on <var_file:nullable OFStream(OFStream)> */
3780 var394
= var_file
== var_other228
;
3783 RET_LABEL393
:(void)0;
3788 RET_LABEL391
:(void)0;
3793 goto BREAK_label395
;
3797 standard___standard__OFStream___standard__stream__IOS__close(var_file
); /* Direct call file#OFStream#close on <var_file:nullable OFStream(OFStream)>*/
3800 { /* Inline abstract_compiler#CodeFile#name (var_f) on <var_f:CodeFile> */
3801 var398
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___name
].val
; /* _name on <var_f:CodeFile> */
3802 if (unlikely(var398
== NULL
)) {
3803 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
3804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1030);
3808 RET_LABEL397
:(void)0;
3812 var400
= varonce399
;
3816 var403
= standard___standard__NativeString___to_s_with_length(var401
, var402
);
3818 varonce399
= var400
;
3820 var404
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3821 { /* var404 = array_instance Array[Object] */
3823 var406
= NEW_standard__NativeArray(var405
, &type_standard__NativeArray__standard__Object
);
3824 ((struct instance_standard__NativeArray
*)var406
)->values
[0] = (val
*) var396
;
3825 ((struct instance_standard__NativeArray
*)var406
)->values
[1] = (val
*) var400
;
3827 ((void (*)(val
* self
, val
* p0
, long p1
))(var404
->class->vft
[COLOR_standard__array__Array__with_native
]))(var404
, var406
, var405
) /* with_native on <var404:Array[Object]>*/;
3831 var407
= ((val
* (*)(val
* self
))(var404
->class->vft
[COLOR_standard__string__Object__to_s
]))(var404
) /* to_s on <var404:Array[Object]>*/;
3833 var_cfilename408
= var407
;
3835 var410
= varonce409
;
3839 var413
= standard___standard__NativeString___to_s_with_length(var411
, var412
);
3841 varonce409
= var410
;
3843 var414
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3844 { /* var414 = array_instance Array[Object] */
3846 var416
= NEW_standard__NativeArray(var415
, &type_standard__NativeArray__standard__Object
);
3847 ((struct instance_standard__NativeArray
*)var416
)->values
[0] = (val
*) var_compile_dir
;
3848 ((struct instance_standard__NativeArray
*)var416
)->values
[1] = (val
*) var410
;
3849 ((struct instance_standard__NativeArray
*)var416
)->values
[2] = (val
*) var_cfilename408
;
3851 ((void (*)(val
* self
, val
* p0
, long p1
))(var414
->class->vft
[COLOR_standard__array__Array__with_native
]))(var414
, var416
, var415
) /* with_native on <var414:Array[Object]>*/;
3855 var417
= ((val
* (*)(val
* self
))(var414
->class->vft
[COLOR_standard__string__Object__to_s
]))(var414
) /* to_s on <var414:Array[Object]>*/;
3857 var_cfilepath418
= var417
;
3860 var420
= NEW_standard__OFStream(&type_standard__OFStream
);
3862 standard___standard__OFStream___open(var420
, var_cfilepath418
); /* Direct call file#OFStream#open on <var420:OFStream>*/
3866 var422
= varonce421
;
3868 var423
= "#include \"";
3870 var425
= standard___standard__NativeString___to_s_with_length(var423
, var424
);
3872 varonce421
= var422
;
3875 var427
= varonce426
;
3879 var430
= standard___standard__NativeString___to_s_with_length(var428
, var429
);
3881 varonce426
= var427
;
3883 var431
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3884 { /* var431 = array_instance Array[Object] */
3886 var433
= NEW_standard__NativeArray(var432
, &type_standard__NativeArray__standard__Object
);
3887 ((struct instance_standard__NativeArray
*)var433
)->values
[0] = (val
*) var422
;
3888 ((struct instance_standard__NativeArray
*)var433
)->values
[1] = (val
*) var_hfilename
;
3889 ((struct instance_standard__NativeArray
*)var433
)->values
[2] = (val
*) var427
;
3891 ((void (*)(val
* self
, val
* p0
, long p1
))(var431
->class->vft
[COLOR_standard__array__Array__with_native
]))(var431
, var433
, var432
) /* with_native on <var431:Array[Object]>*/;
3895 var434
= ((val
* (*)(val
* self
))(var431
->class->vft
[COLOR_standard__string__Object__to_s
]))(var431
) /* to_s on <var431:Array[Object]>*/;
3898 standard___standard__OFStream___standard__stream__OStream__write(var_hfile
, var434
); /* Direct call file#OFStream#write on <var_hfile:nullable OFStream(OFStream)>*/
3901 { /* Inline abstract_compiler#CodeFile#required_declarations (var_f) on <var_f:CodeFile> */
3902 var437
= var_f
->attrs
[COLOR_nit__abstract_compiler__CodeFile___required_declarations
].val
; /* _required_declarations on <var_f:CodeFile> */
3903 if (unlikely(var437
== NULL
)) {
3904 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _required_declarations");
3905 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 1032);
3909 RET_LABEL436
:(void)0;
3914 var439
= standard___standard__HashSet___standard__abstract_collection__Collection__iterator(var_438
);
3919 var441
= ((short int (*)(val
* self
))(var_440
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_440
) /* is_ok on <var_440:Iterator[String]>*/;
3923 var442
= ((val
* (*)(val
* self
))(var_440
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_440
) /* item on <var_440:Iterator[String]>*/;
3927 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var_compiler) on <var_compiler:AbstractCompiler> */
3928 var445
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var_compiler:AbstractCompiler> */
3929 if (unlikely(var445
== NULL
)) {
3930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
3931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
3935 RET_LABEL444
:(void)0;
3939 var446
= standard___standard__MapRead___has_key(var443
, var_key
);
3944 { /* Inline abstract_compiler#AbstractCompiler#requirers_of_declarations (var_compiler) on <var_compiler:AbstractCompiler> */
3945 var450
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <var_compiler:AbstractCompiler> */
3946 if (unlikely(var450
== NULL
)) {
3947 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
3948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 541);
3952 RET_LABEL449
:(void)0;
3956 var451
= standard___standard__HashMap___standard__abstract_collection__MapRead__get_or_null(var448
, var_key
);
3960 if (var_node
== NULL
) {
3961 var453
= 0; /* is null */
3963 var453
= 1; /* arg is null and recv is not */
3966 { /* Inline kernel#Object#!= (var_node,var452) on <var_node:nullable ANode> */
3969 var456
= ((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)>*/;
3974 RET_LABEL455
:(void)0;
3980 var459
= varonce458
;
3982 var460
= "No provided declaration for ";
3984 var462
= standard___standard__NativeString___to_s_with_length(var460
, var461
);
3986 varonce458
= var459
;
3988 var463
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3989 { /* var463 = array_instance Array[Object] */
3991 var465
= NEW_standard__NativeArray(var464
, &type_standard__NativeArray__standard__Object
);
3992 ((struct instance_standard__NativeArray
*)var465
)->values
[0] = (val
*) var459
;
3993 ((struct instance_standard__NativeArray
*)var465
)->values
[1] = (val
*) var_key
;
3995 ((void (*)(val
* self
, val
* p0
, long p1
))(var463
->class->vft
[COLOR_standard__array__Array__with_native
]))(var463
, var465
, var464
) /* with_native on <var463:Array[Object]>*/;
3999 var466
= ((val
* (*)(val
* self
))(var463
->class->vft
[COLOR_standard__string__Object__to_s
]))(var463
) /* to_s on <var463:Array[Object]>*/;
4002 nit___nit__ANode___debug(var_node
, var466
); /* Direct call parser_nodes#ANode#debug on <var_node:nullable ANode(ANode)>*/
4006 var468
= varonce467
;
4008 var469
= "No provided declaration for ";
4010 var471
= standard___standard__NativeString___to_s_with_length(var469
, var470
);
4012 varonce467
= var468
;
4014 var472
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4015 { /* var472 = array_instance Array[Object] */
4017 var474
= NEW_standard__NativeArray(var473
, &type_standard__NativeArray__standard__Object
);
4018 ((struct instance_standard__NativeArray
*)var474
)->values
[0] = (val
*) var468
;
4019 ((struct instance_standard__NativeArray
*)var474
)->values
[1] = (val
*) var_key
;
4021 ((void (*)(val
* self
, val
* p0
, long p1
))(var472
->class->vft
[COLOR_standard__array__Array__with_native
]))(var472
, var474
, var473
) /* with_native on <var472:Array[Object]>*/;
4025 var475
= ((val
* (*)(val
* self
))(var472
->class->vft
[COLOR_standard__string__Object__to_s
]))(var472
) /* to_s on <var472:Array[Object]>*/;
4028 standard__file___Object___print(self
, var475
); /* Direct call file#Object#print on <self:MakefileToolchain>*/
4031 PRINT_ERROR("Runtime error: %s", "Aborted");
4032 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 272);
4037 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (var_compiler) on <var_compiler:AbstractCompiler> */
4038 var478
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <var_compiler:AbstractCompiler> */
4039 if (unlikely(var478
== NULL
)) {
4040 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
4041 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
4045 RET_LABEL477
:(void)0;
4049 var479
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var476
, var_key
);
4052 standard___standard__OFStream___standard__stream__OStream__write(var_hfile
, var479
); /* Direct call file#OFStream#write on <var_hfile:nullable OFStream(OFStream)>*/
4055 var481
= varonce480
;
4059 var484
= standard___standard__NativeString___to_s_with_length(var482
, var483
);
4061 varonce480
= var481
;
4064 standard___standard__OFStream___standard__stream__OStream__write(var_hfile
, var481
); /* Direct call file#OFStream#write on <var_hfile:nullable OFStream(OFStream)>*/
4067 ((void (*)(val
* self
))(var_440
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_440
) /* next on <var_440:Iterator[String]>*/;
4070 goto BREAK_label485
;
4073 BREAK_label485
: (void)0;
4075 { /* Inline abstract_collection#Iterator#finish (var_440) on <var_440:Iterator[String]> */
4076 RET_LABEL486
:(void)0;
4080 standard___standard__OFStream___standard__stream__IOS__close(var_hfile
); /* Direct call file#OFStream#close on <var_hfile:nullable OFStream(OFStream)>*/
4082 BREAK_label395
: (void)0;
4084 standard___standard__ListIterator___standard__abstract_collection__Iterator__next(var_209
); /* Direct call list#ListIterator#next on <var_209:ListIterator[CodeFile]>*/
4087 goto BREAK_label487
;
4090 BREAK_label487
: (void)0;
4092 { /* Inline abstract_collection#Iterator#finish (var_209) on <var_209:ListIterator[CodeFile]> */
4093 RET_LABEL488
:(void)0;
4097 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4098 var491
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4099 if (unlikely(var491
== NULL
)) {
4100 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
4105 RET_LABEL490
:(void)0;
4109 var493
= varonce492
;
4111 var494
= "Total C source files to compile: ";
4113 var496
= standard___standard__NativeString___to_s_with_length(var494
, var495
);
4115 varonce492
= var493
;
4118 { /* Inline array#AbstractArrayRead#length (var_cfiles) on <var_cfiles:Array[String]> */
4119 var499
= var_cfiles
->attrs
[COLOR_standard__array__AbstractArrayRead___length
].l
; /* _length on <var_cfiles:Array[String]> */
4121 RET_LABEL498
:(void)0;
4124 var500
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4125 { /* var500 = array_instance Array[Object] */
4127 var502
= NEW_standard__NativeArray(var501
, &type_standard__NativeArray__standard__Object
);
4128 ((struct instance_standard__NativeArray
*)var502
)->values
[0] = (val
*) var493
;
4129 var503
= BOX_standard__Int(var497
); /* autobox from Int to Object */
4130 ((struct instance_standard__NativeArray
*)var502
)->values
[1] = (val
*) var503
;
4132 ((void (*)(val
* self
, val
* p0
, long p1
))(var500
->class->vft
[COLOR_standard__array__Array__with_native
]))(var500
, var502
, var501
) /* with_native on <var500:Array[Object]>*/;
4136 var504
= ((val
* (*)(val
* self
))(var500
->class->vft
[COLOR_standard__string__Object__to_s
]))(var500
) /* to_s on <var500:Array[Object]>*/;
4140 nit___nit__ToolContext___info(var489
, var504
, var505
); /* Direct call toolcontext#ToolContext#info on <var489:ToolContext>*/
4144 /* method abstract_compiler#MakefileToolchain#makefile_name for (self: MakefileToolchain, MModule): String */
4145 val
* nit___nit__MakefileToolchain___makefile_name(val
* self
, val
* p0
) {
4146 val
* var
/* : String */;
4147 val
* var_mainmodule
/* var mainmodule: MModule */;
4148 val
* var1
/* : String */;
4149 static val
* varonce
;
4150 val
* var2
/* : String */;
4151 char* var3
/* : NativeString */;
4152 long var4
/* : Int */;
4153 val
* var5
/* : FlatString */;
4154 val
* var6
/* : Array[Object] */;
4155 long var7
/* : Int */;
4156 val
* var8
/* : NativeArray[Object] */;
4157 val
* var9
/* : String */;
4158 var_mainmodule
= p0
;
4160 var1
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_mainmodule
);
4167 var5
= standard___standard__NativeString___to_s_with_length(var3
, var4
);
4171 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4172 { /* var6 = array_instance Array[Object] */
4174 var8
= NEW_standard__NativeArray(var7
, &type_standard__NativeArray__standard__Object
);
4175 ((struct instance_standard__NativeArray
*)var8
)->values
[0] = (val
*) var1
;
4176 ((struct instance_standard__NativeArray
*)var8
)->values
[1] = (val
*) var2
;
4178 ((void (*)(val
* self
, val
* p0
, long p1
))(var6
->class->vft
[COLOR_standard__array__Array__with_native
]))(var6
, var8
, var7
) /* with_native on <var6:Array[Object]>*/;
4182 var9
= ((val
* (*)(val
* self
))(var6
->class->vft
[COLOR_standard__string__Object__to_s
]))(var6
) /* to_s on <var6:Array[Object]>*/;
4189 /* method abstract_compiler#MakefileToolchain#default_outname for (self: MakefileToolchain, MModule): String */
4190 val
* nit___nit__MakefileToolchain___default_outname(val
* self
, val
* p0
) {
4191 val
* var
/* : String */;
4192 val
* var_mainmodule
/* var mainmodule: MModule */;
4193 val
* var1
/* : String */;
4194 val
* var3
/* : String */;
4195 val
* var_res
/* var res: String */;
4196 short int var4
/* : Bool */;
4197 short int var6
/* : Bool */;
4198 val
* var7
/* : POSetElement[MModule] */;
4199 val
* var9
/* : POSetElement[MModule] */;
4200 val
* var10
/* : Collection[nullable Object] */;
4201 val
* var11
/* : nullable Object */;
4202 val
* var12
/* : String */;
4203 val
* var14
/* : String */;
4204 var_mainmodule
= p0
;
4206 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
4207 var3
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
4208 if (unlikely(var3
== NULL
)) {
4209 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4210 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
4220 { /* Inline mmodule#MModule#is_fictive (var_mainmodule) on <var_mainmodule:MModule> */
4221 var6
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___is_fictive
].s
; /* _is_fictive on <var_mainmodule:MModule> */
4228 { /* Inline mmodule#MModule#in_importation (var_mainmodule) on <var_mainmodule:MModule> */
4229 var9
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mainmodule:MModule> */
4230 if (unlikely(var9
== NULL
)) {
4231 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
4232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
4240 var10
= poset___poset__POSetElement___direct_greaters(var7
);
4243 var11
= ((val
* (*)(val
* self
))(var10
->class->vft
[COLOR_standard__abstract_collection__Collection__first
]))(var10
) /* first on <var10:Collection[nullable Object](Collection[MModule])>*/;
4245 var_mainmodule
= var11
;
4247 { /* Inline mmodule#MModule#name (var_mainmodule) on <var_mainmodule:MModule> */
4248 var14
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___name
].val
; /* _name on <var_mainmodule:MModule> */
4249 if (unlikely(var14
== NULL
)) {
4250 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _name");
4251 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 87);
4255 RET_LABEL13
:(void)0;
4263 BREAK_label
: (void)0;
4269 /* method abstract_compiler#MakefileToolchain#outfile for (self: MakefileToolchain, MModule): String */
4270 val
* nit___nit__MakefileToolchain___outfile(val
* self
, val
* p0
) {
4271 val
* var
/* : String */;
4272 val
* var_mainmodule
/* var mainmodule: MModule */;
4273 val
* var1
/* : ToolContext */;
4274 val
* var3
/* : ToolContext */;
4275 val
* var4
/* : OptionString */;
4276 val
* var6
/* : OptionString */;
4277 val
* var7
/* : nullable Object */;
4278 val
* var9
/* : nullable Object */;
4279 val
* var_res
/* var res: nullable String */;
4280 val
* var10
/* : null */;
4281 short int var11
/* : Bool */;
4282 short int var12
/* : Bool */;
4283 val
* var_other
/* var other: nullable Object */;
4284 short int var14
/* : Bool */;
4285 short int var15
/* : Bool */;
4286 val
* var16
/* : String */;
4287 val
* var17
/* : ToolContext */;
4288 val
* var19
/* : ToolContext */;
4289 val
* var20
/* : OptionString */;
4290 val
* var22
/* : OptionString */;
4291 val
* var23
/* : nullable Object */;
4292 val
* var25
/* : nullable Object */;
4293 val
* var_dir
/* var dir: nullable String */;
4294 val
* var26
/* : null */;
4295 short int var27
/* : Bool */;
4296 short int var28
/* : Bool */;
4297 short int var30
/* : Bool */;
4298 short int var31
/* : Bool */;
4299 val
* var32
/* : String */;
4300 var_mainmodule
= p0
;
4302 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4303 var3
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4304 if (unlikely(var3
== NULL
)) {
4305 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4306 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
4314 { /* Inline abstract_compiler#ToolContext#opt_output (var1) on <var1:ToolContext> */
4315 var6
= var1
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_output
].val
; /* _opt_output on <var1:ToolContext> */
4316 if (unlikely(var6
== NULL
)) {
4317 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_output");
4318 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 29);
4326 { /* Inline opts#Option#value (var4) on <var4:OptionString> */
4327 var9
= var4
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var4:OptionString> */
4334 if (var_res
== NULL
) {
4335 var11
= 0; /* is null */
4337 var11
= 1; /* arg is null and recv is not */
4340 { /* Inline kernel#Object#!= (var_res,var10) on <var_res:nullable String> */
4343 var14
= ((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)>*/;
4348 RET_LABEL13
:(void)0;
4358 var16
= nit___nit__MakefileToolchain___default_outname(self
, var_mainmodule
);
4362 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
4363 var19
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
4364 if (unlikely(var19
== NULL
)) {
4365 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
4366 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
4370 RET_LABEL18
:(void)0;
4374 { /* Inline abstract_compiler#ToolContext#opt_dir (var17) on <var17:ToolContext> */
4375 var22
= var17
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_dir
].val
; /* _opt_dir on <var17:ToolContext> */
4376 if (unlikely(var22
== NULL
)) {
4377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_dir");
4378 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 31);
4382 RET_LABEL21
:(void)0;
4386 { /* Inline opts#Option#value (var20) on <var20:OptionString> */
4387 var25
= var20
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var20:OptionString> */
4389 RET_LABEL24
:(void)0;
4394 if (var_dir
== NULL
) {
4395 var27
= 0; /* is null */
4397 var27
= 1; /* arg is null and recv is not */
4400 { /* Inline kernel#Object#!= (var_dir,var26) on <var_dir:nullable String> */
4403 var30
= ((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)>*/;
4408 RET_LABEL29
:(void)0;
4414 var32
= standard__file___String___join_path(var_dir
, var_res
);
4425 /* method abstract_compiler#MakefileToolchain#write_makefile for (self: MakefileToolchain, AbstractCompiler, String, Array[String]) */
4426 void nit___nit__MakefileToolchain___write_makefile(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
4427 val
* var_compiler
/* var compiler: AbstractCompiler */;
4428 val
* var_compile_dir
/* var compile_dir: String */;
4429 val
* var_cfiles
/* var cfiles: Array[String] */;
4430 val
* var
/* : MModule */;
4431 val
* var2
/* : MModule */;
4432 val
* var_mainmodule
/* var mainmodule: MModule */;
4433 val
* var3
/* : Platform */;
4434 val
* var5
/* : Platform */;
4435 val
* var_platform
/* var platform: Platform */;
4436 val
* var6
/* : String */;
4437 val
* var_outname
/* var outname: String */;
4438 val
* var7
/* : String */;
4439 val
* var_real_outpath
/* var real_outpath: String */;
4440 val
* var8
/* : String */;
4441 val
* var_outpath
/* var outpath: String */;
4442 short int var9
/* : Bool */;
4443 val
* var_other
/* var other: nullable Object */;
4444 short int var11
/* : Bool */;
4445 short int var12
/* : Bool */;
4446 val
* var13
/* : String */;
4447 val
* var14
/* : String */;
4448 val
* var_makename
/* var makename: String */;
4449 static val
* varonce
;
4450 val
* var15
/* : String */;
4451 char* var16
/* : NativeString */;
4452 long var17
/* : Int */;
4453 val
* var18
/* : FlatString */;
4454 val
* var19
/* : Array[Object] */;
4455 long var20
/* : Int */;
4456 val
* var21
/* : NativeArray[Object] */;
4457 val
* var22
/* : String */;
4458 val
* var_makepath
/* var makepath: String */;
4459 val
* var23
/* : OFStream */;
4460 val
* var_makefile
/* var makefile: OFStream */;
4461 val
* var24
/* : HashSet[String] */;
4462 val
* var_linker_options
/* var linker_options: HashSet[String] */;
4463 val
* var25
/* : POSetElement[MModule] */;
4464 val
* var27
/* : POSetElement[MModule] */;
4465 val
* var28
/* : Collection[nullable Object] */;
4466 val
* var_
/* var : Collection[MModule] */;
4467 val
* var29
/* : Iterator[nullable Object] */;
4468 val
* var_30
/* var : Iterator[MModule] */;
4469 short int var31
/* : Bool */;
4470 val
* var32
/* : nullable Object */;
4471 val
* var_m
/* var m: MModule */;
4472 val
* var33
/* : nullable Array[String] */;
4473 val
* var_libs
/* var libs: nullable Array[String] */;
4474 val
* var34
/* : null */;
4475 short int var35
/* : Bool */;
4476 short int var36
/* : Bool */;
4477 short int var38
/* : Bool */;
4478 short int var39
/* : Bool */;
4479 static val
* varonce41
;
4480 val
* var42
/* : String */;
4481 char* var43
/* : NativeString */;
4482 long var44
/* : Int */;
4483 val
* var45
/* : FlatString */;
4484 static val
* varonce46
;
4485 val
* var47
/* : String */;
4486 char* var48
/* : NativeString */;
4487 long var49
/* : Int */;
4488 val
* var50
/* : FlatString */;
4489 val
* var51
/* : String */;
4490 static val
* varonce52
;
4491 val
* var53
/* : String */;
4492 char* var54
/* : NativeString */;
4493 long var55
/* : Int */;
4494 val
* var56
/* : FlatString */;
4495 val
* var57
/* : Array[Object] */;
4496 long var58
/* : Int */;
4497 val
* var59
/* : NativeArray[Object] */;
4498 val
* var60
/* : String */;
4499 val
* var61
/* : ToolContext */;
4500 val
* var63
/* : ToolContext */;
4501 val
* var64
/* : OptionString */;
4502 val
* var66
/* : OptionString */;
4503 val
* var67
/* : nullable Object */;
4504 val
* var69
/* : nullable Object */;
4505 val
* var_ost
/* var ost: nullable String */;
4506 short int var70
/* : Bool */;
4507 short int var71
/* : Bool */;
4508 static val
* varonce72
;
4509 val
* var73
/* : String */;
4510 char* var74
/* : NativeString */;
4511 long var75
/* : Int */;
4512 val
* var76
/* : FlatString */;
4513 short int var77
/* : Bool */;
4514 short int var78
/* : Bool */;
4515 short int var_79
/* var : Bool */;
4516 static val
* varonce80
;
4517 val
* var81
/* : String */;
4518 char* var82
/* : NativeString */;
4519 long var83
/* : Int */;
4520 val
* var84
/* : FlatString */;
4521 short int var85
/* : Bool */;
4522 short int var86
/* : Bool */;
4523 short int var_87
/* var : Bool */;
4524 short int var88
/* : Bool */;
4525 static val
* varonce89
;
4526 val
* var90
/* : String */;
4527 char* var91
/* : NativeString */;
4528 long var92
/* : Int */;
4529 val
* var93
/* : FlatString */;
4530 static val
* varonce94
;
4531 val
* var95
/* : String */;
4532 char* var96
/* : NativeString */;
4533 long var97
/* : Int */;
4534 val
* var98
/* : FlatString */;
4535 static val
* varonce99
;
4536 val
* var100
/* : String */;
4537 char* var101
/* : NativeString */;
4538 long var102
/* : Int */;
4539 val
* var103
/* : FlatString */;
4540 static val
* varonce104
;
4541 val
* var105
/* : String */;
4542 char* var106
/* : NativeString */;
4543 long var107
/* : Int */;
4544 val
* var108
/* : FlatString */;
4545 static val
* varonce109
;
4546 val
* var110
/* : String */;
4547 char* var111
/* : NativeString */;
4548 long var112
/* : Int */;
4549 val
* var113
/* : FlatString */;
4550 static val
* varonce114
;
4551 val
* var115
/* : String */;
4552 char* var116
/* : NativeString */;
4553 long var117
/* : Int */;
4554 val
* var118
/* : FlatString */;
4555 static val
* varonce119
;
4556 val
* var120
/* : String */;
4557 char* var121
/* : NativeString */;
4558 long var122
/* : Int */;
4559 val
* var123
/* : FlatString */;
4560 static val
* varonce124
;
4561 val
* var125
/* : String */;
4562 char* var126
/* : NativeString */;
4563 long var127
/* : Int */;
4564 val
* var128
/* : FlatString */;
4565 static val
* varonce129
;
4566 val
* var130
/* : String */;
4567 char* var131
/* : NativeString */;
4568 long var132
/* : Int */;
4569 val
* var133
/* : FlatString */;
4570 val
* var134
/* : Array[Object] */;
4571 long var135
/* : Int */;
4572 val
* var136
/* : NativeArray[Object] */;
4573 val
* var137
/* : String */;
4574 short int var138
/* : Bool */;
4575 short int var140
/* : Bool */;
4576 short int var141
/* : Bool */;
4577 static val
* varonce142
;
4578 val
* var143
/* : String */;
4579 char* var144
/* : NativeString */;
4580 long var145
/* : Int */;
4581 val
* var146
/* : FlatString */;
4582 val
* var147
/* : String */;
4583 static val
* varonce148
;
4584 val
* var149
/* : String */;
4585 char* var150
/* : NativeString */;
4586 long var151
/* : Int */;
4587 val
* var152
/* : FlatString */;
4588 val
* var153
/* : String */;
4589 static val
* varonce154
;
4590 val
* var155
/* : String */;
4591 char* var156
/* : NativeString */;
4592 long var157
/* : Int */;
4593 val
* var158
/* : FlatString */;
4594 static val
* varonce159
;
4595 val
* var160
/* : String */;
4596 char* var161
/* : NativeString */;
4597 long var162
/* : Int */;
4598 val
* var163
/* : FlatString */;
4599 val
* var164
/* : String */;
4600 val
* var165
/* : Array[Object] */;
4601 long var166
/* : Int */;
4602 val
* var167
/* : NativeArray[Object] */;
4603 val
* var168
/* : String */;
4604 static val
* varonce169
;
4605 val
* var170
/* : String */;
4606 char* var171
/* : NativeString */;
4607 long var172
/* : Int */;
4608 val
* var173
/* : FlatString */;
4609 val
* var174
/* : Array[String] */;
4610 val
* var_ofiles
/* var ofiles: Array[String] */;
4611 val
* var175
/* : Array[String] */;
4612 val
* var_dep_rules
/* var dep_rules: Array[String] */;
4613 val
* var_176
/* var : Array[String] */;
4614 val
* var177
/* : ArrayIterator[nullable Object] */;
4615 val
* var_178
/* var : ArrayIterator[String] */;
4616 short int var179
/* : Bool */;
4617 val
* var180
/* : nullable Object */;
4618 val
* var_f
/* var f: String */;
4619 static val
* varonce181
;
4620 val
* var182
/* : String */;
4621 char* var183
/* : NativeString */;
4622 long var184
/* : Int */;
4623 val
* var185
/* : FlatString */;
4624 val
* var186
/* : String */;
4625 static val
* varonce187
;
4626 val
* var188
/* : String */;
4627 char* var189
/* : NativeString */;
4628 long var190
/* : Int */;
4629 val
* var191
/* : FlatString */;
4630 val
* var192
/* : String */;
4631 val
* var_o
/* var o: String */;
4632 static val
* varonce193
;
4633 val
* var194
/* : String */;
4634 char* var195
/* : NativeString */;
4635 long var196
/* : Int */;
4636 val
* var197
/* : FlatString */;
4637 static val
* varonce198
;
4638 val
* var199
/* : String */;
4639 char* var200
/* : NativeString */;
4640 long var201
/* : Int */;
4641 val
* var202
/* : FlatString */;
4642 static val
* varonce203
;
4643 val
* var204
/* : String */;
4644 char* var205
/* : NativeString */;
4645 long var206
/* : Int */;
4646 val
* var207
/* : FlatString */;
4647 static val
* varonce208
;
4648 val
* var209
/* : String */;
4649 char* var210
/* : NativeString */;
4650 long var211
/* : Int */;
4651 val
* var212
/* : FlatString */;
4652 val
* var213
/* : Array[Object] */;
4653 long var214
/* : Int */;
4654 val
* var215
/* : NativeArray[Object] */;
4655 val
* var216
/* : String */;
4656 val
* var219
/* : Array[String] */;
4657 val
* var221
/* : Array[String] */;
4658 short int var222
/* : Bool */;
4659 short int var223
/* : Bool */;
4660 static val
* varonce224
;
4661 val
* var225
/* : String */;
4662 char* var226
/* : NativeString */;
4663 long var227
/* : Int */;
4664 val
* var228
/* : FlatString */;
4665 val
* var229
/* : Array[Object] */;
4666 long var230
/* : Int */;
4667 val
* var231
/* : NativeArray[Object] */;
4668 val
* var232
/* : String */;
4669 val
* var_linker_script_path
/* var linker_script_path: String */;
4670 static val
* varonce233
;
4671 val
* var234
/* : String */;
4672 char* var235
/* : NativeString */;
4673 long var236
/* : Int */;
4674 val
* var237
/* : FlatString */;
4675 val
* var238
/* : OFStream */;
4676 val
* var_f239
/* var f: OFStream */;
4677 val
* var240
/* : Array[String] */;
4678 val
* var242
/* : Array[String] */;
4679 val
* var_243
/* var : Array[String] */;
4680 val
* var244
/* : ArrayIterator[nullable Object] */;
4681 val
* var_245
/* var : ArrayIterator[String] */;
4682 short int var246
/* : Bool */;
4683 val
* var247
/* : nullable Object */;
4684 val
* var_l
/* var l: String */;
4685 static val
* varonce248
;
4686 val
* var249
/* : String */;
4687 char* var250
/* : NativeString */;
4688 long var251
/* : Int */;
4689 val
* var252
/* : FlatString */;
4690 val
* var255
/* : Array[ExternFile] */;
4691 val
* var_java_files
/* var java_files: Array[ExternFile] */;
4692 val
* var256
/* : Array[String] */;
4693 val
* var_pkgconfigs
/* var pkgconfigs: Array[String] */;
4694 val
* var257
/* : Array[ExternFile] */;
4695 val
* var259
/* : Array[ExternFile] */;
4696 val
* var_260
/* var : Array[ExternFile] */;
4697 val
* var261
/* : ArrayIterator[nullable Object] */;
4698 val
* var_262
/* var : ArrayIterator[ExternFile] */;
4699 short int var263
/* : Bool */;
4700 val
* var264
/* : nullable Object */;
4701 val
* var_f265
/* var f: ExternFile */;
4702 val
* var266
/* : Array[String] */;
4703 val
* var268
/* : Array[String] */;
4704 short int var271
/* : Bool */;
4705 short int var272
/* : Bool */;
4706 static val
* varonce273
;
4707 val
* var274
/* : String */;
4708 char* var275
/* : NativeString */;
4709 long var276
/* : Int */;
4710 val
* var277
/* : FlatString */;
4711 val
* var_278
/* var : Array[String] */;
4712 val
* var279
/* : ArrayIterator[nullable Object] */;
4713 val
* var_280
/* var : ArrayIterator[String] */;
4714 short int var281
/* : Bool */;
4715 val
* var282
/* : nullable Object */;
4716 val
* var_p
/* var p: String */;
4717 static val
* varonce283
;
4718 val
* var284
/* : String */;
4719 char* var285
/* : NativeString */;
4720 long var286
/* : Int */;
4721 val
* var287
/* : FlatString */;
4722 static val
* varonce288
;
4723 val
* var289
/* : String */;
4724 char* var290
/* : NativeString */;
4725 long var291
/* : Int */;
4726 val
* var292
/* : FlatString */;
4727 static val
* varonce293
;
4728 val
* var294
/* : String */;
4729 char* var295
/* : NativeString */;
4730 long var296
/* : Int */;
4731 val
* var297
/* : FlatString */;
4732 static val
* varonce298
;
4733 val
* var299
/* : String */;
4734 char* var300
/* : NativeString */;
4735 long var301
/* : Int */;
4736 val
* var302
/* : FlatString */;
4737 val
* var303
/* : Array[Object] */;
4738 long var304
/* : Int */;
4739 val
* var305
/* : NativeArray[Object] */;
4740 val
* var306
/* : String */;
4741 val
* var309
/* : Array[ExternFile] */;
4742 val
* var311
/* : Array[ExternFile] */;
4743 val
* var_312
/* var : Array[ExternFile] */;
4744 val
* var313
/* : ArrayIterator[nullable Object] */;
4745 val
* var_314
/* var : ArrayIterator[ExternFile] */;
4746 short int var315
/* : Bool */;
4747 val
* var316
/* : nullable Object */;
4748 val
* var_f317
/* var f: ExternFile */;
4749 val
* var318
/* : String */;
4750 val
* var_o319
/* var o: String */;
4751 val
* var320
/* : String */;
4752 val
* var322
/* : String */;
4753 static val
* varonce323
;
4754 val
* var324
/* : String */;
4755 char* var325
/* : NativeString */;
4756 long var326
/* : Int */;
4757 val
* var327
/* : FlatString */;
4758 val
* var328
/* : String */;
4759 val
* var_ff
/* var ff: String */;
4760 static val
* varonce329
;
4761 val
* var330
/* : String */;
4762 char* var331
/* : NativeString */;
4763 long var332
/* : Int */;
4764 val
* var333
/* : FlatString */;
4765 static val
* varonce334
;
4766 val
* var335
/* : String */;
4767 char* var336
/* : NativeString */;
4768 long var337
/* : Int */;
4769 val
* var338
/* : FlatString */;
4770 val
* var339
/* : Array[Object] */;
4771 long var340
/* : Int */;
4772 val
* var341
/* : NativeArray[Object] */;
4773 val
* var342
/* : String */;
4774 static val
* varonce343
;
4775 val
* var344
/* : String */;
4776 char* var345
/* : NativeString */;
4777 long var346
/* : Int */;
4778 val
* var347
/* : FlatString */;
4779 val
* var348
/* : String */;
4780 static val
* varonce349
;
4781 val
* var350
/* : String */;
4782 char* var351
/* : NativeString */;
4783 long var352
/* : Int */;
4784 val
* var353
/* : FlatString */;
4785 val
* var354
/* : Array[Object] */;
4786 long var355
/* : Int */;
4787 val
* var356
/* : NativeArray[Object] */;
4788 val
* var357
/* : String */;
4789 val
* var358
/* : String */;
4790 short int var359
/* : Bool */;
4791 short int var360
/* : Bool */;
4792 short int var363
/* : Bool */;
4793 short int var364
/* : Bool */;
4794 static val
* varonce365
;
4795 val
* var366
/* : String */;
4796 char* var367
/* : NativeString */;
4797 long var368
/* : Int */;
4798 val
* var369
/* : FlatString */;
4799 val
* var370
/* : Array[Object] */;
4800 long var371
/* : Int */;
4801 val
* var372
/* : NativeArray[Object] */;
4802 val
* var373
/* : String */;
4803 val
* var_jar_file
/* var jar_file: String */;
4804 val
* var374
/* : Array[String] */;
4805 val
* var_class_files_array
/* var class_files_array: Array[String] */;
4806 val
* var_375
/* var : Array[ExternFile] */;
4807 val
* var376
/* : ArrayIterator[nullable Object] */;
4808 val
* var_377
/* var : ArrayIterator[ExternFile] */;
4809 short int var378
/* : Bool */;
4810 val
* var379
/* : nullable Object */;
4811 val
* var_f380
/* var f: ExternFile */;
4812 val
* var381
/* : String */;
4813 static val
* varonce384
;
4814 val
* var385
/* : String */;
4815 char* var386
/* : NativeString */;
4816 long var387
/* : Int */;
4817 val
* var388
/* : FlatString */;
4818 val
* var389
/* : String */;
4819 val
* var_class_files
/* var class_files: String */;
4820 static val
* varonce390
;
4821 val
* var391
/* : String */;
4822 char* var392
/* : NativeString */;
4823 long var393
/* : Int */;
4824 val
* var394
/* : FlatString */;
4825 static val
* varonce395
;
4826 val
* var396
/* : String */;
4827 char* var397
/* : NativeString */;
4828 long var398
/* : Int */;
4829 val
* var399
/* : FlatString */;
4830 val
* var400
/* : Array[Object] */;
4831 long var401
/* : Int */;
4832 val
* var402
/* : NativeArray[Object] */;
4833 val
* var403
/* : String */;
4834 static val
* varonce404
;
4835 val
* var405
/* : String */;
4836 char* var406
/* : NativeString */;
4837 long var407
/* : Int */;
4838 val
* var408
/* : FlatString */;
4839 static val
* varonce409
;
4840 val
* var410
/* : String */;
4841 char* var411
/* : NativeString */;
4842 long var412
/* : Int */;
4843 val
* var413
/* : FlatString */;
4844 static val
* varonce414
;
4845 val
* var415
/* : String */;
4846 char* var416
/* : NativeString */;
4847 long var417
/* : Int */;
4848 val
* var418
/* : FlatString */;
4849 val
* var419
/* : Array[Object] */;
4850 long var420
/* : Int */;
4851 val
* var421
/* : NativeArray[Object] */;
4852 val
* var422
/* : String */;
4853 static val
* varonce423
;
4854 val
* var424
/* : String */;
4855 char* var425
/* : NativeString */;
4856 long var426
/* : Int */;
4857 val
* var427
/* : FlatString */;
4858 val
* var_pkg
/* var pkg: String */;
4859 short int var428
/* : Bool */;
4860 short int var429
/* : Bool */;
4861 static val
* varonce430
;
4862 val
* var431
/* : String */;
4863 char* var432
/* : NativeString */;
4864 long var433
/* : Int */;
4865 val
* var434
/* : FlatString */;
4866 static val
* varonce435
;
4867 val
* var436
/* : String */;
4868 char* var437
/* : NativeString */;
4869 long var438
/* : Int */;
4870 val
* var439
/* : FlatString */;
4871 val
* var440
/* : String */;
4872 static val
* varonce441
;
4873 val
* var442
/* : String */;
4874 char* var443
/* : NativeString */;
4875 long var444
/* : Int */;
4876 val
* var445
/* : FlatString */;
4877 val
* var446
/* : Array[Object] */;
4878 long var447
/* : Int */;
4879 val
* var448
/* : NativeArray[Object] */;
4880 val
* var449
/* : String */;
4881 static val
* varonce450
;
4882 val
* var451
/* : String */;
4883 char* var452
/* : NativeString */;
4884 long var453
/* : Int */;
4885 val
* var454
/* : FlatString */;
4886 static val
* varonce455
;
4887 val
* var456
/* : String */;
4888 char* var457
/* : NativeString */;
4889 long var458
/* : Int */;
4890 val
* var459
/* : FlatString */;
4891 val
* var460
/* : String */;
4892 static val
* varonce461
;
4893 val
* var462
/* : String */;
4894 char* var463
/* : NativeString */;
4895 long var464
/* : Int */;
4896 val
* var465
/* : FlatString */;
4897 val
* var466
/* : String */;
4898 static val
* varonce467
;
4899 val
* var468
/* : String */;
4900 char* var469
/* : NativeString */;
4901 long var470
/* : Int */;
4902 val
* var471
/* : FlatString */;
4903 static val
* varonce472
;
4904 val
* var473
/* : String */;
4905 char* var474
/* : NativeString */;
4906 long var475
/* : Int */;
4907 val
* var476
/* : FlatString */;
4908 val
* var477
/* : String */;
4909 static val
* varonce478
;
4910 val
* var479
/* : String */;
4911 char* var480
/* : NativeString */;
4912 long var481
/* : Int */;
4913 val
* var482
/* : FlatString */;
4914 static val
* varonce483
;
4915 val
* var484
/* : String */;
4916 char* var485
/* : NativeString */;
4917 long var486
/* : Int */;
4918 val
* var487
/* : FlatString */;
4919 val
* var488
/* : Array[Object] */;
4920 long var489
/* : Int */;
4921 val
* var490
/* : NativeArray[Object] */;
4922 val
* var491
/* : String */;
4923 static val
* varonce492
;
4924 val
* var493
/* : String */;
4925 char* var494
/* : NativeString */;
4926 long var495
/* : Int */;
4927 val
* var496
/* : FlatString */;
4928 static val
* varonce497
;
4929 val
* var498
/* : String */;
4930 char* var499
/* : NativeString */;
4931 long var500
/* : Int */;
4932 val
* var501
/* : FlatString */;
4933 val
* var502
/* : String */;
4934 static val
* varonce503
;
4935 val
* var504
/* : String */;
4936 char* var505
/* : NativeString */;
4937 long var506
/* : Int */;
4938 val
* var507
/* : FlatString */;
4939 val
* var508
/* : Array[Object] */;
4940 long var509
/* : Int */;
4941 val
* var510
/* : NativeArray[Object] */;
4942 val
* var511
/* : String */;
4943 short int var512
/* : Bool */;
4944 short int var514
/* : Bool */;
4945 short int var515
/* : Bool */;
4946 static val
* varonce516
;
4947 val
* var517
/* : String */;
4948 char* var518
/* : NativeString */;
4949 long var519
/* : Int */;
4950 val
* var520
/* : FlatString */;
4951 val
* var521
/* : String */;
4952 static val
* varonce522
;
4953 val
* var523
/* : String */;
4954 char* var524
/* : NativeString */;
4955 long var525
/* : Int */;
4956 val
* var526
/* : FlatString */;
4957 val
* var527
/* : Array[Object] */;
4958 long var528
/* : Int */;
4959 val
* var529
/* : NativeArray[Object] */;
4960 val
* var530
/* : String */;
4961 val
* var531
/* : ToolContext */;
4962 val
* var533
/* : ToolContext */;
4963 static val
* varonce534
;
4964 val
* var535
/* : String */;
4965 char* var536
/* : NativeString */;
4966 long var537
/* : Int */;
4967 val
* var538
/* : FlatString */;
4968 val
* var539
/* : Array[Object] */;
4969 long var540
/* : Int */;
4970 val
* var541
/* : NativeArray[Object] */;
4971 val
* var542
/* : String */;
4972 long var543
/* : Int */;
4973 static val
* varonce544
;
4974 val
* var545
/* : String */;
4975 char* var546
/* : NativeString */;
4976 long var547
/* : Int */;
4977 val
* var548
/* : FlatString */;
4978 val
* var549
/* : Array[Object] */;
4979 long var550
/* : Int */;
4980 val
* var551
/* : NativeArray[Object] */;
4981 val
* var552
/* : String */;
4983 var_compile_dir
= p1
;
4986 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var_compiler) on <var_compiler:AbstractCompiler> */
4987 var2
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var_compiler:AbstractCompiler> */
4988 if (unlikely(var2
== NULL
)) {
4989 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
4990 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
4997 var_mainmodule
= var
;
4999 { /* Inline abstract_compiler#AbstractCompiler#target_platform (var_compiler) on <var_compiler:AbstractCompiler> */
5000 var5
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <var_compiler:AbstractCompiler> */
5001 if (unlikely(var5
== NULL
)) {
5002 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
5003 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 487);
5010 var_platform
= var3
;
5012 var6
= nit___nit__MakefileToolchain___outfile(self
, var_mainmodule
);
5016 var7
= standard__file___String___relpath(var_compile_dir
, var_outname
);
5018 var_real_outpath
= var7
;
5020 var8
= standard___standard__Text___escape_to_mk(var_real_outpath
);
5024 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
5025 var_other
= var_real_outpath
;
5027 var11
= ((short int (*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
) /* == on <var_outpath:String>*/;
5032 RET_LABEL10
:(void)0;
5037 var13
= nit___nit__MModule___nit__model_base__MEntity__c_name(var_mainmodule
);
5039 var_outpath
= var13
;
5043 var14
= nit___nit__MakefileToolchain___makefile_name(self
, var_mainmodule
);
5045 var_makename
= var14
;
5051 var18
= standard___standard__NativeString___to_s_with_length(var16
, var17
);
5055 var19
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5056 { /* var19 = array_instance Array[Object] */
5058 var21
= NEW_standard__NativeArray(var20
, &type_standard__NativeArray__standard__Object
);
5059 ((struct instance_standard__NativeArray
*)var21
)->values
[0] = (val
*) var_compile_dir
;
5060 ((struct instance_standard__NativeArray
*)var21
)->values
[1] = (val
*) var15
;
5061 ((struct instance_standard__NativeArray
*)var21
)->values
[2] = (val
*) var_makename
;
5063 ((void (*)(val
* self
, val
* p0
, long p1
))(var19
->class->vft
[COLOR_standard__array__Array__with_native
]))(var19
, var21
, var20
) /* with_native on <var19:Array[Object]>*/;
5067 var22
= ((val
* (*)(val
* self
))(var19
->class->vft
[COLOR_standard__string__Object__to_s
]))(var19
) /* to_s on <var19:Array[Object]>*/;
5069 var_makepath
= var22
;
5070 var23
= NEW_standard__OFStream(&type_standard__OFStream
);
5072 standard___standard__OFStream___open(var23
, var_makepath
); /* Direct call file#OFStream#open on <var23:OFStream>*/
5074 var_makefile
= var23
;
5075 var24
= NEW_standard__HashSet(&type_standard__HashSet__standard__String
);
5077 standard___standard__HashSet___standard__kernel__Object__init(var24
); /* Direct call hash_collection#HashSet#init on <var24:HashSet[String]>*/
5079 var_linker_options
= var24
;
5081 { /* Inline mmodule#MModule#in_importation (var_mainmodule) on <var_mainmodule:MModule> */
5082 var27
= var_mainmodule
->attrs
[COLOR_nit__mmodule__MModule___in_importation
].val
; /* _in_importation on <var_mainmodule:MModule> */
5083 if (unlikely(var27
== NULL
)) {
5084 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _in_importation");
5085 PRINT_ERROR(" (%s:%d)\n", FILE_nit__mmodule
, 96);
5089 RET_LABEL26
:(void)0;
5093 var28
= poset___poset__POSetElement___greaters(var25
);
5097 var29
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:Collection[MModule]>*/;
5102 var31
= ((short int (*)(val
* self
))(var_30
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_30
) /* is_ok on <var_30:Iterator[MModule]>*/;
5106 var32
= ((val
* (*)(val
* self
))(var_30
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_30
) /* item on <var_30:Iterator[MModule]>*/;
5110 var33
= nit__abstract_compiler___MModule___collect_linker_libs(var_m
);
5114 if (var_libs
== NULL
) {
5115 var35
= 0; /* is null */
5117 var35
= 1; /* arg is null and recv is not */
5120 { /* Inline kernel#Object#!= (var_libs,var34) on <var_libs:nullable Array[String]> */
5123 var38
= ((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])>*/;
5128 RET_LABEL37
:(void)0;
5134 standard___standard__SimpleCollection___add_all(var_linker_options
, var_libs
); /* Direct call abstract_collection#SimpleCollection#add_all on <var_linker_options:HashSet[String]>*/
5139 ((void (*)(val
* self
))(var_30
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_30
) /* next on <var_30:Iterator[MModule]>*/;
5145 BREAK_label
: (void)0;
5147 { /* Inline abstract_collection#Iterator#finish (var_30) on <var_30:Iterator[MModule]> */
5148 RET_LABEL40
:(void)0;
5154 var43
= "CC = ccache cc\nCXX = ccache c++\nCFLAGS = -g -O2 -Wno-unused-value -Wno-switch -Wno-attributes\nCINCL =\nLDFLAGS ?= \nLDLIBS ?= -lm ";
5156 var45
= standard___standard__NativeString___to_s_with_length(var43
, var44
);
5165 var50
= standard___standard__NativeString___to_s_with_length(var48
, var49
);
5170 var51
= standard__string___Collection___join(var_linker_options
, var47
);
5177 var56
= standard___standard__NativeString___to_s_with_length(var54
, var55
);
5181 var57
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5182 { /* var57 = array_instance Array[Object] */
5184 var59
= NEW_standard__NativeArray(var58
, &type_standard__NativeArray__standard__Object
);
5185 ((struct instance_standard__NativeArray
*)var59
)->values
[0] = (val
*) var42
;
5186 ((struct instance_standard__NativeArray
*)var59
)->values
[1] = (val
*) var51
;
5187 ((struct instance_standard__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
5189 ((void (*)(val
* self
, val
* p0
, long p1
))(var57
->class->vft
[COLOR_standard__array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
5193 var60
= ((val
* (*)(val
* self
))(var57
->class->vft
[COLOR_standard__string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
5196 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var60
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5199 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
5200 var63
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
5201 if (unlikely(var63
== NULL
)) {
5202 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
5203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
5207 RET_LABEL62
:(void)0;
5211 { /* Inline abstract_compiler#ToolContext#opt_stacktrace (var61) on <var61:ToolContext> */
5212 var66
= var61
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_stacktrace
].val
; /* _opt_stacktrace on <var61:ToolContext> */
5213 if (unlikely(var66
== NULL
)) {
5214 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_stacktrace");
5215 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 65);
5219 RET_LABEL65
:(void)0;
5223 { /* Inline opts#Option#value (var64) on <var64:OptionString> */
5224 var69
= var64
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var64:OptionString> */
5226 RET_LABEL68
:(void)0;
5233 var74
= "libunwind";
5235 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
5239 if (var_ost
== NULL
) {
5240 var77
= 0; /* <var73:String> cannot be null */
5242 var78
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var73
) /* == on <var_ost:nullable String>*/;
5254 var84
= standard___standard__NativeString___to_s_with_length(var82
, var83
);
5258 if (var_ost
== NULL
) {
5259 var85
= 0; /* <var81:String> cannot be null */
5261 var86
= ((short int (*)(val
* self
, val
* p0
))(var_ost
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_ost
, var81
) /* == on <var_ost:nullable String>*/;
5269 var88
= nit___nit__Platform___supports_libunwind(var_platform
);
5279 var91
= "NEED_LIBUNWIND := YesPlease\n";
5281 var93
= standard___standard__NativeString___to_s_with_length(var91
, var92
);
5286 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var90
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5293 var96
= "uname_S := $(shell sh -c \'uname -s 2>/dev/null || echo not\')\n";
5295 var98
= standard___standard__NativeString___to_s_with_length(var96
, var97
);
5300 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var95
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5305 var101
= "ifeq ($(uname_S),Darwin)\n";
5307 var103
= standard___standard__NativeString___to_s_with_length(var101
, var102
);
5312 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var100
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5315 var105
= varonce104
;
5317 var106
= "\11NEED_LIBUNWIND :=\n";
5319 var108
= standard___standard__NativeString___to_s_with_length(var106
, var107
);
5321 varonce104
= var105
;
5324 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var105
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5327 var110
= varonce109
;
5329 var111
= "endif\n\n";
5331 var113
= standard___standard__NativeString___to_s_with_length(var111
, var112
);
5333 varonce109
= var110
;
5336 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var110
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5339 var115
= varonce114
;
5341 var116
= "clang_check := $(shell sh -c \'$(CC) -v 2>&1 | grep -q clang; echo $$?\')\nifeq ($(clang_check), 0)\n\11CFLAGS += -Qunused-arguments\nendif\n";
5343 var118
= standard___standard__NativeString___to_s_with_length(var116
, var117
);
5345 varonce114
= var115
;
5348 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var115
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5351 var120
= varonce119
;
5353 var121
= "ifdef NEED_LIBUNWIND\n\11LDLIBS += -lunwind\nendif\n";
5355 var123
= standard___standard__NativeString___to_s_with_length(var121
, var122
);
5357 varonce119
= var120
;
5360 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var120
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5363 var125
= varonce124
;
5367 var128
= standard___standard__NativeString___to_s_with_length(var126
, var127
);
5369 varonce124
= var125
;
5372 var130
= varonce129
;
5376 var133
= standard___standard__NativeString___to_s_with_length(var131
, var132
);
5378 varonce129
= var130
;
5380 var134
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5381 { /* var134 = array_instance Array[Object] */
5383 var136
= NEW_standard__NativeArray(var135
, &type_standard__NativeArray__standard__Object
);
5384 ((struct instance_standard__NativeArray
*)var136
)->values
[0] = (val
*) var125
;
5385 ((struct instance_standard__NativeArray
*)var136
)->values
[1] = (val
*) var_outpath
;
5386 ((struct instance_standard__NativeArray
*)var136
)->values
[2] = (val
*) var130
;
5388 ((void (*)(val
* self
, val
* p0
, long p1
))(var134
->class->vft
[COLOR_standard__array__Array__with_native
]))(var134
, var136
, var135
) /* with_native on <var134:Array[Object]>*/;
5392 var137
= ((val
* (*)(val
* self
))(var134
->class->vft
[COLOR_standard__string__Object__to_s
]))(var134
) /* to_s on <var134:Array[Object]>*/;
5395 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var137
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5398 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
5399 var_other
= var_real_outpath
;
5401 var140
= ((short int (*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
) /* == on <var_outpath:String>*/;
5406 RET_LABEL139
:(void)0;
5411 var143
= varonce142
;
5413 var144
= "\11cp -- ";
5415 var146
= standard___standard__NativeString___to_s_with_length(var144
, var145
);
5417 varonce142
= var143
;
5420 var147
= standard___standard__Text___escape_to_sh(var_outpath
);
5423 var149
= varonce148
;
5427 var152
= standard___standard__NativeString___to_s_with_length(var150
, var151
);
5429 varonce148
= var149
;
5432 var153
= standard___standard__Text___escape_to_sh(var_real_outpath
);
5435 var155
= varonce154
;
5439 var158
= standard___standard__NativeString___to_s_with_length(var156
, var157
);
5441 varonce154
= var155
;
5444 var160
= varonce159
;
5448 var163
= standard___standard__NativeString___to_s_with_length(var161
, var162
);
5450 varonce159
= var160
;
5453 var164
= standard__string_search___Text___replace(var153
, var155
, var160
);
5455 var165
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5456 { /* var165 = array_instance Array[Object] */
5458 var167
= NEW_standard__NativeArray(var166
, &type_standard__NativeArray__standard__Object
);
5459 ((struct instance_standard__NativeArray
*)var167
)->values
[0] = (val
*) var143
;
5460 ((struct instance_standard__NativeArray
*)var167
)->values
[1] = (val
*) var147
;
5461 ((struct instance_standard__NativeArray
*)var167
)->values
[2] = (val
*) var149
;
5462 ((struct instance_standard__NativeArray
*)var167
)->values
[3] = (val
*) var164
;
5464 ((void (*)(val
* self
, val
* p0
, long p1
))(var165
->class->vft
[COLOR_standard__array__Array__with_native
]))(var165
, var167
, var166
) /* with_native on <var165:Array[Object]>*/;
5468 var168
= ((val
* (*)(val
* self
))(var165
->class->vft
[COLOR_standard__string__Object__to_s
]))(var165
) /* to_s on <var165:Array[Object]>*/;
5471 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var168
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5476 var170
= varonce169
;
5480 var173
= standard___standard__NativeString___to_s_with_length(var171
, var172
);
5482 varonce169
= var170
;
5485 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var170
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5487 var174
= NEW_standard__Array(&type_standard__Array__standard__String
);
5489 standard___standard__Array___standard__kernel__Object__init(var174
); /* Direct call array#Array#init on <var174:Array[String]>*/
5491 var_ofiles
= var174
;
5492 var175
= NEW_standard__Array(&type_standard__Array__standard__String
);
5494 standard___standard__Array___standard__kernel__Object__init(var175
); /* Direct call array#Array#init on <var175:Array[String]>*/
5496 var_dep_rules
= var175
;
5497 var_176
= var_cfiles
;
5499 var177
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_176
);
5504 var179
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_178
);
5508 var180
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_178
);
5512 var182
= varonce181
;
5516 var185
= standard___standard__NativeString___to_s_with_length(var183
, var184
);
5518 varonce181
= var182
;
5521 var186
= standard__file___String___strip_extension(var_f
, var182
);
5524 var188
= varonce187
;
5528 var191
= standard___standard__NativeString___to_s_with_length(var189
, var190
);
5530 varonce187
= var188
;
5533 var192
= ((val
* (*)(val
* self
, val
* p0
))(var186
->class->vft
[COLOR_standard__string__String___43d
]))(var186
, var188
) /* + on <var186:String>*/;
5537 var194
= varonce193
;
5541 var197
= standard___standard__NativeString___to_s_with_length(var195
, var196
);
5543 varonce193
= var194
;
5546 var199
= varonce198
;
5548 var200
= "\n\11$(CC) $(CFLAGS) $(CINCL) -c -o ";
5550 var202
= standard___standard__NativeString___to_s_with_length(var200
, var201
);
5552 varonce198
= var199
;
5555 var204
= varonce203
;
5559 var207
= standard___standard__NativeString___to_s_with_length(var205
, var206
);
5561 varonce203
= var204
;
5564 var209
= varonce208
;
5568 var212
= standard___standard__NativeString___to_s_with_length(var210
, var211
);
5570 varonce208
= var209
;
5572 var213
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5573 { /* var213 = array_instance Array[Object] */
5575 var215
= NEW_standard__NativeArray(var214
, &type_standard__NativeArray__standard__Object
);
5576 ((struct instance_standard__NativeArray
*)var215
)->values
[0] = (val
*) var_o
;
5577 ((struct instance_standard__NativeArray
*)var215
)->values
[1] = (val
*) var194
;
5578 ((struct instance_standard__NativeArray
*)var215
)->values
[2] = (val
*) var_f
;
5579 ((struct instance_standard__NativeArray
*)var215
)->values
[3] = (val
*) var199
;
5580 ((struct instance_standard__NativeArray
*)var215
)->values
[4] = (val
*) var_o
;
5581 ((struct instance_standard__NativeArray
*)var215
)->values
[5] = (val
*) var204
;
5582 ((struct instance_standard__NativeArray
*)var215
)->values
[6] = (val
*) var_f
;
5583 ((struct instance_standard__NativeArray
*)var215
)->values
[7] = (val
*) var209
;
5585 ((void (*)(val
* self
, val
* p0
, long p1
))(var213
->class->vft
[COLOR_standard__array__Array__with_native
]))(var213
, var215
, var214
) /* with_native on <var213:Array[Object]>*/;
5589 var216
= ((val
* (*)(val
* self
))(var213
->class->vft
[COLOR_standard__string__Object__to_s
]))(var213
) /* to_s on <var213:Array[Object]>*/;
5592 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var216
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5595 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var_o
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5598 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dep_rules
, var_o
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
5601 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_178
); /* Direct call array#ArrayIterator#next on <var_178:ArrayIterator[String]>*/
5604 goto BREAK_label217
;
5607 BREAK_label217
: (void)0;
5609 { /* Inline abstract_collection#Iterator#finish (var_178) on <var_178:ArrayIterator[String]> */
5610 RET_LABEL218
:(void)0;
5614 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var_compiler) on <var_compiler:AbstractCompiler> */
5615 var221
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var_compiler:AbstractCompiler> */
5616 if (unlikely(var221
== NULL
)) {
5617 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 526);
5622 RET_LABEL220
:(void)0;
5626 var222
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var219
);
5631 var225
= varonce224
;
5633 var226
= "/linker_script";
5635 var228
= standard___standard__NativeString___to_s_with_length(var226
, var227
);
5637 varonce224
= var225
;
5639 var229
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5640 { /* var229 = array_instance Array[Object] */
5642 var231
= NEW_standard__NativeArray(var230
, &type_standard__NativeArray__standard__Object
);
5643 ((struct instance_standard__NativeArray
*)var231
)->values
[0] = (val
*) var_compile_dir
;
5644 ((struct instance_standard__NativeArray
*)var231
)->values
[1] = (val
*) var225
;
5646 ((void (*)(val
* self
, val
* p0
, long p1
))(var229
->class->vft
[COLOR_standard__array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
5650 var232
= ((val
* (*)(val
* self
))(var229
->class->vft
[COLOR_standard__string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
5652 var_linker_script_path
= var232
;
5654 var234
= varonce233
;
5656 var235
= "linker_script";
5658 var237
= standard___standard__NativeString___to_s_with_length(var235
, var236
);
5660 varonce233
= var234
;
5663 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var234
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
5665 var238
= NEW_standard__OFStream(&type_standard__OFStream
);
5667 standard___standard__OFStream___open(var238
, var_linker_script_path
); /* Direct call file#OFStream#open on <var238:OFStream>*/
5671 { /* Inline abstract_compiler#AbstractCompiler#linker_script (var_compiler) on <var_compiler:AbstractCompiler> */
5672 var242
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <var_compiler:AbstractCompiler> */
5673 if (unlikely(var242
== NULL
)) {
5674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
5675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 526);
5679 RET_LABEL241
:(void)0;
5684 var244
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_243
);
5689 var246
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_245
);
5693 var247
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_245
);
5697 standard___standard__OFStream___standard__stream__OStream__write(var_f239
, var_l
); /* Direct call file#OFStream#write on <var_f239:OFStream>*/
5700 var249
= varonce248
;
5704 var252
= standard___standard__NativeString___to_s_with_length(var250
, var251
);
5706 varonce248
= var249
;
5709 standard___standard__OFStream___standard__stream__OStream__write(var_f239
, var249
); /* Direct call file#OFStream#write on <var_f239:OFStream>*/
5712 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_245
); /* Direct call array#ArrayIterator#next on <var_245:ArrayIterator[String]>*/
5715 goto BREAK_label253
;
5718 BREAK_label253
: (void)0;
5720 { /* Inline abstract_collection#Iterator#finish (var_245) on <var_245:ArrayIterator[String]> */
5721 RET_LABEL254
:(void)0;
5725 standard___standard__OFStream___standard__stream__IOS__close(var_f239
); /* Direct call file#OFStream#close on <var_f239:OFStream>*/
5729 var255
= NEW_standard__Array(&type_standard__Array__nit__ExternFile
);
5731 standard___standard__Array___standard__kernel__Object__init(var255
); /* Direct call array#Array#init on <var255:Array[ExternFile]>*/
5733 var_java_files
= var255
;
5734 var256
= NEW_standard__Array(&type_standard__Array__standard__String
);
5736 standard___standard__Array___standard__kernel__Object__init(var256
); /* Direct call array#Array#init on <var256:Array[String]>*/
5738 var_pkgconfigs
= var256
;
5740 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var_compiler) on <var_compiler:AbstractCompiler> */
5741 var259
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var_compiler:AbstractCompiler> */
5742 if (unlikely(var259
== NULL
)) {
5743 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 928);
5748 RET_LABEL258
:(void)0;
5753 var261
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_260
);
5758 var263
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_262
);
5762 var264
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_262
);
5766 { /* Inline c_tools#ExternFile#pkgconfigs (var_f265) on <var_f265:ExternFile> */
5767 var268
= var_f265
->attrs
[COLOR_nit__c_tools__ExternFile___pkgconfigs
].val
; /* _pkgconfigs on <var_f265:ExternFile> */
5768 if (unlikely(var268
== NULL
)) {
5769 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _pkgconfigs");
5770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 119);
5774 RET_LABEL267
:(void)0;
5778 standard___standard__Array___standard__abstract_collection__SimpleCollection__add_all(var_pkgconfigs
, var266
); /* Direct call array#Array#add_all on <var_pkgconfigs:Array[String]>*/
5781 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_262
); /* Direct call array#ArrayIterator#next on <var_262:ArrayIterator[ExternFile]>*/
5784 goto BREAK_label269
;
5787 BREAK_label269
: (void)0;
5789 { /* Inline abstract_collection#Iterator#finish (var_262) on <var_262:ArrayIterator[ExternFile]> */
5790 RET_LABEL270
:(void)0;
5794 var271
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_pkgconfigs
);
5799 var274
= varonce273
;
5801 var275
= "# 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";
5803 var277
= standard___standard__NativeString___to_s_with_length(var275
, var276
);
5805 varonce273
= var274
;
5808 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var274
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5810 var_278
= var_pkgconfigs
;
5812 var279
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_278
);
5817 var281
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_280
);
5821 var282
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_280
);
5825 var284
= varonce283
;
5827 var285
= "# Check for library ";
5829 var287
= standard___standard__NativeString___to_s_with_length(var285
, var286
);
5831 varonce283
= var284
;
5834 var289
= varonce288
;
5836 var290
= "\nifneq ($(shell pkg-config --exists \'";
5838 var292
= standard___standard__NativeString___to_s_with_length(var290
, var291
);
5840 varonce288
= var289
;
5843 var294
= varonce293
;
5845 var295
= "\'; echo $$?), 0)\n$(error \"pkg-config: package ";
5847 var297
= standard___standard__NativeString___to_s_with_length(var295
, var296
);
5849 varonce293
= var294
;
5852 var299
= varonce298
;
5854 var300
= " is not found.\")\nendif\n";
5856 var302
= standard___standard__NativeString___to_s_with_length(var300
, var301
);
5858 varonce298
= var299
;
5860 var303
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5861 { /* var303 = array_instance Array[Object] */
5863 var305
= NEW_standard__NativeArray(var304
, &type_standard__NativeArray__standard__Object
);
5864 ((struct instance_standard__NativeArray
*)var305
)->values
[0] = (val
*) var284
;
5865 ((struct instance_standard__NativeArray
*)var305
)->values
[1] = (val
*) var_p
;
5866 ((struct instance_standard__NativeArray
*)var305
)->values
[2] = (val
*) var289
;
5867 ((struct instance_standard__NativeArray
*)var305
)->values
[3] = (val
*) var_p
;
5868 ((struct instance_standard__NativeArray
*)var305
)->values
[4] = (val
*) var294
;
5869 ((struct instance_standard__NativeArray
*)var305
)->values
[5] = (val
*) var_p
;
5870 ((struct instance_standard__NativeArray
*)var305
)->values
[6] = (val
*) var299
;
5872 ((void (*)(val
* self
, val
* p0
, long p1
))(var303
->class->vft
[COLOR_standard__array__Array__with_native
]))(var303
, var305
, var304
) /* with_native on <var303:Array[Object]>*/;
5876 var306
= ((val
* (*)(val
* self
))(var303
->class->vft
[COLOR_standard__string__Object__to_s
]))(var303
) /* to_s on <var303:Array[Object]>*/;
5879 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var306
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5882 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_280
); /* Direct call array#ArrayIterator#next on <var_280:ArrayIterator[String]>*/
5885 goto BREAK_label307
;
5888 BREAK_label307
: (void)0;
5890 { /* Inline abstract_collection#Iterator#finish (var_280) on <var_280:ArrayIterator[String]> */
5891 RET_LABEL308
:(void)0;
5897 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (var_compiler) on <var_compiler:AbstractCompiler> */
5898 var311
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <var_compiler:AbstractCompiler> */
5899 if (unlikely(var311
== NULL
)) {
5900 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
5901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 928);
5905 RET_LABEL310
:(void)0;
5910 var313
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_312
);
5915 var315
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_314
);
5919 var316
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_314
);
5923 var318
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f317
);
5927 { /* Inline c_tools#ExternFile#filename (var_f317) on <var_f317:ExternFile> */
5928 var322
= var_f317
->attrs
[COLOR_nit__c_tools__ExternFile___filename
].val
; /* _filename on <var_f317:ExternFile> */
5929 if (unlikely(var322
== NULL
)) {
5930 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _filename");
5931 PRINT_ERROR(" (%s:%d)\n", FILE_nit__c_tools
, 104);
5935 RET_LABEL321
:(void)0;
5939 var324
= varonce323
;
5943 var327
= standard___standard__NativeString___to_s_with_length(var325
, var326
);
5945 varonce323
= var324
;
5948 var328
= standard__file___String___basename(var320
, var324
);
5952 var330
= varonce329
;
5956 var333
= standard___standard__NativeString___to_s_with_length(var331
, var332
);
5958 varonce329
= var330
;
5961 var335
= varonce334
;
5965 var338
= standard___standard__NativeString___to_s_with_length(var336
, var337
);
5967 varonce334
= var335
;
5969 var339
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5970 { /* var339 = array_instance Array[Object] */
5972 var341
= NEW_standard__NativeArray(var340
, &type_standard__NativeArray__standard__Object
);
5973 ((struct instance_standard__NativeArray
*)var341
)->values
[0] = (val
*) var_o319
;
5974 ((struct instance_standard__NativeArray
*)var341
)->values
[1] = (val
*) var330
;
5975 ((struct instance_standard__NativeArray
*)var341
)->values
[2] = (val
*) var_ff
;
5976 ((struct instance_standard__NativeArray
*)var341
)->values
[3] = (val
*) var335
;
5978 ((void (*)(val
* self
, val
* p0
, long p1
))(var339
->class->vft
[COLOR_standard__array__Array__with_native
]))(var339
, var341
, var340
) /* with_native on <var339:Array[Object]>*/;
5982 var342
= ((val
* (*)(val
* self
))(var339
->class->vft
[COLOR_standard__string__Object__to_s
]))(var339
) /* to_s on <var339:Array[Object]>*/;
5985 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var342
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
5988 var344
= varonce343
;
5992 var347
= standard___standard__NativeString___to_s_with_length(var345
, var346
);
5994 varonce343
= var344
;
5997 var348
= nit___nit__ExternCFile___ExternFile__makefile_rule_content(var_f317
);
6000 var350
= varonce349
;
6004 var353
= standard___standard__NativeString___to_s_with_length(var351
, var352
);
6006 varonce349
= var350
;
6008 var354
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6009 { /* var354 = array_instance Array[Object] */
6011 var356
= NEW_standard__NativeArray(var355
, &type_standard__NativeArray__standard__Object
);
6012 ((struct instance_standard__NativeArray
*)var356
)->values
[0] = (val
*) var344
;
6013 ((struct instance_standard__NativeArray
*)var356
)->values
[1] = (val
*) var348
;
6014 ((struct instance_standard__NativeArray
*)var356
)->values
[2] = (val
*) var350
;
6016 ((void (*)(val
* self
, val
* p0
, long p1
))(var354
->class->vft
[COLOR_standard__array__Array__with_native
]))(var354
, var356
, var355
) /* with_native on <var354:Array[Object]>*/;
6020 var357
= ((val
* (*)(val
* self
))(var354
->class->vft
[COLOR_standard__string__Object__to_s
]))(var354
) /* to_s on <var354:Array[Object]>*/;
6023 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var357
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6026 var358
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f317
);
6029 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_dep_rules
, var358
); /* Direct call array#Array#add on <var_dep_rules:Array[String]>*/
6032 var359
= nit___nit__ExternCFile___ExternFile__compiles_to_o_file(var_f317
);
6036 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_ofiles
, var_o319
); /* Direct call array#Array#add on <var_ofiles:Array[String]>*/
6041 var360
= nit___nit__ExternFile___add_to_jar(var_f317
);
6045 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_java_files
, var_f317
); /* Direct call array#Array#add on <var_java_files:Array[ExternFile]>*/
6050 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_314
); /* Direct call array#ArrayIterator#next on <var_314:ArrayIterator[ExternFile]>*/
6053 goto BREAK_label361
;
6056 BREAK_label361
: (void)0;
6058 { /* Inline abstract_collection#Iterator#finish (var_314) on <var_314:ArrayIterator[ExternFile]> */
6059 RET_LABEL362
:(void)0;
6063 var363
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_java_files
);
6068 var366
= varonce365
;
6072 var369
= standard___standard__NativeString___to_s_with_length(var367
, var368
);
6074 varonce365
= var366
;
6076 var370
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6077 { /* var370 = array_instance Array[Object] */
6079 var372
= NEW_standard__NativeArray(var371
, &type_standard__NativeArray__standard__Object
);
6080 ((struct instance_standard__NativeArray
*)var372
)->values
[0] = (val
*) var_outpath
;
6081 ((struct instance_standard__NativeArray
*)var372
)->values
[1] = (val
*) var366
;
6083 ((void (*)(val
* self
, val
* p0
, long p1
))(var370
->class->vft
[COLOR_standard__array__Array__with_native
]))(var370
, var372
, var371
) /* with_native on <var370:Array[Object]>*/;
6087 var373
= ((val
* (*)(val
* self
))(var370
->class->vft
[COLOR_standard__string__Object__to_s
]))(var370
) /* to_s on <var370:Array[Object]>*/;
6089 var_jar_file
= var373
;
6090 var374
= NEW_standard__Array(&type_standard__Array__standard__String
);
6092 standard___standard__Array___standard__kernel__Object__init(var374
); /* Direct call array#Array#init on <var374:Array[String]>*/
6094 var_class_files_array
= var374
;
6095 var_375
= var_java_files
;
6097 var376
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__iterator(var_375
);
6102 var378
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__is_ok(var_377
);
6106 var379
= standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__item(var_377
);
6110 var381
= nit___nit__ExternCFile___ExternFile__makefile_rule_name(var_f380
);
6113 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_class_files_array
, var381
); /* Direct call array#Array#add on <var_class_files_array:Array[String]>*/
6116 standard__array___standard__array__ArrayIterator___standard__abstract_collection__Iterator__next(var_377
); /* Direct call array#ArrayIterator#next on <var_377:ArrayIterator[ExternFile]>*/
6119 goto BREAK_label382
;
6122 BREAK_label382
: (void)0;
6124 { /* Inline abstract_collection#Iterator#finish (var_377) on <var_377:ArrayIterator[ExternFile]> */
6125 RET_LABEL383
:(void)0;
6129 var385
= varonce384
;
6133 var388
= standard___standard__NativeString___to_s_with_length(var386
, var387
);
6135 varonce384
= var385
;
6138 var389
= standard__string___Collection___join(var_class_files_array
, var385
);
6140 var_class_files
= var389
;
6142 var391
= varonce390
;
6146 var394
= standard___standard__NativeString___to_s_with_length(var392
, var393
);
6148 varonce390
= var391
;
6151 var396
= varonce395
;
6155 var399
= standard___standard__NativeString___to_s_with_length(var397
, var398
);
6157 varonce395
= var396
;
6159 var400
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6160 { /* var400 = array_instance Array[Object] */
6162 var402
= NEW_standard__NativeArray(var401
, &type_standard__NativeArray__standard__Object
);
6163 ((struct instance_standard__NativeArray
*)var402
)->values
[0] = (val
*) var_jar_file
;
6164 ((struct instance_standard__NativeArray
*)var402
)->values
[1] = (val
*) var391
;
6165 ((struct instance_standard__NativeArray
*)var402
)->values
[2] = (val
*) var_class_files
;
6166 ((struct instance_standard__NativeArray
*)var402
)->values
[3] = (val
*) var396
;
6168 ((void (*)(val
* self
, val
* p0
, long p1
))(var400
->class->vft
[COLOR_standard__array__Array__with_native
]))(var400
, var402
, var401
) /* with_native on <var400:Array[Object]>*/;
6172 var403
= ((val
* (*)(val
* self
))(var400
->class->vft
[COLOR_standard__string__Object__to_s
]))(var400
) /* to_s on <var400:Array[Object]>*/;
6175 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var403
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6178 var405
= varonce404
;
6180 var406
= "\11jar cf ";
6182 var408
= standard___standard__NativeString___to_s_with_length(var406
, var407
);
6184 varonce404
= var405
;
6187 var410
= varonce409
;
6191 var413
= standard___standard__NativeString___to_s_with_length(var411
, var412
);
6193 varonce409
= var410
;
6196 var415
= varonce414
;
6200 var418
= standard___standard__NativeString___to_s_with_length(var416
, var417
);
6202 varonce414
= var415
;
6204 var419
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6205 { /* var419 = array_instance Array[Object] */
6207 var421
= NEW_standard__NativeArray(var420
, &type_standard__NativeArray__standard__Object
);
6208 ((struct instance_standard__NativeArray
*)var421
)->values
[0] = (val
*) var405
;
6209 ((struct instance_standard__NativeArray
*)var421
)->values
[1] = (val
*) var_jar_file
;
6210 ((struct instance_standard__NativeArray
*)var421
)->values
[2] = (val
*) var410
;
6211 ((struct instance_standard__NativeArray
*)var421
)->values
[3] = (val
*) var_class_files
;
6212 ((struct instance_standard__NativeArray
*)var421
)->values
[4] = (val
*) var415
;
6214 ((void (*)(val
* self
, val
* p0
, long p1
))(var419
->class->vft
[COLOR_standard__array__Array__with_native
]))(var419
, var421
, var420
) /* with_native on <var419:Array[Object]>*/;
6218 var422
= ((val
* (*)(val
* self
))(var419
->class->vft
[COLOR_standard__string__Object__to_s
]))(var419
) /* to_s on <var419:Array[Object]>*/;
6221 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var422
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6224 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]>*/
6229 var424
= varonce423
;
6233 var427
= standard___standard__NativeString___to_s_with_length(var425
, var426
);
6235 varonce423
= var424
;
6239 var428
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__is_empty(var_pkgconfigs
);
6244 var431
= varonce430
;
6246 var432
= "`pkg-config --libs ";
6248 var434
= standard___standard__NativeString___to_s_with_length(var432
, var433
);
6250 varonce430
= var431
;
6253 var436
= varonce435
;
6257 var439
= standard___standard__NativeString___to_s_with_length(var437
, var438
);
6259 varonce435
= var436
;
6262 var440
= standard__string___Collection___join(var_pkgconfigs
, var436
);
6265 var442
= varonce441
;
6269 var445
= standard___standard__NativeString___to_s_with_length(var443
, var444
);
6271 varonce441
= var442
;
6273 var446
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6274 { /* var446 = array_instance Array[Object] */
6276 var448
= NEW_standard__NativeArray(var447
, &type_standard__NativeArray__standard__Object
);
6277 ((struct instance_standard__NativeArray
*)var448
)->values
[0] = (val
*) var431
;
6278 ((struct instance_standard__NativeArray
*)var448
)->values
[1] = (val
*) var440
;
6279 ((struct instance_standard__NativeArray
*)var448
)->values
[2] = (val
*) var442
;
6281 ((void (*)(val
* self
, val
* p0
, long p1
))(var446
->class->vft
[COLOR_standard__array__Array__with_native
]))(var446
, var448
, var447
) /* with_native on <var446:Array[Object]>*/;
6285 var449
= ((val
* (*)(val
* self
))(var446
->class->vft
[COLOR_standard__string__Object__to_s
]))(var446
) /* to_s on <var446:Array[Object]>*/;
6291 var451
= varonce450
;
6295 var454
= standard___standard__NativeString___to_s_with_length(var452
, var453
);
6297 varonce450
= var451
;
6300 var456
= varonce455
;
6304 var459
= standard___standard__NativeString___to_s_with_length(var457
, var458
);
6306 varonce455
= var456
;
6309 var460
= standard__string___Collection___join(var_dep_rules
, var456
);
6312 var462
= varonce461
;
6314 var463
= "\n\11$(CC) $(LDFLAGS) -o ";
6316 var465
= standard___standard__NativeString___to_s_with_length(var463
, var464
);
6318 varonce461
= var462
;
6321 var466
= standard___standard__Text___escape_to_sh(var_outpath
);
6324 var468
= varonce467
;
6328 var471
= standard___standard__NativeString___to_s_with_length(var469
, var470
);
6330 varonce467
= var468
;
6333 var473
= varonce472
;
6337 var476
= standard___standard__NativeString___to_s_with_length(var474
, var475
);
6339 varonce472
= var473
;
6342 var477
= standard__string___Collection___join(var_ofiles
, var473
);
6345 var479
= varonce478
;
6347 var480
= " $(LDLIBS) ";
6349 var482
= standard___standard__NativeString___to_s_with_length(var480
, var481
);
6351 varonce478
= var479
;
6354 var484
= varonce483
;
6358 var487
= standard___standard__NativeString___to_s_with_length(var485
, var486
);
6360 varonce483
= var484
;
6362 var488
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6363 { /* var488 = array_instance Array[Object] */
6365 var490
= NEW_standard__NativeArray(var489
, &type_standard__NativeArray__standard__Object
);
6366 ((struct instance_standard__NativeArray
*)var490
)->values
[0] = (val
*) var_outpath
;
6367 ((struct instance_standard__NativeArray
*)var490
)->values
[1] = (val
*) var451
;
6368 ((struct instance_standard__NativeArray
*)var490
)->values
[2] = (val
*) var460
;
6369 ((struct instance_standard__NativeArray
*)var490
)->values
[3] = (val
*) var462
;
6370 ((struct instance_standard__NativeArray
*)var490
)->values
[4] = (val
*) var466
;
6371 ((struct instance_standard__NativeArray
*)var490
)->values
[5] = (val
*) var468
;
6372 ((struct instance_standard__NativeArray
*)var490
)->values
[6] = (val
*) var477
;
6373 ((struct instance_standard__NativeArray
*)var490
)->values
[7] = (val
*) var479
;
6374 ((struct instance_standard__NativeArray
*)var490
)->values
[8] = (val
*) var_pkg
;
6375 ((struct instance_standard__NativeArray
*)var490
)->values
[9] = (val
*) var484
;
6377 ((void (*)(val
* self
, val
* p0
, long p1
))(var488
->class->vft
[COLOR_standard__array__Array__with_native
]))(var488
, var490
, var489
) /* with_native on <var488:Array[Object]>*/;
6381 var491
= ((val
* (*)(val
* self
))(var488
->class->vft
[COLOR_standard__string__Object__to_s
]))(var488
) /* to_s on <var488:Array[Object]>*/;
6384 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var491
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6387 var493
= varonce492
;
6389 var494
= "clean:\n\11rm ";
6391 var496
= standard___standard__NativeString___to_s_with_length(var494
, var495
);
6393 varonce492
= var493
;
6396 var498
= varonce497
;
6400 var501
= standard___standard__NativeString___to_s_with_length(var499
, var500
);
6402 varonce497
= var498
;
6405 var502
= standard__string___Collection___join(var_ofiles
, var498
);
6408 var504
= varonce503
;
6410 var505
= " 2>/dev/null\n";
6412 var507
= standard___standard__NativeString___to_s_with_length(var505
, var506
);
6414 varonce503
= var504
;
6416 var508
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6417 { /* var508 = array_instance Array[Object] */
6419 var510
= NEW_standard__NativeArray(var509
, &type_standard__NativeArray__standard__Object
);
6420 ((struct instance_standard__NativeArray
*)var510
)->values
[0] = (val
*) var493
;
6421 ((struct instance_standard__NativeArray
*)var510
)->values
[1] = (val
*) var502
;
6422 ((struct instance_standard__NativeArray
*)var510
)->values
[2] = (val
*) var504
;
6424 ((void (*)(val
* self
, val
* p0
, long p1
))(var508
->class->vft
[COLOR_standard__array__Array__with_native
]))(var508
, var510
, var509
) /* with_native on <var508:Array[Object]>*/;
6428 var511
= ((val
* (*)(val
* self
))(var508
->class->vft
[COLOR_standard__string__Object__to_s
]))(var508
) /* to_s on <var508:Array[Object]>*/;
6431 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var511
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6434 { /* Inline kernel#Object#!= (var_outpath,var_real_outpath) on <var_outpath:String> */
6435 var_other
= var_real_outpath
;
6437 var514
= ((short int (*)(val
* self
, val
* p0
))(var_outpath
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_outpath
, var_other
) /* == on <var_outpath:String>*/;
6442 RET_LABEL513
:(void)0;
6447 var517
= varonce516
;
6449 var518
= "\11rm -- ";
6451 var520
= standard___standard__NativeString___to_s_with_length(var518
, var519
);
6453 varonce516
= var517
;
6456 var521
= standard___standard__Text___escape_to_sh(var_outpath
);
6459 var523
= varonce522
;
6461 var524
= " 2>/dev/null\n";
6463 var526
= standard___standard__NativeString___to_s_with_length(var524
, var525
);
6465 varonce522
= var523
;
6467 var527
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6468 { /* var527 = array_instance Array[Object] */
6470 var529
= NEW_standard__NativeArray(var528
, &type_standard__NativeArray__standard__Object
);
6471 ((struct instance_standard__NativeArray
*)var529
)->values
[0] = (val
*) var517
;
6472 ((struct instance_standard__NativeArray
*)var529
)->values
[1] = (val
*) var521
;
6473 ((struct instance_standard__NativeArray
*)var529
)->values
[2] = (val
*) var523
;
6475 ((void (*)(val
* self
, val
* p0
, long p1
))(var527
->class->vft
[COLOR_standard__array__Array__with_native
]))(var527
, var529
, var528
) /* with_native on <var527:Array[Object]>*/;
6479 var530
= ((val
* (*)(val
* self
))(var527
->class->vft
[COLOR_standard__string__Object__to_s
]))(var527
) /* to_s on <var527:Array[Object]>*/;
6482 standard___standard__OFStream___standard__stream__OStream__write(var_makefile
, var530
); /* Direct call file#OFStream#write on <var_makefile:OFStream>*/
6487 standard___standard__OFStream___standard__stream__IOS__close(var_makefile
); /* Direct call file#OFStream#close on <var_makefile:OFStream>*/
6490 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6491 var533
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6492 if (unlikely(var533
== NULL
)) {
6493 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
6498 RET_LABEL532
:(void)0;
6502 var535
= varonce534
;
6504 var536
= "Generated makefile: ";
6506 var538
= standard___standard__NativeString___to_s_with_length(var536
, var537
);
6508 varonce534
= var535
;
6510 var539
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6511 { /* var539 = array_instance Array[Object] */
6513 var541
= NEW_standard__NativeArray(var540
, &type_standard__NativeArray__standard__Object
);
6514 ((struct instance_standard__NativeArray
*)var541
)->values
[0] = (val
*) var535
;
6515 ((struct instance_standard__NativeArray
*)var541
)->values
[1] = (val
*) var_makepath
;
6517 ((void (*)(val
* self
, val
* p0
, long p1
))(var539
->class->vft
[COLOR_standard__array__Array__with_native
]))(var539
, var541
, var540
) /* with_native on <var539:Array[Object]>*/;
6521 var542
= ((val
* (*)(val
* self
))(var539
->class->vft
[COLOR_standard__string__Object__to_s
]))(var539
) /* to_s on <var539:Array[Object]>*/;
6525 nit___nit__ToolContext___info(var531
, var542
, var543
); /* Direct call toolcontext#ToolContext#info on <var531:ToolContext>*/
6528 var545
= varonce544
;
6530 var546
= "/Makefile";
6532 var548
= standard___standard__NativeString___to_s_with_length(var546
, var547
);
6534 varonce544
= var545
;
6536 var549
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6537 { /* var549 = array_instance Array[Object] */
6539 var551
= NEW_standard__NativeArray(var550
, &type_standard__NativeArray__standard__Object
);
6540 ((struct instance_standard__NativeArray
*)var551
)->values
[0] = (val
*) var_compile_dir
;
6541 ((struct instance_standard__NativeArray
*)var551
)->values
[1] = (val
*) var545
;
6543 ((void (*)(val
* self
, val
* p0
, long p1
))(var549
->class->vft
[COLOR_standard__array__Array__with_native
]))(var549
, var551
, var550
) /* with_native on <var549:Array[Object]>*/;
6547 var552
= ((val
* (*)(val
* self
))(var549
->class->vft
[COLOR_standard__string__Object__to_s
]))(var549
) /* to_s on <var549:Array[Object]>*/;
6550 standard__file___String___file_copy_to(var_makepath
, var552
); /* Direct call file#String#file_copy_to on <var_makepath:String>*/
6554 /* method abstract_compiler#MakefileToolchain#compile_c_code for (self: MakefileToolchain, AbstractCompiler, String) */
6555 void nit___nit__MakefileToolchain___compile_c_code(val
* self
, val
* p0
, val
* p1
) {
6556 val
* var_compiler
/* var compiler: AbstractCompiler */;
6557 val
* var_compile_dir
/* var compile_dir: String */;
6558 val
* var
/* : MModule */;
6559 val
* var2
/* : MModule */;
6560 val
* var3
/* : String */;
6561 val
* var_makename
/* var makename: String */;
6562 val
* var4
/* : ToolContext */;
6563 val
* var6
/* : ToolContext */;
6564 val
* var7
/* : OptionString */;
6565 val
* var9
/* : OptionString */;
6566 val
* var10
/* : nullable Object */;
6567 val
* var12
/* : nullable Object */;
6568 val
* var_makeflags
/* var makeflags: nullable String */;
6569 val
* var13
/* : null */;
6570 short int var14
/* : Bool */;
6571 short int var15
/* : Bool */;
6572 static val
* varonce
;
6573 val
* var16
/* : String */;
6574 char* var17
/* : NativeString */;
6575 long var18
/* : Int */;
6576 val
* var19
/* : FlatString */;
6577 val
* var20
/* : ToolContext */;
6578 val
* var22
/* : ToolContext */;
6579 static val
* varonce23
;
6580 val
* var24
/* : String */;
6581 char* var25
/* : NativeString */;
6582 long var26
/* : Int */;
6583 val
* var27
/* : FlatString */;
6584 static val
* varonce28
;
6585 val
* var29
/* : String */;
6586 char* var30
/* : NativeString */;
6587 long var31
/* : Int */;
6588 val
* var32
/* : FlatString */;
6589 static val
* varonce33
;
6590 val
* var34
/* : String */;
6591 char* var35
/* : NativeString */;
6592 long var36
/* : Int */;
6593 val
* var37
/* : FlatString */;
6594 val
* var38
/* : Array[Object] */;
6595 long var39
/* : Int */;
6596 val
* var40
/* : NativeArray[Object] */;
6597 val
* var41
/* : String */;
6598 long var42
/* : Int */;
6599 val
* var43
/* : ToolContext */;
6600 val
* var45
/* : ToolContext */;
6601 long var46
/* : Int */;
6602 long var48
/* : Int */;
6603 long var49
/* : Int */;
6604 short int var50
/* : Bool */;
6605 short int var52
/* : Bool */;
6608 const char* var_class_name
;
6609 short int var53
/* : Bool */;
6610 val
* var54
/* : Sys */;
6611 val
* var56
/* : Sys */;
6612 static val
* varonce57
;
6613 val
* var58
/* : String */;
6614 char* var59
/* : NativeString */;
6615 long var60
/* : Int */;
6616 val
* var61
/* : FlatString */;
6617 static val
* varonce62
;
6618 val
* var63
/* : String */;
6619 char* var64
/* : NativeString */;
6620 long var65
/* : Int */;
6621 val
* var66
/* : FlatString */;
6622 static val
* varonce67
;
6623 val
* var68
/* : String */;
6624 char* var69
/* : NativeString */;
6625 long var70
/* : Int */;
6626 val
* var71
/* : FlatString */;
6627 static val
* varonce72
;
6628 val
* var73
/* : String */;
6629 char* var74
/* : NativeString */;
6630 long var75
/* : Int */;
6631 val
* var76
/* : FlatString */;
6632 val
* var77
/* : Array[Object] */;
6633 long var78
/* : Int */;
6634 val
* var79
/* : NativeArray[Object] */;
6635 val
* var80
/* : String */;
6636 long var81
/* : Int */;
6637 val
* var82
/* : nullable Object */;
6638 val
* var_res
/* var res: nullable Object */;
6639 val
* var83
/* : Sys */;
6640 val
* var85
/* : Sys */;
6641 static val
* varonce86
;
6642 val
* var87
/* : String */;
6643 char* var88
/* : NativeString */;
6644 long var89
/* : Int */;
6645 val
* var90
/* : FlatString */;
6646 static val
* varonce91
;
6647 val
* var92
/* : String */;
6648 char* var93
/* : NativeString */;
6649 long var94
/* : Int */;
6650 val
* var95
/* : FlatString */;
6651 static val
* varonce96
;
6652 val
* var97
/* : String */;
6653 char* var98
/* : NativeString */;
6654 long var99
/* : Int */;
6655 val
* var100
/* : FlatString */;
6656 static val
* varonce101
;
6657 val
* var102
/* : String */;
6658 char* var103
/* : NativeString */;
6659 long var104
/* : Int */;
6660 val
* var105
/* : FlatString */;
6661 val
* var106
/* : Array[Object] */;
6662 long var107
/* : Int */;
6663 val
* var108
/* : NativeArray[Object] */;
6664 val
* var109
/* : String */;
6665 long var110
/* : Int */;
6666 val
* var111
/* : nullable Object */;
6667 long var112
/* : Int */;
6668 short int var113
/* : Bool */;
6669 short int var115
/* : Bool */;
6670 long var116
/* : Int */;
6671 short int var117
/* : Bool */;
6672 val
* var118
/* : ToolContext */;
6673 val
* var120
/* : ToolContext */;
6674 val
* var121
/* : null */;
6675 static val
* varonce122
;
6676 val
* var123
/* : String */;
6677 char* var124
/* : NativeString */;
6678 long var125
/* : Int */;
6679 val
* var126
/* : FlatString */;
6680 static val
* varonce127
;
6681 val
* var128
/* : String */;
6682 char* var129
/* : NativeString */;
6683 long var130
/* : Int */;
6684 val
* var131
/* : FlatString */;
6685 val
* var132
/* : Array[Object] */;
6686 long var133
/* : Int */;
6687 val
* var134
/* : NativeArray[Object] */;
6688 val
* var135
/* : String */;
6690 var_compile_dir
= p1
;
6692 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (var_compiler) on <var_compiler:AbstractCompiler> */
6693 var2
= var_compiler
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <var_compiler:AbstractCompiler> */
6694 if (unlikely(var2
== NULL
)) {
6695 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
6696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
6704 var3
= nit___nit__MakefileToolchain___makefile_name(self
, var
);
6706 var_makename
= var3
;
6708 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6709 var6
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6710 if (unlikely(var6
== NULL
)) {
6711 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
6720 { /* Inline abstract_compiler#ToolContext#opt_make_flags (var4) on <var4:ToolContext> */
6721 var9
= var4
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_make_flags
].val
; /* _opt_make_flags on <var4:ToolContext> */
6722 if (unlikely(var9
== NULL
)) {
6723 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_make_flags");
6724 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 37);
6732 { /* Inline opts#Option#value (var7) on <var7:OptionString> */
6733 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionString> */
6735 RET_LABEL11
:(void)0;
6738 var_makeflags
= var10
;
6740 if (var_makeflags
== NULL
) {
6741 var14
= 1; /* is null */
6743 var14
= 0; /* arg is null but recv is not */
6746 var15
= ((short int (*)(val
* self
, val
* p0
))(var_makeflags
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_makeflags
, var13
) /* == on <var_makeflags:nullable String>*/;
6755 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
6759 var_makeflags
= var16
;
6763 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6764 var22
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6765 if (unlikely(var22
== NULL
)) {
6766 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
6771 RET_LABEL21
:(void)0;
6777 var25
= "make -B -C ";
6779 var27
= standard___standard__NativeString___to_s_with_length(var25
, var26
);
6788 var32
= standard___standard__NativeString___to_s_with_length(var30
, var31
);
6797 var37
= standard___standard__NativeString___to_s_with_length(var35
, var36
);
6801 var38
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6802 { /* var38 = array_instance Array[Object] */
6804 var40
= NEW_standard__NativeArray(var39
, &type_standard__NativeArray__standard__Object
);
6805 ((struct instance_standard__NativeArray
*)var40
)->values
[0] = (val
*) var24
;
6806 ((struct instance_standard__NativeArray
*)var40
)->values
[1] = (val
*) var_compile_dir
;
6807 ((struct instance_standard__NativeArray
*)var40
)->values
[2] = (val
*) var29
;
6808 ((struct instance_standard__NativeArray
*)var40
)->values
[3] = (val
*) var_makename
;
6809 ((struct instance_standard__NativeArray
*)var40
)->values
[4] = (val
*) var34
;
6810 ((struct instance_standard__NativeArray
*)var40
)->values
[5] = (val
*) var_makeflags
;
6812 ((void (*)(val
* self
, val
* p0
, long p1
))(var38
->class->vft
[COLOR_standard__array__Array__with_native
]))(var38
, var40
, var39
) /* with_native on <var38:Array[Object]>*/;
6816 var41
= ((val
* (*)(val
* self
))(var38
->class->vft
[COLOR_standard__string__Object__to_s
]))(var38
) /* to_s on <var38:Array[Object]>*/;
6820 nit___nit__ToolContext___info(var20
, var41
, var42
); /* Direct call toolcontext#ToolContext#info on <var20:ToolContext>*/
6823 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
6824 var45
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
6825 if (unlikely(var45
== NULL
)) {
6826 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
6827 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
6831 RET_LABEL44
:(void)0;
6835 { /* Inline toolcontext#ToolContext#verbose_level (var43) on <var43:ToolContext> */
6836 var48
= var43
->attrs
[COLOR_nit__toolcontext__ToolContext___verbose_level
].l
; /* _verbose_level on <var43:ToolContext> */
6838 RET_LABEL47
:(void)0;
6843 { /* Inline kernel#Int#>= (var46,var49) on <var46:Int> */
6844 /* Covariant cast for argument 0 (i) <var49:Int> isa OTHER */
6845 /* <var49:Int> isa OTHER */
6846 var52
= 1; /* easy <var49:Int> isa OTHER*/
6847 if (unlikely(!var52
)) {
6848 var_class_name
= type_standard__Int
.name
;
6849 PRINT_ERROR("Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
6850 PRINT_ERROR(" (%s:%d)\n", FILE_standard__kernel
, 411);
6853 var53
= var46
>= var49
;
6856 RET_LABEL51
:(void)0;
6861 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6865 RET_LABEL55
:(void)0;
6871 var59
= "make -B -C ";
6873 var61
= standard___standard__NativeString___to_s_with_length(var59
, var60
);
6882 var66
= standard___standard__NativeString___to_s_with_length(var64
, var65
);
6891 var71
= standard___standard__NativeString___to_s_with_length(var69
, var70
);
6900 var76
= standard___standard__NativeString___to_s_with_length(var74
, var75
);
6904 var77
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6905 { /* var77 = array_instance Array[Object] */
6907 var79
= NEW_standard__NativeArray(var78
, &type_standard__NativeArray__standard__Object
);
6908 ((struct instance_standard__NativeArray
*)var79
)->values
[0] = (val
*) var58
;
6909 ((struct instance_standard__NativeArray
*)var79
)->values
[1] = (val
*) var_compile_dir
;
6910 ((struct instance_standard__NativeArray
*)var79
)->values
[2] = (val
*) var63
;
6911 ((struct instance_standard__NativeArray
*)var79
)->values
[3] = (val
*) var_makename
;
6912 ((struct instance_standard__NativeArray
*)var79
)->values
[4] = (val
*) var68
;
6913 ((struct instance_standard__NativeArray
*)var79
)->values
[5] = (val
*) var_makeflags
;
6914 ((struct instance_standard__NativeArray
*)var79
)->values
[6] = (val
*) var73
;
6916 ((void (*)(val
* self
, val
* p0
, long p1
))(var77
->class->vft
[COLOR_standard__array__Array__with_native
]))(var77
, var79
, var78
) /* with_native on <var77:Array[Object]>*/;
6920 var80
= ((val
* (*)(val
* self
))(var77
->class->vft
[COLOR_standard__string__Object__to_s
]))(var77
) /* to_s on <var77:Array[Object]>*/;
6923 var81
= standard__exec___Sys___system(var54
, var80
);
6925 var82
= BOX_standard__Int(var81
); /* autobox from Int to nullable Object */
6929 { /* Inline kernel#Object#sys (self) on <self:MakefileToolchain> */
6933 RET_LABEL84
:(void)0;
6939 var88
= "make -B -C ";
6941 var90
= standard___standard__NativeString___to_s_with_length(var88
, var89
);
6950 var95
= standard___standard__NativeString___to_s_with_length(var93
, var94
);
6959 var100
= standard___standard__NativeString___to_s_with_length(var98
, var99
);
6964 var102
= varonce101
;
6966 var103
= " 2>&1 >/dev/null";
6968 var105
= standard___standard__NativeString___to_s_with_length(var103
, var104
);
6970 varonce101
= var102
;
6972 var106
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6973 { /* var106 = array_instance Array[Object] */
6975 var108
= NEW_standard__NativeArray(var107
, &type_standard__NativeArray__standard__Object
);
6976 ((struct instance_standard__NativeArray
*)var108
)->values
[0] = (val
*) var87
;
6977 ((struct instance_standard__NativeArray
*)var108
)->values
[1] = (val
*) var_compile_dir
;
6978 ((struct instance_standard__NativeArray
*)var108
)->values
[2] = (val
*) var92
;
6979 ((struct instance_standard__NativeArray
*)var108
)->values
[3] = (val
*) var_makename
;
6980 ((struct instance_standard__NativeArray
*)var108
)->values
[4] = (val
*) var97
;
6981 ((struct instance_standard__NativeArray
*)var108
)->values
[5] = (val
*) var_makeflags
;
6982 ((struct instance_standard__NativeArray
*)var108
)->values
[6] = (val
*) var102
;
6984 ((void (*)(val
* self
, val
* p0
, long p1
))(var106
->class->vft
[COLOR_standard__array__Array__with_native
]))(var106
, var108
, var107
) /* with_native on <var106:Array[Object]>*/;
6988 var109
= ((val
* (*)(val
* self
))(var106
->class->vft
[COLOR_standard__string__Object__to_s
]))(var106
) /* to_s on <var106:Array[Object]>*/;
6991 var110
= standard__exec___Sys___system(var83
, var109
);
6993 var111
= BOX_standard__Int(var110
); /* autobox from Int to nullable Object */
6998 { /* Inline kernel#Int#!= (var_res,var112) on <var_res:nullable Object(Int)> */
6999 var115
= (var_res
!= NULL
) && (var_res
->class == &class_standard__Int
);
7001 var116
= ((struct instance_standard__Int
*)var_res
)->value
; /* autounbox from nullable Object to Int */;
7002 var115
= (var116
== var112
);
7007 RET_LABEL114
:(void)0;
7012 { /* Inline abstract_compiler#Toolchain#toolcontext (self) on <self:MakefileToolchain> */
7013 var120
= self
->attrs
[COLOR_nit__abstract_compiler__Toolchain___toolcontext
].val
; /* _toolcontext on <self:MakefileToolchain> */
7014 if (unlikely(var120
== NULL
)) {
7015 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7016 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 136);
7020 RET_LABEL119
:(void)0;
7025 var123
= varonce122
;
7027 var124
= "make failed! Error code: ";
7029 var126
= standard___standard__NativeString___to_s_with_length(var124
, var125
);
7031 varonce122
= var123
;
7034 var128
= varonce127
;
7038 var131
= standard___standard__NativeString___to_s_with_length(var129
, var130
);
7040 varonce127
= var128
;
7042 var132
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7043 { /* var132 = array_instance Array[Object] */
7045 var134
= NEW_standard__NativeArray(var133
, &type_standard__NativeArray__standard__Object
);
7046 ((struct instance_standard__NativeArray
*)var134
)->values
[0] = (val
*) var123
;
7047 ((struct instance_standard__NativeArray
*)var134
)->values
[1] = (val
*) var_res
;
7048 ((struct instance_standard__NativeArray
*)var134
)->values
[2] = (val
*) var128
;
7050 ((void (*)(val
* self
, val
* p0
, long p1
))(var132
->class->vft
[COLOR_standard__array__Array__with_native
]))(var132
, var134
, var133
) /* with_native on <var132:Array[Object]>*/;
7054 var135
= ((val
* (*)(val
* self
))(var132
->class->vft
[COLOR_standard__string__Object__to_s
]))(var132
) /* to_s on <var132:Array[Object]>*/;
7057 nit___nit__ToolContext___error(var118
, var121
, var135
); /* Direct call toolcontext#ToolContext#error on <var118:ToolContext>*/
7063 /* method abstract_compiler#AbstractCompiler#names for (self: AbstractCompiler): HashMap[String, String] */
7064 val
* nit___nit__AbstractCompiler___names(val
* self
) {
7065 val
* var
/* : HashMap[String, String] */;
7066 val
* var1
/* : HashMap[String, String] */;
7067 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7068 if (unlikely(var1
== NULL
)) {
7069 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7070 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
7077 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
7078 val
* nit___nit__AbstractCompiler___mainmodule(val
* self
) {
7079 val
* var
/* : MModule */;
7080 val
* var1
/* : MModule */;
7081 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
7082 if (unlikely(var1
== NULL
)) {
7083 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7084 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7091 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
7092 void nit___nit__AbstractCompiler___mainmodule_61d(val
* self
, val
* p0
) {
7093 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
= p0
; /* _mainmodule on <self:AbstractCompiler> */
7096 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
7097 val
* nit___nit__AbstractCompiler___realmainmodule(val
* self
) {
7098 val
* var
/* : MModule */;
7099 val
* var1
/* : MModule */;
7100 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
; /* _realmainmodule on <self:AbstractCompiler> */
7101 if (unlikely(var1
== NULL
)) {
7102 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _realmainmodule");
7103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 478);
7110 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
7111 void nit___nit__AbstractCompiler___realmainmodule_61d(val
* self
, val
* p0
) {
7112 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
= p0
; /* _realmainmodule on <self:AbstractCompiler> */
7115 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
7116 val
* nit___nit__AbstractCompiler___modelbuilder(val
* self
) {
7117 val
* var
/* : ModelBuilder */;
7118 val
* var1
/* : ModelBuilder */;
7119 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
7120 if (unlikely(var1
== NULL
)) {
7121 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7122 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7129 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
7130 void nit___nit__AbstractCompiler___modelbuilder_61d(val
* self
, val
* p0
) {
7131 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
= p0
; /* _modelbuilder on <self:AbstractCompiler> */
7134 /* method abstract_compiler#AbstractCompiler#target_platform for (self: AbstractCompiler): Platform */
7135 val
* nit___nit__AbstractCompiler___target_platform(val
* self
) {
7136 val
* var
/* : Platform */;
7137 val
* var1
/* : Platform */;
7138 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
; /* _target_platform on <self:AbstractCompiler> */
7139 if (unlikely(var1
== NULL
)) {
7140 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _target_platform");
7141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 487);
7148 /* method abstract_compiler#AbstractCompiler#target_platform= for (self: AbstractCompiler, Platform) */
7149 void nit___nit__AbstractCompiler___target_platform_61d(val
* self
, val
* p0
) {
7150 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
= p0
; /* _target_platform on <self:AbstractCompiler> */
7153 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler) */
7154 void nit___nit__AbstractCompiler___standard__kernel__Object__init(val
* self
) {
7155 val
* var
/* : MModule */;
7156 val
* var2
/* : MModule */;
7157 val
* var4
/* : Platform */;
7158 val
* var5
/* : MModule */;
7159 val
* var7
/* : MModule */;
7160 val
* var8
/* : nullable Platform */;
7161 val
* var9
/* : Platform */;
7163 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
7164 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
7165 if (unlikely(var2
== NULL
)) {
7166 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7167 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7175 { /* Inline abstract_compiler#AbstractCompiler#realmainmodule= (self,var) on <self:AbstractCompiler> */
7176 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___realmainmodule
].val
= var
; /* _realmainmodule on <self:AbstractCompiler> */
7181 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
7182 var7
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
7183 if (unlikely(var7
== NULL
)) {
7184 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7185 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7193 var8
= nit__platform___MModule___target_platform(var5
);
7198 var9
= NEW_nit__Platform(&type_nit__Platform
);
7200 { /* Inline kernel#Object#init (var9) on <var9:Platform> */
7201 RET_LABEL10
:(void)0;
7207 { /* Inline abstract_compiler#AbstractCompiler#target_platform= (self,var4) on <self:AbstractCompiler> */
7208 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___target_platform
].val
= var4
; /* _target_platform on <self:AbstractCompiler> */
7209 RET_LABEL11
:(void)0;
7214 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
7215 val
* nit___nit__AbstractCompiler___new_file(val
* self
, val
* p0
) {
7216 val
* var
/* : CodeFile */;
7217 val
* var_name
/* var name: String */;
7218 val
* var1
/* : ModelBuilder */;
7219 val
* var3
/* : ModelBuilder */;
7220 val
* var4
/* : ToolContext */;
7221 val
* var6
/* : ToolContext */;
7222 val
* var7
/* : OptionBool */;
7223 val
* var9
/* : OptionBool */;
7224 val
* var10
/* : nullable Object */;
7225 val
* var12
/* : nullable Object */;
7226 short int var13
/* : Bool */;
7227 val
* var14
/* : List[CodeFile] */;
7228 val
* var16
/* : List[CodeFile] */;
7229 short int var17
/* : Bool */;
7230 val
* var18
/* : CodeFile */;
7231 val
* var19
/* : MModule */;
7232 val
* var21
/* : MModule */;
7233 val
* var22
/* : String */;
7234 val
* var_f
/* var f: CodeFile */;
7235 val
* var23
/* : List[CodeFile] */;
7236 val
* var25
/* : List[CodeFile] */;
7237 val
* var26
/* : List[CodeFile] */;
7238 val
* var28
/* : List[CodeFile] */;
7239 val
* var29
/* : nullable Object */;
7240 val
* var30
/* : CodeFile */;
7241 val
* var_f31
/* var f: CodeFile */;
7242 val
* var32
/* : List[CodeFile] */;
7243 val
* var34
/* : List[CodeFile] */;
7246 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
7247 var3
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
7248 if (unlikely(var3
== NULL
)) {
7249 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7250 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7258 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var1) on <var1:ModelBuilder> */
7259 var6
= var1
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var1:ModelBuilder> */
7260 if (unlikely(var6
== NULL
)) {
7261 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
7262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
7270 { /* Inline abstract_compiler#ToolContext#opt_group_c_files (var4) on <var4:ToolContext> */
7271 var9
= var4
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_group_c_files
].val
; /* _opt_group_c_files on <var4:ToolContext> */
7272 if (unlikely(var9
== NULL
)) {
7273 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_group_c_files");
7274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 41);
7282 { /* Inline opts#Option#value (var7) on <var7:OptionBool> */
7283 var12
= var7
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var7:OptionBool> */
7285 RET_LABEL11
:(void)0;
7288 var13
= ((struct instance_standard__Bool
*)var10
)->value
; /* autounbox from nullable Object to Bool */;
7291 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7292 var16
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7293 if (unlikely(var16
== NULL
)) {
7294 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7295 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
7299 RET_LABEL15
:(void)0;
7303 var17
= standard___standard__List___standard__abstract_collection__Collection__is_empty(var14
);
7306 var18
= NEW_nit__CodeFile(&type_nit__CodeFile
);
7308 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
7309 var21
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
7310 if (unlikely(var21
== NULL
)) {
7311 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
7312 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
7316 RET_LABEL20
:(void)0;
7320 var22
= nit___nit__MModule___nit__model_base__MEntity__c_name(var19
);
7323 ((void (*)(val
* self
, val
* p0
))(var18
->class->vft
[COLOR_nit__abstract_compiler__CodeFile__name_61d
]))(var18
, var22
) /* name= on <var18:CodeFile>*/;
7326 ((void (*)(val
* self
))(var18
->class->vft
[COLOR_standard__kernel__Object__init
]))(var18
) /* init on <var18:CodeFile>*/;
7330 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7331 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7332 if (unlikely(var25
== NULL
)) {
7333 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7334 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
7338 RET_LABEL24
:(void)0;
7342 standard___standard__Sequence___SimpleCollection__add(var23
, var_f
); /* Direct call abstract_collection#Sequence#add on <var23:List[CodeFile]>*/
7347 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7348 var28
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7349 if (unlikely(var28
== NULL
)) {
7350 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7351 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
7355 RET_LABEL27
:(void)0;
7359 var29
= standard___standard__List___standard__abstract_collection__Collection__first(var26
);
7365 var30
= NEW_nit__CodeFile(&type_nit__CodeFile
);
7367 ((void (*)(val
* self
, val
* p0
))(var30
->class->vft
[COLOR_nit__abstract_compiler__CodeFile__name_61d
]))(var30
, var_name
) /* name= on <var30:CodeFile>*/;
7370 ((void (*)(val
* self
))(var30
->class->vft
[COLOR_standard__kernel__Object__init
]))(var30
) /* init on <var30:CodeFile>*/;
7374 { /* Inline abstract_compiler#AbstractCompiler#files (self) on <self:AbstractCompiler> */
7375 var34
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7376 if (unlikely(var34
== NULL
)) {
7377 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7378 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
7382 RET_LABEL33
:(void)0;
7386 standard___standard__Sequence___SimpleCollection__add(var32
, var_f31
); /* Direct call abstract_collection#Sequence#add on <var32:List[CodeFile]>*/
7393 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
7394 val
* nit___nit__AbstractCompiler___files(val
* self
) {
7395 val
* var
/* : List[CodeFile] */;
7396 val
* var1
/* : List[CodeFile] */;
7397 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___files
].val
; /* _files on <self:AbstractCompiler> */
7398 if (unlikely(var1
== NULL
)) {
7399 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _files");
7400 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 516);
7407 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
7408 val
* nit___nit__AbstractCompiler___header(val
* self
) {
7409 val
* var
/* : CodeWriter */;
7410 val
* var1
/* : CodeWriter */;
7411 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
7412 if (unlikely(var1
== NULL
)) {
7413 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
7414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
7421 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
7422 void nit___nit__AbstractCompiler___header_61d(val
* self
, val
* p0
) {
7423 self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
= p0
; /* _header on <self:AbstractCompiler> */
7426 /* method abstract_compiler#AbstractCompiler#linker_script for (self: AbstractCompiler): Array[String] */
7427 val
* nit___nit__AbstractCompiler___linker_script(val
* self
) {
7428 val
* var
/* : Array[String] */;
7429 val
* var1
/* : Array[String] */;
7430 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___linker_script
].val
; /* _linker_script on <self:AbstractCompiler> */
7431 if (unlikely(var1
== NULL
)) {
7432 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _linker_script");
7433 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 526);
7440 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
7441 void nit___nit__AbstractCompiler___provide_declaration(val
* self
, val
* p0
, val
* p1
) {
7442 val
* var_key
/* var key: String */;
7443 val
* var_s
/* var s: String */;
7444 val
* var
/* : HashMap[String, String] */;
7445 val
* var2
/* : HashMap[String, String] */;
7446 short int var3
/* : Bool */;
7447 val
* var4
/* : HashMap[String, String] */;
7448 val
* var6
/* : HashMap[String, String] */;
7449 val
* var7
/* : nullable Object */;
7450 short int var8
/* : Bool */;
7451 val
* var9
/* : HashMap[String, String] */;
7452 val
* var11
/* : HashMap[String, String] */;
7456 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7457 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7458 if (unlikely(var2
== NULL
)) {
7459 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
7468 var3
= standard___standard__MapRead___has_key(var
, var_key
);
7472 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7473 var6
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7474 if (unlikely(var6
== NULL
)) {
7475 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7476 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
7484 var7
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var4
, var_key
);
7487 var8
= ((short int (*)(val
* self
, val
* p0
))(var7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var7
, var_s
) /* == on <var7:nullable Object(String)>*/;
7489 if (unlikely(!var8
)) {
7490 PRINT_ERROR("Runtime error: %s", "Assert failed");
7491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 534);
7497 { /* Inline abstract_compiler#AbstractCompiler#provided_declarations (self) on <self:AbstractCompiler> */
7498 var11
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7499 if (unlikely(var11
== NULL
)) {
7500 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7501 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
7505 RET_LABEL10
:(void)0;
7509 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]>*/
7513 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
7514 val
* nit___nit__AbstractCompiler___provided_declarations(val
* self
) {
7515 val
* var
/* : HashMap[String, String] */;
7516 val
* var1
/* : HashMap[String, String] */;
7517 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___provided_declarations
].val
; /* _provided_declarations on <self:AbstractCompiler> */
7518 if (unlikely(var1
== NULL
)) {
7519 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _provided_declarations");
7520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 539);
7527 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations for (self: AbstractCompiler): HashMap[String, ANode] */
7528 val
* nit___nit__AbstractCompiler___requirers_of_declarations(val
* self
) {
7529 val
* var
/* : HashMap[String, ANode] */;
7530 val
* var1
/* : HashMap[String, ANode] */;
7531 var1
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___requirers_of_declarations
].val
; /* _requirers_of_declarations on <self:AbstractCompiler> */
7532 if (unlikely(var1
== NULL
)) {
7533 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _requirers_of_declarations");
7534 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 541);
7541 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: AbstractCompiler) */
7542 void nit___nit__AbstractCompiler___build_c_to_nit_bindings(val
* self
) {
7543 val
* var
/* : ModelBuilder */;
7544 val
* var2
/* : ModelBuilder */;
7545 val
* var3
/* : String */;
7546 val
* var5
/* : String */;
7547 val
* var_compile_dir
/* var compile_dir: String */;
7548 val
* var6
/* : OFStream */;
7549 static val
* varonce
;
7550 val
* var7
/* : String */;
7551 char* var8
/* : NativeString */;
7552 long var9
/* : Int */;
7553 val
* var10
/* : FlatString */;
7554 val
* var11
/* : Array[Object] */;
7555 long var12
/* : Int */;
7556 val
* var13
/* : NativeArray[Object] */;
7557 val
* var14
/* : String */;
7558 val
* var_stream
/* var stream: OFStream */;
7559 static val
* varonce15
;
7560 val
* var16
/* : String */;
7561 char* var17
/* : NativeString */;
7562 long var18
/* : Int */;
7563 val
* var19
/* : FlatString */;
7564 static val
* varonce20
;
7565 val
* var21
/* : String */;
7566 char* var22
/* : NativeString */;
7567 long var23
/* : Int */;
7568 val
* var24
/* : FlatString */;
7569 static val
* varonce25
;
7570 val
* var26
/* : String */;
7571 char* var27
/* : NativeString */;
7572 long var28
/* : Int */;
7573 val
* var29
/* : FlatString */;
7574 static val
* varonce30
;
7575 val
* var31
/* : String */;
7576 char* var32
/* : NativeString */;
7577 long var33
/* : Int */;
7578 val
* var34
/* : FlatString */;
7579 static val
* varonce35
;
7580 val
* var36
/* : String */;
7581 char* var37
/* : NativeString */;
7582 long var38
/* : Int */;
7583 val
* var39
/* : FlatString */;
7584 static val
* varonce40
;
7585 val
* var41
/* : String */;
7586 char* var42
/* : NativeString */;
7587 long var43
/* : Int */;
7588 val
* var44
/* : FlatString */;
7589 static val
* varonce45
;
7590 val
* var46
/* : String */;
7591 char* var47
/* : NativeString */;
7592 long var48
/* : Int */;
7593 val
* var49
/* : FlatString */;
7594 static val
* varonce50
;
7595 val
* var51
/* : String */;
7596 char* var52
/* : NativeString */;
7597 long var53
/* : Int */;
7598 val
* var54
/* : FlatString */;
7599 static val
* varonce55
;
7600 val
* var56
/* : String */;
7601 char* var57
/* : NativeString */;
7602 long var58
/* : Int */;
7603 val
* var59
/* : FlatString */;
7604 val
* var60
/* : HashMap[String, String] */;
7605 val
* var62
/* : HashMap[String, String] */;
7606 long var63
/* : Int */;
7607 static val
* varonce64
;
7608 val
* var65
/* : String */;
7609 char* var66
/* : NativeString */;
7610 long var67
/* : Int */;
7611 val
* var68
/* : FlatString */;
7612 val
* var69
/* : Array[Object] */;
7613 long var70
/* : Int */;
7614 val
* var71
/* : NativeArray[Object] */;
7615 val
* var72
/* : Object */;
7616 val
* var73
/* : String */;
7617 val
* var74
/* : HashMap[String, String] */;
7618 val
* var76
/* : HashMap[String, String] */;
7619 val
* var77
/* : RemovableCollection[nullable Object] */;
7620 val
* var79
/* : RemovableCollection[nullable Object] */;
7621 val
* var_
/* var : RemovableCollection[String] */;
7622 val
* var80
/* : Iterator[nullable Object] */;
7623 val
* var_81
/* var : Iterator[String] */;
7624 short int var82
/* : Bool */;
7625 val
* var83
/* : nullable Object */;
7626 val
* var_i
/* var i: String */;
7627 static val
* varonce84
;
7628 val
* var85
/* : String */;
7629 char* var86
/* : NativeString */;
7630 long var87
/* : Int */;
7631 val
* var88
/* : FlatString */;
7632 val
* var89
/* : String */;
7633 static val
* varonce90
;
7634 val
* var91
/* : String */;
7635 char* var92
/* : NativeString */;
7636 long var93
/* : Int */;
7637 val
* var94
/* : FlatString */;
7638 val
* var95
/* : HashMap[String, String] */;
7639 val
* var97
/* : HashMap[String, String] */;
7640 val
* var98
/* : nullable Object */;
7641 val
* var99
/* : String */;
7642 static val
* varonce100
;
7643 val
* var101
/* : String */;
7644 char* var102
/* : NativeString */;
7645 long var103
/* : Int */;
7646 val
* var104
/* : FlatString */;
7647 static val
* varonce106
;
7648 val
* var107
/* : String */;
7649 char* var108
/* : NativeString */;
7650 long var109
/* : Int */;
7651 val
* var110
/* : FlatString */;
7652 static val
* varonce111
;
7653 val
* var112
/* : String */;
7654 char* var113
/* : NativeString */;
7655 long var114
/* : Int */;
7656 val
* var115
/* : FlatString */;
7657 static val
* varonce116
;
7658 val
* var117
/* : String */;
7659 char* var118
/* : NativeString */;
7660 long var119
/* : Int */;
7661 val
* var120
/* : FlatString */;
7662 val
* var121
/* : HashMap[String, String] */;
7663 val
* var123
/* : HashMap[String, String] */;
7664 long var124
/* : Int */;
7665 static val
* varonce125
;
7666 val
* var126
/* : String */;
7667 char* var127
/* : NativeString */;
7668 long var128
/* : Int */;
7669 val
* var129
/* : FlatString */;
7670 val
* var130
/* : Array[Object] */;
7671 long var131
/* : Int */;
7672 val
* var132
/* : NativeArray[Object] */;
7673 val
* var133
/* : Object */;
7674 val
* var134
/* : String */;
7675 static val
* varonce135
;
7676 val
* var136
/* : String */;
7677 char* var137
/* : NativeString */;
7678 long var138
/* : Int */;
7679 val
* var139
/* : FlatString */;
7680 static val
* varonce140
;
7681 val
* var141
/* : String */;
7682 char* var142
/* : NativeString */;
7683 long var143
/* : Int */;
7684 val
* var144
/* : FlatString */;
7685 static val
* varonce145
;
7686 val
* var146
/* : String */;
7687 char* var147
/* : NativeString */;
7688 long var148
/* : Int */;
7689 val
* var149
/* : FlatString */;
7690 static val
* varonce150
;
7691 val
* var151
/* : String */;
7692 char* var152
/* : NativeString */;
7693 long var153
/* : Int */;
7694 val
* var154
/* : FlatString */;
7695 static val
* varonce155
;
7696 val
* var156
/* : String */;
7697 char* var157
/* : NativeString */;
7698 long var158
/* : Int */;
7699 val
* var159
/* : FlatString */;
7700 static val
* varonce160
;
7701 val
* var161
/* : String */;
7702 char* var162
/* : NativeString */;
7703 long var163
/* : Int */;
7704 val
* var164
/* : FlatString */;
7705 static val
* varonce165
;
7706 val
* var166
/* : String */;
7707 char* var167
/* : NativeString */;
7708 long var168
/* : Int */;
7709 val
* var169
/* : FlatString */;
7710 static val
* varonce170
;
7711 val
* var171
/* : String */;
7712 char* var172
/* : NativeString */;
7713 long var173
/* : Int */;
7714 val
* var174
/* : FlatString */;
7715 val
* var175
/* : OFStream */;
7716 static val
* varonce176
;
7717 val
* var177
/* : String */;
7718 char* var178
/* : NativeString */;
7719 long var179
/* : Int */;
7720 val
* var180
/* : FlatString */;
7721 val
* var181
/* : Array[Object] */;
7722 long var182
/* : Int */;
7723 val
* var183
/* : NativeArray[Object] */;
7724 val
* var184
/* : String */;
7725 static val
* varonce185
;
7726 val
* var186
/* : String */;
7727 char* var187
/* : NativeString */;
7728 long var188
/* : Int */;
7729 val
* var189
/* : FlatString */;
7730 val
* var190
/* : Array[ExternFile] */;
7731 val
* var192
/* : Array[ExternFile] */;
7732 val
* var193
/* : ExternCFile */;
7733 static val
* varonce194
;
7734 val
* var195
/* : String */;
7735 char* var196
/* : NativeString */;
7736 long var197
/* : Int */;
7737 val
* var198
/* : FlatString */;
7738 val
* var199
/* : Array[Object] */;
7739 long var200
/* : Int */;
7740 val
* var201
/* : NativeArray[Object] */;
7741 val
* var202
/* : String */;
7742 static val
* varonce203
;
7743 val
* var204
/* : String */;
7744 char* var205
/* : NativeString */;
7745 long var206
/* : Int */;
7746 val
* var207
/* : FlatString */;
7748 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
7749 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
7750 if (unlikely(var2
== NULL
)) {
7751 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
7752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
7760 { /* Inline abstract_compiler#ModelBuilder#compile_dir (var) on <var:ModelBuilder> */
7761 var5
= var
->attrs
[COLOR_nit__abstract_compiler__ModelBuilder___compile_dir
].val
; /* _compile_dir on <var:ModelBuilder> */
7762 if (unlikely(var5
== NULL
)) {
7763 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _compile_dir");
7764 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 117);
7771 var_compile_dir
= var3
;
7772 var6
= NEW_standard__OFStream(&type_standard__OFStream
);
7776 var8
= "/c_functions_hash.c";
7778 var10
= standard___standard__NativeString___to_s_with_length(var8
, var9
);
7782 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7783 { /* var11 = array_instance Array[Object] */
7785 var13
= NEW_standard__NativeArray(var12
, &type_standard__NativeArray__standard__Object
);
7786 ((struct instance_standard__NativeArray
*)var13
)->values
[0] = (val
*) var_compile_dir
;
7787 ((struct instance_standard__NativeArray
*)var13
)->values
[1] = (val
*) var7
;
7789 ((void (*)(val
* self
, val
* p0
, long p1
))(var11
->class->vft
[COLOR_standard__array__Array__with_native
]))(var11
, var13
, var12
) /* with_native on <var11:Array[Object]>*/;
7793 var14
= ((val
* (*)(val
* self
))(var11
->class->vft
[COLOR_standard__string__Object__to_s
]))(var11
) /* to_s on <var11:Array[Object]>*/;
7796 standard___standard__OFStream___open(var6
, var14
); /* Direct call file#OFStream#open on <var6:OFStream>*/
7802 var17
= "#include <string.h>\n";
7804 var19
= standard___standard__NativeString___to_s_with_length(var17
, var18
);
7809 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var16
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7814 var22
= "#include <stdlib.h>\n";
7816 var24
= standard___standard__NativeString___to_s_with_length(var22
, var23
);
7821 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var21
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7826 var27
= "#include \"c_functions_hash.h\"\n";
7828 var29
= standard___standard__NativeString___to_s_with_length(var27
, var28
);
7833 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var26
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7838 var32
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
7840 var34
= standard___standard__NativeString___to_s_with_length(var32
, var33
);
7845 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var31
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7850 var37
= "const char* get_nit_name(register const char* procproc, register unsigned int len){\n";
7852 var39
= standard___standard__NativeString___to_s_with_length(var37
, var38
);
7857 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var36
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7862 var42
= "char* procname = malloc(len+1);";
7864 var44
= standard___standard__NativeString___to_s_with_length(var42
, var43
);
7869 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var41
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7874 var47
= "memcpy(procname, procproc, len);";
7876 var49
= standard___standard__NativeString___to_s_with_length(var47
, var48
);
7881 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var46
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7886 var52
= "procname[len] = \'\\0\';";
7888 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
7893 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var51
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7898 var57
= "static const C_Nit_Names map[";
7900 var59
= standard___standard__NativeString___to_s_with_length(var57
, var58
);
7905 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7906 var62
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7907 if (unlikely(var62
== NULL
)) {
7908 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7909 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
7913 RET_LABEL61
:(void)0;
7917 var63
= standard___standard__HashMap___standard__abstract_collection__MapRead__length(var60
);
7924 var68
= standard___standard__NativeString___to_s_with_length(var66
, var67
);
7928 var69
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7929 { /* var69 = array_instance Array[Object] */
7931 var71
= NEW_standard__NativeArray(var70
, &type_standard__NativeArray__standard__Object
);
7932 ((struct instance_standard__NativeArray
*)var71
)->values
[0] = (val
*) var56
;
7933 var72
= BOX_standard__Int(var63
); /* autobox from Int to Object */
7934 ((struct instance_standard__NativeArray
*)var71
)->values
[1] = (val
*) var72
;
7935 ((struct instance_standard__NativeArray
*)var71
)->values
[2] = (val
*) var65
;
7937 ((void (*)(val
* self
, val
* p0
, long p1
))(var69
->class->vft
[COLOR_standard__array__Array__with_native
]))(var69
, var71
, var70
) /* with_native on <var69:Array[Object]>*/;
7941 var73
= ((val
* (*)(val
* self
))(var69
->class->vft
[COLOR_standard__string__Object__to_s
]))(var69
) /* to_s on <var69:Array[Object]>*/;
7944 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var73
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7947 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
7948 var76
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
7949 if (unlikely(var76
== NULL
)) {
7950 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
7951 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
7955 RET_LABEL75
:(void)0;
7959 { /* Inline hash_collection#HashMap#keys (var74) on <var74:HashMap[String, String]> */
7960 var79
= var74
->attrs
[COLOR_standard__hash_collection__HashMap___keys
].val
; /* _keys on <var74:HashMap[String, String]> */
7961 if (unlikely(var79
== NULL
)) {
7962 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _keys");
7963 PRINT_ERROR(" (%s:%d)\n", FILE_standard__hash_collection
, 275);
7967 RET_LABEL78
:(void)0;
7972 var80
= ((val
* (*)(val
* self
))(var_
->class->vft
[COLOR_standard__abstract_collection__Collection__iterator
]))(var_
) /* iterator on <var_:RemovableCollection[String]>*/;
7977 var82
= ((short int (*)(val
* self
))(var_81
->class->vft
[COLOR_standard__abstract_collection__Iterator__is_ok
]))(var_81
) /* is_ok on <var_81:Iterator[String]>*/;
7981 var83
= ((val
* (*)(val
* self
))(var_81
->class->vft
[COLOR_standard__abstract_collection__Iterator__item
]))(var_81
) /* item on <var_81:Iterator[String]>*/;
7989 var88
= standard___standard__NativeString___to_s_with_length(var86
, var87
);
7994 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var85
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
7997 var89
= standard___standard__Text___escape_to_c(var_i
);
8000 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var89
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8007 var94
= standard___standard__NativeString___to_s_with_length(var92
, var93
);
8012 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var91
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8015 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
8016 var97
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
8017 if (unlikely(var97
== NULL
)) {
8018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8019 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
8023 RET_LABEL96
:(void)0;
8027 var98
= standard___standard__HashMap___standard__abstract_collection__MapRead___91d_93d(var95
, var_i
);
8030 var99
= standard___standard__Text___escape_to_c(var98
);
8033 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var99
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8036 var101
= varonce100
;
8040 var104
= standard___standard__NativeString___to_s_with_length(var102
, var103
);
8042 varonce100
= var101
;
8045 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var101
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8048 ((void (*)(val
* self
))(var_81
->class->vft
[COLOR_standard__abstract_collection__Iterator__next
]))(var_81
) /* next on <var_81:Iterator[String]>*/;
8054 BREAK_label
: (void)0;
8056 { /* Inline abstract_collection#Iterator#finish (var_81) on <var_81:Iterator[String]> */
8057 RET_LABEL105
:(void)0;
8061 var107
= varonce106
;
8065 var110
= standard___standard__NativeString___to_s_with_length(var108
, var109
);
8067 varonce106
= var107
;
8070 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var107
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8073 var112
= varonce111
;
8077 var115
= standard___standard__NativeString___to_s_with_length(var113
, var114
);
8079 varonce111
= var112
;
8082 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var112
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8085 var117
= varonce116
;
8087 var118
= "for(i = 0; i < ";
8089 var120
= standard___standard__NativeString___to_s_with_length(var118
, var119
);
8091 varonce116
= var117
;
8094 { /* Inline abstract_compiler#AbstractCompiler#names (self) on <self:AbstractCompiler> */
8095 var123
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___names
].val
; /* _names on <self:AbstractCompiler> */
8096 if (unlikely(var123
== NULL
)) {
8097 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _names");
8098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 471);
8102 RET_LABEL122
:(void)0;
8106 var124
= standard___standard__HashMap___standard__abstract_collection__MapRead__length(var121
);
8109 var126
= varonce125
;
8113 var129
= standard___standard__NativeString___to_s_with_length(var127
, var128
);
8115 varonce125
= var126
;
8117 var130
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8118 { /* var130 = array_instance Array[Object] */
8120 var132
= NEW_standard__NativeArray(var131
, &type_standard__NativeArray__standard__Object
);
8121 ((struct instance_standard__NativeArray
*)var132
)->values
[0] = (val
*) var117
;
8122 var133
= BOX_standard__Int(var124
); /* autobox from Int to Object */
8123 ((struct instance_standard__NativeArray
*)var132
)->values
[1] = (val
*) var133
;
8124 ((struct instance_standard__NativeArray
*)var132
)->values
[2] = (val
*) var126
;
8126 ((void (*)(val
* self
, val
* p0
, long p1
))(var130
->class->vft
[COLOR_standard__array__Array__with_native
]))(var130
, var132
, var131
) /* with_native on <var130:Array[Object]>*/;
8130 var134
= ((val
* (*)(val
* self
))(var130
->class->vft
[COLOR_standard__string__Object__to_s
]))(var130
) /* to_s on <var130:Array[Object]>*/;
8133 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var134
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8136 var136
= varonce135
;
8138 var137
= "if(strcmp(procname,map[i].name) == 0){";
8140 var139
= standard___standard__NativeString___to_s_with_length(var137
, var138
);
8142 varonce135
= var136
;
8145 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var136
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8148 var141
= varonce140
;
8150 var142
= "free(procname);";
8152 var144
= standard___standard__NativeString___to_s_with_length(var142
, var143
);
8154 varonce140
= var141
;
8157 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var141
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8160 var146
= varonce145
;
8162 var147
= "return map[i].nit_name;";
8164 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
8166 varonce145
= var146
;
8169 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var146
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8172 var151
= varonce150
;
8176 var154
= standard___standard__NativeString___to_s_with_length(var152
, var153
);
8178 varonce150
= var151
;
8181 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var151
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8184 var156
= varonce155
;
8188 var159
= standard___standard__NativeString___to_s_with_length(var157
, var158
);
8190 varonce155
= var156
;
8193 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var156
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8196 var161
= varonce160
;
8198 var162
= "free(procname);";
8200 var164
= standard___standard__NativeString___to_s_with_length(var162
, var163
);
8202 varonce160
= var161
;
8205 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var161
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8208 var166
= varonce165
;
8210 var167
= "return NULL;";
8212 var169
= standard___standard__NativeString___to_s_with_length(var167
, var168
);
8214 varonce165
= var166
;
8217 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var166
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8220 var171
= varonce170
;
8224 var174
= standard___standard__NativeString___to_s_with_length(var172
, var173
);
8226 varonce170
= var171
;
8229 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var171
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8232 standard___standard__OFStream___standard__stream__IOS__close(var_stream
); /* Direct call file#OFStream#close on <var_stream:OFStream>*/
8234 var175
= NEW_standard__OFStream(&type_standard__OFStream
);
8236 var177
= varonce176
;
8238 var178
= "/c_functions_hash.h";
8240 var180
= standard___standard__NativeString___to_s_with_length(var178
, var179
);
8242 varonce176
= var177
;
8244 var181
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8245 { /* var181 = array_instance Array[Object] */
8247 var183
= NEW_standard__NativeArray(var182
, &type_standard__NativeArray__standard__Object
);
8248 ((struct instance_standard__NativeArray
*)var183
)->values
[0] = (val
*) var_compile_dir
;
8249 ((struct instance_standard__NativeArray
*)var183
)->values
[1] = (val
*) var177
;
8251 ((void (*)(val
* self
, val
* p0
, long p1
))(var181
->class->vft
[COLOR_standard__array__Array__with_native
]))(var181
, var183
, var182
) /* with_native on <var181:Array[Object]>*/;
8255 var184
= ((val
* (*)(val
* self
))(var181
->class->vft
[COLOR_standard__string__Object__to_s
]))(var181
) /* to_s on <var181:Array[Object]>*/;
8258 standard___standard__OFStream___open(var175
, var184
); /* Direct call file#OFStream#open on <var175:OFStream>*/
8260 var_stream
= var175
;
8262 var186
= varonce185
;
8264 var187
= "const char* get_nit_name(register const char* procname, register unsigned int len);\n";
8266 var189
= standard___standard__NativeString___to_s_with_length(var187
, var188
);
8268 varonce185
= var186
;
8271 standard___standard__OFStream___standard__stream__OStream__write(var_stream
, var186
); /* Direct call file#OFStream#write on <var_stream:OFStream>*/
8274 standard___standard__OFStream___standard__stream__IOS__close(var_stream
); /* Direct call file#OFStream#close on <var_stream:OFStream>*/
8277 { /* Inline abstract_compiler#AbstractCompiler#extern_bodies (self) on <self:AbstractCompiler> */
8278 var192
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___extern_bodies
].val
; /* _extern_bodies on <self:AbstractCompiler> */
8279 if (unlikely(var192
== NULL
)) {
8280 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _extern_bodies");
8281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 928);
8285 RET_LABEL191
:(void)0;
8288 var193
= NEW_nit__ExternCFile(&type_nit__ExternCFile
);
8290 var195
= varonce194
;
8292 var196
= "/c_functions_hash.c";
8294 var198
= standard___standard__NativeString___to_s_with_length(var196
, var197
);
8296 varonce194
= var195
;
8298 var199
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8299 { /* var199 = array_instance Array[Object] */
8301 var201
= NEW_standard__NativeArray(var200
, &type_standard__NativeArray__standard__Object
);
8302 ((struct instance_standard__NativeArray
*)var201
)->values
[0] = (val
*) var_compile_dir
;
8303 ((struct instance_standard__NativeArray
*)var201
)->values
[1] = (val
*) var195
;
8305 ((void (*)(val
* self
, val
* p0
, long p1
))(var199
->class->vft
[COLOR_standard__array__Array__with_native
]))(var199
, var201
, var200
) /* with_native on <var199:Array[Object]>*/;
8309 var202
= ((val
* (*)(val
* self
))(var199
->class->vft
[COLOR_standard__string__Object__to_s
]))(var199
) /* to_s on <var199:Array[Object]>*/;
8312 var204
= varonce203
;
8316 var207
= standard___standard__NativeString___to_s_with_length(var205
, var206
);
8318 varonce203
= var204
;
8321 ((void (*)(val
* self
, val
* p0
))(var193
->class->vft
[COLOR_nit__c_tools__ExternFile__filename_61d
]))(var193
, var202
) /* filename= on <var193:ExternCFile>*/;
8324 ((void (*)(val
* self
, val
* p0
))(var193
->class->vft
[COLOR_nit__c_tools__ExternCFile__cflags_61d
]))(var193
, var204
) /* cflags= on <var193:ExternCFile>*/;
8327 ((void (*)(val
* self
))(var193
->class->vft
[COLOR_standard__kernel__Object__init
]))(var193
) /* init on <var193:ExternCFile>*/;
8330 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var190
, var193
); /* Direct call array#Array#add on <var190:Array[ExternFile]>*/
8334 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
8335 void nit___nit__AbstractCompiler___compile_header(val
* self
) {
8336 val
* var
/* : CodeWriter */;
8337 val
* var2
/* : CodeWriter */;
8338 static val
* varonce
;
8339 val
* var3
/* : String */;
8340 char* var4
/* : NativeString */;
8341 long var5
/* : Int */;
8342 val
* var6
/* : FlatString */;
8343 val
* var7
/* : CodeWriter */;
8344 val
* var9
/* : CodeWriter */;
8345 static val
* varonce10
;
8346 val
* var11
/* : String */;
8347 char* var12
/* : NativeString */;
8348 long var13
/* : Int */;
8349 val
* var14
/* : FlatString */;
8350 val
* var15
/* : CodeWriter */;
8351 val
* var17
/* : CodeWriter */;
8352 static val
* varonce18
;
8353 val
* var19
/* : String */;
8354 char* var20
/* : NativeString */;
8355 long var21
/* : Int */;
8356 val
* var22
/* : FlatString */;
8357 val
* var23
/* : CodeWriter */;
8358 val
* var25
/* : CodeWriter */;
8359 static val
* varonce26
;
8360 val
* var27
/* : String */;
8361 char* var28
/* : NativeString */;
8362 long var29
/* : Int */;
8363 val
* var30
/* : FlatString */;
8364 val
* var31
/* : CodeWriter */;
8365 val
* var33
/* : CodeWriter */;
8366 static val
* varonce34
;
8367 val
* var35
/* : String */;
8368 char* var36
/* : NativeString */;
8369 long var37
/* : Int */;
8370 val
* var38
/* : FlatString */;
8371 val
* var39
/* : CodeWriter */;
8372 val
* var41
/* : CodeWriter */;
8373 static val
* varonce42
;
8374 val
* var43
/* : String */;
8375 char* var44
/* : NativeString */;
8376 long var45
/* : Int */;
8377 val
* var46
/* : FlatString */;
8378 val
* var47
/* : CodeWriter */;
8379 val
* var49
/* : CodeWriter */;
8380 static val
* varonce50
;
8381 val
* var51
/* : String */;
8382 char* var52
/* : NativeString */;
8383 long var53
/* : Int */;
8384 val
* var54
/* : FlatString */;
8385 val
* var55
/* : CodeWriter */;
8386 val
* var57
/* : CodeWriter */;
8387 static val
* varonce58
;
8388 val
* var59
/* : String */;
8389 char* var60
/* : NativeString */;
8390 long var61
/* : Int */;
8391 val
* var62
/* : FlatString */;
8392 val
* var63
/* : CodeWriter */;
8393 val
* var65
/* : CodeWriter */;
8394 static val
* varonce66
;
8395 val
* var67
/* : String */;
8396 char* var68
/* : NativeString */;
8397 long var69
/* : Int */;
8398 val
* var70
/* : FlatString */;
8399 val
* var71
/* : CodeWriter */;
8400 val
* var73
/* : CodeWriter */;
8401 static val
* varonce74
;
8402 val
* var75
/* : String */;
8403 char* var76
/* : NativeString */;
8404 long var77
/* : Int */;
8405 val
* var78
/* : FlatString */;
8406 val
* var79
/* : ModelBuilder */;
8407 val
* var81
/* : ModelBuilder */;
8408 val
* var82
/* : ToolContext */;
8409 val
* var84
/* : ToolContext */;
8410 val
* var85
/* : OptionArray */;
8411 val
* var87
/* : OptionArray */;
8412 val
* var88
/* : nullable Object */;
8413 val
* var90
/* : nullable Object */;
8414 val
* var_gccd_disable
/* var gccd_disable: Array[String] */;
8415 short int var91
/* : Bool */;
8416 static val
* varonce92
;
8417 val
* var93
/* : String */;
8418 char* var94
/* : NativeString */;
8419 long var95
/* : Int */;
8420 val
* var96
/* : FlatString */;
8421 short int var97
/* : Bool */;
8422 short int var_
/* var : Bool */;
8423 static val
* varonce98
;
8424 val
* var99
/* : String */;
8425 char* var100
/* : NativeString */;
8426 long var101
/* : Int */;
8427 val
* var102
/* : FlatString */;
8428 short int var103
/* : Bool */;
8429 val
* var104
/* : CodeWriter */;
8430 val
* var106
/* : CodeWriter */;
8431 static val
* varonce107
;
8432 val
* var108
/* : String */;
8433 char* var109
/* : NativeString */;
8434 long var110
/* : Int */;
8435 val
* var111
/* : FlatString */;
8436 val
* var112
/* : CodeWriter */;
8437 val
* var114
/* : CodeWriter */;
8438 static val
* varonce115
;
8439 val
* var116
/* : String */;
8440 char* var117
/* : NativeString */;
8441 long var118
/* : Int */;
8442 val
* var119
/* : FlatString */;
8443 short int var120
/* : Bool */;
8444 static val
* varonce121
;
8445 val
* var122
/* : String */;
8446 char* var123
/* : NativeString */;
8447 long var124
/* : Int */;
8448 val
* var125
/* : FlatString */;
8449 short int var126
/* : Bool */;
8450 short int var_127
/* var : Bool */;
8451 static val
* varonce128
;
8452 val
* var129
/* : String */;
8453 char* var130
/* : NativeString */;
8454 long var131
/* : Int */;
8455 val
* var132
/* : FlatString */;
8456 short int var133
/* : Bool */;
8457 val
* var134
/* : CodeWriter */;
8458 val
* var136
/* : CodeWriter */;
8459 static val
* varonce137
;
8460 val
* var138
/* : String */;
8461 char* var139
/* : NativeString */;
8462 long var140
/* : Int */;
8463 val
* var141
/* : FlatString */;
8464 val
* var142
/* : CodeWriter */;
8465 val
* var144
/* : CodeWriter */;
8466 static val
* varonce145
;
8467 val
* var146
/* : String */;
8468 char* var147
/* : NativeString */;
8469 long var148
/* : Int */;
8470 val
* var149
/* : FlatString */;
8471 static val
* varonce150
;
8472 val
* var151
/* : String */;
8473 char* var152
/* : NativeString */;
8474 long var153
/* : Int */;
8475 val
* var154
/* : FlatString */;
8476 short int var155
/* : Bool */;
8477 val
* var156
/* : CodeWriter */;
8478 val
* var158
/* : CodeWriter */;
8479 static val
* varonce159
;
8480 val
* var160
/* : String */;
8481 char* var161
/* : NativeString */;
8482 long var162
/* : Int */;
8483 val
* var163
/* : FlatString */;
8484 val
* var164
/* : CodeWriter */;
8485 val
* var166
/* : CodeWriter */;
8486 static val
* varonce167
;
8487 val
* var168
/* : String */;
8488 char* var169
/* : NativeString */;
8489 long var170
/* : Int */;
8490 val
* var171
/* : FlatString */;
8491 val
* var172
/* : CodeWriter */;
8492 val
* var174
/* : CodeWriter */;
8493 static val
* varonce175
;
8494 val
* var176
/* : String */;
8495 char* var177
/* : NativeString */;
8496 long var178
/* : Int */;
8497 val
* var179
/* : FlatString */;
8498 val
* var180
/* : CodeWriter */;
8499 val
* var182
/* : CodeWriter */;
8500 static val
* varonce183
;
8501 val
* var184
/* : String */;
8502 char* var185
/* : NativeString */;
8503 long var186
/* : Int */;
8504 val
* var187
/* : FlatString */;
8505 val
* var188
/* : CodeWriter */;
8506 val
* var190
/* : CodeWriter */;
8507 static val
* varonce191
;
8508 val
* var192
/* : String */;
8509 char* var193
/* : NativeString */;
8510 long var194
/* : Int */;
8511 val
* var195
/* : FlatString */;
8512 val
* var196
/* : CodeWriter */;
8513 val
* var198
/* : CodeWriter */;
8514 static val
* varonce199
;
8515 val
* var200
/* : String */;
8516 char* var201
/* : NativeString */;
8517 long var202
/* : Int */;
8518 val
* var203
/* : FlatString */;
8519 val
* var204
/* : CodeWriter */;
8520 val
* var206
/* : CodeWriter */;
8521 static val
* varonce207
;
8522 val
* var208
/* : String */;
8523 char* var209
/* : NativeString */;
8524 long var210
/* : Int */;
8525 val
* var211
/* : FlatString */;
8527 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8528 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8529 if (unlikely(var2
== NULL
)) {
8530 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8531 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8541 var4
= "#include <stdlib.h>";
8543 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
8548 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
8551 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8552 var9
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8553 if (unlikely(var9
== NULL
)) {
8554 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8555 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8565 var12
= "#include <stdio.h>";
8567 var14
= standard___standard__NativeString___to_s_with_length(var12
, var13
);
8572 nit___nit__CodeWriter___add_decl(var7
, var11
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var7:CodeWriter>*/
8575 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8576 var17
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8577 if (unlikely(var17
== NULL
)) {
8578 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8579 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8583 RET_LABEL16
:(void)0;
8589 var20
= "#include <string.h>";
8591 var22
= standard___standard__NativeString___to_s_with_length(var20
, var21
);
8596 nit___nit__CodeWriter___add_decl(var15
, var19
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var15:CodeWriter>*/
8599 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8600 var25
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8601 if (unlikely(var25
== NULL
)) {
8602 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8603 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8607 RET_LABEL24
:(void)0;
8613 var28
= "#include \"gc_chooser.h\"";
8615 var30
= standard___standard__NativeString___to_s_with_length(var28
, var29
);
8620 nit___nit__CodeWriter___add_decl(var23
, var27
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var23:CodeWriter>*/
8623 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8624 var33
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8625 if (unlikely(var33
== NULL
)) {
8626 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8627 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8631 RET_LABEL32
:(void)0;
8637 var36
= "#ifdef ANDROID";
8639 var38
= standard___standard__NativeString___to_s_with_length(var36
, var37
);
8644 nit___nit__CodeWriter___add_decl(var31
, var35
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var31:CodeWriter>*/
8647 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8648 var41
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8649 if (unlikely(var41
== NULL
)) {
8650 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8651 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8655 RET_LABEL40
:(void)0;
8661 var44
= "\11#include <android/log.h>";
8663 var46
= standard___standard__NativeString___to_s_with_length(var44
, var45
);
8668 nit___nit__CodeWriter___add_decl(var39
, var43
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var39:CodeWriter>*/
8671 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8672 var49
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8673 if (unlikely(var49
== NULL
)) {
8674 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8675 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8679 RET_LABEL48
:(void)0;
8685 var52
= "\11#define PRINT_ERROR(...) (void)__android_log_print(ANDROID_LOG_WARN, \"Nit\", __VA_ARGS__)";
8687 var54
= standard___standard__NativeString___to_s_with_length(var52
, var53
);
8692 nit___nit__CodeWriter___add_decl(var47
, var51
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var47:CodeWriter>*/
8695 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8696 var57
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8697 if (unlikely(var57
== NULL
)) {
8698 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8703 RET_LABEL56
:(void)0;
8711 var62
= standard___standard__NativeString___to_s_with_length(var60
, var61
);
8716 nit___nit__CodeWriter___add_decl(var55
, var59
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var55:CodeWriter>*/
8719 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8720 var65
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8721 if (unlikely(var65
== NULL
)) {
8722 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8723 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8727 RET_LABEL64
:(void)0;
8733 var68
= "\11#define PRINT_ERROR(...) fprintf(stderr, __VA_ARGS__)";
8735 var70
= standard___standard__NativeString___to_s_with_length(var68
, var69
);
8740 nit___nit__CodeWriter___add_decl(var63
, var67
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var63:CodeWriter>*/
8743 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8744 var73
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8745 if (unlikely(var73
== NULL
)) {
8746 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8747 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8751 RET_LABEL72
:(void)0;
8759 var78
= standard___standard__NativeString___to_s_with_length(var76
, var77
);
8764 nit___nit__CodeWriter___add_decl(var71
, var75
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var71:CodeWriter>*/
8767 ((void (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
) /* compile_header_structs on <self:AbstractCompiler>*/;
8770 nit___nit__SeparateCompiler___nit__abstract_compiler__AbstractCompiler__compile_nitni_structs(self
); /* Direct call separate_compiler#SeparateCompiler#compile_nitni_structs on <self:AbstractCompiler>*/
8773 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
8774 var81
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
8775 if (unlikely(var81
== NULL
)) {
8776 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
8777 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
8781 RET_LABEL80
:(void)0;
8785 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var79) on <var79:ModelBuilder> */
8786 var84
= var79
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var79:ModelBuilder> */
8787 if (unlikely(var84
== NULL
)) {
8788 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
8789 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
8793 RET_LABEL83
:(void)0;
8797 { /* Inline abstract_compiler#ToolContext#opt_no_gcc_directive (var82) on <var82:ToolContext> */
8798 var87
= var82
->attrs
[COLOR_nit__abstract_compiler__ToolContext___opt_no_gcc_directive
].val
; /* _opt_no_gcc_directive on <var82:ToolContext> */
8799 if (unlikely(var87
== NULL
)) {
8800 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _opt_no_gcc_directive");
8801 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 67);
8805 RET_LABEL86
:(void)0;
8809 { /* Inline opts#Option#value (var85) on <var85:OptionArray> */
8810 var90
= var85
->attrs
[COLOR_opts__Option___value
].val
; /* _value on <var85:OptionArray> */
8812 RET_LABEL89
:(void)0;
8815 var_gccd_disable
= var88
;
8821 var96
= standard___standard__NativeString___to_s_with_length(var94
, var95
);
8826 var97
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var93
);
8837 var102
= standard___standard__NativeString___to_s_with_length(var100
, var101
);
8842 var103
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var99
);
8848 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8849 var106
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8850 if (unlikely(var106
== NULL
)) {
8851 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8852 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8856 RET_LABEL105
:(void)0;
8860 var108
= varonce107
;
8862 var109
= "void show_backtrace(int);";
8864 var111
= standard___standard__NativeString___to_s_with_length(var109
, var110
);
8866 varonce107
= var108
;
8869 nit___nit__CodeWriter___add_decl(var104
, var108
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var104:CodeWriter>*/
8873 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8874 var114
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8875 if (unlikely(var114
== NULL
)) {
8876 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8881 RET_LABEL113
:(void)0;
8885 var116
= varonce115
;
8887 var117
= "void show_backtrace(int) __attribute__ ((noreturn));";
8889 var119
= standard___standard__NativeString___to_s_with_length(var117
, var118
);
8891 varonce115
= var116
;
8894 nit___nit__CodeWriter___add_decl(var112
, var116
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var112:CodeWriter>*/
8898 var122
= varonce121
;
8902 var125
= standard___standard__NativeString___to_s_with_length(var123
, var124
);
8904 varonce121
= var122
;
8907 var126
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var122
);
8914 var129
= varonce128
;
8918 var132
= standard___standard__NativeString___to_s_with_length(var130
, var131
);
8920 varonce128
= var129
;
8923 var133
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var129
);
8929 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8930 var136
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8931 if (unlikely(var136
== NULL
)) {
8932 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8933 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8937 RET_LABEL135
:(void)0;
8941 var138
= varonce137
;
8943 var139
= "#define likely(x) (x)";
8945 var141
= standard___standard__NativeString___to_s_with_length(var139
, var140
);
8947 varonce137
= var138
;
8950 nit___nit__CodeWriter___add_decl(var134
, var138
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var134:CodeWriter>*/
8953 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8954 var144
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8955 if (unlikely(var144
== NULL
)) {
8956 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8961 RET_LABEL143
:(void)0;
8965 var146
= varonce145
;
8967 var147
= "#define unlikely(x) (x)";
8969 var149
= standard___standard__NativeString___to_s_with_length(var147
, var148
);
8971 varonce145
= var146
;
8974 nit___nit__CodeWriter___add_decl(var142
, var146
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var142:CodeWriter>*/
8978 var151
= varonce150
;
8980 var152
= "correct-likely";
8982 var154
= standard___standard__NativeString___to_s_with_length(var152
, var153
);
8984 varonce150
= var151
;
8987 var155
= standard___standard__AbstractArrayRead___standard__abstract_collection__Collection__has(var_gccd_disable
, var151
);
8991 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
8992 var158
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
8993 if (unlikely(var158
== NULL
)) {
8994 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
8995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
8999 RET_LABEL157
:(void)0;
9003 var160
= varonce159
;
9005 var161
= "#define likely(x) __builtin_expect((x),0)";
9007 var163
= standard___standard__NativeString___to_s_with_length(var161
, var162
);
9009 varonce159
= var160
;
9012 nit___nit__CodeWriter___add_decl(var156
, var160
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var156:CodeWriter>*/
9015 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9016 var166
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9017 if (unlikely(var166
== NULL
)) {
9018 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9019 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9023 RET_LABEL165
:(void)0;
9027 var168
= varonce167
;
9029 var169
= "#define unlikely(x) __builtin_expect((x),1)";
9031 var171
= standard___standard__NativeString___to_s_with_length(var169
, var170
);
9033 varonce167
= var168
;
9036 nit___nit__CodeWriter___add_decl(var164
, var168
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var164:CodeWriter>*/
9040 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9041 var174
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9042 if (unlikely(var174
== NULL
)) {
9043 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9044 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9048 RET_LABEL173
:(void)0;
9052 var176
= varonce175
;
9054 var177
= "#define likely(x) __builtin_expect((x),1)";
9056 var179
= standard___standard__NativeString___to_s_with_length(var177
, var178
);
9058 varonce175
= var176
;
9061 nit___nit__CodeWriter___add_decl(var172
, var176
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var172:CodeWriter>*/
9064 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9065 var182
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9066 if (unlikely(var182
== NULL
)) {
9067 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9068 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9072 RET_LABEL181
:(void)0;
9076 var184
= varonce183
;
9078 var185
= "#define unlikely(x) __builtin_expect((x),0)";
9080 var187
= standard___standard__NativeString___to_s_with_length(var185
, var186
);
9082 varonce183
= var184
;
9085 nit___nit__CodeWriter___add_decl(var180
, var184
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var180:CodeWriter>*/
9090 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9091 var190
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9092 if (unlikely(var190
== NULL
)) {
9093 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9098 RET_LABEL189
:(void)0;
9102 var192
= varonce191
;
9104 var193
= "extern int glob_argc;";
9106 var195
= standard___standard__NativeString___to_s_with_length(var193
, var194
);
9108 varonce191
= var192
;
9111 nit___nit__CodeWriter___add_decl(var188
, var192
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var188:CodeWriter>*/
9114 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9115 var198
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9116 if (unlikely(var198
== NULL
)) {
9117 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9122 RET_LABEL197
:(void)0;
9126 var200
= varonce199
;
9128 var201
= "extern char **glob_argv;";
9130 var203
= standard___standard__NativeString___to_s_with_length(var201
, var202
);
9132 varonce199
= var200
;
9135 nit___nit__CodeWriter___add_decl(var196
, var200
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var196:CodeWriter>*/
9138 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9139 var206
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9140 if (unlikely(var206
== NULL
)) {
9141 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9146 RET_LABEL205
:(void)0;
9150 var208
= varonce207
;
9152 var209
= "extern val *glob_sys;";
9154 var211
= standard___standard__NativeString___to_s_with_length(var209
, var210
);
9156 varonce207
= var208
;
9159 nit___nit__CodeWriter___add_decl(var204
, var208
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var204:CodeWriter>*/
9163 /* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: AbstractCompiler) */
9164 void nit___nit__AbstractCompiler___compile_nitni_structs(val
* self
) {
9165 val
* var
/* : CodeWriter */;
9166 val
* var2
/* : CodeWriter */;
9167 static val
* varonce
;
9168 val
* var3
/* : String */;
9169 char* var4
/* : NativeString */;
9170 long var5
/* : Int */;
9171 val
* var6
/* : FlatString */;
9173 { /* Inline abstract_compiler#AbstractCompiler#header (self) on <self:AbstractCompiler> */
9174 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___header
].val
; /* _header on <self:AbstractCompiler> */
9175 if (unlikely(var2
== NULL
)) {
9176 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _header");
9177 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 523);
9187 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\11struct nitni_ref *next,\n\11\11*prev; /* adjacent global references in global list */\n\11int 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\11struct 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";
9189 var6
= standard___standard__NativeString___to_s_with_length(var4
, var5
);
9194 nit___nit__CodeWriter___add_decl(var
, var3
); /* Direct call abstract_compiler#CodeWriter#add_decl on <var:CodeWriter>*/
9198 /* method abstract_compiler#AbstractCompiler#compile_finalizer_function for (self: AbstractCompiler) */
9199 void nit___nit__AbstractCompiler___compile_finalizer_function(val
* self
) {
9200 val
* var
/* : MModule */;
9201 val
* var2
/* : MModule */;
9202 val
* var3
/* : nullable MClassType */;
9203 val
* var_finalizable_type
/* var finalizable_type: nullable MClassType */;
9204 val
* var4
/* : null */;
9205 short int var5
/* : Bool */;
9206 short int var6
/* : Bool */;
9207 val
* var_other
/* var other: nullable Object */;
9208 short int var8
/* : Bool */;
9209 short int var10
/* : Bool */;
9210 val
* var11
/* : MModule */;
9211 val
* var13
/* : MModule */;
9212 static val
* varonce
;
9213 val
* var14
/* : String */;
9214 char* var15
/* : NativeString */;
9215 long var16
/* : Int */;
9216 val
* var17
/* : FlatString */;
9217 val
* var18
/* : MClass */;
9218 val
* var20
/* : MClass */;
9219 val
* var21
/* : nullable MMethod */;
9220 val
* var_finalize_meth
/* var finalize_meth: nullable MMethod */;
9221 val
* var22
/* : null */;
9222 short int var23
/* : Bool */;
9223 short int var24
/* : Bool */;
9224 short int var26
/* : Bool */;
9225 short int var28
/* : Bool */;
9226 val
* var29
/* : ModelBuilder */;
9227 val
* var31
/* : ModelBuilder */;
9228 val
* var32
/* : ToolContext */;
9229 val
* var34
/* : ToolContext */;
9230 val
* var35
/* : null */;
9231 static val
* varonce36
;
9232 val
* var37
/* : String */;
9233 char* var38
/* : NativeString */;
9234 long var39
/* : Int */;
9235 val
* var40
/* : FlatString */;
9236 val
* var41
/* : AbstractCompilerVisitor */;
9237 val
* var_v
/* var v: AbstractCompilerVisitor */;
9238 static val
* varonce42
;
9239 val
* var43
/* : String */;
9240 char* var44
/* : NativeString */;
9241 long var45
/* : Int */;
9242 val
* var46
/* : FlatString */;
9243 static val
* varonce47
;
9244 val
* var48
/* : String */;
9245 char* var49
/* : NativeString */;
9246 long var50
/* : Int */;
9247 val
* var51
/* : FlatString */;
9248 val
* var52
/* : RuntimeVariable */;
9249 val
* var_recv
/* var recv: RuntimeVariable */;
9250 val
* var53
/* : Array[RuntimeVariable] */;
9251 long var54
/* : Int */;
9252 val
* var_
/* var : Array[RuntimeVariable] */;
9253 val
* var55
/* : nullable RuntimeVariable */;
9254 static val
* varonce56
;
9255 val
* var57
/* : String */;
9256 char* var58
/* : NativeString */;
9257 long var59
/* : Int */;
9258 val
* var60
/* : FlatString */;
9260 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
9261 var2
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
9262 if (unlikely(var2
== NULL
)) {
9263 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9264 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
9272 var3
= nit__model___MModule___finalizable_type(var
);
9274 var_finalizable_type
= var3
;
9276 if (var_finalizable_type
== NULL
) {
9277 var5
= 1; /* is null */
9279 var5
= 0; /* arg is null but recv is not */
9282 { /* Inline kernel#Object#== (var_finalizable_type,var4) on <var_finalizable_type:nullable MClassType> */
9285 { /* Inline kernel#Object#is_same_instance (var_finalizable_type,var_other) on <var_finalizable_type:nullable MClassType(MClassType)> */
9286 var10
= var_finalizable_type
== var_other
;
9303 { /* Inline abstract_compiler#AbstractCompiler#mainmodule (self) on <self:AbstractCompiler> */
9304 var13
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___mainmodule
].val
; /* _mainmodule on <self:AbstractCompiler> */
9305 if (unlikely(var13
== NULL
)) {
9306 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mainmodule");
9307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 474);
9311 RET_LABEL12
:(void)0;
9319 var17
= standard___standard__NativeString___to_s_with_length(var15
, var16
);
9324 { /* Inline model#MClassType#mclass (var_finalizable_type) on <var_finalizable_type:nullable MClassType(MClassType)> */
9325 var20
= var_finalizable_type
->attrs
[COLOR_nit__model__MClassType___mclass
].val
; /* _mclass on <var_finalizable_type:nullable MClassType(MClassType)> */
9326 if (unlikely(var20
== NULL
)) {
9327 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _mclass");
9328 PRINT_ERROR(" (%s:%d)\n", FILE_nit__model
, 1058);
9332 RET_LABEL19
:(void)0;
9336 var21
= nit__model___MModule___try_get_primitive_method(var11
, var14
, var18
);
9338 var_finalize_meth
= var21
;
9340 if (var_finalize_meth
== NULL
) {
9341 var23
= 1; /* is null */
9343 var23
= 0; /* arg is null but recv is not */
9346 { /* Inline kernel#Object#== (var_finalize_meth,var22) on <var_finalize_meth:nullable MMethod> */
9349 { /* Inline kernel#Object#is_same_instance (var_finalize_meth,var_other) on <var_finalize_meth:nullable MMethod(MMethod)> */
9350 var28
= var_finalize_meth
== var_other
;
9353 RET_LABEL27
:(void)0;
9358 RET_LABEL25
:(void)0;
9364 { /* Inline abstract_compiler#AbstractCompiler#modelbuilder (self) on <self:AbstractCompiler> */
9365 var31
= self
->attrs
[COLOR_nit__abstract_compiler__AbstractCompiler___modelbuilder
].val
; /* _modelbuilder on <self:AbstractCompiler> */
9366 if (unlikely(var31
== NULL
)) {
9367 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _modelbuilder");
9368 PRINT_ERROR(" (%s:%d)\n", FILE_nit__abstract_compiler
, 481);
9372 RET_LABEL30
:(void)0;
9376 { /* Inline modelbuilder_base#ModelBuilder#toolcontext (var29) on <var29:ModelBuilder> */
9377 var34
= var29
->attrs
[COLOR_nit__modelbuilder_base__ModelBuilder___toolcontext
].val
; /* _toolcontext on <var29:ModelBuilder> */
9378 if (unlikely(var34
== NULL
)) {
9379 PRINT_ERROR("Runtime error: %s", "Uninitialized attribute _toolcontext");
9380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__modelbuilder_base
, 47);
9384 RET_LABEL33
:(void)0;
9391 var38
= "The `Finalizable` class doesn\'t declare the `finalize` method.";
9393 var40
= standard___standard__NativeString___to_s_with_length(var38
, var39
);
9398 nit___nit__ToolContext___error(var32
, var35
, var37
); /* Direct call toolcontext#ToolContext#error on <var32:ToolContext>*/
9404 var41
= ((val
* (*)(val
* self
))(self
->class->vft
[COLOR_nit__abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
9410 var44
= "void gc_finalize (void *obj, void *client_data) {";
9412 var46
= standard___standard__NativeString___to_s_with_length(var44
, var45
);
9417 nit___nit__AbstractCompilerVisitor___add_decl(var_v
, var43
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add_decl on <var_v:AbstractCompilerVisitor>*/
9424 var51
= standard___standard__NativeString___to_s_with_length(var49
, var50
);
9429 var52
= nit___nit__AbstractCompilerVisitor___new_expr(var_v
, var48
, var_finalizable_type
);
9432 var53
= NEW_standard__Array(&type_standard__Array__nit__RuntimeVariable
);
9435 standard___standard__Array___with_capacity(var53
, var54
); /* Direct call array#Array#with_capacity on <var53:Array[RuntimeVariable]>*/
9439 standard___standard__AbstractArray___standard__abstract_collection__Sequence__push(var_
, var_recv
); /* Direct call array#AbstractArray#push on <var_:Array[RuntimeVariable]>*/
9442 var55
= nit___nit__SeparateCompilerVisitor___nit__abstract_compiler__AbstractCompilerVisitor__send(var_v
, var_finalize_meth
, var_
);
9449 var60
= standard___standard__NativeString___to_s_with_length(var58
, var59
);
9454 nit___nit__AbstractCompilerVisitor___add(var_v
, var57
); /* Direct call abstract_compiler#AbstractCompilerVisitor#add on <var_v:AbstractCompilerVisitor>*/