1 #include "abstract_compiler.sep.0.h"
2 /* method abstract_compiler#ToolContext#opt_output for (self: ToolContext): OptionString */
3 val
* abstract_compiler__ToolContext__opt_output(val
* self
) {
4 val
* var
/* : OptionString */;
5 val
* var1
/* : OptionString */;
6 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_output
].val
; /* @opt_output on <self:ToolContext> */
8 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_output");
9 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 29);
16 /* method abstract_compiler#ToolContext#opt_output for (self: Object): OptionString */
17 val
* VIRTUAL_abstract_compiler__ToolContext__opt_output(val
* self
) {
18 val
* var
/* : OptionString */;
19 val
* var1
/* : OptionString */;
20 var1
= abstract_compiler__ToolContext__opt_output(self
);
25 /* method abstract_compiler#ToolContext#opt_output= for (self: ToolContext, OptionString) */
26 void abstract_compiler__ToolContext__opt_output_61d(val
* self
, val
* p0
) {
27 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_output
].val
= p0
; /* @opt_output on <self:ToolContext> */
30 /* method abstract_compiler#ToolContext#opt_output= for (self: Object, OptionString) */
31 void VIRTUAL_abstract_compiler__ToolContext__opt_output_61d(val
* self
, val
* p0
) {
32 abstract_compiler__ToolContext__opt_output_61d(self
, p0
);
35 /* method abstract_compiler#ToolContext#opt_no_cc for (self: ToolContext): OptionBool */
36 val
* abstract_compiler__ToolContext__opt_no_cc(val
* self
) {
37 val
* var
/* : OptionBool */;
38 val
* var1
/* : OptionBool */;
39 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_cc
].val
; /* @opt_no_cc on <self:ToolContext> */
41 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_cc");
42 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 31);
49 /* method abstract_compiler#ToolContext#opt_no_cc for (self: Object): OptionBool */
50 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_cc(val
* self
) {
51 val
* var
/* : OptionBool */;
52 val
* var1
/* : OptionBool */;
53 var1
= abstract_compiler__ToolContext__opt_no_cc(self
);
58 /* method abstract_compiler#ToolContext#opt_no_cc= for (self: ToolContext, OptionBool) */
59 void abstract_compiler__ToolContext__opt_no_cc_61d(val
* self
, val
* p0
) {
60 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_cc
].val
= p0
; /* @opt_no_cc on <self:ToolContext> */
63 /* method abstract_compiler#ToolContext#opt_no_cc= for (self: Object, OptionBool) */
64 void VIRTUAL_abstract_compiler__ToolContext__opt_no_cc_61d(val
* self
, val
* p0
) {
65 abstract_compiler__ToolContext__opt_no_cc_61d(self
, p0
);
68 /* method abstract_compiler#ToolContext#opt_cc_path for (self: ToolContext): OptionArray */
69 val
* abstract_compiler__ToolContext__opt_cc_path(val
* self
) {
70 val
* var
/* : OptionArray */;
71 val
* var1
/* : OptionArray */;
72 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_cc_path
].val
; /* @opt_cc_path on <self:ToolContext> */
74 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_cc_path");
75 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 33);
82 /* method abstract_compiler#ToolContext#opt_cc_path for (self: Object): OptionArray */
83 val
* VIRTUAL_abstract_compiler__ToolContext__opt_cc_path(val
* self
) {
84 val
* var
/* : OptionArray */;
85 val
* var1
/* : OptionArray */;
86 var1
= abstract_compiler__ToolContext__opt_cc_path(self
);
91 /* method abstract_compiler#ToolContext#opt_cc_path= for (self: ToolContext, OptionArray) */
92 void abstract_compiler__ToolContext__opt_cc_path_61d(val
* self
, val
* p0
) {
93 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_cc_path
].val
= p0
; /* @opt_cc_path on <self:ToolContext> */
96 /* method abstract_compiler#ToolContext#opt_cc_path= for (self: Object, OptionArray) */
97 void VIRTUAL_abstract_compiler__ToolContext__opt_cc_path_61d(val
* self
, val
* p0
) {
98 abstract_compiler__ToolContext__opt_cc_path_61d(self
, p0
);
101 /* method abstract_compiler#ToolContext#opt_make_flags for (self: ToolContext): OptionString */
102 val
* abstract_compiler__ToolContext__opt_make_flags(val
* self
) {
103 val
* var
/* : OptionString */;
104 val
* var1
/* : OptionString */;
105 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_make_flags
].val
; /* @opt_make_flags on <self:ToolContext> */
107 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_make_flags");
108 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 35);
115 /* method abstract_compiler#ToolContext#opt_make_flags for (self: Object): OptionString */
116 val
* VIRTUAL_abstract_compiler__ToolContext__opt_make_flags(val
* self
) {
117 val
* var
/* : OptionString */;
118 val
* var1
/* : OptionString */;
119 var1
= abstract_compiler__ToolContext__opt_make_flags(self
);
124 /* method abstract_compiler#ToolContext#opt_make_flags= for (self: ToolContext, OptionString) */
125 void abstract_compiler__ToolContext__opt_make_flags_61d(val
* self
, val
* p0
) {
126 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_make_flags
].val
= p0
; /* @opt_make_flags on <self:ToolContext> */
129 /* method abstract_compiler#ToolContext#opt_make_flags= for (self: Object, OptionString) */
130 void VIRTUAL_abstract_compiler__ToolContext__opt_make_flags_61d(val
* self
, val
* p0
) {
131 abstract_compiler__ToolContext__opt_make_flags_61d(self
, p0
);
134 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: ToolContext): OptionString */
135 val
* abstract_compiler__ToolContext__opt_compile_dir(val
* self
) {
136 val
* var
/* : OptionString */;
137 val
* var1
/* : OptionString */;
138 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_compile_dir
].val
; /* @opt_compile_dir on <self:ToolContext> */
140 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_compile_dir");
141 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 37);
148 /* method abstract_compiler#ToolContext#opt_compile_dir for (self: Object): OptionString */
149 val
* VIRTUAL_abstract_compiler__ToolContext__opt_compile_dir(val
* self
) {
150 val
* var
/* : OptionString */;
151 val
* var1
/* : OptionString */;
152 var1
= abstract_compiler__ToolContext__opt_compile_dir(self
);
157 /* method abstract_compiler#ToolContext#opt_compile_dir= for (self: ToolContext, OptionString) */
158 void abstract_compiler__ToolContext__opt_compile_dir_61d(val
* self
, val
* p0
) {
159 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_compile_dir
].val
= p0
; /* @opt_compile_dir on <self:ToolContext> */
162 /* method abstract_compiler#ToolContext#opt_compile_dir= for (self: Object, OptionString) */
163 void VIRTUAL_abstract_compiler__ToolContext__opt_compile_dir_61d(val
* self
, val
* p0
) {
164 abstract_compiler__ToolContext__opt_compile_dir_61d(self
, p0
);
167 /* method abstract_compiler#ToolContext#opt_hardening for (self: ToolContext): OptionBool */
168 val
* abstract_compiler__ToolContext__opt_hardening(val
* self
) {
169 val
* var
/* : OptionBool */;
170 val
* var1
/* : OptionBool */;
171 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_hardening
].val
; /* @opt_hardening on <self:ToolContext> */
173 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_hardening");
174 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 39);
181 /* method abstract_compiler#ToolContext#opt_hardening for (self: Object): OptionBool */
182 val
* VIRTUAL_abstract_compiler__ToolContext__opt_hardening(val
* self
) {
183 val
* var
/* : OptionBool */;
184 val
* var1
/* : OptionBool */;
185 var1
= abstract_compiler__ToolContext__opt_hardening(self
);
190 /* method abstract_compiler#ToolContext#opt_hardening= for (self: ToolContext, OptionBool) */
191 void abstract_compiler__ToolContext__opt_hardening_61d(val
* self
, val
* p0
) {
192 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_hardening
].val
= p0
; /* @opt_hardening on <self:ToolContext> */
195 /* method abstract_compiler#ToolContext#opt_hardening= for (self: Object, OptionBool) */
196 void VIRTUAL_abstract_compiler__ToolContext__opt_hardening_61d(val
* self
, val
* p0
) {
197 abstract_compiler__ToolContext__opt_hardening_61d(self
, p0
);
200 /* method abstract_compiler#ToolContext#opt_no_shortcut_range for (self: ToolContext): OptionBool */
201 val
* abstract_compiler__ToolContext__opt_no_shortcut_range(val
* self
) {
202 val
* var
/* : OptionBool */;
203 val
* var1
/* : OptionBool */;
204 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_shortcut_range
].val
; /* @opt_no_shortcut_range on <self:ToolContext> */
206 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_shortcut_range");
207 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 41);
214 /* method abstract_compiler#ToolContext#opt_no_shortcut_range for (self: Object): OptionBool */
215 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_shortcut_range(val
* self
) {
216 val
* var
/* : OptionBool */;
217 val
* var1
/* : OptionBool */;
218 var1
= abstract_compiler__ToolContext__opt_no_shortcut_range(self
);
223 /* method abstract_compiler#ToolContext#opt_no_shortcut_range= for (self: ToolContext, OptionBool) */
224 void abstract_compiler__ToolContext__opt_no_shortcut_range_61d(val
* self
, val
* p0
) {
225 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_shortcut_range
].val
= p0
; /* @opt_no_shortcut_range on <self:ToolContext> */
228 /* method abstract_compiler#ToolContext#opt_no_shortcut_range= for (self: Object, OptionBool) */
229 void VIRTUAL_abstract_compiler__ToolContext__opt_no_shortcut_range_61d(val
* self
, val
* p0
) {
230 abstract_compiler__ToolContext__opt_no_shortcut_range_61d(self
, p0
);
233 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: ToolContext): OptionBool */
234 val
* abstract_compiler__ToolContext__opt_no_check_covariance(val
* self
) {
235 val
* var
/* : OptionBool */;
236 val
* var1
/* : OptionBool */;
237 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_covariance
].val
; /* @opt_no_check_covariance on <self:ToolContext> */
239 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_check_covariance");
240 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 43);
247 /* method abstract_compiler#ToolContext#opt_no_check_covariance for (self: Object): OptionBool */
248 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_covariance(val
* self
) {
249 val
* var
/* : OptionBool */;
250 val
* var1
/* : OptionBool */;
251 var1
= abstract_compiler__ToolContext__opt_no_check_covariance(self
);
256 /* method abstract_compiler#ToolContext#opt_no_check_covariance= for (self: ToolContext, OptionBool) */
257 void abstract_compiler__ToolContext__opt_no_check_covariance_61d(val
* self
, val
* p0
) {
258 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_covariance
].val
= p0
; /* @opt_no_check_covariance on <self:ToolContext> */
261 /* method abstract_compiler#ToolContext#opt_no_check_covariance= for (self: Object, OptionBool) */
262 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_covariance_61d(val
* self
, val
* p0
) {
263 abstract_compiler__ToolContext__opt_no_check_covariance_61d(self
, p0
);
266 /* method abstract_compiler#ToolContext#opt_no_check_initialization for (self: ToolContext): OptionBool */
267 val
* abstract_compiler__ToolContext__opt_no_check_initialization(val
* self
) {
268 val
* var
/* : OptionBool */;
269 val
* var1
/* : OptionBool */;
270 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_initialization
].val
; /* @opt_no_check_initialization on <self:ToolContext> */
272 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_check_initialization");
273 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 45);
280 /* method abstract_compiler#ToolContext#opt_no_check_initialization for (self: Object): OptionBool */
281 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_initialization(val
* self
) {
282 val
* var
/* : OptionBool */;
283 val
* var1
/* : OptionBool */;
284 var1
= abstract_compiler__ToolContext__opt_no_check_initialization(self
);
289 /* method abstract_compiler#ToolContext#opt_no_check_initialization= for (self: ToolContext, OptionBool) */
290 void abstract_compiler__ToolContext__opt_no_check_initialization_61d(val
* self
, val
* p0
) {
291 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_initialization
].val
= p0
; /* @opt_no_check_initialization on <self:ToolContext> */
294 /* method abstract_compiler#ToolContext#opt_no_check_initialization= for (self: Object, OptionBool) */
295 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_initialization_61d(val
* self
, val
* p0
) {
296 abstract_compiler__ToolContext__opt_no_check_initialization_61d(self
, p0
);
299 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: ToolContext): OptionBool */
300 val
* abstract_compiler__ToolContext__opt_no_check_assert(val
* self
) {
301 val
* var
/* : OptionBool */;
302 val
* var1
/* : OptionBool */;
303 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_assert
].val
; /* @opt_no_check_assert on <self:ToolContext> */
305 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_check_assert");
306 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 47);
313 /* method abstract_compiler#ToolContext#opt_no_check_assert for (self: Object): OptionBool */
314 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_assert(val
* self
) {
315 val
* var
/* : OptionBool */;
316 val
* var1
/* : OptionBool */;
317 var1
= abstract_compiler__ToolContext__opt_no_check_assert(self
);
322 /* method abstract_compiler#ToolContext#opt_no_check_assert= for (self: ToolContext, OptionBool) */
323 void abstract_compiler__ToolContext__opt_no_check_assert_61d(val
* self
, val
* p0
) {
324 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_assert
].val
= p0
; /* @opt_no_check_assert on <self:ToolContext> */
327 /* method abstract_compiler#ToolContext#opt_no_check_assert= for (self: Object, OptionBool) */
328 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_assert_61d(val
* self
, val
* p0
) {
329 abstract_compiler__ToolContext__opt_no_check_assert_61d(self
, p0
);
332 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: ToolContext): OptionBool */
333 val
* abstract_compiler__ToolContext__opt_no_check_autocast(val
* self
) {
334 val
* var
/* : OptionBool */;
335 val
* var1
/* : OptionBool */;
336 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_autocast
].val
; /* @opt_no_check_autocast on <self:ToolContext> */
338 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_check_autocast");
339 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 49);
346 /* method abstract_compiler#ToolContext#opt_no_check_autocast for (self: Object): OptionBool */
347 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_autocast(val
* self
) {
348 val
* var
/* : OptionBool */;
349 val
* var1
/* : OptionBool */;
350 var1
= abstract_compiler__ToolContext__opt_no_check_autocast(self
);
355 /* method abstract_compiler#ToolContext#opt_no_check_autocast= for (self: ToolContext, OptionBool) */
356 void abstract_compiler__ToolContext__opt_no_check_autocast_61d(val
* self
, val
* p0
) {
357 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_autocast
].val
= p0
; /* @opt_no_check_autocast on <self:ToolContext> */
360 /* method abstract_compiler#ToolContext#opt_no_check_autocast= for (self: Object, OptionBool) */
361 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_autocast_61d(val
* self
, val
* p0
) {
362 abstract_compiler__ToolContext__opt_no_check_autocast_61d(self
, p0
);
365 /* method abstract_compiler#ToolContext#opt_no_check_other for (self: ToolContext): OptionBool */
366 val
* abstract_compiler__ToolContext__opt_no_check_other(val
* self
) {
367 val
* var
/* : OptionBool */;
368 val
* var1
/* : OptionBool */;
369 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_other
].val
; /* @opt_no_check_other on <self:ToolContext> */
371 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_check_other");
372 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 51);
379 /* method abstract_compiler#ToolContext#opt_no_check_other for (self: Object): OptionBool */
380 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_check_other(val
* self
) {
381 val
* var
/* : OptionBool */;
382 val
* var1
/* : OptionBool */;
383 var1
= abstract_compiler__ToolContext__opt_no_check_other(self
);
388 /* method abstract_compiler#ToolContext#opt_no_check_other= for (self: ToolContext, OptionBool) */
389 void abstract_compiler__ToolContext__opt_no_check_other_61d(val
* self
, val
* p0
) {
390 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_check_other
].val
= p0
; /* @opt_no_check_other on <self:ToolContext> */
393 /* method abstract_compiler#ToolContext#opt_no_check_other= for (self: Object, OptionBool) */
394 void VIRTUAL_abstract_compiler__ToolContext__opt_no_check_other_61d(val
* self
, val
* p0
) {
395 abstract_compiler__ToolContext__opt_no_check_other_61d(self
, p0
);
398 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: ToolContext): OptionBool */
399 val
* abstract_compiler__ToolContext__opt_typing_test_metrics(val
* self
) {
400 val
* var
/* : OptionBool */;
401 val
* var1
/* : OptionBool */;
402 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_typing_test_metrics
].val
; /* @opt_typing_test_metrics on <self:ToolContext> */
404 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_typing_test_metrics");
405 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 53);
412 /* method abstract_compiler#ToolContext#opt_typing_test_metrics for (self: Object): OptionBool */
413 val
* VIRTUAL_abstract_compiler__ToolContext__opt_typing_test_metrics(val
* self
) {
414 val
* var
/* : OptionBool */;
415 val
* var1
/* : OptionBool */;
416 var1
= abstract_compiler__ToolContext__opt_typing_test_metrics(self
);
421 /* method abstract_compiler#ToolContext#opt_typing_test_metrics= for (self: ToolContext, OptionBool) */
422 void abstract_compiler__ToolContext__opt_typing_test_metrics_61d(val
* self
, val
* p0
) {
423 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_typing_test_metrics
].val
= p0
; /* @opt_typing_test_metrics on <self:ToolContext> */
426 /* method abstract_compiler#ToolContext#opt_typing_test_metrics= for (self: Object, OptionBool) */
427 void VIRTUAL_abstract_compiler__ToolContext__opt_typing_test_metrics_61d(val
* self
, val
* p0
) {
428 abstract_compiler__ToolContext__opt_typing_test_metrics_61d(self
, p0
);
431 /* method abstract_compiler#ToolContext#opt_no_stacktrace for (self: ToolContext): OptionBool */
432 val
* abstract_compiler__ToolContext__opt_no_stacktrace(val
* self
) {
433 val
* var
/* : OptionBool */;
434 val
* var1
/* : OptionBool */;
435 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_stacktrace
].val
; /* @opt_no_stacktrace on <self:ToolContext> */
437 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_no_stacktrace");
438 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 55);
445 /* method abstract_compiler#ToolContext#opt_no_stacktrace for (self: Object): OptionBool */
446 val
* VIRTUAL_abstract_compiler__ToolContext__opt_no_stacktrace(val
* self
) {
447 val
* var
/* : OptionBool */;
448 val
* var1
/* : OptionBool */;
449 var1
= abstract_compiler__ToolContext__opt_no_stacktrace(self
);
454 /* method abstract_compiler#ToolContext#opt_no_stacktrace= for (self: ToolContext, OptionBool) */
455 void abstract_compiler__ToolContext__opt_no_stacktrace_61d(val
* self
, val
* p0
) {
456 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_no_stacktrace
].val
= p0
; /* @opt_no_stacktrace on <self:ToolContext> */
459 /* method abstract_compiler#ToolContext#opt_no_stacktrace= for (self: Object, OptionBool) */
460 void VIRTUAL_abstract_compiler__ToolContext__opt_no_stacktrace_61d(val
* self
, val
* p0
) {
461 abstract_compiler__ToolContext__opt_no_stacktrace_61d(self
, p0
);
464 /* method abstract_compiler#ToolContext#opt_stacktrace for (self: ToolContext): OptionBool */
465 val
* abstract_compiler__ToolContext__opt_stacktrace(val
* self
) {
466 val
* var
/* : OptionBool */;
467 val
* var1
/* : OptionBool */;
468 var1
= self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_stacktrace
].val
; /* @opt_stacktrace on <self:ToolContext> */
470 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @opt_stacktrace");
471 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 57);
478 /* method abstract_compiler#ToolContext#opt_stacktrace for (self: Object): OptionBool */
479 val
* VIRTUAL_abstract_compiler__ToolContext__opt_stacktrace(val
* self
) {
480 val
* var
/* : OptionBool */;
481 val
* var1
/* : OptionBool */;
482 var1
= abstract_compiler__ToolContext__opt_stacktrace(self
);
487 /* method abstract_compiler#ToolContext#opt_stacktrace= for (self: ToolContext, OptionBool) */
488 void abstract_compiler__ToolContext__opt_stacktrace_61d(val
* self
, val
* p0
) {
489 self
->attrs
[COLOR_abstract_compiler__ToolContext___64dopt_stacktrace
].val
= p0
; /* @opt_stacktrace on <self:ToolContext> */
492 /* method abstract_compiler#ToolContext#opt_stacktrace= for (self: Object, OptionBool) */
493 void VIRTUAL_abstract_compiler__ToolContext__opt_stacktrace_61d(val
* self
, val
* p0
) {
494 abstract_compiler__ToolContext__opt_stacktrace_61d(self
, p0
);
497 /* method abstract_compiler#ToolContext#init for (self: ToolContext) */
498 void abstract_compiler__ToolContext__init(val
* self
) {
499 val
* var
/* : OptionContext */;
500 val
* var1
/* : OptionString */;
501 val
* var2
/* : OptionBool */;
502 val
* var3
/* : OptionString */;
503 val
* var4
/* : OptionString */;
504 val
* var5
/* : OptionBool */;
505 val
* var6
/* : OptionBool */;
506 val
* var7
/* : Array[Option] */;
507 long var8
/* : Int */;
508 val
* var9
/* : NativeArray[Option] */;
509 val
* var10
/* : OptionContext */;
510 val
* var11
/* : OptionBool */;
511 val
* var12
/* : OptionBool */;
512 val
* var13
/* : OptionBool */;
513 val
* var14
/* : OptionBool */;
514 val
* var15
/* : OptionBool */;
515 val
* var16
/* : Array[Option] */;
516 long var17
/* : Int */;
517 val
* var18
/* : NativeArray[Option] */;
518 val
* var19
/* : OptionContext */;
519 val
* var20
/* : OptionBool */;
520 val
* var21
/* : Array[Option] */;
521 long var22
/* : Int */;
522 val
* var23
/* : NativeArray[Option] */;
523 val
* var24
/* : OptionContext */;
524 val
* var25
/* : OptionBool */;
525 val
* var26
/* : Array[Option] */;
526 long var27
/* : Int */;
527 val
* var28
/* : NativeArray[Option] */;
528 val
* var29
/* : OptionContext */;
529 val
* var30
/* : OptionBool */;
530 val
* var31
/* : Array[Option] */;
531 long var32
/* : Int */;
532 val
* var33
/* : NativeArray[Option] */;
533 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__init
]))(self
) /* init on <self:ToolContext>*/;
534 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
535 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(self
) /* opt_output on <self:ToolContext>*/;
536 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(self
) /* opt_no_cc on <self:ToolContext>*/;
537 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(self
) /* opt_make_flags on <self:ToolContext>*/;
538 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(self
) /* opt_compile_dir on <self:ToolContext>*/;
539 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(self
) /* opt_hardening on <self:ToolContext>*/;
540 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_shortcut_range
]))(self
) /* opt_no_shortcut_range on <self:ToolContext>*/;
541 var7
= NEW_array__Array(&type_array__Arrayopts__Option
);
542 { /* var7 = array_instance Array[Option] */
544 var9
= NEW_array__NativeArray(var8
, &type_array__NativeArrayopts__Option
);
545 ((struct instance_array__NativeArray
*)var9
)->values
[0] = (val
*) var1
;
546 ((struct instance_array__NativeArray
*)var9
)->values
[1] = (val
*) var2
;
547 ((struct instance_array__NativeArray
*)var9
)->values
[2] = (val
*) var3
;
548 ((struct instance_array__NativeArray
*)var9
)->values
[3] = (val
*) var4
;
549 ((struct instance_array__NativeArray
*)var9
)->values
[4] = (val
*) var5
;
550 ((struct instance_array__NativeArray
*)var9
)->values
[5] = (val
*) var6
;
551 ((void (*)(val
*, val
*, long))(var7
->class->vft
[COLOR_array__Array__with_native
]))(var7
, var9
, var8
) /* with_native on <var7:Array[Option]>*/;
553 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var
, var7
) /* add_option on <var:OptionContext>*/;
554 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
555 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_covariance
]))(self
) /* opt_no_check_covariance on <self:ToolContext>*/;
556 var12
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_initialization
]))(self
) /* opt_no_check_initialization on <self:ToolContext>*/;
557 var13
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_assert
]))(self
) /* opt_no_check_assert on <self:ToolContext>*/;
558 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_autocast
]))(self
) /* opt_no_check_autocast on <self:ToolContext>*/;
559 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(self
) /* opt_no_check_other on <self:ToolContext>*/;
560 var16
= NEW_array__Array(&type_array__Arrayopts__Option
);
561 { /* var16 = array_instance Array[Option] */
563 var18
= NEW_array__NativeArray(var17
, &type_array__NativeArrayopts__Option
);
564 ((struct instance_array__NativeArray
*)var18
)->values
[0] = (val
*) var11
;
565 ((struct instance_array__NativeArray
*)var18
)->values
[1] = (val
*) var12
;
566 ((struct instance_array__NativeArray
*)var18
)->values
[2] = (val
*) var13
;
567 ((struct instance_array__NativeArray
*)var18
)->values
[3] = (val
*) var14
;
568 ((struct instance_array__NativeArray
*)var18
)->values
[4] = (val
*) var15
;
569 ((void (*)(val
*, val
*, long))(var16
->class->vft
[COLOR_array__Array__with_native
]))(var16
, var18
, var17
) /* with_native on <var16:Array[Option]>*/;
571 ((void (*)(val
*, val
*))(var10
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var10
, var16
) /* add_option on <var10:OptionContext>*/;
572 var19
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
573 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(self
) /* opt_typing_test_metrics on <self:ToolContext>*/;
574 var21
= NEW_array__Array(&type_array__Arrayopts__Option
);
575 { /* var21 = array_instance Array[Option] */
577 var23
= NEW_array__NativeArray(var22
, &type_array__NativeArrayopts__Option
);
578 ((struct instance_array__NativeArray
*)var23
)->values
[0] = (val
*) var20
;
579 ((void (*)(val
*, val
*, long))(var21
->class->vft
[COLOR_array__Array__with_native
]))(var21
, var23
, var22
) /* with_native on <var21:Array[Option]>*/;
581 ((void (*)(val
*, val
*))(var19
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var19
, var21
) /* add_option on <var19:OptionContext>*/;
582 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
583 var25
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(self
) /* opt_stacktrace on <self:ToolContext>*/;
584 var26
= NEW_array__Array(&type_array__Arrayopts__Option
);
585 { /* var26 = array_instance Array[Option] */
587 var28
= NEW_array__NativeArray(var27
, &type_array__NativeArrayopts__Option
);
588 ((struct instance_array__NativeArray
*)var28
)->values
[0] = (val
*) var25
;
589 ((void (*)(val
*, val
*, long))(var26
->class->vft
[COLOR_array__Array__with_native
]))(var26
, var28
, var27
) /* with_native on <var26:Array[Option]>*/;
591 ((void (*)(val
*, val
*))(var24
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var24
, var26
) /* add_option on <var24:OptionContext>*/;
592 var29
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_toolcontext__ToolContext__option_context
]))(self
) /* option_context on <self:ToolContext>*/;
593 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(self
) /* opt_no_stacktrace on <self:ToolContext>*/;
594 var31
= NEW_array__Array(&type_array__Arrayopts__Option
);
595 { /* var31 = array_instance Array[Option] */
597 var33
= NEW_array__NativeArray(var32
, &type_array__NativeArrayopts__Option
);
598 ((struct instance_array__NativeArray
*)var33
)->values
[0] = (val
*) var30
;
599 ((void (*)(val
*, val
*, long))(var31
->class->vft
[COLOR_array__Array__with_native
]))(var31
, var33
, var32
) /* with_native on <var31:Array[Option]>*/;
601 ((void (*)(val
*, val
*))(var29
->class->vft
[COLOR_opts__OptionContext__add_option
]))(var29
, var31
) /* add_option on <var29:OptionContext>*/;
604 /* method abstract_compiler#ToolContext#init for (self: Object) */
605 void VIRTUAL_abstract_compiler__ToolContext__init(val
* self
) {
606 abstract_compiler__ToolContext__init(self
);
609 /* method abstract_compiler#ModelBuilder#init for (self: ModelBuilder, Model, ToolContext) */
610 void abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
611 val
* var_model
/* var model: Model */;
612 val
* var_toolcontext
/* var toolcontext: ToolContext */;
613 short int var
/* : Bool */;
614 val
* var1
/* : OptionBool */;
615 val
* var2
/* : nullable Object */;
616 short int var3
/* : Bool */;
617 short int var_
/* var : Bool */;
618 val
* var4
/* : OptionBool */;
619 val
* var5
/* : nullable Object */;
620 short int var6
/* : Bool */;
622 val
* var7
/* : String */;
623 char* var8
/* : NativeString */;
624 long var9
/* : Int */;
625 val
* var10
/* : String */;
626 long var11
/* : Int */;
628 var_toolcontext
= p1
;
629 var1
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var_toolcontext
) /* opt_no_stacktrace on <var_toolcontext:ToolContext>*/;
630 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_opts__Option__value
]))(var1
) /* value on <var1:OptionBool>*/;
631 var3
= ((struct instance_kernel__Bool
*)var2
)->value
; /* autounbox from nullable Object to Bool */;
634 var4
= ((val
* (*)(val
*))(var_toolcontext
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var_toolcontext
) /* opt_stacktrace on <var_toolcontext:ToolContext>*/;
635 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_opts__Option__value
]))(var4
) /* value on <var4:OptionBool>*/;
636 var6
= ((struct instance_kernel__Bool
*)var5
)->value
; /* autounbox from nullable Object to Bool */;
645 var8
= "Cannot use --nit-stacktrace when --no-stacktrace is activated";
647 var10
= string__NativeString__to_s_with_length(var8
, var9
);
651 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var7
) /* print on <self:ModelBuilder>*/;
653 ((void (*)(val
*, long))(self
->class->vft
[COLOR_kernel__Object__exit
]))(self
, var11
) /* exit on <self:ModelBuilder>*/;
656 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__init
]))(self
, p0
, p1
) /* init on <self:ModelBuilder>*/;
659 /* method abstract_compiler#ModelBuilder#init for (self: Object, Model, ToolContext) */
660 void VIRTUAL_abstract_compiler__ModelBuilder__init(val
* self
, val
* p0
, val
* p1
) {
661 abstract_compiler__ModelBuilder__init(self
, p0
, p1
);
664 /* method abstract_compiler#ModelBuilder#compile_dir for (self: ModelBuilder): String */
665 val
* abstract_compiler__ModelBuilder__compile_dir(val
* self
) {
666 val
* var
/* : String */;
667 val
* var1
/* : String */;
668 var1
= self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcompile_dir
].val
; /* @compile_dir on <self:ModelBuilder> */
670 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @compile_dir");
671 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 82);
678 /* method abstract_compiler#ModelBuilder#compile_dir for (self: Object): String */
679 val
* VIRTUAL_abstract_compiler__ModelBuilder__compile_dir(val
* self
) {
680 val
* var
/* : String */;
681 val
* var1
/* : String */;
682 var1
= abstract_compiler__ModelBuilder__compile_dir(self
);
687 /* method abstract_compiler#ModelBuilder#compile_dir= for (self: ModelBuilder, String) */
688 void abstract_compiler__ModelBuilder__compile_dir_61d(val
* self
, val
* p0
) {
689 self
->attrs
[COLOR_abstract_compiler__ModelBuilder___64dcompile_dir
].val
= p0
; /* @compile_dir on <self:ModelBuilder> */
692 /* method abstract_compiler#ModelBuilder#compile_dir= for (self: Object, String) */
693 void VIRTUAL_abstract_compiler__ModelBuilder__compile_dir_61d(val
* self
, val
* p0
) {
694 abstract_compiler__ModelBuilder__compile_dir_61d(self
, p0
);
697 /* method abstract_compiler#ModelBuilder#write_and_make for (self: ModelBuilder, AbstractCompiler) */
698 void abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
699 val
* var_compiler
/* var compiler: AbstractCompiler */;
700 val
* var
/* : MModule */;
701 val
* var1
/* : nullable Platform */;
702 val
* var_platform
/* var platform: nullable Platform */;
703 val
* var2
/* : null */;
704 short int var3
/* : Bool */;
705 val
* var4
/* : MakefileToolchain */;
706 val
* var5
/* : ToolContext */;
707 val
* var_toolchain
/* var toolchain: nullable Object */;
708 val
* var6
/* : ToolContext */;
709 val
* var7
/* : Toolchain */;
710 val
* var8
/* : String */;
712 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
713 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_platform__MModule__target_platform
]))(var
) /* target_platform on <var:MModule>*/;
716 if (var_platform
== NULL
) {
717 var3
= 1; /* is null */
719 var3
= 0; /* arg is null but recv is not */
722 var4
= NEW_abstract_compiler__MakefileToolchain(&type_abstract_compiler__MakefileToolchain
);
723 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
724 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_abstract_compiler__Toolchain__init
]))(var4
, var5
) /* init on <var4:MakefileToolchain>*/;
725 var_toolchain
= var4
;
727 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(self
) /* toolcontext on <self:ModelBuilder>*/;
728 var7
= ((val
* (*)(val
*, val
*))(var_platform
->class->vft
[COLOR_abstract_compiler__Platform__toolchain
]))(var_platform
, var6
) /* toolchain on <var_platform:nullable Platform(Platform)>*/;
729 var_toolchain
= var7
;
731 var8
= ((val
* (*)(val
*))(var_toolchain
->class->vft
[COLOR_abstract_compiler__Toolchain__compile_dir
]))(var_toolchain
) /* compile_dir on <var_toolchain:nullable Object(Toolchain)>*/;
732 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__ModelBuilder__compile_dir_61d
]))(self
, var8
) /* compile_dir= on <self:ModelBuilder>*/;
733 ((void (*)(val
*, val
*))(var_toolchain
->class->vft
[COLOR_abstract_compiler__Toolchain__write_and_make
]))(var_toolchain
, var_compiler
) /* write_and_make on <var_toolchain:nullable Object(Toolchain)>*/;
736 /* method abstract_compiler#ModelBuilder#write_and_make for (self: Object, AbstractCompiler) */
737 void VIRTUAL_abstract_compiler__ModelBuilder__write_and_make(val
* self
, val
* p0
) {
738 abstract_compiler__ModelBuilder__write_and_make(self
, p0
);
741 /* method abstract_compiler#Platform#toolchain for (self: Platform, ToolContext): Toolchain */
742 val
* abstract_compiler__Platform__toolchain(val
* self
, val
* p0
) {
743 val
* var
/* : Toolchain */;
744 const char* var_class_name
;
745 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
746 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "toolchain", var_class_name
);
747 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 101);
752 /* method abstract_compiler#Platform#toolchain for (self: Object, ToolContext): Toolchain */
753 val
* VIRTUAL_abstract_compiler__Platform__toolchain(val
* self
, val
* p0
) {
754 val
* var
/* : Toolchain */;
755 val
* var1
/* : Toolchain */;
756 var1
= abstract_compiler__Platform__toolchain(self
, p0
);
761 /* method abstract_compiler#Toolchain#toolcontext for (self: Toolchain): ToolContext */
762 val
* abstract_compiler__Toolchain__toolcontext(val
* self
) {
763 val
* var
/* : ToolContext */;
764 val
* var1
/* : ToolContext */;
765 var1
= self
->attrs
[COLOR_abstract_compiler__Toolchain___64dtoolcontext
].val
; /* @toolcontext on <self:Toolchain> */
767 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @toolcontext");
768 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 105);
775 /* method abstract_compiler#Toolchain#toolcontext for (self: Object): ToolContext */
776 val
* VIRTUAL_abstract_compiler__Toolchain__toolcontext(val
* self
) {
777 val
* var
/* : ToolContext */;
778 val
* var1
/* : ToolContext */;
779 var1
= abstract_compiler__Toolchain__toolcontext(self
);
784 /* method abstract_compiler#Toolchain#toolcontext= for (self: Toolchain, ToolContext) */
785 void abstract_compiler__Toolchain__toolcontext_61d(val
* self
, val
* p0
) {
786 self
->attrs
[COLOR_abstract_compiler__Toolchain___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:Toolchain> */
789 /* method abstract_compiler#Toolchain#toolcontext= for (self: Object, ToolContext) */
790 void VIRTUAL_abstract_compiler__Toolchain__toolcontext_61d(val
* self
, val
* p0
) {
791 abstract_compiler__Toolchain__toolcontext_61d(self
, p0
);
794 /* method abstract_compiler#Toolchain#compile_dir for (self: Toolchain): String */
795 val
* abstract_compiler__Toolchain__compile_dir(val
* self
) {
796 val
* var
/* : String */;
797 val
* var1
/* : ToolContext */;
798 val
* var2
/* : OptionString */;
799 val
* var3
/* : nullable Object */;
800 val
* var_compile_dir
/* var compile_dir: nullable String */;
801 val
* var4
/* : null */;
802 short int var5
/* : Bool */;
804 val
* var6
/* : String */;
805 char* var7
/* : NativeString */;
806 long var8
/* : Int */;
807 val
* var9
/* : String */;
808 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:Toolchain>*/;
809 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_compile_dir
]))(var1
) /* opt_compile_dir on <var1:ToolContext>*/;
810 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionString>*/;
811 var_compile_dir
= var3
;
813 if (var_compile_dir
== NULL
) {
814 var5
= 1; /* is null */
816 var5
= 0; /* arg is null but recv is not */
822 var7
= ".nit_compile";
824 var9
= string__NativeString__to_s_with_length(var7
, var8
);
828 var_compile_dir
= var6
;
831 var
= var_compile_dir
;
836 /* method abstract_compiler#Toolchain#compile_dir for (self: Object): String */
837 val
* VIRTUAL_abstract_compiler__Toolchain__compile_dir(val
* self
) {
838 val
* var
/* : String */;
839 val
* var1
/* : String */;
840 var1
= abstract_compiler__Toolchain__compile_dir(self
);
845 /* method abstract_compiler#Toolchain#write_and_make for (self: Toolchain, AbstractCompiler) */
846 void abstract_compiler__Toolchain__write_and_make(val
* self
, val
* p0
) {
847 const char* var_class_name
;
848 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
849 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "write_and_make", var_class_name
);
850 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 114);
854 /* method abstract_compiler#Toolchain#write_and_make for (self: Object, AbstractCompiler) */
855 void VIRTUAL_abstract_compiler__Toolchain__write_and_make(val
* self
, val
* p0
) {
856 abstract_compiler__Toolchain__write_and_make(self
, p0
);
859 /* method abstract_compiler#Toolchain#init for (self: Toolchain, ToolContext) */
860 void abstract_compiler__Toolchain__init(val
* self
, val
* p0
) {
861 self
->attrs
[COLOR_abstract_compiler__Toolchain___64dtoolcontext
].val
= p0
; /* @toolcontext on <self:Toolchain> */
864 /* method abstract_compiler#Toolchain#init for (self: Object, ToolContext) */
865 void VIRTUAL_abstract_compiler__Toolchain__init(val
* self
, val
* p0
) {
866 abstract_compiler__Toolchain__init(self
, p0
);
869 /* method abstract_compiler#MakefileToolchain#cc_paths for (self: MakefileToolchain): Array[String] */
870 val
* abstract_compiler__MakefileToolchain__cc_paths(val
* self
) {
871 val
* var
/* : Array[String] */;
872 val
* var1
/* : Array[String] */;
873 var1
= self
->attrs
[COLOR_abstract_compiler__MakefileToolchain___64dcc_paths
].val
; /* @cc_paths on <self:MakefileToolchain> */
875 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @cc_paths");
876 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 119);
883 /* method abstract_compiler#MakefileToolchain#cc_paths for (self: Object): Array[String] */
884 val
* VIRTUAL_abstract_compiler__MakefileToolchain__cc_paths(val
* self
) {
885 val
* var
/* : Array[String] */;
886 val
* var1
/* : Array[String] */;
887 var1
= abstract_compiler__MakefileToolchain__cc_paths(self
);
892 /* method abstract_compiler#MakefileToolchain#cc_paths= for (self: MakefileToolchain, Array[String]) */
893 void abstract_compiler__MakefileToolchain__cc_paths_61d(val
* self
, val
* p0
) {
894 self
->attrs
[COLOR_abstract_compiler__MakefileToolchain___64dcc_paths
].val
= p0
; /* @cc_paths on <self:MakefileToolchain> */
897 /* method abstract_compiler#MakefileToolchain#cc_paths= for (self: Object, Array[String]) */
898 void VIRTUAL_abstract_compiler__MakefileToolchain__cc_paths_61d(val
* self
, val
* p0
) {
899 abstract_compiler__MakefileToolchain__cc_paths_61d(self
, p0
);
902 /* method abstract_compiler#MakefileToolchain#gather_cc_paths for (self: MakefileToolchain) */
903 void abstract_compiler__MakefileToolchain__gather_cc_paths(val
* self
) {
905 val
* var
/* : String */;
906 char* var1
/* : NativeString */;
907 long var2
/* : Int */;
908 val
* var3
/* : String */;
909 val
* var4
/* : String */;
910 val
* var_path_env
/* var path_env: String */;
911 short int var5
/* : Bool */;
912 short int var6
/* : Bool */;
913 val
* var7
/* : Array[Object] */;
914 long var8
/* : Int */;
915 val
* var_
/* var : Array[Object] */;
916 static val
* varonce9
;
917 val
* var10
/* : String */;
918 char* var11
/* : NativeString */;
919 long var12
/* : Int */;
920 val
* var13
/* : String */;
921 static val
* varonce14
;
922 val
* var15
/* : String */;
923 char* var16
/* : NativeString */;
924 long var17
/* : Int */;
925 val
* var18
/* : String */;
926 val
* var19
/* : String */;
927 val
* var_libname
/* var libname: String */;
928 short int var20
/* : Bool */;
929 val
* var21
/* : Array[String] */;
930 val
* var22
/* : Array[Object] */;
931 long var23
/* : Int */;
932 val
* var_24
/* var : Array[Object] */;
933 static val
* varonce25
;
934 val
* var26
/* : String */;
935 char* var27
/* : NativeString */;
936 long var28
/* : Int */;
937 val
* var29
/* : String */;
938 val
* var30
/* : Sys */;
939 val
* var31
/* : String */;
940 val
* var32
/* : String */;
941 static val
* varonce33
;
942 val
* var34
/* : String */;
943 char* var35
/* : NativeString */;
944 long var36
/* : Int */;
945 val
* var37
/* : String */;
946 val
* var38
/* : String */;
947 val
* var_libname39
/* var libname: String */;
948 short int var40
/* : Bool */;
949 val
* var41
/* : Array[String] */;
950 val
* var42
/* : String */;
951 val
* var43
/* : Array[String] */;
952 short int var44
/* : Bool */;
953 val
* var45
/* : ToolContext */;
954 val
* var46
/* : null */;
955 static val
* varonce47
;
956 val
* var48
/* : String */;
957 char* var49
/* : NativeString */;
958 long var50
/* : Int */;
959 val
* var51
/* : String */;
960 val
* var52
/* : Array[String] */;
961 val
* var53
/* : ToolContext */;
962 val
* var54
/* : OptionArray */;
963 val
* var55
/* : nullable Object */;
964 static val
* varonce56
;
965 val
* var57
/* : String */;
966 char* var58
/* : NativeString */;
967 long var59
/* : Int */;
968 val
* var60
/* : String */;
969 val
* var61
/* : String */;
970 short int var62
/* : Bool */;
971 short int var63
/* : Bool */;
972 val
* var64
/* : Array[String] */;
973 char var65
/* : Char */;
974 val
* var66
/* : Array[String] */;
975 val
* var67
/* : Pattern */;
981 var3
= string__NativeString__to_s_with_length(var1
, var2
);
985 var4
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_environ__String__environ
]))(var
) /* environ on <var:String>*/;
987 var5
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
990 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
992 ((void (*)(val
*, long))(var7
->class->vft
[COLOR_array__Array__with_capacity
]))(var7
, var8
) /* with_capacity on <var7:Array[Object]>*/;
999 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1003 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
1004 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_path_env
) /* add on <var_:Array[Object]>*/;
1010 var18
= string__NativeString__to_s_with_length(var16
, var17
);
1014 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var15
) /* add on <var_:Array[Object]>*/;
1015 var19
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
1016 var_libname
= var19
;
1017 var20
= ((short int (*)(val
*))(var_libname
->class->vft
[COLOR_file__String__file_exists
]))(var_libname
) /* file_exists on <var_libname:String>*/;
1019 var21
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1020 ((void (*)(val
*, val
*))(var21
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var21
, var_libname
) /* add on <var21:Array[String]>*/;
1025 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
1027 ((void (*)(val
*, long))(var22
->class->vft
[COLOR_array__Array__with_capacity
]))(var22
, var23
) /* with_capacity on <var22:Array[Object]>*/;
1034 var29
= string__NativeString__to_s_with_length(var27
, var28
);
1038 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var26
) /* add on <var_24:Array[Object]>*/;
1039 var30
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:MakefileToolchain>*/;
1040 var31
= ((val
* (*)(val
*))(var30
->class->vft
[COLOR_string__Sys__program_name
]))(var30
) /* program_name on <var30:Sys>*/;
1041 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_file__String__dirname
]))(var31
) /* dirname on <var31:String>*/;
1042 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var32
) /* add on <var_24:Array[Object]>*/;
1048 var37
= string__NativeString__to_s_with_length(var35
, var36
);
1052 ((void (*)(val
*, val
*))(var_24
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_24
, var34
) /* add on <var_24:Array[Object]>*/;
1053 var38
= ((val
* (*)(val
*))(var_24
->class->vft
[COLOR_string__Object__to_s
]))(var_24
) /* to_s on <var_24:Array[Object]>*/;
1054 var_libname39
= var38
;
1055 var40
= ((short int (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__file_exists
]))(var_libname39
) /* file_exists on <var_libname39:String>*/;
1057 var41
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1058 var42
= ((val
* (*)(val
*))(var_libname39
->class->vft
[COLOR_file__String__simplify_path
]))(var_libname39
) /* simplify_path on <var_libname39:String>*/;
1059 ((void (*)(val
*, val
*))(var41
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var41
, var42
) /* add on <var41:Array[String]>*/;
1062 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1063 var44
= ((short int (*)(val
*))(var43
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var43
) /* is_empty on <var43:Array[String]>*/;
1065 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1070 var49
= "Cannot determine the nit clib path. define envvar NIT_DIR.";
1072 var51
= string__NativeString__to_s_with_length(var49
, var50
);
1076 ((void (*)(val
*, val
*, val
*))(var45
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var45
, var46
, var48
) /* error on <var45:ToolContext>*/;
1079 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1080 var53
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1081 var54
= ((val
* (*)(val
*))(var53
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_cc_path
]))(var53
) /* opt_cc_path on <var53:ToolContext>*/;
1082 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_opts__Option__value
]))(var54
) /* value on <var54:OptionArray>*/;
1083 ((void (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var52
, var55
) /* append on <var52:Array[String]>*/;
1087 var58
= "NIT_CC_PATH";
1089 var60
= string__NativeString__to_s_with_length(var58
, var59
);
1093 var61
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_environ__String__environ
]))(var57
) /* environ on <var57:String>*/;
1094 var_path_env
= var61
;
1095 var62
= ((short int (*)(val
*))(var_path_env
->class->vft
[COLOR_abstract_collection__Collection__is_empty
]))(var_path_env
) /* is_empty on <var_path_env:String>*/;
1098 var64
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1100 var67
= BOX_kernel__Char(var65
); /* autobox from Char to Pattern */
1101 var66
= ((val
* (*)(val
*, val
*))(var_path_env
->class->vft
[COLOR_string_search__String__split_with
]))(var_path_env
, var67
) /* split_with on <var_path_env:String>*/;
1102 ((void (*)(val
*, val
*))(var64
->class->vft
[COLOR_abstract_collection__Sequence__append
]))(var64
, var66
) /* append on <var64:Array[String]>*/;
1107 /* method abstract_compiler#MakefileToolchain#gather_cc_paths for (self: Object) */
1108 void VIRTUAL_abstract_compiler__MakefileToolchain__gather_cc_paths(val
* self
) {
1109 abstract_compiler__MakefileToolchain__gather_cc_paths(self
);
1112 /* method abstract_compiler#MakefileToolchain#write_and_make for (self: MakefileToolchain, AbstractCompiler) */
1113 void abstract_compiler__MakefileToolchain__write_and_make(val
* self
, val
* p0
) {
1114 val
* var_compiler
/* var compiler: AbstractCompiler */;
1115 val
* var
/* : MModule */;
1116 val
* var_mainmodule
/* var mainmodule: MModule */;
1117 val
* var1
/* : String */;
1118 val
* var_compile_dir
/* var compile_dir: String */;
1119 long var2
/* : Int */;
1120 long var_time0
/* var time0: Int */;
1121 val
* var3
/* : ToolContext */;
1122 static val
* varonce
;
1123 val
* var4
/* : String */;
1124 char* var5
/* : NativeString */;
1125 long var6
/* : Int */;
1126 val
* var7
/* : String */;
1127 long var8
/* : Int */;
1128 val
* var9
/* : Array[String] */;
1129 val
* var_cfiles
/* var cfiles: Array[String] */;
1130 long var10
/* : Int */;
1131 long var_time1
/* var time1: Int */;
1132 val
* var11
/* : ToolContext */;
1133 static val
* varonce12
;
1134 val
* var13
/* : String */;
1135 char* var14
/* : NativeString */;
1136 long var15
/* : Int */;
1137 val
* var16
/* : String */;
1138 long var17
/* : Int */;
1139 long var19
/* : Int */;
1140 static val
* varonce20
;
1141 val
* var21
/* : String */;
1142 char* var22
/* : NativeString */;
1143 long var23
/* : Int */;
1144 val
* var24
/* : String */;
1145 val
* var25
/* : Array[Object] */;
1146 long var26
/* : Int */;
1147 val
* var27
/* : NativeArray[Object] */;
1148 val
* var28
/* : Object */;
1149 val
* var29
/* : String */;
1150 long var30
/* : Int */;
1151 val
* var31
/* : ToolContext */;
1152 val
* var32
/* : OptionBool */;
1153 val
* var33
/* : nullable Object */;
1154 short int var34
/* : Bool */;
1155 val
* var35
/* : ToolContext */;
1156 static val
* varonce36
;
1157 val
* var37
/* : String */;
1158 char* var38
/* : NativeString */;
1159 long var39
/* : Int */;
1160 val
* var40
/* : String */;
1161 long var41
/* : Int */;
1162 long var42
/* : Int */;
1163 val
* var43
/* : ToolContext */;
1164 static val
* varonce44
;
1165 val
* var45
/* : String */;
1166 char* var46
/* : NativeString */;
1167 long var47
/* : Int */;
1168 val
* var48
/* : String */;
1169 long var49
/* : Int */;
1170 long var51
/* : Int */;
1171 static val
* varonce52
;
1172 val
* var53
/* : String */;
1173 char* var54
/* : NativeString */;
1174 long var55
/* : Int */;
1175 val
* var56
/* : String */;
1176 val
* var57
/* : Array[Object] */;
1177 long var58
/* : Int */;
1178 val
* var59
/* : NativeArray[Object] */;
1179 val
* var60
/* : Object */;
1180 val
* var61
/* : String */;
1181 long var62
/* : Int */;
1183 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__gather_cc_paths
]))(self
) /* gather_cc_paths on <self:MakefileToolchain>*/;
1184 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
1185 var_mainmodule
= var
;
1186 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__compile_dir
]))(self
) /* compile_dir on <self:MakefileToolchain>*/;
1187 var_compile_dir
= var1
;
1188 var2
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:MakefileToolchain>*/;
1190 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1194 var5
= "*** WRITING C ***";
1196 var7
= string__NativeString__to_s_with_length(var5
, var6
);
1201 ((void (*)(val
*, val
*, long))(var3
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var3
, var4
, var8
) /* info on <var3:ToolContext>*/;
1202 ((void (*)(val
*))(var_compile_dir
->class->vft
[COLOR_file__String__mkdir
]))(var_compile_dir
) /* mkdir on <var_compile_dir:String>*/;
1203 var9
= NEW_array__Array(&type_array__Arraystring__String
);
1204 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[String]>*/;
1206 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__write_files
]))(self
, var_compiler
, var_compile_dir
, var_cfiles
) /* write_files on <self:MakefileToolchain>*/;
1207 ((void (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__write_makefile
]))(self
, var_compiler
, var_compile_dir
, var_cfiles
) /* write_makefile on <self:MakefileToolchain>*/;
1208 var10
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:MakefileToolchain>*/;
1210 var11
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1214 var14
= "*** END WRITING C: ";
1216 var16
= string__NativeString__to_s_with_length(var14
, var15
);
1220 { /* Inline kernel#Int#- (var_time1,var_time0) */
1221 var19
= var_time1
- var_time0
;
1224 RET_LABEL18
:(void)0;
1231 var24
= string__NativeString__to_s_with_length(var22
, var23
);
1235 var25
= NEW_array__Array(&type_array__Arraykernel__Object
);
1236 { /* var25 = array_instance Array[Object] */
1238 var27
= NEW_array__NativeArray(var26
, &type_array__NativeArraykernel__Object
);
1239 ((struct instance_array__NativeArray
*)var27
)->values
[0] = (val
*) var13
;
1240 var28
= BOX_kernel__Int(var17
); /* autobox from Int to Object */
1241 ((struct instance_array__NativeArray
*)var27
)->values
[1] = (val
*) var28
;
1242 ((struct instance_array__NativeArray
*)var27
)->values
[2] = (val
*) var21
;
1243 ((void (*)(val
*, val
*, long))(var25
->class->vft
[COLOR_array__Array__with_native
]))(var25
, var27
, var26
) /* with_native on <var25:Array[Object]>*/;
1245 var29
= ((val
* (*)(val
*))(var25
->class->vft
[COLOR_string__Object__to_s
]))(var25
) /* to_s on <var25:Array[Object]>*/;
1247 ((void (*)(val
*, val
*, long))(var11
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var11
, var29
, var30
) /* info on <var11:ToolContext>*/;
1248 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1249 var32
= ((val
* (*)(val
*))(var31
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_cc
]))(var31
) /* opt_no_cc on <var31:ToolContext>*/;
1250 var33
= ((val
* (*)(val
*))(var32
->class->vft
[COLOR_opts__Option__value
]))(var32
) /* value on <var32:OptionBool>*/;
1251 var34
= ((struct instance_kernel__Bool
*)var33
)->value
; /* autounbox from nullable Object to Bool */;
1256 var_time0
= var_time1
;
1257 var35
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1261 var38
= "*** COMPILING C ***";
1263 var40
= string__NativeString__to_s_with_length(var38
, var39
);
1268 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var35
, var37
, var41
) /* info on <var35:ToolContext>*/;
1269 ((void (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__compile_c_code
]))(self
, var_compiler
, var_compile_dir
) /* compile_c_code on <self:MakefileToolchain>*/;
1270 var42
= ((long (*)(val
*))(self
->class->vft
[COLOR_time__Object__get_time
]))(self
) /* get_time on <self:MakefileToolchain>*/;
1272 var43
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1276 var46
= "*** END COMPILING C: ";
1278 var48
= string__NativeString__to_s_with_length(var46
, var47
);
1282 { /* Inline kernel#Int#- (var_time1,var_time0) */
1283 var51
= var_time1
- var_time0
;
1286 RET_LABEL50
:(void)0;
1293 var56
= string__NativeString__to_s_with_length(var54
, var55
);
1297 var57
= NEW_array__Array(&type_array__Arraykernel__Object
);
1298 { /* var57 = array_instance Array[Object] */
1300 var59
= NEW_array__NativeArray(var58
, &type_array__NativeArraykernel__Object
);
1301 ((struct instance_array__NativeArray
*)var59
)->values
[0] = (val
*) var45
;
1302 var60
= BOX_kernel__Int(var49
); /* autobox from Int to Object */
1303 ((struct instance_array__NativeArray
*)var59
)->values
[1] = (val
*) var60
;
1304 ((struct instance_array__NativeArray
*)var59
)->values
[2] = (val
*) var53
;
1305 ((void (*)(val
*, val
*, long))(var57
->class->vft
[COLOR_array__Array__with_native
]))(var57
, var59
, var58
) /* with_native on <var57:Array[Object]>*/;
1307 var61
= ((val
* (*)(val
*))(var57
->class->vft
[COLOR_string__Object__to_s
]))(var57
) /* to_s on <var57:Array[Object]>*/;
1309 ((void (*)(val
*, val
*, long))(var43
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var43
, var61
, var62
) /* info on <var43:ToolContext>*/;
1312 /* method abstract_compiler#MakefileToolchain#write_and_make for (self: Object, AbstractCompiler) */
1313 void VIRTUAL_abstract_compiler__MakefileToolchain__write_and_make(val
* self
, val
* p0
) {
1314 abstract_compiler__MakefileToolchain__write_and_make(self
, p0
);
1317 /* method abstract_compiler#MakefileToolchain#write_files for (self: MakefileToolchain, AbstractCompiler, String, Array[String]) */
1318 void abstract_compiler__MakefileToolchain__write_files(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
1319 val
* var_compiler
/* var compiler: AbstractCompiler */;
1320 val
* var_compile_dir
/* var compile_dir: String */;
1321 val
* var_cfiles
/* var cfiles: Array[String] */;
1322 val
* var
/* : ToolContext */;
1323 val
* var1
/* : OptionBool */;
1324 val
* var2
/* : nullable Object */;
1325 short int var3
/* : Bool */;
1326 val
* var4
/* : ExternCFile */;
1327 static val
* varonce
;
1328 val
* var5
/* : String */;
1329 char* var6
/* : NativeString */;
1330 long var7
/* : Int */;
1331 val
* var8
/* : String */;
1332 static val
* varonce9
;
1333 val
* var10
/* : String */;
1334 char* var11
/* : NativeString */;
1335 long var12
/* : Int */;
1336 val
* var13
/* : String */;
1337 val
* var_gc_chooser
/* var gc_chooser: ExternCFile */;
1338 val
* var14
/* : Array[ExternFile] */;
1339 val
* var15
/* : Array[String] */;
1340 val
* var16
/* : Array[String] */;
1341 val
* var17
/* : nullable Object */;
1342 static val
* varonce18
;
1343 val
* var19
/* : String */;
1344 char* var20
/* : NativeString */;
1345 long var21
/* : Int */;
1346 val
* var22
/* : String */;
1347 val
* var23
/* : Array[Object] */;
1348 long var24
/* : Int */;
1349 val
* var25
/* : NativeArray[Object] */;
1350 val
* var26
/* : String */;
1351 val
* var27
/* : Array[String] */;
1352 val
* var28
/* : Array[String] */;
1353 val
* var29
/* : nullable Object */;
1354 static val
* varonce30
;
1355 val
* var31
/* : String */;
1356 char* var32
/* : NativeString */;
1357 long var33
/* : Int */;
1358 val
* var34
/* : String */;
1359 val
* var35
/* : Array[Object] */;
1360 long var36
/* : Int */;
1361 val
* var37
/* : NativeArray[Object] */;
1362 val
* var38
/* : String */;
1363 val
* var39
/* : ToolContext */;
1364 val
* var40
/* : ModelBuilder */;
1365 val
* var41
/* : HashMap[MModule, AModule] */;
1366 val
* var_m2m
/* var m2m: HashMap[MModule, AModule] */;
1367 val
* var42
/* : MModule */;
1368 val
* var43
/* : POSetElement[MModule] */;
1369 val
* var44
/* : Collection[Object] */;
1370 val
* var45
/* : Iterator[nullable Object] */;
1371 short int var46
/* : Bool */;
1372 val
* var47
/* : nullable Object */;
1373 val
* var_m
/* var m: MModule */;
1374 val
* var48
/* : Collection[Object] */;
1375 short int var49
/* : Bool */;
1376 val
* var50
/* : nullable Object */;
1377 val
* var_amodule
/* var amodule: AModule */;
1378 short int var51
/* : Bool */;
1379 short int var52
/* : Bool */;
1380 short int var_
/* var : Bool */;
1381 short int var53
/* : Bool */;
1382 val
* var54
/* : Array[String] */;
1383 val
* var55
/* : Iterator[nullable Object] */;
1384 short int var56
/* : Bool */;
1385 val
* var57
/* : nullable Object */;
1386 val
* var_src
/* var src: String */;
1387 static val
* varonce58
;
1388 val
* var59
/* : String */;
1389 char* var60
/* : NativeString */;
1390 long var61
/* : Int */;
1391 val
* var62
/* : String */;
1392 val
* var63
/* : String */;
1393 val
* var_basename
/* var basename: String */;
1394 val
* var64
/* : Array[Object] */;
1395 long var65
/* : Int */;
1396 val
* var_66
/* var : Array[Object] */;
1397 static val
* varonce67
;
1398 val
* var68
/* : String */;
1399 char* var69
/* : NativeString */;
1400 long var70
/* : Int */;
1401 val
* var71
/* : String */;
1402 static val
* varonce72
;
1403 val
* var73
/* : String */;
1404 char* var74
/* : NativeString */;
1405 long var75
/* : Int */;
1406 val
* var76
/* : String */;
1407 static val
* varonce77
;
1408 val
* var78
/* : String */;
1409 char* var79
/* : NativeString */;
1410 long var80
/* : Int */;
1411 val
* var81
/* : String */;
1412 val
* var82
/* : String */;
1413 val
* var_dst
/* var dst: String */;
1414 val
* var84
/* : CodeWriter */;
1415 val
* var85
/* : CodeFile */;
1416 val
* var86
/* : String */;
1417 static val
* varonce87
;
1418 val
* var88
/* : String */;
1419 char* var89
/* : NativeString */;
1420 long var90
/* : Int */;
1421 val
* var91
/* : String */;
1422 val
* var92
/* : String */;
1423 val
* var_hfilename
/* var hfilename: String */;
1424 val
* var93
/* : Array[Object] */;
1425 long var94
/* : Int */;
1426 val
* var_95
/* var : Array[Object] */;
1427 static val
* varonce96
;
1428 val
* var97
/* : String */;
1429 char* var98
/* : NativeString */;
1430 long var99
/* : Int */;
1431 val
* var100
/* : String */;
1432 static val
* varonce101
;
1433 val
* var102
/* : String */;
1434 char* var103
/* : NativeString */;
1435 long var104
/* : Int */;
1436 val
* var105
/* : String */;
1437 static val
* varonce106
;
1438 val
* var107
/* : String */;
1439 char* var108
/* : NativeString */;
1440 long var109
/* : Int */;
1441 val
* var110
/* : String */;
1442 val
* var111
/* : String */;
1443 val
* var_hfilepath
/* var hfilepath: String */;
1444 val
* var112
/* : OFStream */;
1445 val
* var_h
/* var h: OFStream */;
1446 val
* var113
/* : CodeWriter */;
1447 val
* var114
/* : List[String] */;
1448 val
* var115
/* : Iterator[nullable Object] */;
1449 short int var116
/* : Bool */;
1450 val
* var117
/* : nullable Object */;
1451 val
* var_l
/* var l: String */;
1452 static val
* varonce118
;
1453 val
* var119
/* : String */;
1454 char* var120
/* : NativeString */;
1455 long var121
/* : Int */;
1456 val
* var122
/* : String */;
1457 val
* var124
/* : CodeWriter */;
1458 val
* var125
/* : List[String] */;
1459 val
* var126
/* : Iterator[nullable Object] */;
1460 short int var127
/* : Bool */;
1461 val
* var128
/* : nullable Object */;
1462 val
* var_l129
/* var l: String */;
1463 static val
* varonce130
;
1464 val
* var131
/* : String */;
1465 char* var132
/* : NativeString */;
1466 long var133
/* : Int */;
1467 val
* var134
/* : String */;
1468 val
* var136
/* : List[CodeFile] */;
1469 val
* var137
/* : Iterator[nullable Object] */;
1470 short int var138
/* : Bool */;
1471 val
* var139
/* : nullable Object */;
1472 val
* var_f
/* var f: CodeFile */;
1473 long var140
/* : Int */;
1474 long var_i
/* var i: Int */;
1475 val
* var141
/* : null */;
1476 val
* var_hfile
/* var hfile: nullable OFStream */;
1477 long var142
/* : Int */;
1478 long var_count
/* var count: Int */;
1479 val
* var143
/* : Array[Object] */;
1480 long var144
/* : Int */;
1481 val
* var_145
/* var : Array[Object] */;
1482 static val
* varonce146
;
1483 val
* var147
/* : String */;
1484 char* var148
/* : NativeString */;
1485 long var149
/* : Int */;
1486 val
* var150
/* : String */;
1487 val
* var151
/* : String */;
1488 static val
* varonce152
;
1489 val
* var153
/* : String */;
1490 char* var154
/* : NativeString */;
1491 long var155
/* : Int */;
1492 val
* var156
/* : String */;
1493 val
* var157
/* : String */;
1494 val
* var_cfilename
/* var cfilename: String */;
1495 val
* var158
/* : Array[Object] */;
1496 long var159
/* : Int */;
1497 val
* var_160
/* var : Array[Object] */;
1498 static val
* varonce161
;
1499 val
* var162
/* : String */;
1500 char* var163
/* : NativeString */;
1501 long var164
/* : Int */;
1502 val
* var165
/* : String */;
1503 static val
* varonce166
;
1504 val
* var167
/* : String */;
1505 char* var168
/* : NativeString */;
1506 long var169
/* : Int */;
1507 val
* var170
/* : String */;
1508 static val
* varonce171
;
1509 val
* var172
/* : String */;
1510 char* var173
/* : NativeString */;
1511 long var174
/* : Int */;
1512 val
* var175
/* : String */;
1513 val
* var176
/* : String */;
1514 val
* var_cfilepath
/* var cfilepath: String */;
1515 val
* var177
/* : OFStream */;
1516 static val
* varonce178
;
1517 val
* var179
/* : String */;
1518 char* var180
/* : NativeString */;
1519 long var181
/* : Int */;
1520 val
* var182
/* : String */;
1521 static val
* varonce183
;
1522 val
* var184
/* : String */;
1523 char* var185
/* : NativeString */;
1524 long var186
/* : Int */;
1525 val
* var187
/* : String */;
1526 val
* var188
/* : Array[Object] */;
1527 long var189
/* : Int */;
1528 val
* var190
/* : NativeArray[Object] */;
1529 val
* var191
/* : String */;
1530 val
* var192
/* : HashSet[String] */;
1531 val
* var193
/* : Iterator[nullable Object] */;
1532 short int var194
/* : Bool */;
1533 val
* var195
/* : nullable Object */;
1534 val
* var_key
/* var key: String */;
1535 val
* var196
/* : HashMap[String, String] */;
1536 short int var197
/* : Bool */;
1537 short int var198
/* : Bool */;
1538 val
* var199
/* : HashMap[String, ANode] */;
1539 val
* var200
/* : nullable Object */;
1540 val
* var_node
/* var node: nullable ANode */;
1541 val
* var201
/* : null */;
1542 short int var202
/* : Bool */;
1543 static val
* varonce203
;
1544 val
* var204
/* : String */;
1545 char* var205
/* : NativeString */;
1546 long var206
/* : Int */;
1547 val
* var207
/* : String */;
1548 val
* var208
/* : Array[Object] */;
1549 long var209
/* : Int */;
1550 val
* var210
/* : NativeArray[Object] */;
1551 val
* var211
/* : String */;
1552 static val
* varonce212
;
1553 val
* var213
/* : String */;
1554 char* var214
/* : NativeString */;
1555 long var215
/* : Int */;
1556 val
* var216
/* : String */;
1557 val
* var217
/* : Array[Object] */;
1558 long var218
/* : Int */;
1559 val
* var219
/* : NativeArray[Object] */;
1560 val
* var220
/* : String */;
1561 val
* var221
/* : HashMap[String, String] */;
1562 val
* var222
/* : nullable Object */;
1563 static val
* varonce223
;
1564 val
* var224
/* : String */;
1565 char* var225
/* : NativeString */;
1566 long var226
/* : Int */;
1567 val
* var227
/* : String */;
1568 val
* var229
/* : null */;
1569 val
* var_file
/* var file: nullable OFStream */;
1570 val
* var230
/* : Array[CodeWriter] */;
1571 val
* var231
/* : Iterator[nullable Object] */;
1572 short int var232
/* : Bool */;
1573 val
* var233
/* : nullable Object */;
1574 val
* var_vis
/* var vis: CodeWriter */;
1575 val
* var234
/* : CodeWriter */;
1576 short int var235
/* : Bool */;
1577 val
* var237
/* : List[String] */;
1578 long var238
/* : Int */;
1579 val
* var239
/* : List[String] */;
1580 long var240
/* : Int */;
1581 long var241
/* : Int */;
1582 long var243
/* : Int */;
1583 long var_total_lines
/* var total_lines: Int */;
1584 long var244
/* : Int */;
1585 short int var245
/* : Bool */;
1586 short int var247
/* : Bool */;
1587 long var248
/* : Int */;
1588 long var250
/* : Int */;
1589 short int var251
/* : Bool */;
1590 val
* var252
/* : null */;
1591 short int var253
/* : Bool */;
1592 short int var_254
/* var : Bool */;
1593 long var255
/* : Int */;
1594 short int var256
/* : Bool */;
1595 short int var258
/* : Bool */;
1598 const char* var_class_name
;
1599 short int var259
/* : Bool */;
1600 long var260
/* : Int */;
1601 long var261
/* : Int */;
1602 long var263
/* : Int */;
1603 val
* var264
/* : null */;
1604 short int var265
/* : Bool */;
1605 val
* var266
/* : Array[Object] */;
1606 long var267
/* : Int */;
1607 val
* var_268
/* var : Array[Object] */;
1608 static val
* varonce269
;
1609 val
* var270
/* : String */;
1610 char* var271
/* : NativeString */;
1611 long var272
/* : Int */;
1612 val
* var273
/* : String */;
1613 val
* var274
/* : String */;
1614 static val
* varonce275
;
1615 val
* var276
/* : String */;
1616 char* var277
/* : NativeString */;
1617 long var278
/* : Int */;
1618 val
* var279
/* : String */;
1619 val
* var280
/* : nullable Object */;
1620 static val
* varonce281
;
1621 val
* var282
/* : String */;
1622 char* var283
/* : NativeString */;
1623 long var284
/* : Int */;
1624 val
* var285
/* : String */;
1625 val
* var286
/* : String */;
1626 val
* var287
/* : Array[Object] */;
1627 long var288
/* : Int */;
1628 val
* var_289
/* var : Array[Object] */;
1629 static val
* varonce290
;
1630 val
* var291
/* : String */;
1631 char* var292
/* : NativeString */;
1632 long var293
/* : Int */;
1633 val
* var294
/* : String */;
1634 static val
* varonce295
;
1635 val
* var296
/* : String */;
1636 char* var297
/* : NativeString */;
1637 long var298
/* : Int */;
1638 val
* var299
/* : String */;
1639 static val
* varonce300
;
1640 val
* var301
/* : String */;
1641 char* var302
/* : NativeString */;
1642 long var303
/* : Int */;
1643 val
* var304
/* : String */;
1644 val
* var305
/* : String */;
1645 val
* var306
/* : ToolContext */;
1646 static val
* varonce307
;
1647 val
* var308
/* : String */;
1648 char* var309
/* : NativeString */;
1649 long var310
/* : Int */;
1650 val
* var311
/* : String */;
1651 val
* var312
/* : Array[Object] */;
1652 long var313
/* : Int */;
1653 val
* var314
/* : NativeArray[Object] */;
1654 val
* var315
/* : String */;
1655 long var316
/* : Int */;
1656 val
* var317
/* : OFStream */;
1657 static val
* varonce318
;
1658 val
* var319
/* : String */;
1659 char* var320
/* : NativeString */;
1660 long var321
/* : Int */;
1661 val
* var322
/* : String */;
1662 val
* var323
/* : String */;
1663 static val
* varonce324
;
1664 val
* var325
/* : String */;
1665 char* var326
/* : NativeString */;
1666 long var327
/* : Int */;
1667 val
* var328
/* : String */;
1668 val
* var329
/* : Array[Object] */;
1669 long var330
/* : Int */;
1670 val
* var331
/* : NativeArray[Object] */;
1671 val
* var332
/* : String */;
1672 val
* var333
/* : List[String] */;
1673 val
* var334
/* : Iterator[nullable Object] */;
1674 short int var335
/* : Bool */;
1675 val
* var336
/* : nullable Object */;
1676 val
* var_l337
/* var l: String */;
1677 static val
* varonce338
;
1678 val
* var339
/* : String */;
1679 char* var340
/* : NativeString */;
1680 long var341
/* : Int */;
1681 val
* var342
/* : String */;
1682 val
* var344
/* : List[String] */;
1683 val
* var345
/* : Iterator[nullable Object] */;
1684 short int var346
/* : Bool */;
1685 val
* var347
/* : nullable Object */;
1686 val
* var_l348
/* var l: String */;
1687 static val
* varonce349
;
1688 val
* var350
/* : String */;
1689 char* var351
/* : NativeString */;
1690 long var352
/* : Int */;
1691 val
* var353
/* : String */;
1692 val
* var355
/* : null */;
1693 short int var356
/* : Bool */;
1694 val
* var358
/* : ToolContext */;
1695 static val
* varonce359
;
1696 val
* var360
/* : String */;
1697 char* var361
/* : NativeString */;
1698 long var362
/* : Int */;
1699 val
* var363
/* : String */;
1700 long var364
/* : Int */;
1701 val
* var365
/* : Array[Object] */;
1702 long var366
/* : Int */;
1703 val
* var367
/* : NativeArray[Object] */;
1704 val
* var368
/* : Object */;
1705 val
* var369
/* : String */;
1706 long var370
/* : Int */;
1708 var_compile_dir
= p1
;
1710 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1711 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var
) /* opt_stacktrace on <var:ToolContext>*/;
1712 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_opts__Option__value
]))(var1
) /* value on <var1:OptionBool>*/;
1713 var3
= ((struct instance_kernel__Bool
*)var2
)->value
; /* autounbox from nullable Object to Bool */;
1715 ((void (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__build_c_to_nit_bindings
]))(var_compiler
) /* build_c_to_nit_bindings on <var_compiler:AbstractCompiler>*/;
1718 var4
= NEW_c__ExternCFile(&type_c__ExternCFile
);
1722 var6
= "gc_chooser.c";
1724 var8
= string__NativeString__to_s_with_length(var6
, var7
);
1731 var11
= "-DWITH_LIBGC";
1733 var13
= string__NativeString__to_s_with_length(var11
, var12
);
1737 ((void (*)(val
*, val
*, val
*))(var4
->class->vft
[COLOR_c__ExternCFile__init
]))(var4
, var5
, var10
) /* init on <var4:ExternCFile>*/;
1738 var_gc_chooser
= var4
;
1739 var14
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
1740 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var14
, var_gc_chooser
) /* add on <var14:Array[ExternFile]>*/;
1741 var15
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var_compiler
) /* files_to_copy on <var_compiler:AbstractCompiler>*/;
1742 var16
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1743 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var16
) /* first on <var16:Array[String]>*/;
1747 var20
= "/gc_chooser.c";
1749 var22
= string__NativeString__to_s_with_length(var20
, var21
);
1753 var23
= NEW_array__Array(&type_array__Arraykernel__Object
);
1754 { /* var23 = array_instance Array[Object] */
1756 var25
= NEW_array__NativeArray(var24
, &type_array__NativeArraykernel__Object
);
1757 ((struct instance_array__NativeArray
*)var25
)->values
[0] = (val
*) var17
;
1758 ((struct instance_array__NativeArray
*)var25
)->values
[1] = (val
*) var19
;
1759 ((void (*)(val
*, val
*, long))(var23
->class->vft
[COLOR_array__Array__with_native
]))(var23
, var25
, var24
) /* with_native on <var23:Array[Object]>*/;
1761 var26
= ((val
* (*)(val
*))(var23
->class->vft
[COLOR_string__Object__to_s
]))(var23
) /* to_s on <var23:Array[Object]>*/;
1762 ((void (*)(val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var15
, var26
) /* add on <var15:Array[String]>*/;
1763 var27
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var_compiler
) /* files_to_copy on <var_compiler:AbstractCompiler>*/;
1764 var28
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
1765 var29
= ((val
* (*)(val
*))(var28
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var28
) /* first on <var28:Array[String]>*/;
1769 var32
= "/gc_chooser.h";
1771 var34
= string__NativeString__to_s_with_length(var32
, var33
);
1775 var35
= NEW_array__Array(&type_array__Arraykernel__Object
);
1776 { /* var35 = array_instance Array[Object] */
1778 var37
= NEW_array__NativeArray(var36
, &type_array__NativeArraykernel__Object
);
1779 ((struct instance_array__NativeArray
*)var37
)->values
[0] = (val
*) var29
;
1780 ((struct instance_array__NativeArray
*)var37
)->values
[1] = (val
*) var31
;
1781 ((void (*)(val
*, val
*, long))(var35
->class->vft
[COLOR_array__Array__with_native
]))(var35
, var37
, var36
) /* with_native on <var35:Array[Object]>*/;
1783 var38
= ((val
* (*)(val
*))(var35
->class->vft
[COLOR_string__Object__to_s
]))(var35
) /* to_s on <var35:Array[Object]>*/;
1784 ((void (*)(val
*, val
*))(var27
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var27
, var38
) /* add on <var27:Array[String]>*/;
1785 var39
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
1786 var40
= ((val
* (*)(val
*))(var39
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var39
) /* modelbuilder on <var39:ToolContext>*/;
1787 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(var40
) /* mmodule2nmodule on <var40:ModelBuilder>*/;
1789 var42
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
1790 var43
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_mmodule__MModule__in_importation
]))(var42
) /* in_importation on <var42:MModule>*/;
1791 var44
= ((val
* (*)(val
*))(var43
->class->vft
[COLOR_poset__POSetElement__greaters
]))(var43
) /* greaters on <var43:POSetElement[MModule]>*/;
1792 var45
= ((val
* (*)(val
*))(var44
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var44
) /* iterator on <var44:Collection[Object](Collection[MModule])>*/;
1794 var46
= ((short int (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var45
) /* is_ok on <var45:Iterator[nullable Object]>*/;
1796 var47
= ((val
* (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var45
) /* item on <var45:Iterator[nullable Object]>*/;
1798 var48
= ((val
* (*)(val
*))(var_m2m
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var_m2m
) /* keys on <var_m2m:HashMap[MModule, AModule]>*/;
1799 var49
= ((short int (*)(val
*, val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var48
, var_m
) /* has on <var48:Collection[Object](HashMapKeys[MModule, AModule])>*/;
1801 var50
= ((val
* (*)(val
*, val
*))(var_m2m
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_m2m
, var_m
) /* [] on <var_m2m:HashMap[MModule, AModule]>*/;
1802 var_amodule
= var50
;
1803 var52
= ((short int (*)(val
*))(var_m
->class->vft
[COLOR_common_ffi__MModule__uses_ffi
]))(var_m
) /* uses_ffi on <var_m:MModule>*/;
1808 var53
= ((short int (*)(val
*))(var_amodule
->class->vft
[COLOR_abstract_compiler__AModule__uses_legacy_ni
]))(var_amodule
) /* uses_legacy_ni on <var_amodule:AModule>*/;
1812 ((void (*)(val
*, val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__finalize_ffi_for_module
]))(var_compiler
, var_amodule
) /* finalize_ffi_for_module on <var_compiler:AbstractCompiler>*/;
1817 CONTINUE_label
: (void)0;
1818 ((void (*)(val
*))(var45
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var45
) /* next on <var45:Iterator[nullable Object]>*/;
1820 BREAK_label
: (void)0;
1821 var54
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files_to_copy
]))(var_compiler
) /* files_to_copy on <var_compiler:AbstractCompiler>*/;
1822 var55
= ((val
* (*)(val
*))(var54
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var54
) /* iterator on <var54:Array[String]>*/;
1824 var56
= ((short int (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var55
) /* is_ok on <var55:Iterator[nullable Object]>*/;
1826 var57
= ((val
* (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var55
) /* item on <var55:Iterator[nullable Object]>*/;
1833 var62
= string__NativeString__to_s_with_length(var60
, var61
);
1837 var63
= ((val
* (*)(val
*, val
*))(var_src
->class->vft
[COLOR_file__String__basename
]))(var_src
, var59
) /* basename on <var_src:String>*/;
1838 var_basename
= var63
;
1839 var64
= NEW_array__Array(&type_array__Arraykernel__Object
);
1841 ((void (*)(val
*, long))(var64
->class->vft
[COLOR_array__Array__with_capacity
]))(var64
, var65
) /* with_capacity on <var64:Array[Object]>*/;
1848 var71
= string__NativeString__to_s_with_length(var69
, var70
);
1852 ((void (*)(val
*, val
*))(var_66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_66
, var68
) /* add on <var_66:Array[Object]>*/;
1853 ((void (*)(val
*, val
*))(var_66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_66
, var_compile_dir
) /* add on <var_66:Array[Object]>*/;
1859 var76
= string__NativeString__to_s_with_length(var74
, var75
);
1863 ((void (*)(val
*, val
*))(var_66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_66
, var73
) /* add on <var_66:Array[Object]>*/;
1864 ((void (*)(val
*, val
*))(var_66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_66
, var_basename
) /* add on <var_66:Array[Object]>*/;
1870 var81
= string__NativeString__to_s_with_length(var79
, var80
);
1874 ((void (*)(val
*, val
*))(var_66
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_66
, var78
) /* add on <var_66:Array[Object]>*/;
1875 var82
= ((val
* (*)(val
*))(var_66
->class->vft
[COLOR_string__Object__to_s
]))(var_66
) /* to_s on <var_66:Array[Object]>*/;
1877 ((void (*)(val
*, val
*))(var_src
->class->vft
[COLOR_file__String__file_copy_to
]))(var_src
, var_dst
) /* file_copy_to on <var_src:String>*/;
1878 CONTINUE_label83
: (void)0;
1879 ((void (*)(val
*))(var55
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var55
) /* next on <var55:Iterator[nullable Object]>*/;
1881 BREAK_label83
: (void)0;
1882 var84
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1883 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_abstract_compiler__CodeWriter__file
]))(var84
) /* file on <var84:CodeWriter>*/;
1884 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var85
) /* name on <var85:CodeFile>*/;
1890 var91
= string__NativeString__to_s_with_length(var89
, var90
);
1894 var92
= ((val
* (*)(val
*, val
*))(var86
->class->vft
[COLOR_string__String___43d
]))(var86
, var88
) /* + on <var86:String>*/;
1895 var_hfilename
= var92
;
1896 var93
= NEW_array__Array(&type_array__Arraykernel__Object
);
1898 ((void (*)(val
*, long))(var93
->class->vft
[COLOR_array__Array__with_capacity
]))(var93
, var94
) /* with_capacity on <var93:Array[Object]>*/;
1905 var100
= string__NativeString__to_s_with_length(var98
, var99
);
1909 ((void (*)(val
*, val
*))(var_95
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_95
, var97
) /* add on <var_95:Array[Object]>*/;
1910 ((void (*)(val
*, val
*))(var_95
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_95
, var_compile_dir
) /* add on <var_95:Array[Object]>*/;
1912 var102
= varonce101
;
1916 var105
= string__NativeString__to_s_with_length(var103
, var104
);
1918 varonce101
= var102
;
1920 ((void (*)(val
*, val
*))(var_95
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_95
, var102
) /* add on <var_95:Array[Object]>*/;
1921 ((void (*)(val
*, val
*))(var_95
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_95
, var_hfilename
) /* add on <var_95:Array[Object]>*/;
1923 var107
= varonce106
;
1927 var110
= string__NativeString__to_s_with_length(var108
, var109
);
1929 varonce106
= var107
;
1931 ((void (*)(val
*, val
*))(var_95
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_95
, var107
) /* add on <var_95:Array[Object]>*/;
1932 var111
= ((val
* (*)(val
*))(var_95
->class->vft
[COLOR_string__Object__to_s
]))(var_95
) /* to_s on <var_95:Array[Object]>*/;
1933 var_hfilepath
= var111
;
1934 var112
= NEW_file__OFStream(&type_file__OFStream
);
1935 ((void (*)(val
*, val
*))(var112
->class->vft
[COLOR_file__OFStream__open
]))(var112
, var_hfilepath
) /* open on <var112:OFStream>*/;
1937 var113
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1938 var114
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var113
) /* decl_lines on <var113:CodeWriter>*/;
1939 var115
= ((val
* (*)(val
*))(var114
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var114
) /* iterator on <var114:List[String]>*/;
1941 var116
= ((short int (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var115
) /* is_ok on <var115:Iterator[nullable Object]>*/;
1943 var117
= ((val
* (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var115
) /* item on <var115:Iterator[nullable Object]>*/;
1945 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l
) /* write on <var_h:OFStream>*/;
1947 var119
= varonce118
;
1951 var122
= string__NativeString__to_s_with_length(var120
, var121
);
1953 varonce118
= var119
;
1955 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var119
) /* write on <var_h:OFStream>*/;
1956 CONTINUE_label123
: (void)0;
1957 ((void (*)(val
*))(var115
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var115
) /* next on <var115:Iterator[nullable Object]>*/;
1959 BREAK_label123
: (void)0;
1960 var124
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
1961 var125
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var124
) /* lines on <var124:CodeWriter>*/;
1962 var126
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var125
) /* iterator on <var125:List[String]>*/;
1964 var127
= ((short int (*)(val
*))(var126
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var126
) /* is_ok on <var126:Iterator[nullable Object]>*/;
1966 var128
= ((val
* (*)(val
*))(var126
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var126
) /* item on <var126:Iterator[nullable Object]>*/;
1968 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var_l129
) /* write on <var_h:OFStream>*/;
1970 var131
= varonce130
;
1974 var134
= string__NativeString__to_s_with_length(var132
, var133
);
1976 varonce130
= var131
;
1978 ((void (*)(val
*, val
*))(var_h
->class->vft
[COLOR_stream__OStream__write
]))(var_h
, var131
) /* write on <var_h:OFStream>*/;
1979 CONTINUE_label135
: (void)0;
1980 ((void (*)(val
*))(var126
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var126
) /* next on <var126:Iterator[nullable Object]>*/;
1982 BREAK_label135
: (void)0;
1983 ((void (*)(val
*))(var_h
->class->vft
[COLOR_stream__IOS__close
]))(var_h
) /* close on <var_h:OFStream>*/;
1984 var136
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
1985 var137
= ((val
* (*)(val
*))(var136
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var136
) /* iterator on <var136:List[CodeFile]>*/;
1987 var138
= ((short int (*)(val
*))(var137
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var137
) /* is_ok on <var137:Iterator[nullable Object]>*/;
1989 var139
= ((val
* (*)(val
*))(var137
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var137
) /* item on <var137:Iterator[nullable Object]>*/;
1997 var143
= NEW_array__Array(&type_array__Arraykernel__Object
);
1999 ((void (*)(val
*, long))(var143
->class->vft
[COLOR_array__Array__with_capacity
]))(var143
, var144
) /* with_capacity on <var143:Array[Object]>*/;
2002 var147
= varonce146
;
2006 var150
= string__NativeString__to_s_with_length(var148
, var149
);
2008 varonce146
= var147
;
2010 ((void (*)(val
*, val
*))(var_145
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_145
, var147
) /* add on <var_145:Array[Object]>*/;
2011 var151
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2012 ((void (*)(val
*, val
*))(var_145
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_145
, var151
) /* add on <var_145:Array[Object]>*/;
2014 var153
= varonce152
;
2018 var156
= string__NativeString__to_s_with_length(var154
, var155
);
2020 varonce152
= var153
;
2022 ((void (*)(val
*, val
*))(var_145
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_145
, var153
) /* add on <var_145:Array[Object]>*/;
2023 var157
= ((val
* (*)(val
*))(var_145
->class->vft
[COLOR_string__Object__to_s
]))(var_145
) /* to_s on <var_145:Array[Object]>*/;
2024 var_cfilename
= var157
;
2025 var158
= NEW_array__Array(&type_array__Arraykernel__Object
);
2027 ((void (*)(val
*, long))(var158
->class->vft
[COLOR_array__Array__with_capacity
]))(var158
, var159
) /* with_capacity on <var158:Array[Object]>*/;
2030 var162
= varonce161
;
2034 var165
= string__NativeString__to_s_with_length(var163
, var164
);
2036 varonce161
= var162
;
2038 ((void (*)(val
*, val
*))(var_160
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_160
, var162
) /* add on <var_160:Array[Object]>*/;
2039 ((void (*)(val
*, val
*))(var_160
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_160
, var_compile_dir
) /* add on <var_160:Array[Object]>*/;
2041 var167
= varonce166
;
2045 var170
= string__NativeString__to_s_with_length(var168
, var169
);
2047 varonce166
= var167
;
2049 ((void (*)(val
*, val
*))(var_160
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_160
, var167
) /* add on <var_160:Array[Object]>*/;
2050 ((void (*)(val
*, val
*))(var_160
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_160
, var_cfilename
) /* add on <var_160:Array[Object]>*/;
2052 var172
= varonce171
;
2056 var175
= string__NativeString__to_s_with_length(var173
, var174
);
2058 varonce171
= var172
;
2060 ((void (*)(val
*, val
*))(var_160
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_160
, var172
) /* add on <var_160:Array[Object]>*/;
2061 var176
= ((val
* (*)(val
*))(var_160
->class->vft
[COLOR_string__Object__to_s
]))(var_160
) /* to_s on <var_160:Array[Object]>*/;
2062 var_cfilepath
= var176
;
2063 var177
= NEW_file__OFStream(&type_file__OFStream
);
2064 ((void (*)(val
*, val
*))(var177
->class->vft
[COLOR_file__OFStream__open
]))(var177
, var_cfilepath
) /* open on <var177:OFStream>*/;
2067 var179
= varonce178
;
2069 var180
= "#include \"";
2071 var182
= string__NativeString__to_s_with_length(var180
, var181
);
2073 varonce178
= var179
;
2076 var184
= varonce183
;
2080 var187
= string__NativeString__to_s_with_length(var185
, var186
);
2082 varonce183
= var184
;
2084 var188
= NEW_array__Array(&type_array__Arraykernel__Object
);
2085 { /* var188 = array_instance Array[Object] */
2087 var190
= NEW_array__NativeArray(var189
, &type_array__NativeArraykernel__Object
);
2088 ((struct instance_array__NativeArray
*)var190
)->values
[0] = (val
*) var179
;
2089 ((struct instance_array__NativeArray
*)var190
)->values
[1] = (val
*) var_hfilename
;
2090 ((struct instance_array__NativeArray
*)var190
)->values
[2] = (val
*) var184
;
2091 ((void (*)(val
*, val
*, long))(var188
->class->vft
[COLOR_array__Array__with_native
]))(var188
, var190
, var189
) /* with_native on <var188:Array[Object]>*/;
2093 var191
= ((val
* (*)(val
*))(var188
->class->vft
[COLOR_string__Object__to_s
]))(var188
) /* to_s on <var188:Array[Object]>*/;
2094 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var191
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2095 var192
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__required_declarations
]))(var_f
) /* required_declarations on <var_f:CodeFile>*/;
2096 var193
= ((val
* (*)(val
*))(var192
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var192
) /* iterator on <var192:HashSet[String]>*/;
2098 var194
= ((short int (*)(val
*))(var193
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var193
) /* is_ok on <var193:Iterator[nullable Object]>*/;
2100 var195
= ((val
* (*)(val
*))(var193
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var193
) /* item on <var193:Iterator[nullable Object]>*/;
2102 var196
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
2103 var197
= ((short int (*)(val
*, val
*))(var196
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var196
, var_key
) /* has_key on <var196:HashMap[String, String]>*/;
2106 var199
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__requirers_of_declarations
]))(var_compiler
) /* requirers_of_declarations on <var_compiler:AbstractCompiler>*/;
2107 var200
= ((val
* (*)(val
*, val
*))(var199
->class->vft
[COLOR_abstract_collection__MapRead__get_or_null
]))(var199
, var_key
) /* get_or_null on <var199:HashMap[String, ANode]>*/;
2110 if (var_node
== NULL
) {
2111 var202
= 0; /* is null */
2113 var202
= 1; /* arg is null and recv is not */
2117 var204
= varonce203
;
2119 var205
= "No provided declaration for ";
2121 var207
= string__NativeString__to_s_with_length(var205
, var206
);
2123 varonce203
= var204
;
2125 var208
= NEW_array__Array(&type_array__Arraykernel__Object
);
2126 { /* var208 = array_instance Array[Object] */
2128 var210
= NEW_array__NativeArray(var209
, &type_array__NativeArraykernel__Object
);
2129 ((struct instance_array__NativeArray
*)var210
)->values
[0] = (val
*) var204
;
2130 ((struct instance_array__NativeArray
*)var210
)->values
[1] = (val
*) var_key
;
2131 ((void (*)(val
*, val
*, long))(var208
->class->vft
[COLOR_array__Array__with_native
]))(var208
, var210
, var209
) /* with_native on <var208:Array[Object]>*/;
2133 var211
= ((val
* (*)(val
*))(var208
->class->vft
[COLOR_string__Object__to_s
]))(var208
) /* to_s on <var208:Array[Object]>*/;
2134 ((void (*)(val
*, val
*))(var_node
->class->vft
[COLOR_parser_nodes__ANode__debug
]))(var_node
, var211
) /* debug on <var_node:nullable ANode(ANode)>*/;
2137 var213
= varonce212
;
2139 var214
= "No provided declaration for ";
2141 var216
= string__NativeString__to_s_with_length(var214
, var215
);
2143 varonce212
= var213
;
2145 var217
= NEW_array__Array(&type_array__Arraykernel__Object
);
2146 { /* var217 = array_instance Array[Object] */
2148 var219
= NEW_array__NativeArray(var218
, &type_array__NativeArraykernel__Object
);
2149 ((struct instance_array__NativeArray
*)var219
)->values
[0] = (val
*) var213
;
2150 ((struct instance_array__NativeArray
*)var219
)->values
[1] = (val
*) var_key
;
2151 ((void (*)(val
*, val
*, long))(var217
->class->vft
[COLOR_array__Array__with_native
]))(var217
, var219
, var218
) /* with_native on <var217:Array[Object]>*/;
2153 var220
= ((val
* (*)(val
*))(var217
->class->vft
[COLOR_string__Object__to_s
]))(var217
) /* to_s on <var217:Array[Object]>*/;
2154 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var220
) /* print on <self:MakefileToolchain>*/;
2156 fprintf(stderr
, "Runtime error: %s", "Aborted");
2157 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 245);
2161 var221
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(var_compiler
) /* provided_declarations on <var_compiler:AbstractCompiler>*/;
2162 var222
= ((val
* (*)(val
*, val
*))(var221
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var221
, var_key
) /* [] on <var221:HashMap[String, String]>*/;
2163 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var222
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2165 var224
= varonce223
;
2169 var227
= string__NativeString__to_s_with_length(var225
, var226
);
2171 varonce223
= var224
;
2173 ((void (*)(val
*, val
*))(var_hfile
->class->vft
[COLOR_stream__OStream__write
]))(var_hfile
, var224
) /* write on <var_hfile:nullable OFStream(OFStream)>*/;
2174 CONTINUE_label228
: (void)0;
2175 ((void (*)(val
*))(var193
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var193
) /* next on <var193:Iterator[nullable Object]>*/;
2177 BREAK_label228
: (void)0;
2178 ((void (*)(val
*))(var_hfile
->class->vft
[COLOR_stream__IOS__close
]))(var_hfile
) /* close on <var_hfile:nullable OFStream(OFStream)>*/;
2181 var230
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_f
) /* writers on <var_f:CodeFile>*/;
2182 var231
= ((val
* (*)(val
*))(var230
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var230
) /* iterator on <var230:Array[CodeWriter]>*/;
2184 var232
= ((short int (*)(val
*))(var231
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var231
) /* is_ok on <var231:Iterator[nullable Object]>*/;
2186 var233
= ((val
* (*)(val
*))(var231
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var231
) /* item on <var231:Iterator[nullable Object]>*/;
2188 var234
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var_compiler
) /* header on <var_compiler:AbstractCompiler>*/;
2189 var235
= ((short int (*)(val
*, val
*))(var_vis
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var_vis
, var234
) /* == on <var_vis:CodeWriter>*/;
2191 goto CONTINUE_label236
;
2194 var237
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2195 var238
= ((long (*)(val
*))(var237
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var237
) /* length on <var237:List[String]>*/;
2196 var239
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2197 var240
= ((long (*)(val
*))(var239
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var239
) /* length on <var239:List[String]>*/;
2198 { /* Inline kernel#Int#+ (var238,var240) */
2199 var243
= var238
+ var240
;
2202 RET_LABEL242
:(void)0;
2204 var_total_lines
= var241
;
2206 { /* Inline kernel#Int#== (var_total_lines,var244) */
2207 var247
= var_total_lines
== var244
;
2210 RET_LABEL246
:(void)0;
2213 goto CONTINUE_label236
;
2216 { /* Inline kernel#Int#+ (var_count,var_total_lines) */
2217 var250
= var_count
+ var_total_lines
;
2220 RET_LABEL249
:(void)0;
2224 if (var_file
== NULL
) {
2225 var253
= 1; /* is null */
2227 var253
= 0; /* arg is null but recv is not */
2234 { /* Inline kernel#Int#> (var_count,var255) */
2235 /* Covariant cast for argument 0 (i) <var255:Int> isa OTHER */
2236 /* <var255:Int> isa OTHER */
2237 var258
= 1; /* easy <var255:Int> isa OTHER*/
2239 var_class_name
= type_kernel__Int
.name
;
2240 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
2241 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 267);
2244 var259
= var_count
> var255
;
2247 RET_LABEL257
:(void)0;
2253 { /* Inline kernel#Int#+ (var_i,var260) */
2254 var263
= var_i
+ var260
;
2257 RET_LABEL262
:(void)0;
2261 if (var_file
== NULL
) {
2262 var265
= 0; /* is null */
2264 var265
= 1; /* arg is null and recv is not */
2267 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2270 var266
= NEW_array__Array(&type_array__Arraykernel__Object
);
2272 ((void (*)(val
*, long))(var266
->class->vft
[COLOR_array__Array__with_capacity
]))(var266
, var267
) /* with_capacity on <var266:Array[Object]>*/;
2275 var270
= varonce269
;
2279 var273
= string__NativeString__to_s_with_length(var271
, var272
);
2281 varonce269
= var270
;
2283 ((void (*)(val
*, val
*))(var_268
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_268
, var270
) /* add on <var_268:Array[Object]>*/;
2284 var274
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2285 ((void (*)(val
*, val
*))(var_268
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_268
, var274
) /* add on <var_268:Array[Object]>*/;
2287 var276
= varonce275
;
2291 var279
= string__NativeString__to_s_with_length(var277
, var278
);
2293 varonce275
= var276
;
2295 ((void (*)(val
*, val
*))(var_268
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_268
, var276
) /* add on <var_268:Array[Object]>*/;
2296 var280
= BOX_kernel__Int(var_i
); /* autobox from Int to nullable Object */
2297 ((void (*)(val
*, val
*))(var_268
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_268
, var280
) /* add on <var_268:Array[Object]>*/;
2299 var282
= varonce281
;
2303 var285
= string__NativeString__to_s_with_length(var283
, var284
);
2305 varonce281
= var282
;
2307 ((void (*)(val
*, val
*))(var_268
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_268
, var282
) /* add on <var_268:Array[Object]>*/;
2308 var286
= ((val
* (*)(val
*))(var_268
->class->vft
[COLOR_string__Object__to_s
]))(var_268
) /* to_s on <var_268:Array[Object]>*/;
2309 var_cfilename
= var286
;
2310 var287
= NEW_array__Array(&type_array__Arraykernel__Object
);
2312 ((void (*)(val
*, long))(var287
->class->vft
[COLOR_array__Array__with_capacity
]))(var287
, var288
) /* with_capacity on <var287:Array[Object]>*/;
2315 var291
= varonce290
;
2319 var294
= string__NativeString__to_s_with_length(var292
, var293
);
2321 varonce290
= var291
;
2323 ((void (*)(val
*, val
*))(var_289
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_289
, var291
) /* add on <var_289:Array[Object]>*/;
2324 ((void (*)(val
*, val
*))(var_289
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_289
, var_compile_dir
) /* add on <var_289:Array[Object]>*/;
2326 var296
= varonce295
;
2330 var299
= string__NativeString__to_s_with_length(var297
, var298
);
2332 varonce295
= var296
;
2334 ((void (*)(val
*, val
*))(var_289
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_289
, var296
) /* add on <var_289:Array[Object]>*/;
2335 ((void (*)(val
*, val
*))(var_289
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_289
, var_cfilename
) /* add on <var_289:Array[Object]>*/;
2337 var301
= varonce300
;
2341 var304
= string__NativeString__to_s_with_length(var302
, var303
);
2343 varonce300
= var301
;
2345 ((void (*)(val
*, val
*))(var_289
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_289
, var301
) /* add on <var_289:Array[Object]>*/;
2346 var305
= ((val
* (*)(val
*))(var_289
->class->vft
[COLOR_string__Object__to_s
]))(var_289
) /* to_s on <var_289:Array[Object]>*/;
2347 var_cfilepath
= var305
;
2348 var306
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
2350 var308
= varonce307
;
2352 var309
= "new C source files to compile: ";
2354 var311
= string__NativeString__to_s_with_length(var309
, var310
);
2356 varonce307
= var308
;
2358 var312
= NEW_array__Array(&type_array__Arraykernel__Object
);
2359 { /* var312 = array_instance Array[Object] */
2361 var314
= NEW_array__NativeArray(var313
, &type_array__NativeArraykernel__Object
);
2362 ((struct instance_array__NativeArray
*)var314
)->values
[0] = (val
*) var308
;
2363 ((struct instance_array__NativeArray
*)var314
)->values
[1] = (val
*) var_cfilepath
;
2364 ((void (*)(val
*, val
*, long))(var312
->class->vft
[COLOR_array__Array__with_native
]))(var312
, var314
, var313
) /* with_native on <var312:Array[Object]>*/;
2366 var315
= ((val
* (*)(val
*))(var312
->class->vft
[COLOR_string__Object__to_s
]))(var312
) /* to_s on <var312:Array[Object]>*/;
2368 ((void (*)(val
*, val
*, long))(var306
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var306
, var315
, var316
) /* info on <var306:ToolContext>*/;
2369 ((void (*)(val
*, val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_cfiles
, var_cfilename
) /* add on <var_cfiles:Array[String]>*/;
2370 var317
= NEW_file__OFStream(&type_file__OFStream
);
2371 ((void (*)(val
*, val
*))(var317
->class->vft
[COLOR_file__OFStream__open
]))(var317
, var_cfilepath
) /* open on <var317:OFStream>*/;
2374 var319
= varonce318
;
2376 var320
= "#include \"";
2378 var322
= string__NativeString__to_s_with_length(var320
, var321
);
2380 varonce318
= var319
;
2382 var323
= ((val
* (*)(val
*))(var_f
->class->vft
[COLOR_abstract_compiler__CodeFile__name
]))(var_f
) /* name on <var_f:CodeFile>*/;
2384 var325
= varonce324
;
2386 var326
= ".0.h\"\n";
2388 var328
= string__NativeString__to_s_with_length(var326
, var327
);
2390 varonce324
= var325
;
2392 var329
= NEW_array__Array(&type_array__Arraykernel__Object
);
2393 { /* var329 = array_instance Array[Object] */
2395 var331
= NEW_array__NativeArray(var330
, &type_array__NativeArraykernel__Object
);
2396 ((struct instance_array__NativeArray
*)var331
)->values
[0] = (val
*) var319
;
2397 ((struct instance_array__NativeArray
*)var331
)->values
[1] = (val
*) var323
;
2398 ((struct instance_array__NativeArray
*)var331
)->values
[2] = (val
*) var325
;
2399 ((void (*)(val
*, val
*, long))(var329
->class->vft
[COLOR_array__Array__with_native
]))(var329
, var331
, var330
) /* with_native on <var329:Array[Object]>*/;
2401 var332
= ((val
* (*)(val
*))(var329
->class->vft
[COLOR_string__Object__to_s
]))(var329
) /* to_s on <var329:Array[Object]>*/;
2402 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var332
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2403 var_count
= var_total_lines
;
2406 var333
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(var_vis
) /* decl_lines on <var_vis:CodeWriter>*/;
2407 var334
= ((val
* (*)(val
*))(var333
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var333
) /* iterator on <var333:List[String]>*/;
2409 var335
= ((short int (*)(val
*))(var334
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var334
) /* is_ok on <var334:Iterator[nullable Object]>*/;
2411 var336
= ((val
* (*)(val
*))(var334
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var334
) /* item on <var334:Iterator[nullable Object]>*/;
2413 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l337
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2415 var339
= varonce338
;
2419 var342
= string__NativeString__to_s_with_length(var340
, var341
);
2421 varonce338
= var339
;
2423 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var339
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2424 CONTINUE_label343
: (void)0;
2425 ((void (*)(val
*))(var334
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var334
) /* next on <var334:Iterator[nullable Object]>*/;
2427 BREAK_label343
: (void)0;
2428 var344
= ((val
* (*)(val
*))(var_vis
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(var_vis
) /* lines on <var_vis:CodeWriter>*/;
2429 var345
= ((val
* (*)(val
*))(var344
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var344
) /* iterator on <var344:List[String]>*/;
2431 var346
= ((short int (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var345
) /* is_ok on <var345:Iterator[nullable Object]>*/;
2433 var347
= ((val
* (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var345
) /* item on <var345:Iterator[nullable Object]>*/;
2435 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var_l348
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2437 var350
= varonce349
;
2441 var353
= string__NativeString__to_s_with_length(var351
, var352
);
2443 varonce349
= var350
;
2445 ((void (*)(val
*, val
*))(var_file
->class->vft
[COLOR_stream__OStream__write
]))(var_file
, var350
) /* write on <var_file:nullable OFStream(OFStream)>*/;
2446 CONTINUE_label354
: (void)0;
2447 ((void (*)(val
*))(var345
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var345
) /* next on <var345:Iterator[nullable Object]>*/;
2449 BREAK_label354
: (void)0;
2450 CONTINUE_label236
: (void)0;
2451 ((void (*)(val
*))(var231
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var231
) /* next on <var231:Iterator[nullable Object]>*/;
2453 BREAK_label236
: (void)0;
2455 if (var_file
== NULL
) {
2456 var356
= 0; /* is null */
2458 var356
= 1; /* arg is null and recv is not */
2461 ((void (*)(val
*))(var_file
->class->vft
[COLOR_stream__IOS__close
]))(var_file
) /* close on <var_file:nullable OFStream(OFStream)>*/;
2464 CONTINUE_label357
: (void)0;
2465 ((void (*)(val
*))(var137
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var137
) /* next on <var137:Iterator[nullable Object]>*/;
2467 BREAK_label357
: (void)0;
2468 var358
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
2470 var360
= varonce359
;
2472 var361
= "Total C source files to compile: ";
2474 var363
= string__NativeString__to_s_with_length(var361
, var362
);
2476 varonce359
= var360
;
2478 var364
= ((long (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_cfiles
) /* length on <var_cfiles:Array[String]>*/;
2479 var365
= NEW_array__Array(&type_array__Arraykernel__Object
);
2480 { /* var365 = array_instance Array[Object] */
2482 var367
= NEW_array__NativeArray(var366
, &type_array__NativeArraykernel__Object
);
2483 ((struct instance_array__NativeArray
*)var367
)->values
[0] = (val
*) var360
;
2484 var368
= BOX_kernel__Int(var364
); /* autobox from Int to Object */
2485 ((struct instance_array__NativeArray
*)var367
)->values
[1] = (val
*) var368
;
2486 ((void (*)(val
*, val
*, long))(var365
->class->vft
[COLOR_array__Array__with_native
]))(var365
, var367
, var366
) /* with_native on <var365:Array[Object]>*/;
2488 var369
= ((val
* (*)(val
*))(var365
->class->vft
[COLOR_string__Object__to_s
]))(var365
) /* to_s on <var365:Array[Object]>*/;
2490 ((void (*)(val
*, val
*, long))(var358
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var358
, var369
, var370
) /* info on <var358:ToolContext>*/;
2493 /* method abstract_compiler#MakefileToolchain#write_files for (self: Object, AbstractCompiler, String, Array[String]) */
2494 void VIRTUAL_abstract_compiler__MakefileToolchain__write_files(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2495 abstract_compiler__MakefileToolchain__write_files(self
, p0
, p1
, p2
);
2498 /* method abstract_compiler#MakefileToolchain#write_makefile for (self: MakefileToolchain, AbstractCompiler, String, Array[String]) */
2499 void abstract_compiler__MakefileToolchain__write_makefile(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
2500 val
* var_compiler
/* var compiler: AbstractCompiler */;
2501 val
* var_compile_dir
/* var compile_dir: String */;
2502 val
* var_cfiles
/* var cfiles: Array[String] */;
2503 val
* var
/* : MModule */;
2504 val
* var_mainmodule
/* var mainmodule: MModule */;
2505 val
* var1
/* : ToolContext */;
2506 val
* var2
/* : OptionString */;
2507 val
* var3
/* : nullable Object */;
2508 val
* var_outname
/* var outname: nullable String */;
2509 val
* var4
/* : null */;
2510 short int var5
/* : Bool */;
2511 val
* var6
/* : Array[Object] */;
2512 long var7
/* : Int */;
2513 val
* var_
/* var : Array[Object] */;
2514 static val
* varonce
;
2515 val
* var8
/* : String */;
2516 char* var9
/* : NativeString */;
2517 long var10
/* : Int */;
2518 val
* var11
/* : String */;
2519 val
* var12
/* : String */;
2520 static val
* varonce13
;
2521 val
* var14
/* : String */;
2522 char* var15
/* : NativeString */;
2523 long var16
/* : Int */;
2524 val
* var17
/* : String */;
2525 val
* var18
/* : String */;
2526 static val
* varonce19
;
2527 val
* var20
/* : String */;
2528 char* var21
/* : NativeString */;
2529 long var22
/* : Int */;
2530 val
* var23
/* : String */;
2531 val
* var_orig_dir
/* var orig_dir: String */;
2532 val
* var24
/* : String */;
2533 val
* var25
/* : String */;
2534 val
* var_outpath
/* var outpath: String */;
2535 val
* var26
/* : Array[Object] */;
2536 long var27
/* : Int */;
2537 val
* var_28
/* var : Array[Object] */;
2538 static val
* varonce29
;
2539 val
* var30
/* : String */;
2540 char* var31
/* : NativeString */;
2541 long var32
/* : Int */;
2542 val
* var33
/* : String */;
2543 val
* var34
/* : String */;
2544 static val
* varonce35
;
2545 val
* var36
/* : String */;
2546 char* var37
/* : NativeString */;
2547 long var38
/* : Int */;
2548 val
* var39
/* : String */;
2549 val
* var40
/* : String */;
2550 val
* var_makename
/* var makename: String */;
2551 val
* var41
/* : Array[Object] */;
2552 long var42
/* : Int */;
2553 val
* var_43
/* var : Array[Object] */;
2554 static val
* varonce44
;
2555 val
* var45
/* : String */;
2556 char* var46
/* : NativeString */;
2557 long var47
/* : Int */;
2558 val
* var48
/* : String */;
2559 static val
* varonce49
;
2560 val
* var50
/* : String */;
2561 char* var51
/* : NativeString */;
2562 long var52
/* : Int */;
2563 val
* var53
/* : String */;
2564 static val
* varonce54
;
2565 val
* var55
/* : String */;
2566 char* var56
/* : NativeString */;
2567 long var57
/* : Int */;
2568 val
* var58
/* : String */;
2569 val
* var59
/* : String */;
2570 val
* var_makepath
/* var makepath: String */;
2571 val
* var60
/* : OFStream */;
2572 val
* var_makefile
/* var makefile: OFStream */;
2573 static val
* varonce61
;
2574 val
* var62
/* : String */;
2575 char* var63
/* : NativeString */;
2576 long var64
/* : Int */;
2577 val
* var65
/* : String */;
2578 val
* var_cc_includes
/* var cc_includes: String */;
2579 val
* var66
/* : Array[String] */;
2580 val
* var67
/* : Iterator[nullable Object] */;
2581 short int var68
/* : Bool */;
2582 val
* var69
/* : nullable Object */;
2583 val
* var_p
/* var p: String */;
2584 static val
* varonce70
;
2585 val
* var71
/* : String */;
2586 char* var72
/* : NativeString */;
2587 long var73
/* : Int */;
2588 val
* var74
/* : String */;
2589 val
* var75
/* : String */;
2590 static val
* varonce76
;
2591 val
* var77
/* : String */;
2592 char* var78
/* : NativeString */;
2593 long var79
/* : Int */;
2594 val
* var80
/* : String */;
2595 val
* var81
/* : String */;
2596 val
* var82
/* : String */;
2597 val
* var83
/* : HashSet[String] */;
2598 val
* var_linker_options
/* var linker_options: HashSet[String] */;
2599 val
* var84
/* : ToolContext */;
2600 val
* var85
/* : ModelBuilder */;
2601 val
* var86
/* : HashMap[MModule, AModule] */;
2602 val
* var_m2m
/* var m2m: HashMap[MModule, AModule] */;
2603 val
* var87
/* : POSetElement[MModule] */;
2604 val
* var88
/* : Collection[Object] */;
2605 val
* var89
/* : Iterator[nullable Object] */;
2606 short int var90
/* : Bool */;
2607 val
* var91
/* : nullable Object */;
2608 val
* var_m
/* var m: MModule */;
2609 val
* var92
/* : Collection[Object] */;
2610 short int var93
/* : Bool */;
2611 val
* var94
/* : nullable Object */;
2612 val
* var_amod
/* var amod: AModule */;
2613 val
* var95
/* : String */;
2614 val
* var97
/* : ToolContext */;
2615 val
* var98
/* : OptionBool */;
2616 val
* var99
/* : nullable Object */;
2617 short int var100
/* : Bool */;
2618 short int var101
/* : Bool */;
2619 static val
* varonce102
;
2620 val
* var103
/* : String */;
2621 char* var104
/* : NativeString */;
2622 long var105
/* : Int */;
2623 val
* var106
/* : String */;
2624 static val
* varonce107
;
2625 val
* var108
/* : String */;
2626 char* var109
/* : NativeString */;
2627 long var110
/* : Int */;
2628 val
* var111
/* : String */;
2629 static val
* varonce112
;
2630 val
* var113
/* : String */;
2631 char* var114
/* : NativeString */;
2632 long var115
/* : Int */;
2633 val
* var116
/* : String */;
2634 static val
* varonce117
;
2635 val
* var118
/* : String */;
2636 char* var119
/* : NativeString */;
2637 long var120
/* : Int */;
2638 val
* var121
/* : String */;
2639 val
* var122
/* : String */;
2640 static val
* varonce123
;
2641 val
* var124
/* : String */;
2642 char* var125
/* : NativeString */;
2643 long var126
/* : Int */;
2644 val
* var127
/* : String */;
2645 val
* var128
/* : Array[Object] */;
2646 long var129
/* : Int */;
2647 val
* var130
/* : NativeArray[Object] */;
2648 val
* var131
/* : String */;
2649 static val
* varonce132
;
2650 val
* var133
/* : String */;
2651 char* var134
/* : NativeString */;
2652 long var135
/* : Int */;
2653 val
* var136
/* : String */;
2654 static val
* varonce137
;
2655 val
* var138
/* : String */;
2656 char* var139
/* : NativeString */;
2657 long var140
/* : Int */;
2658 val
* var141
/* : String */;
2659 val
* var142
/* : Array[Object] */;
2660 long var143
/* : Int */;
2661 val
* var144
/* : NativeArray[Object] */;
2662 val
* var145
/* : String */;
2663 val
* var146
/* : Array[String] */;
2664 val
* var_ofiles
/* var ofiles: Array[String] */;
2665 val
* var147
/* : Array[String] */;
2666 val
* var_dep_rules
/* var dep_rules: Array[String] */;
2667 val
* var148
/* : Iterator[nullable Object] */;
2668 short int var149
/* : Bool */;
2669 val
* var150
/* : nullable Object */;
2670 val
* var_f
/* var f: String */;
2671 static val
* varonce151
;
2672 val
* var152
/* : String */;
2673 char* var153
/* : NativeString */;
2674 long var154
/* : Int */;
2675 val
* var155
/* : String */;
2676 val
* var156
/* : String */;
2677 static val
* varonce157
;
2678 val
* var158
/* : String */;
2679 char* var159
/* : NativeString */;
2680 long var160
/* : Int */;
2681 val
* var161
/* : String */;
2682 val
* var162
/* : String */;
2683 val
* var_o
/* var o: String */;
2684 static val
* varonce163
;
2685 val
* var164
/* : String */;
2686 char* var165
/* : NativeString */;
2687 long var166
/* : Int */;
2688 val
* var167
/* : String */;
2689 static val
* varonce168
;
2690 val
* var169
/* : String */;
2691 char* var170
/* : NativeString */;
2692 long var171
/* : Int */;
2693 val
* var172
/* : String */;
2694 static val
* varonce173
;
2695 val
* var174
/* : String */;
2696 char* var175
/* : NativeString */;
2697 long var176
/* : Int */;
2698 val
* var177
/* : String */;
2699 static val
* varonce178
;
2700 val
* var179
/* : String */;
2701 char* var180
/* : NativeString */;
2702 long var181
/* : Int */;
2703 val
* var182
/* : String */;
2704 val
* var183
/* : Array[Object] */;
2705 long var184
/* : Int */;
2706 val
* var185
/* : NativeArray[Object] */;
2707 val
* var186
/* : String */;
2708 val
* var188
/* : Array[ExternFile] */;
2709 val
* var189
/* : Iterator[nullable Object] */;
2710 short int var190
/* : Bool */;
2711 val
* var191
/* : nullable Object */;
2712 val
* var_f192
/* var f: ExternFile */;
2713 short int var193
/* : Bool */;
2716 val
* var194
/* : String */;
2717 static val
* varonce195
;
2718 val
* var196
/* : String */;
2719 char* var197
/* : NativeString */;
2720 long var198
/* : Int */;
2721 val
* var199
/* : String */;
2722 val
* var200
/* : String */;
2723 val
* var_basename
/* var basename: String */;
2724 val
* var201
/* : Array[Object] */;
2725 long var202
/* : Int */;
2726 val
* var_203
/* var : Array[Object] */;
2727 static val
* varonce204
;
2728 val
* var205
/* : String */;
2729 char* var206
/* : NativeString */;
2730 long var207
/* : Int */;
2731 val
* var208
/* : String */;
2732 static val
* varonce209
;
2733 val
* var210
/* : String */;
2734 char* var211
/* : NativeString */;
2735 long var212
/* : Int */;
2736 val
* var213
/* : String */;
2737 val
* var214
/* : String */;
2738 val
* var_o215
/* var o: String */;
2739 val
* var216
/* : String */;
2740 static val
* varonce217
;
2741 val
* var218
/* : String */;
2742 char* var219
/* : NativeString */;
2743 long var220
/* : Int */;
2744 val
* var221
/* : String */;
2745 val
* var222
/* : String */;
2746 val
* var_ff
/* var ff: String */;
2747 static val
* varonce223
;
2748 val
* var224
/* : String */;
2749 char* var225
/* : NativeString */;
2750 long var226
/* : Int */;
2751 val
* var227
/* : String */;
2752 static val
* varonce228
;
2753 val
* var229
/* : String */;
2754 char* var230
/* : NativeString */;
2755 long var231
/* : Int */;
2756 val
* var232
/* : String */;
2757 val
* var233
/* : String */;
2758 static val
* varonce234
;
2759 val
* var235
/* : String */;
2760 char* var236
/* : NativeString */;
2761 long var237
/* : Int */;
2762 val
* var238
/* : String */;
2763 static val
* varonce239
;
2764 val
* var240
/* : String */;
2765 char* var241
/* : NativeString */;
2766 long var242
/* : Int */;
2767 val
* var243
/* : String */;
2768 static val
* varonce244
;
2769 val
* var245
/* : String */;
2770 char* var246
/* : NativeString */;
2771 long var247
/* : Int */;
2772 val
* var248
/* : String */;
2773 val
* var249
/* : Array[Object] */;
2774 long var250
/* : Int */;
2775 val
* var251
/* : NativeArray[Object] */;
2776 val
* var252
/* : String */;
2777 val
* var253
/* : String */;
2778 val
* var_o254
/* var o: String */;
2779 val
* var255
/* : String */;
2780 static val
* varonce256
;
2781 val
* var257
/* : String */;
2782 char* var258
/* : NativeString */;
2783 long var259
/* : Int */;
2784 val
* var260
/* : String */;
2785 val
* var261
/* : String */;
2786 val
* var_ff262
/* var ff: String */;
2787 static val
* varonce263
;
2788 val
* var264
/* : String */;
2789 char* var265
/* : NativeString */;
2790 long var266
/* : Int */;
2791 val
* var267
/* : String */;
2792 static val
* varonce268
;
2793 val
* var269
/* : String */;
2794 char* var270
/* : NativeString */;
2795 long var271
/* : Int */;
2796 val
* var272
/* : String */;
2797 val
* var273
/* : Array[Object] */;
2798 long var274
/* : Int */;
2799 val
* var275
/* : NativeArray[Object] */;
2800 val
* var276
/* : String */;
2801 static val
* varonce277
;
2802 val
* var278
/* : String */;
2803 char* var279
/* : NativeString */;
2804 long var280
/* : Int */;
2805 val
* var281
/* : String */;
2806 val
* var282
/* : String */;
2807 static val
* varonce283
;
2808 val
* var284
/* : String */;
2809 char* var285
/* : NativeString */;
2810 long var286
/* : Int */;
2811 val
* var287
/* : String */;
2812 val
* var288
/* : Array[Object] */;
2813 long var289
/* : Int */;
2814 val
* var290
/* : NativeArray[Object] */;
2815 val
* var291
/* : String */;
2816 val
* var292
/* : String */;
2817 short int var293
/* : Bool */;
2820 static val
* varonce297
;
2821 val
* var298
/* : String */;
2822 char* var299
/* : NativeString */;
2823 long var300
/* : Int */;
2824 val
* var301
/* : String */;
2825 static val
* varonce302
;
2826 val
* var303
/* : String */;
2827 char* var304
/* : NativeString */;
2828 long var305
/* : Int */;
2829 val
* var306
/* : String */;
2830 val
* var307
/* : String */;
2831 static val
* varonce308
;
2832 val
* var309
/* : String */;
2833 char* var310
/* : NativeString */;
2834 long var311
/* : Int */;
2835 val
* var312
/* : String */;
2836 static val
* varonce313
;
2837 val
* var314
/* : String */;
2838 char* var315
/* : NativeString */;
2839 long var316
/* : Int */;
2840 val
* var317
/* : String */;
2841 static val
* varonce318
;
2842 val
* var319
/* : String */;
2843 char* var320
/* : NativeString */;
2844 long var321
/* : Int */;
2845 val
* var322
/* : String */;
2846 val
* var323
/* : String */;
2847 static val
* varonce324
;
2848 val
* var325
/* : String */;
2849 char* var326
/* : NativeString */;
2850 long var327
/* : Int */;
2851 val
* var328
/* : String */;
2852 val
* var329
/* : Array[Object] */;
2853 long var330
/* : Int */;
2854 val
* var331
/* : NativeArray[Object] */;
2855 val
* var332
/* : String */;
2856 static val
* varonce333
;
2857 val
* var334
/* : String */;
2858 char* var335
/* : NativeString */;
2859 long var336
/* : Int */;
2860 val
* var337
/* : String */;
2861 static val
* varonce338
;
2862 val
* var339
/* : String */;
2863 char* var340
/* : NativeString */;
2864 long var341
/* : Int */;
2865 val
* var342
/* : String */;
2866 val
* var343
/* : String */;
2867 static val
* varonce344
;
2868 val
* var345
/* : String */;
2869 char* var346
/* : NativeString */;
2870 long var347
/* : Int */;
2871 val
* var348
/* : String */;
2872 val
* var349
/* : Array[Object] */;
2873 long var350
/* : Int */;
2874 val
* var351
/* : NativeArray[Object] */;
2875 val
* var352
/* : String */;
2876 val
* var353
/* : ToolContext */;
2877 static val
* varonce354
;
2878 val
* var355
/* : String */;
2879 char* var356
/* : NativeString */;
2880 long var357
/* : Int */;
2881 val
* var358
/* : String */;
2882 val
* var359
/* : Array[Object] */;
2883 long var360
/* : Int */;
2884 val
* var361
/* : NativeArray[Object] */;
2885 val
* var362
/* : String */;
2886 long var363
/* : Int */;
2888 var_compile_dir
= p1
;
2890 var
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
2891 var_mainmodule
= var
;
2892 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
2893 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_output
]))(var1
) /* opt_output on <var1:ToolContext>*/;
2894 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionString>*/;
2897 if (var_outname
== NULL
) {
2898 var5
= 1; /* is null */
2900 var5
= 0; /* arg is null but recv is not */
2903 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
2905 ((void (*)(val
*, long))(var6
->class->vft
[COLOR_array__Array__with_capacity
]))(var6
, var7
) /* with_capacity on <var6:Array[Object]>*/;
2912 var11
= string__NativeString__to_s_with_length(var9
, var10
);
2916 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var8
) /* add on <var_:Array[Object]>*/;
2917 var12
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
2918 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var12
) /* add on <var_:Array[Object]>*/;
2924 var17
= string__NativeString__to_s_with_length(var15
, var16
);
2928 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var14
) /* add on <var_:Array[Object]>*/;
2929 var18
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
2930 var_outname
= var18
;
2938 var23
= string__NativeString__to_s_with_length(var21
, var22
);
2942 var_orig_dir
= var20
;
2943 var24
= ((val
* (*)(val
*, val
*))(var_orig_dir
->class->vft
[COLOR_file__String__join_path
]))(var_orig_dir
, var_outname
) /* join_path on <var_orig_dir:String>*/;
2944 var25
= ((val
* (*)(val
*))(var24
->class->vft
[COLOR_file__String__simplify_path
]))(var24
) /* simplify_path on <var24:String>*/;
2945 var_outpath
= var25
;
2946 var26
= NEW_array__Array(&type_array__Arraykernel__Object
);
2948 ((void (*)(val
*, long))(var26
->class->vft
[COLOR_array__Array__with_capacity
]))(var26
, var27
) /* with_capacity on <var26:Array[Object]>*/;
2955 var33
= string__NativeString__to_s_with_length(var31
, var32
);
2959 ((void (*)(val
*, val
*))(var_28
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_28
, var30
) /* add on <var_28:Array[Object]>*/;
2960 var34
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__name
]))(var_mainmodule
) /* name on <var_mainmodule:MModule>*/;
2961 ((void (*)(val
*, val
*))(var_28
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_28
, var34
) /* add on <var_28:Array[Object]>*/;
2967 var39
= string__NativeString__to_s_with_length(var37
, var38
);
2971 ((void (*)(val
*, val
*))(var_28
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_28
, var36
) /* add on <var_28:Array[Object]>*/;
2972 var40
= ((val
* (*)(val
*))(var_28
->class->vft
[COLOR_string__Object__to_s
]))(var_28
) /* to_s on <var_28:Array[Object]>*/;
2973 var_makename
= var40
;
2974 var41
= NEW_array__Array(&type_array__Arraykernel__Object
);
2976 ((void (*)(val
*, long))(var41
->class->vft
[COLOR_array__Array__with_capacity
]))(var41
, var42
) /* with_capacity on <var41:Array[Object]>*/;
2983 var48
= string__NativeString__to_s_with_length(var46
, var47
);
2987 ((void (*)(val
*, val
*))(var_43
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_43
, var45
) /* add on <var_43:Array[Object]>*/;
2988 ((void (*)(val
*, val
*))(var_43
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_43
, var_compile_dir
) /* add on <var_43:Array[Object]>*/;
2994 var53
= string__NativeString__to_s_with_length(var51
, var52
);
2998 ((void (*)(val
*, val
*))(var_43
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_43
, var50
) /* add on <var_43:Array[Object]>*/;
2999 ((void (*)(val
*, val
*))(var_43
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_43
, var_makename
) /* add on <var_43:Array[Object]>*/;
3005 var58
= string__NativeString__to_s_with_length(var56
, var57
);
3009 ((void (*)(val
*, val
*))(var_43
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_43
, var55
) /* add on <var_43:Array[Object]>*/;
3010 var59
= ((val
* (*)(val
*))(var_43
->class->vft
[COLOR_string__Object__to_s
]))(var_43
) /* to_s on <var_43:Array[Object]>*/;
3011 var_makepath
= var59
;
3012 var60
= NEW_file__OFStream(&type_file__OFStream
);
3013 ((void (*)(val
*, val
*))(var60
->class->vft
[COLOR_file__OFStream__open
]))(var60
, var_makepath
) /* open on <var60:OFStream>*/;
3014 var_makefile
= var60
;
3020 var65
= string__NativeString__to_s_with_length(var63
, var64
);
3024 var_cc_includes
= var62
;
3025 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__MakefileToolchain__cc_paths
]))(self
) /* cc_paths on <self:MakefileToolchain>*/;
3026 var67
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Array[String]>*/;
3028 var68
= ((short int (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var67
) /* is_ok on <var67:Iterator[nullable Object]>*/;
3030 var69
= ((val
* (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var67
) /* item on <var67:Iterator[nullable Object]>*/;
3037 var74
= string__NativeString__to_s_with_length(var72
, var73
);
3041 var75
= ((val
* (*)(val
*, val
*))(var71
->class->vft
[COLOR_string__String___43d
]))(var71
, var_p
) /* + on <var71:String>*/;
3047 var80
= string__NativeString__to_s_with_length(var78
, var79
);
3051 var81
= ((val
* (*)(val
*, val
*))(var75
->class->vft
[COLOR_string__String___43d
]))(var75
, var77
) /* + on <var75:String>*/;
3052 var82
= ((val
* (*)(val
*, val
*))(var_cc_includes
->class->vft
[COLOR_string__String___43d
]))(var_cc_includes
, var81
) /* + on <var_cc_includes:String>*/;
3053 var_cc_includes
= var82
;
3054 CONTINUE_label
: (void)0;
3055 ((void (*)(val
*))(var67
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var67
) /* next on <var67:Iterator[nullable Object]>*/;
3057 BREAK_label
: (void)0;
3058 var83
= NEW_hash_collection__HashSet(&type_hash_collection__HashSetstring__String
);
3059 ((void (*)(val
*))(var83
->class->vft
[COLOR_hash_collection__HashSet__init
]))(var83
) /* init on <var83:HashSet[String]>*/;
3060 var_linker_options
= var83
;
3061 var84
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3062 var85
= ((val
* (*)(val
*))(var84
->class->vft
[COLOR_modelbuilder__ToolContext__modelbuilder
]))(var84
) /* modelbuilder on <var84:ToolContext>*/;
3063 var86
= ((val
* (*)(val
*))(var85
->class->vft
[COLOR_modelbuilder__ModelBuilder__mmodule2nmodule
]))(var85
) /* mmodule2nmodule on <var85:ModelBuilder>*/;
3065 var87
= ((val
* (*)(val
*))(var_mainmodule
->class->vft
[COLOR_mmodule__MModule__in_importation
]))(var_mainmodule
) /* in_importation on <var_mainmodule:MModule>*/;
3066 var88
= ((val
* (*)(val
*))(var87
->class->vft
[COLOR_poset__POSetElement__greaters
]))(var87
) /* greaters on <var87:POSetElement[MModule]>*/;
3067 var89
= ((val
* (*)(val
*))(var88
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var88
) /* iterator on <var88:Collection[Object](Collection[MModule])>*/;
3069 var90
= ((short int (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var89
) /* is_ok on <var89:Iterator[nullable Object]>*/;
3071 var91
= ((val
* (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var89
) /* item on <var89:Iterator[nullable Object]>*/;
3073 var92
= ((val
* (*)(val
*))(var_m2m
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var_m2m
) /* keys on <var_m2m:HashMap[MModule, AModule]>*/;
3074 var93
= ((short int (*)(val
*, val
*))(var92
->class->vft
[COLOR_abstract_collection__Collection__has
]))(var92
, var_m
) /* has on <var92:Collection[Object](HashMapKeys[MModule, AModule])>*/;
3076 var94
= ((val
* (*)(val
*, val
*))(var_m2m
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_m2m
, var_m
) /* [] on <var_m2m:HashMap[MModule, AModule]>*/;
3078 var95
= ((val
* (*)(val
*))(var_amod
->class->vft
[COLOR_c__AModule__c_linker_options
]))(var_amod
) /* c_linker_options on <var_amod:AModule>*/;
3079 ((void (*)(val
*, val
*))(var_linker_options
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_linker_options
, var95
) /* add on <var_linker_options:HashSet[String]>*/;
3082 CONTINUE_label96
: (void)0;
3083 ((void (*)(val
*))(var89
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var89
) /* next on <var89:Iterator[nullable Object]>*/;
3085 BREAK_label96
: (void)0;
3086 var97
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3087 var98
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var97
) /* opt_no_stacktrace on <var97:ToolContext>*/;
3088 var99
= ((val
* (*)(val
*))(var98
->class->vft
[COLOR_opts__Option__value
]))(var98
) /* value on <var98:OptionBool>*/;
3089 var100
= ((struct instance_kernel__Bool
*)var99
)->value
; /* autounbox from nullable Object to Bool */;
3093 var103
= varonce102
;
3095 var104
= "-lunwind";
3097 var106
= string__NativeString__to_s_with_length(var104
, var105
);
3099 varonce102
= var103
;
3101 ((void (*)(val
*, val
*))(var_linker_options
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_linker_options
, var103
) /* add on <var_linker_options:HashSet[String]>*/;
3105 var108
= varonce107
;
3107 var109
= "CC = ccache cc\nCFLAGS = -g -O2\nCINCL = ";
3109 var111
= string__NativeString__to_s_with_length(var109
, var110
);
3111 varonce107
= var108
;
3114 var113
= varonce112
;
3116 var114
= "\nLDFLAGS ?= \nLDLIBS ?= -lm -lgc ";
3118 var116
= string__NativeString__to_s_with_length(var114
, var115
);
3120 varonce112
= var113
;
3123 var118
= varonce117
;
3127 var121
= string__NativeString__to_s_with_length(var119
, var120
);
3129 varonce117
= var118
;
3131 var122
= ((val
* (*)(val
*, val
*))(var_linker_options
->class->vft
[COLOR_string__Collection__join
]))(var_linker_options
, var118
) /* join on <var_linker_options:HashSet[String]>*/;
3133 var124
= varonce123
;
3137 var127
= string__NativeString__to_s_with_length(var125
, var126
);
3139 varonce123
= var124
;
3141 var128
= NEW_array__Array(&type_array__Arraykernel__Object
);
3142 { /* var128 = array_instance Array[Object] */
3144 var130
= NEW_array__NativeArray(var129
, &type_array__NativeArraykernel__Object
);
3145 ((struct instance_array__NativeArray
*)var130
)->values
[0] = (val
*) var108
;
3146 ((struct instance_array__NativeArray
*)var130
)->values
[1] = (val
*) var_cc_includes
;
3147 ((struct instance_array__NativeArray
*)var130
)->values
[2] = (val
*) var113
;
3148 ((struct instance_array__NativeArray
*)var130
)->values
[3] = (val
*) var122
;
3149 ((struct instance_array__NativeArray
*)var130
)->values
[4] = (val
*) var124
;
3150 ((void (*)(val
*, val
*, long))(var128
->class->vft
[COLOR_array__Array__with_native
]))(var128
, var130
, var129
) /* with_native on <var128:Array[Object]>*/;
3152 var131
= ((val
* (*)(val
*))(var128
->class->vft
[COLOR_string__Object__to_s
]))(var128
) /* to_s on <var128:Array[Object]>*/;
3153 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var131
) /* write on <var_makefile:OFStream>*/;
3155 var133
= varonce132
;
3159 var136
= string__NativeString__to_s_with_length(var134
, var135
);
3161 varonce132
= var133
;
3164 var138
= varonce137
;
3168 var141
= string__NativeString__to_s_with_length(var139
, var140
);
3170 varonce137
= var138
;
3172 var142
= NEW_array__Array(&type_array__Arraykernel__Object
);
3173 { /* var142 = array_instance Array[Object] */
3175 var144
= NEW_array__NativeArray(var143
, &type_array__NativeArraykernel__Object
);
3176 ((struct instance_array__NativeArray
*)var144
)->values
[0] = (val
*) var133
;
3177 ((struct instance_array__NativeArray
*)var144
)->values
[1] = (val
*) var_outpath
;
3178 ((struct instance_array__NativeArray
*)var144
)->values
[2] = (val
*) var138
;
3179 ((void (*)(val
*, val
*, long))(var142
->class->vft
[COLOR_array__Array__with_native
]))(var142
, var144
, var143
) /* with_native on <var142:Array[Object]>*/;
3181 var145
= ((val
* (*)(val
*))(var142
->class->vft
[COLOR_string__Object__to_s
]))(var142
) /* to_s on <var142:Array[Object]>*/;
3182 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var145
) /* write on <var_makefile:OFStream>*/;
3183 var146
= NEW_array__Array(&type_array__Arraystring__String
);
3184 ((void (*)(val
*))(var146
->class->vft
[COLOR_array__Array__init
]))(var146
) /* init on <var146:Array[String]>*/;
3185 var_ofiles
= var146
;
3186 var147
= NEW_array__Array(&type_array__Arraystring__String
);
3187 ((void (*)(val
*))(var147
->class->vft
[COLOR_array__Array__init
]))(var147
) /* init on <var147:Array[String]>*/;
3188 var_dep_rules
= var147
;
3189 var148
= ((val
* (*)(val
*))(var_cfiles
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cfiles
) /* iterator on <var_cfiles:Array[String]>*/;
3191 var149
= ((short int (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var148
) /* is_ok on <var148:Iterator[nullable Object]>*/;
3193 var150
= ((val
* (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var148
) /* item on <var148:Iterator[nullable Object]>*/;
3196 var152
= varonce151
;
3200 var155
= string__NativeString__to_s_with_length(var153
, var154
);
3202 varonce151
= var152
;
3204 var156
= ((val
* (*)(val
*, val
*))(var_f
->class->vft
[COLOR_file__String__strip_extension
]))(var_f
, var152
) /* strip_extension on <var_f:String>*/;
3206 var158
= varonce157
;
3210 var161
= string__NativeString__to_s_with_length(var159
, var160
);
3212 varonce157
= var158
;
3214 var162
= ((val
* (*)(val
*, val
*))(var156
->class->vft
[COLOR_string__String___43d
]))(var156
, var158
) /* + on <var156:String>*/;
3217 var164
= varonce163
;
3221 var167
= string__NativeString__to_s_with_length(var165
, var166
);
3223 varonce163
= var164
;
3226 var169
= varonce168
;
3228 var170
= "\n\11$(CC) $(CFLAGS) $(CINCL) -D NONITCNI -c -o ";
3230 var172
= string__NativeString__to_s_with_length(var170
, var171
);
3232 varonce168
= var169
;
3235 var174
= varonce173
;
3239 var177
= string__NativeString__to_s_with_length(var175
, var176
);
3241 varonce173
= var174
;
3244 var179
= varonce178
;
3248 var182
= string__NativeString__to_s_with_length(var180
, var181
);
3250 varonce178
= var179
;
3252 var183
= NEW_array__Array(&type_array__Arraykernel__Object
);
3253 { /* var183 = array_instance Array[Object] */
3255 var185
= NEW_array__NativeArray(var184
, &type_array__NativeArraykernel__Object
);
3256 ((struct instance_array__NativeArray
*)var185
)->values
[0] = (val
*) var_o
;
3257 ((struct instance_array__NativeArray
*)var185
)->values
[1] = (val
*) var164
;
3258 ((struct instance_array__NativeArray
*)var185
)->values
[2] = (val
*) var_f
;
3259 ((struct instance_array__NativeArray
*)var185
)->values
[3] = (val
*) var169
;
3260 ((struct instance_array__NativeArray
*)var185
)->values
[4] = (val
*) var_o
;
3261 ((struct instance_array__NativeArray
*)var185
)->values
[5] = (val
*) var174
;
3262 ((struct instance_array__NativeArray
*)var185
)->values
[6] = (val
*) var_f
;
3263 ((struct instance_array__NativeArray
*)var185
)->values
[7] = (val
*) var179
;
3264 ((void (*)(val
*, val
*, long))(var183
->class->vft
[COLOR_array__Array__with_native
]))(var183
, var185
, var184
) /* with_native on <var183:Array[Object]>*/;
3266 var186
= ((val
* (*)(val
*))(var183
->class->vft
[COLOR_string__Object__to_s
]))(var183
) /* to_s on <var183:Array[Object]>*/;
3267 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var186
) /* write on <var_makefile:OFStream>*/;
3268 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o
) /* add on <var_ofiles:Array[String]>*/;
3269 ((void (*)(val
*, val
*))(var_dep_rules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_dep_rules
, var_o
) /* add on <var_dep_rules:Array[String]>*/;
3270 CONTINUE_label187
: (void)0;
3271 ((void (*)(val
*))(var148
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var148
) /* next on <var148:Iterator[nullable Object]>*/;
3273 BREAK_label187
: (void)0;
3274 var188
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(var_compiler
) /* extern_bodies on <var_compiler:AbstractCompiler>*/;
3275 var189
= ((val
* (*)(val
*))(var188
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var188
) /* iterator on <var188:Array[ExternFile]>*/;
3277 var190
= ((short int (*)(val
*))(var189
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var189
) /* is_ok on <var189:Iterator[nullable Object]>*/;
3279 var191
= ((val
* (*)(val
*))(var189
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var189
) /* item on <var189:Iterator[nullable Object]>*/;
3281 /* <var_f192:ExternFile> isa ExternCFile */
3282 cltype
= type_c__ExternCFile
.color
;
3283 idtype
= type_c__ExternCFile
.id
;
3284 if(cltype
>= var_f192
->type
->table_size
) {
3287 var193
= var_f192
->type
->type_table
[cltype
] == idtype
;
3290 var194
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(var_f192
) /* filename on <var_f192:ExternFile(ExternCFile)>*/;
3292 var196
= varonce195
;
3296 var199
= string__NativeString__to_s_with_length(var197
, var198
);
3298 varonce195
= var196
;
3300 var200
= ((val
* (*)(val
*, val
*))(var194
->class->vft
[COLOR_file__String__basename
]))(var194
, var196
) /* basename on <var194:String>*/;
3301 var_basename
= var200
;
3302 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
3304 ((void (*)(val
*, long))(var201
->class->vft
[COLOR_array__Array__with_capacity
]))(var201
, var202
) /* with_capacity on <var201:Array[Object]>*/;
3307 var205
= varonce204
;
3311 var208
= string__NativeString__to_s_with_length(var206
, var207
);
3313 varonce204
= var205
;
3315 ((void (*)(val
*, val
*))(var_203
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_203
, var205
) /* add on <var_203:Array[Object]>*/;
3316 ((void (*)(val
*, val
*))(var_203
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_203
, var_basename
) /* add on <var_203:Array[Object]>*/;
3318 var210
= varonce209
;
3320 var211
= ".extern.o";
3322 var213
= string__NativeString__to_s_with_length(var211
, var212
);
3324 varonce209
= var210
;
3326 ((void (*)(val
*, val
*))(var_203
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_203
, var210
) /* add on <var_203:Array[Object]>*/;
3327 var214
= ((val
* (*)(val
*))(var_203
->class->vft
[COLOR_string__Object__to_s
]))(var_203
) /* to_s on <var_203:Array[Object]>*/;
3329 var216
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(var_f192
) /* filename on <var_f192:ExternFile(ExternCFile)>*/;
3331 var218
= varonce217
;
3335 var221
= string__NativeString__to_s_with_length(var219
, var220
);
3337 varonce217
= var218
;
3339 var222
= ((val
* (*)(val
*, val
*))(var216
->class->vft
[COLOR_file__String__basename
]))(var216
, var218
) /* basename on <var216:String>*/;
3342 var224
= varonce223
;
3346 var227
= string__NativeString__to_s_with_length(var225
, var226
);
3348 varonce223
= var224
;
3351 var229
= varonce228
;
3353 var230
= "\n\11$(CC) $(CFLAGS) -D NONITCNI ";
3355 var232
= string__NativeString__to_s_with_length(var230
, var231
);
3357 varonce228
= var229
;
3359 var233
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_c__ExternCFile__cflags
]))(var_f192
) /* cflags on <var_f192:ExternFile(ExternCFile)>*/;
3361 var235
= varonce234
;
3365 var238
= string__NativeString__to_s_with_length(var236
, var237
);
3367 varonce234
= var235
;
3370 var240
= varonce239
;
3374 var243
= string__NativeString__to_s_with_length(var241
, var242
);
3376 varonce239
= var240
;
3379 var245
= varonce244
;
3383 var248
= string__NativeString__to_s_with_length(var246
, var247
);
3385 varonce244
= var245
;
3387 var249
= NEW_array__Array(&type_array__Arraykernel__Object
);
3388 { /* var249 = array_instance Array[Object] */
3390 var251
= NEW_array__NativeArray(var250
, &type_array__NativeArraykernel__Object
);
3391 ((struct instance_array__NativeArray
*)var251
)->values
[0] = (val
*) var_o215
;
3392 ((struct instance_array__NativeArray
*)var251
)->values
[1] = (val
*) var224
;
3393 ((struct instance_array__NativeArray
*)var251
)->values
[2] = (val
*) var_ff
;
3394 ((struct instance_array__NativeArray
*)var251
)->values
[3] = (val
*) var229
;
3395 ((struct instance_array__NativeArray
*)var251
)->values
[4] = (val
*) var233
;
3396 ((struct instance_array__NativeArray
*)var251
)->values
[5] = (val
*) var235
;
3397 ((struct instance_array__NativeArray
*)var251
)->values
[6] = (val
*) var_o215
;
3398 ((struct instance_array__NativeArray
*)var251
)->values
[7] = (val
*) var240
;
3399 ((struct instance_array__NativeArray
*)var251
)->values
[8] = (val
*) var_ff
;
3400 ((struct instance_array__NativeArray
*)var251
)->values
[9] = (val
*) var245
;
3401 ((void (*)(val
*, val
*, long))(var249
->class->vft
[COLOR_array__Array__with_native
]))(var249
, var251
, var250
) /* with_native on <var249:Array[Object]>*/;
3403 var252
= ((val
* (*)(val
*))(var249
->class->vft
[COLOR_string__Object__to_s
]))(var249
) /* to_s on <var249:Array[Object]>*/;
3404 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var252
) /* write on <var_makefile:OFStream>*/;
3405 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o215
) /* add on <var_ofiles:Array[String]>*/;
3406 ((void (*)(val
*, val
*))(var_dep_rules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_dep_rules
, var_o215
) /* add on <var_dep_rules:Array[String]>*/;
3408 var253
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__makefile_rule_name
]))(var_f192
) /* makefile_rule_name on <var_f192:ExternFile>*/;
3410 var255
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__filename
]))(var_f192
) /* filename on <var_f192:ExternFile>*/;
3412 var257
= varonce256
;
3416 var260
= string__NativeString__to_s_with_length(var258
, var259
);
3418 varonce256
= var257
;
3420 var261
= ((val
* (*)(val
*, val
*))(var255
->class->vft
[COLOR_file__String__basename
]))(var255
, var257
) /* basename on <var255:String>*/;
3423 var264
= varonce263
;
3427 var267
= string__NativeString__to_s_with_length(var265
, var266
);
3429 varonce263
= var264
;
3432 var269
= varonce268
;
3436 var272
= string__NativeString__to_s_with_length(var270
, var271
);
3438 varonce268
= var269
;
3440 var273
= NEW_array__Array(&type_array__Arraykernel__Object
);
3441 { /* var273 = array_instance Array[Object] */
3443 var275
= NEW_array__NativeArray(var274
, &type_array__NativeArraykernel__Object
);
3444 ((struct instance_array__NativeArray
*)var275
)->values
[0] = (val
*) var_o254
;
3445 ((struct instance_array__NativeArray
*)var275
)->values
[1] = (val
*) var264
;
3446 ((struct instance_array__NativeArray
*)var275
)->values
[2] = (val
*) var_ff262
;
3447 ((struct instance_array__NativeArray
*)var275
)->values
[3] = (val
*) var269
;
3448 ((void (*)(val
*, val
*, long))(var273
->class->vft
[COLOR_array__Array__with_native
]))(var273
, var275
, var274
) /* with_native on <var273:Array[Object]>*/;
3450 var276
= ((val
* (*)(val
*))(var273
->class->vft
[COLOR_string__Object__to_s
]))(var273
) /* to_s on <var273:Array[Object]>*/;
3451 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var276
) /* write on <var_makefile:OFStream>*/;
3453 var278
= varonce277
;
3457 var281
= string__NativeString__to_s_with_length(var279
, var280
);
3459 varonce277
= var278
;
3461 var282
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__makefile_rule_content
]))(var_f192
) /* makefile_rule_content on <var_f192:ExternFile>*/;
3463 var284
= varonce283
;
3467 var287
= string__NativeString__to_s_with_length(var285
, var286
);
3469 varonce283
= var284
;
3471 var288
= NEW_array__Array(&type_array__Arraykernel__Object
);
3472 { /* var288 = array_instance Array[Object] */
3474 var290
= NEW_array__NativeArray(var289
, &type_array__NativeArraykernel__Object
);
3475 ((struct instance_array__NativeArray
*)var290
)->values
[0] = (val
*) var278
;
3476 ((struct instance_array__NativeArray
*)var290
)->values
[1] = (val
*) var282
;
3477 ((struct instance_array__NativeArray
*)var290
)->values
[2] = (val
*) var284
;
3478 ((void (*)(val
*, val
*, long))(var288
->class->vft
[COLOR_array__Array__with_native
]))(var288
, var290
, var289
) /* with_native on <var288:Array[Object]>*/;
3480 var291
= ((val
* (*)(val
*))(var288
->class->vft
[COLOR_string__Object__to_s
]))(var288
) /* to_s on <var288:Array[Object]>*/;
3481 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var291
) /* write on <var_makefile:OFStream>*/;
3482 var292
= ((val
* (*)(val
*))(var_f192
->class->vft
[COLOR_ffi_base__ExternFile__makefile_rule_name
]))(var_f192
) /* makefile_rule_name on <var_f192:ExternFile>*/;
3483 ((void (*)(val
*, val
*))(var_dep_rules
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_dep_rules
, var292
) /* add on <var_dep_rules:Array[String]>*/;
3484 /* <var_f192:ExternFile> isa ExternCppFile */
3485 cltype294
= type_cpp__ExternCppFile
.color
;
3486 idtype295
= type_cpp__ExternCppFile
.id
;
3487 if(cltype294
>= var_f192
->type
->table_size
) {
3490 var293
= var_f192
->type
->type_table
[cltype294
] == idtype295
;
3493 ((void (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_ofiles
, var_o254
) /* add on <var_ofiles:Array[String]>*/;
3497 CONTINUE_label296
: (void)0;
3498 ((void (*)(val
*))(var189
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var189
) /* next on <var189:Iterator[nullable Object]>*/;
3500 BREAK_label296
: (void)0;
3502 var298
= varonce297
;
3506 var301
= string__NativeString__to_s_with_length(var299
, var300
);
3508 varonce297
= var298
;
3511 var303
= varonce302
;
3515 var306
= string__NativeString__to_s_with_length(var304
, var305
);
3517 varonce302
= var303
;
3519 var307
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var303
) /* join on <var_ofiles:Array[String]>*/;
3521 var309
= varonce308
;
3523 var310
= "\n\11$(CC) $(LDFLAGS) -o ";
3525 var312
= string__NativeString__to_s_with_length(var310
, var311
);
3527 varonce308
= var309
;
3530 var314
= varonce313
;
3534 var317
= string__NativeString__to_s_with_length(var315
, var316
);
3536 varonce313
= var314
;
3539 var319
= varonce318
;
3543 var322
= string__NativeString__to_s_with_length(var320
, var321
);
3545 varonce318
= var319
;
3547 var323
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var319
) /* join on <var_ofiles:Array[String]>*/;
3549 var325
= varonce324
;
3551 var326
= " $(LDLIBS)\n\n";
3553 var328
= string__NativeString__to_s_with_length(var326
, var327
);
3555 varonce324
= var325
;
3557 var329
= NEW_array__Array(&type_array__Arraykernel__Object
);
3558 { /* var329 = array_instance Array[Object] */
3560 var331
= NEW_array__NativeArray(var330
, &type_array__NativeArraykernel__Object
);
3561 ((struct instance_array__NativeArray
*)var331
)->values
[0] = (val
*) var_outpath
;
3562 ((struct instance_array__NativeArray
*)var331
)->values
[1] = (val
*) var298
;
3563 ((struct instance_array__NativeArray
*)var331
)->values
[2] = (val
*) var307
;
3564 ((struct instance_array__NativeArray
*)var331
)->values
[3] = (val
*) var309
;
3565 ((struct instance_array__NativeArray
*)var331
)->values
[4] = (val
*) var_outpath
;
3566 ((struct instance_array__NativeArray
*)var331
)->values
[5] = (val
*) var314
;
3567 ((struct instance_array__NativeArray
*)var331
)->values
[6] = (val
*) var323
;
3568 ((struct instance_array__NativeArray
*)var331
)->values
[7] = (val
*) var325
;
3569 ((void (*)(val
*, val
*, long))(var329
->class->vft
[COLOR_array__Array__with_native
]))(var329
, var331
, var330
) /* with_native on <var329:Array[Object]>*/;
3571 var332
= ((val
* (*)(val
*))(var329
->class->vft
[COLOR_string__Object__to_s
]))(var329
) /* to_s on <var329:Array[Object]>*/;
3572 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var332
) /* write on <var_makefile:OFStream>*/;
3574 var334
= varonce333
;
3576 var335
= "clean:\n\11rm ";
3578 var337
= string__NativeString__to_s_with_length(var335
, var336
);
3580 varonce333
= var334
;
3583 var339
= varonce338
;
3587 var342
= string__NativeString__to_s_with_length(var340
, var341
);
3589 varonce338
= var339
;
3591 var343
= ((val
* (*)(val
*, val
*))(var_ofiles
->class->vft
[COLOR_string__Collection__join
]))(var_ofiles
, var339
) /* join on <var_ofiles:Array[String]>*/;
3593 var345
= varonce344
;
3595 var346
= " 2>/dev/null\n\n";
3597 var348
= string__NativeString__to_s_with_length(var346
, var347
);
3599 varonce344
= var345
;
3601 var349
= NEW_array__Array(&type_array__Arraykernel__Object
);
3602 { /* var349 = array_instance Array[Object] */
3604 var351
= NEW_array__NativeArray(var350
, &type_array__NativeArraykernel__Object
);
3605 ((struct instance_array__NativeArray
*)var351
)->values
[0] = (val
*) var334
;
3606 ((struct instance_array__NativeArray
*)var351
)->values
[1] = (val
*) var343
;
3607 ((struct instance_array__NativeArray
*)var351
)->values
[2] = (val
*) var345
;
3608 ((void (*)(val
*, val
*, long))(var349
->class->vft
[COLOR_array__Array__with_native
]))(var349
, var351
, var350
) /* with_native on <var349:Array[Object]>*/;
3610 var352
= ((val
* (*)(val
*))(var349
->class->vft
[COLOR_string__Object__to_s
]))(var349
) /* to_s on <var349:Array[Object]>*/;
3611 ((void (*)(val
*, val
*))(var_makefile
->class->vft
[COLOR_stream__OStream__write
]))(var_makefile
, var352
) /* write on <var_makefile:OFStream>*/;
3612 ((void (*)(val
*))(var_makefile
->class->vft
[COLOR_stream__IOS__close
]))(var_makefile
) /* close on <var_makefile:OFStream>*/;
3613 var353
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3615 var355
= varonce354
;
3617 var356
= "Generated makefile: ";
3619 var358
= string__NativeString__to_s_with_length(var356
, var357
);
3621 varonce354
= var355
;
3623 var359
= NEW_array__Array(&type_array__Arraykernel__Object
);
3624 { /* var359 = array_instance Array[Object] */
3626 var361
= NEW_array__NativeArray(var360
, &type_array__NativeArraykernel__Object
);
3627 ((struct instance_array__NativeArray
*)var361
)->values
[0] = (val
*) var355
;
3628 ((struct instance_array__NativeArray
*)var361
)->values
[1] = (val
*) var_makepath
;
3629 ((void (*)(val
*, val
*, long))(var359
->class->vft
[COLOR_array__Array__with_native
]))(var359
, var361
, var360
) /* with_native on <var359:Array[Object]>*/;
3631 var362
= ((val
* (*)(val
*))(var359
->class->vft
[COLOR_string__Object__to_s
]))(var359
) /* to_s on <var359:Array[Object]>*/;
3633 ((void (*)(val
*, val
*, long))(var353
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var353
, var362
, var363
) /* info on <var353:ToolContext>*/;
3636 /* method abstract_compiler#MakefileToolchain#write_makefile for (self: Object, AbstractCompiler, String, Array[String]) */
3637 void VIRTUAL_abstract_compiler__MakefileToolchain__write_makefile(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
3638 abstract_compiler__MakefileToolchain__write_makefile(self
, p0
, p1
, p2
);
3641 /* method abstract_compiler#MakefileToolchain#compile_c_code for (self: MakefileToolchain, AbstractCompiler, String) */
3642 void abstract_compiler__MakefileToolchain__compile_c_code(val
* self
, val
* p0
, val
* p1
) {
3643 val
* var_compiler
/* var compiler: AbstractCompiler */;
3644 val
* var_compile_dir
/* var compile_dir: String */;
3645 val
* var
/* : Array[Object] */;
3646 long var1
/* : Int */;
3647 val
* var_
/* var : Array[Object] */;
3648 static val
* varonce
;
3649 val
* var2
/* : String */;
3650 char* var3
/* : NativeString */;
3651 long var4
/* : Int */;
3652 val
* var5
/* : String */;
3653 val
* var6
/* : MModule */;
3654 val
* var7
/* : String */;
3655 static val
* varonce8
;
3656 val
* var9
/* : String */;
3657 char* var10
/* : NativeString */;
3658 long var11
/* : Int */;
3659 val
* var12
/* : String */;
3660 val
* var13
/* : String */;
3661 val
* var_makename
/* var makename: String */;
3662 val
* var14
/* : ToolContext */;
3663 val
* var15
/* : OptionString */;
3664 val
* var16
/* : nullable Object */;
3665 val
* var_makeflags
/* var makeflags: nullable String */;
3666 val
* var17
/* : null */;
3667 short int var18
/* : Bool */;
3668 static val
* varonce19
;
3669 val
* var20
/* : String */;
3670 char* var21
/* : NativeString */;
3671 long var22
/* : Int */;
3672 val
* var23
/* : String */;
3673 val
* var24
/* : ToolContext */;
3674 static val
* varonce25
;
3675 val
* var26
/* : String */;
3676 char* var27
/* : NativeString */;
3677 long var28
/* : Int */;
3678 val
* var29
/* : String */;
3679 static val
* varonce30
;
3680 val
* var31
/* : String */;
3681 char* var32
/* : NativeString */;
3682 long var33
/* : Int */;
3683 val
* var34
/* : String */;
3684 static val
* varonce35
;
3685 val
* var36
/* : String */;
3686 char* var37
/* : NativeString */;
3687 long var38
/* : Int */;
3688 val
* var39
/* : String */;
3689 val
* var40
/* : Array[Object] */;
3690 long var41
/* : Int */;
3691 val
* var42
/* : NativeArray[Object] */;
3692 val
* var43
/* : String */;
3693 long var44
/* : Int */;
3694 val
* var45
/* : ToolContext */;
3695 long var46
/* : Int */;
3696 long var47
/* : Int */;
3697 short int var48
/* : Bool */;
3698 short int var50
/* : Bool */;
3701 const char* var_class_name
;
3702 short int var51
/* : Bool */;
3703 val
* var52
/* : Sys */;
3704 static val
* varonce53
;
3705 val
* var54
/* : String */;
3706 char* var55
/* : NativeString */;
3707 long var56
/* : Int */;
3708 val
* var57
/* : String */;
3709 static val
* varonce58
;
3710 val
* var59
/* : String */;
3711 char* var60
/* : NativeString */;
3712 long var61
/* : Int */;
3713 val
* var62
/* : String */;
3714 static val
* varonce63
;
3715 val
* var64
/* : String */;
3716 char* var65
/* : NativeString */;
3717 long var66
/* : Int */;
3718 val
* var67
/* : String */;
3719 static val
* varonce68
;
3720 val
* var69
/* : String */;
3721 char* var70
/* : NativeString */;
3722 long var71
/* : Int */;
3723 val
* var72
/* : String */;
3724 val
* var73
/* : Array[Object] */;
3725 long var74
/* : Int */;
3726 val
* var75
/* : NativeArray[Object] */;
3727 val
* var76
/* : String */;
3728 long var77
/* : Int */;
3729 val
* var78
/* : nullable Object */;
3730 val
* var_res
/* var res: nullable Object */;
3731 val
* var79
/* : Sys */;
3732 static val
* varonce80
;
3733 val
* var81
/* : String */;
3734 char* var82
/* : NativeString */;
3735 long var83
/* : Int */;
3736 val
* var84
/* : String */;
3737 static val
* varonce85
;
3738 val
* var86
/* : String */;
3739 char* var87
/* : NativeString */;
3740 long var88
/* : Int */;
3741 val
* var89
/* : String */;
3742 static val
* varonce90
;
3743 val
* var91
/* : String */;
3744 char* var92
/* : NativeString */;
3745 long var93
/* : Int */;
3746 val
* var94
/* : String */;
3747 static val
* varonce95
;
3748 val
* var96
/* : String */;
3749 char* var97
/* : NativeString */;
3750 long var98
/* : Int */;
3751 val
* var99
/* : String */;
3752 val
* var100
/* : Array[Object] */;
3753 long var101
/* : Int */;
3754 val
* var102
/* : NativeArray[Object] */;
3755 val
* var103
/* : String */;
3756 long var104
/* : Int */;
3757 val
* var105
/* : nullable Object */;
3758 long var106
/* : Int */;
3759 short int var107
/* : Bool */;
3760 short int var109
/* : Bool */;
3761 long var110
/* : Int */;
3762 short int var111
/* : Bool */;
3763 val
* var112
/* : ToolContext */;
3764 val
* var113
/* : null */;
3765 static val
* varonce114
;
3766 val
* var115
/* : String */;
3767 char* var116
/* : NativeString */;
3768 long var117
/* : Int */;
3769 val
* var118
/* : String */;
3770 static val
* varonce119
;
3771 val
* var120
/* : String */;
3772 char* var121
/* : NativeString */;
3773 long var122
/* : Int */;
3774 val
* var123
/* : String */;
3775 val
* var124
/* : Array[Object] */;
3776 long var125
/* : Int */;
3777 val
* var126
/* : NativeArray[Object] */;
3778 val
* var127
/* : String */;
3780 var_compile_dir
= p1
;
3781 var
= NEW_array__Array(&type_array__Arraykernel__Object
);
3783 ((void (*)(val
*, long))(var
->class->vft
[COLOR_array__Array__with_capacity
]))(var
, var1
) /* with_capacity on <var:Array[Object]>*/;
3790 var5
= string__NativeString__to_s_with_length(var3
, var4
);
3794 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var2
) /* add on <var_:Array[Object]>*/;
3795 var6
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var_compiler
) /* mainmodule on <var_compiler:AbstractCompiler>*/;
3796 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_mmodule__MModule__name
]))(var6
) /* name on <var6:MModule>*/;
3797 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var7
) /* add on <var_:Array[Object]>*/;
3803 var12
= string__NativeString__to_s_with_length(var10
, var11
);
3807 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var9
) /* add on <var_:Array[Object]>*/;
3808 var13
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
3809 var_makename
= var13
;
3810 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3811 var15
= ((val
* (*)(val
*))(var14
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_make_flags
]))(var14
) /* opt_make_flags on <var14:ToolContext>*/;
3812 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_opts__Option__value
]))(var15
) /* value on <var15:OptionString>*/;
3813 var_makeflags
= var16
;
3815 if (var_makeflags
== NULL
) {
3816 var18
= 1; /* is null */
3818 var18
= 0; /* arg is null but recv is not */
3826 var23
= string__NativeString__to_s_with_length(var21
, var22
);
3830 var_makeflags
= var20
;
3833 var24
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3837 var27
= "make -B -C ";
3839 var29
= string__NativeString__to_s_with_length(var27
, var28
);
3848 var34
= string__NativeString__to_s_with_length(var32
, var33
);
3857 var39
= string__NativeString__to_s_with_length(var37
, var38
);
3861 var40
= NEW_array__Array(&type_array__Arraykernel__Object
);
3862 { /* var40 = array_instance Array[Object] */
3864 var42
= NEW_array__NativeArray(var41
, &type_array__NativeArraykernel__Object
);
3865 ((struct instance_array__NativeArray
*)var42
)->values
[0] = (val
*) var26
;
3866 ((struct instance_array__NativeArray
*)var42
)->values
[1] = (val
*) var_compile_dir
;
3867 ((struct instance_array__NativeArray
*)var42
)->values
[2] = (val
*) var31
;
3868 ((struct instance_array__NativeArray
*)var42
)->values
[3] = (val
*) var_makename
;
3869 ((struct instance_array__NativeArray
*)var42
)->values
[4] = (val
*) var36
;
3870 ((struct instance_array__NativeArray
*)var42
)->values
[5] = (val
*) var_makeflags
;
3871 ((void (*)(val
*, val
*, long))(var40
->class->vft
[COLOR_array__Array__with_native
]))(var40
, var42
, var41
) /* with_native on <var40:Array[Object]>*/;
3873 var43
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_string__Object__to_s
]))(var40
) /* to_s on <var40:Array[Object]>*/;
3875 ((void (*)(val
*, val
*, long))(var24
->class->vft
[COLOR_toolcontext__ToolContext__info
]))(var24
, var43
, var44
) /* info on <var24:ToolContext>*/;
3876 var45
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
3877 var46
= ((long (*)(val
*))(var45
->class->vft
[COLOR_toolcontext__ToolContext__verbose_level
]))(var45
) /* verbose_level on <var45:ToolContext>*/;
3879 { /* Inline kernel#Int#>= (var46,var47) */
3880 /* Covariant cast for argument 0 (i) <var47:Int> isa OTHER */
3881 /* <var47:Int> isa OTHER */
3882 var50
= 1; /* easy <var47:Int> isa OTHER*/
3884 var_class_name
= type_kernel__Int
.name
;
3885 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
3886 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
3889 var51
= var46
>= var47
;
3892 RET_LABEL49
:(void)0;
3895 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:MakefileToolchain>*/;
3899 var55
= "make -B -C ";
3901 var57
= string__NativeString__to_s_with_length(var55
, var56
);
3910 var62
= string__NativeString__to_s_with_length(var60
, var61
);
3919 var67
= string__NativeString__to_s_with_length(var65
, var66
);
3928 var72
= string__NativeString__to_s_with_length(var70
, var71
);
3932 var73
= NEW_array__Array(&type_array__Arraykernel__Object
);
3933 { /* var73 = array_instance Array[Object] */
3935 var75
= NEW_array__NativeArray(var74
, &type_array__NativeArraykernel__Object
);
3936 ((struct instance_array__NativeArray
*)var75
)->values
[0] = (val
*) var54
;
3937 ((struct instance_array__NativeArray
*)var75
)->values
[1] = (val
*) var_compile_dir
;
3938 ((struct instance_array__NativeArray
*)var75
)->values
[2] = (val
*) var59
;
3939 ((struct instance_array__NativeArray
*)var75
)->values
[3] = (val
*) var_makename
;
3940 ((struct instance_array__NativeArray
*)var75
)->values
[4] = (val
*) var64
;
3941 ((struct instance_array__NativeArray
*)var75
)->values
[5] = (val
*) var_makeflags
;
3942 ((struct instance_array__NativeArray
*)var75
)->values
[6] = (val
*) var69
;
3943 ((void (*)(val
*, val
*, long))(var73
->class->vft
[COLOR_array__Array__with_native
]))(var73
, var75
, var74
) /* with_native on <var73:Array[Object]>*/;
3945 var76
= ((val
* (*)(val
*))(var73
->class->vft
[COLOR_string__Object__to_s
]))(var73
) /* to_s on <var73:Array[Object]>*/;
3946 var77
= ((long (*)(val
*, val
*))(var52
->class->vft
[COLOR_exec__Sys__system
]))(var52
, var76
) /* system on <var52:Sys>*/;
3947 var78
= BOX_kernel__Int(var77
); /* autobox from Int to nullable Object */
3950 var79
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_kernel__Object__sys
]))(self
) /* sys on <self:MakefileToolchain>*/;
3954 var82
= "make -B -C ";
3956 var84
= string__NativeString__to_s_with_length(var82
, var83
);
3965 var89
= string__NativeString__to_s_with_length(var87
, var88
);
3974 var94
= string__NativeString__to_s_with_length(var92
, var93
);
3981 var97
= " 2>&1 >/dev/null";
3983 var99
= string__NativeString__to_s_with_length(var97
, var98
);
3987 var100
= NEW_array__Array(&type_array__Arraykernel__Object
);
3988 { /* var100 = array_instance Array[Object] */
3990 var102
= NEW_array__NativeArray(var101
, &type_array__NativeArraykernel__Object
);
3991 ((struct instance_array__NativeArray
*)var102
)->values
[0] = (val
*) var81
;
3992 ((struct instance_array__NativeArray
*)var102
)->values
[1] = (val
*) var_compile_dir
;
3993 ((struct instance_array__NativeArray
*)var102
)->values
[2] = (val
*) var86
;
3994 ((struct instance_array__NativeArray
*)var102
)->values
[3] = (val
*) var_makename
;
3995 ((struct instance_array__NativeArray
*)var102
)->values
[4] = (val
*) var91
;
3996 ((struct instance_array__NativeArray
*)var102
)->values
[5] = (val
*) var_makeflags
;
3997 ((struct instance_array__NativeArray
*)var102
)->values
[6] = (val
*) var96
;
3998 ((void (*)(val
*, val
*, long))(var100
->class->vft
[COLOR_array__Array__with_native
]))(var100
, var102
, var101
) /* with_native on <var100:Array[Object]>*/;
4000 var103
= ((val
* (*)(val
*))(var100
->class->vft
[COLOR_string__Object__to_s
]))(var100
) /* to_s on <var100:Array[Object]>*/;
4001 var104
= ((long (*)(val
*, val
*))(var79
->class->vft
[COLOR_exec__Sys__system
]))(var79
, var103
) /* system on <var79:Sys>*/;
4002 var105
= BOX_kernel__Int(var104
); /* autobox from Int to nullable Object */
4006 { /* Inline kernel#Int#!= (var_res,var106) */
4007 var109
= (var_res
!= NULL
) && (var_res
->class == &class_kernel__Int
);
4009 var110
= ((struct instance_kernel__Int
*)var_res
)->value
; /* autounbox from nullable Object to Int */;
4010 var109
= (var110
== var106
);
4015 RET_LABEL108
:(void)0;
4018 var112
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__Toolchain__toolcontext
]))(self
) /* toolcontext on <self:MakefileToolchain>*/;
4021 var115
= varonce114
;
4023 var116
= "make failed! Error code: ";
4025 var118
= string__NativeString__to_s_with_length(var116
, var117
);
4027 varonce114
= var115
;
4030 var120
= varonce119
;
4034 var123
= string__NativeString__to_s_with_length(var121
, var122
);
4036 varonce119
= var120
;
4038 var124
= NEW_array__Array(&type_array__Arraykernel__Object
);
4039 { /* var124 = array_instance Array[Object] */
4041 var126
= NEW_array__NativeArray(var125
, &type_array__NativeArraykernel__Object
);
4042 ((struct instance_array__NativeArray
*)var126
)->values
[0] = (val
*) var115
;
4043 ((struct instance_array__NativeArray
*)var126
)->values
[1] = (val
*) var_res
;
4044 ((struct instance_array__NativeArray
*)var126
)->values
[2] = (val
*) var120
;
4045 ((void (*)(val
*, val
*, long))(var124
->class->vft
[COLOR_array__Array__with_native
]))(var124
, var126
, var125
) /* with_native on <var124:Array[Object]>*/;
4047 var127
= ((val
* (*)(val
*))(var124
->class->vft
[COLOR_string__Object__to_s
]))(var124
) /* to_s on <var124:Array[Object]>*/;
4048 ((void (*)(val
*, val
*, val
*))(var112
->class->vft
[COLOR_toolcontext__ToolContext__error
]))(var112
, var113
, var127
) /* error on <var112:ToolContext>*/;
4053 /* method abstract_compiler#MakefileToolchain#compile_c_code for (self: Object, AbstractCompiler, String) */
4054 void VIRTUAL_abstract_compiler__MakefileToolchain__compile_c_code(val
* self
, val
* p0
, val
* p1
) {
4055 abstract_compiler__MakefileToolchain__compile_c_code(self
, p0
, p1
);
4058 /* method abstract_compiler#AbstractCompiler#names for (self: AbstractCompiler): HashMap[String, String] */
4059 val
* abstract_compiler__AbstractCompiler__names(val
* self
) {
4060 val
* var
/* : HashMap[String, String] */;
4061 val
* var1
/* : HashMap[String, String] */;
4062 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dnames
].val
; /* @names on <self:AbstractCompiler> */
4064 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @names");
4065 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 377);
4072 /* method abstract_compiler#AbstractCompiler#names for (self: Object): HashMap[String, String] */
4073 val
* VIRTUAL_abstract_compiler__AbstractCompiler__names(val
* self
) {
4074 val
* var
/* : HashMap[String, String] */;
4075 val
* var1
/* : HashMap[String, String] */;
4076 var1
= abstract_compiler__AbstractCompiler__names(self
);
4081 /* method abstract_compiler#AbstractCompiler#names= for (self: AbstractCompiler, HashMap[String, String]) */
4082 void abstract_compiler__AbstractCompiler__names_61d(val
* self
, val
* p0
) {
4083 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dnames
].val
= p0
; /* @names on <self:AbstractCompiler> */
4086 /* method abstract_compiler#AbstractCompiler#names= for (self: Object, HashMap[String, String]) */
4087 void VIRTUAL_abstract_compiler__AbstractCompiler__names_61d(val
* self
, val
* p0
) {
4088 abstract_compiler__AbstractCompiler__names_61d(self
, p0
);
4091 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: AbstractCompiler): MModule */
4092 val
* abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
4093 val
* var
/* : MModule */;
4094 val
* var1
/* : MModule */;
4095 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
; /* @mainmodule on <self:AbstractCompiler> */
4097 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @mainmodule");
4098 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 380);
4105 /* method abstract_compiler#AbstractCompiler#mainmodule for (self: Object): MModule */
4106 val
* VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule(val
* self
) {
4107 val
* var
/* : MModule */;
4108 val
* var1
/* : MModule */;
4109 var1
= abstract_compiler__AbstractCompiler__mainmodule(self
);
4114 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: AbstractCompiler, MModule) */
4115 void abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
4116 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmainmodule
].val
= p0
; /* @mainmodule on <self:AbstractCompiler> */
4119 /* method abstract_compiler#AbstractCompiler#mainmodule= for (self: Object, MModule) */
4120 void VIRTUAL_abstract_compiler__AbstractCompiler__mainmodule_61d(val
* self
, val
* p0
) {
4121 abstract_compiler__AbstractCompiler__mainmodule_61d(self
, p0
);
4124 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: AbstractCompiler): MModule */
4125 val
* abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
4126 val
* var
/* : MModule */;
4127 val
* var1
/* : MModule */;
4128 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
; /* @realmainmodule on <self:AbstractCompiler> */
4130 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @realmainmodule");
4131 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 384);
4138 /* method abstract_compiler#AbstractCompiler#realmainmodule for (self: Object): MModule */
4139 val
* VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule(val
* self
) {
4140 val
* var
/* : MModule */;
4141 val
* var1
/* : MModule */;
4142 var1
= abstract_compiler__AbstractCompiler__realmainmodule(self
);
4147 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: AbstractCompiler, MModule) */
4148 void abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
4149 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drealmainmodule
].val
= p0
; /* @realmainmodule on <self:AbstractCompiler> */
4152 /* method abstract_compiler#AbstractCompiler#realmainmodule= for (self: Object, MModule) */
4153 void VIRTUAL_abstract_compiler__AbstractCompiler__realmainmodule_61d(val
* self
, val
* p0
) {
4154 abstract_compiler__AbstractCompiler__realmainmodule_61d(self
, p0
);
4157 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: AbstractCompiler): ModelBuilder */
4158 val
* abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
4159 val
* var
/* : ModelBuilder */;
4160 val
* var1
/* : ModelBuilder */;
4161 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
; /* @modelbuilder on <self:AbstractCompiler> */
4163 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @modelbuilder");
4164 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 387);
4171 /* method abstract_compiler#AbstractCompiler#modelbuilder for (self: Object): ModelBuilder */
4172 val
* VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder(val
* self
) {
4173 val
* var
/* : ModelBuilder */;
4174 val
* var1
/* : ModelBuilder */;
4175 var1
= abstract_compiler__AbstractCompiler__modelbuilder(self
);
4180 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: AbstractCompiler, ModelBuilder) */
4181 void abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
4182 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dmodelbuilder
].val
= p0
; /* @modelbuilder on <self:AbstractCompiler> */
4185 /* method abstract_compiler#AbstractCompiler#modelbuilder= for (self: Object, ModelBuilder) */
4186 void VIRTUAL_abstract_compiler__AbstractCompiler__modelbuilder_61d(val
* self
, val
* p0
) {
4187 abstract_compiler__AbstractCompiler__modelbuilder_61d(self
, p0
);
4190 /* method abstract_compiler#AbstractCompiler#hardening for (self: AbstractCompiler): Bool */
4191 short int abstract_compiler__AbstractCompiler__hardening(val
* self
) {
4192 short int var
/* : Bool */;
4193 val
* var1
/* : ModelBuilder */;
4194 val
* var2
/* : ToolContext */;
4195 val
* var3
/* : OptionBool */;
4196 val
* var4
/* : nullable Object */;
4197 short int var5
/* : Bool */;
4198 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4199 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
4200 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_hardening
]))(var2
) /* opt_hardening on <var2:ToolContext>*/;
4201 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
4202 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
4208 /* method abstract_compiler#AbstractCompiler#hardening for (self: Object): Bool */
4209 short int VIRTUAL_abstract_compiler__AbstractCompiler__hardening(val
* self
) {
4210 short int var
/* : Bool */;
4211 short int var1
/* : Bool */;
4212 var1
= abstract_compiler__AbstractCompiler__hardening(self
);
4217 /* method abstract_compiler#AbstractCompiler#init for (self: AbstractCompiler, MModule, ModelBuilder) */
4218 void abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
4219 val
* var_mainmodule
/* var mainmodule: MModule */;
4220 val
* var_modelbuilder
/* var modelbuilder: ModelBuilder */;
4221 var_mainmodule
= p0
;
4222 var_modelbuilder
= p1
;
4223 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule_61d
]))(self
, var_mainmodule
) /* mainmodule= on <self:AbstractCompiler>*/;
4224 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__realmainmodule_61d
]))(self
, var_mainmodule
) /* realmainmodule= on <self:AbstractCompiler>*/;
4225 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder_61d
]))(self
, var_modelbuilder
) /* modelbuilder= on <self:AbstractCompiler>*/;
4228 /* method abstract_compiler#AbstractCompiler#init for (self: Object, MModule, ModelBuilder) */
4229 void VIRTUAL_abstract_compiler__AbstractCompiler__init(val
* self
, val
* p0
, val
* p1
) {
4230 abstract_compiler__AbstractCompiler__init(self
, p0
, p1
);
4233 /* method abstract_compiler#AbstractCompiler#new_file for (self: AbstractCompiler, String): CodeFile */
4234 val
* abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
4235 val
* var
/* : CodeFile */;
4236 val
* var_name
/* var name: String */;
4237 val
* var1
/* : CodeFile */;
4238 val
* var_f
/* var f: CodeFile */;
4239 val
* var2
/* : List[CodeFile] */;
4241 var1
= NEW_abstract_compiler__CodeFile(&type_abstract_compiler__CodeFile
);
4242 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeFile__init
]))(var1
, var_name
) /* init on <var1:CodeFile>*/;
4244 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(self
) /* files on <self:AbstractCompiler>*/;
4245 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var2
, var_f
) /* add on <var2:List[CodeFile]>*/;
4251 /* method abstract_compiler#AbstractCompiler#new_file for (self: Object, String): CodeFile */
4252 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_file(val
* self
, val
* p0
) {
4253 val
* var
/* : CodeFile */;
4254 val
* var1
/* : CodeFile */;
4255 var1
= abstract_compiler__AbstractCompiler__new_file(self
, p0
);
4260 /* method abstract_compiler#AbstractCompiler#files for (self: AbstractCompiler): List[CodeFile] */
4261 val
* abstract_compiler__AbstractCompiler__files(val
* self
) {
4262 val
* var
/* : List[CodeFile] */;
4263 val
* var1
/* : List[CodeFile] */;
4264 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
; /* @files on <self:AbstractCompiler> */
4266 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @files");
4267 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 409);
4274 /* method abstract_compiler#AbstractCompiler#files for (self: Object): List[CodeFile] */
4275 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files(val
* self
) {
4276 val
* var
/* : List[CodeFile] */;
4277 val
* var1
/* : List[CodeFile] */;
4278 var1
= abstract_compiler__AbstractCompiler__files(self
);
4283 /* method abstract_compiler#AbstractCompiler#files= for (self: AbstractCompiler, List[CodeFile]) */
4284 void abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
4285 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles
].val
= p0
; /* @files on <self:AbstractCompiler> */
4288 /* method abstract_compiler#AbstractCompiler#files= for (self: Object, List[CodeFile]) */
4289 void VIRTUAL_abstract_compiler__AbstractCompiler__files_61d(val
* self
, val
* p0
) {
4290 abstract_compiler__AbstractCompiler__files_61d(self
, p0
);
4293 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: AbstractCompiler): AbstractCompilerVisitor */
4294 val
* abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
4295 val
* var
/* : AbstractCompilerVisitor */;
4296 const char* var_class_name
;
4297 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
4298 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "new_visitor", var_class_name
);
4299 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 413);
4304 /* method abstract_compiler#AbstractCompiler#new_visitor for (self: Object): AbstractCompilerVisitor */
4305 val
* VIRTUAL_abstract_compiler__AbstractCompiler__new_visitor(val
* self
) {
4306 val
* var
/* : AbstractCompilerVisitor */;
4307 val
* var1
/* : AbstractCompilerVisitor */;
4308 var1
= abstract_compiler__AbstractCompiler__new_visitor(self
);
4313 /* method abstract_compiler#AbstractCompiler#header for (self: AbstractCompiler): CodeWriter */
4314 val
* abstract_compiler__AbstractCompiler__header(val
* self
) {
4315 val
* var
/* : CodeWriter */;
4316 val
* var1
/* : CodeWriter */;
4317 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
; /* @header on <self:AbstractCompiler> */
4319 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @header");
4320 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 416);
4327 /* method abstract_compiler#AbstractCompiler#header for (self: Object): CodeWriter */
4328 val
* VIRTUAL_abstract_compiler__AbstractCompiler__header(val
* self
) {
4329 val
* var
/* : CodeWriter */;
4330 val
* var1
/* : CodeWriter */;
4331 var1
= abstract_compiler__AbstractCompiler__header(self
);
4336 /* method abstract_compiler#AbstractCompiler#header= for (self: AbstractCompiler, CodeWriter) */
4337 void abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
4338 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dheader
].val
= p0
; /* @header on <self:AbstractCompiler> */
4341 /* method abstract_compiler#AbstractCompiler#header= for (self: Object, CodeWriter) */
4342 void VIRTUAL_abstract_compiler__AbstractCompiler__header_61d(val
* self
, val
* p0
) {
4343 abstract_compiler__AbstractCompiler__header_61d(self
, p0
);
4346 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: AbstractCompiler, String, String) */
4347 void abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
4348 val
* var_key
/* var key: String */;
4349 val
* var_s
/* var s: String */;
4350 val
* var
/* : HashMap[String, String] */;
4351 short int var1
/* : Bool */;
4352 val
* var2
/* : HashMap[String, String] */;
4353 val
* var3
/* : nullable Object */;
4354 short int var4
/* : Bool */;
4355 val
* var5
/* : HashMap[String, String] */;
4358 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
4359 var1
= ((short int (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__MapRead__has_key
]))(var
, var_key
) /* has_key on <var:HashMap[String, String]>*/;
4361 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
4362 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var2
, var_key
) /* [] on <var2:HashMap[String, String]>*/;
4363 var4
= ((short int (*)(val
*, val
*))(var3
->class->vft
[COLOR_kernel__Object___61d_61d
]))(var3
, var_s
) /* == on <var3:nullable Object(String)>*/;
4365 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4366 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 423);
4371 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__provided_declarations
]))(self
) /* provided_declarations on <self:AbstractCompiler>*/;
4372 ((void (*)(val
*, val
*, val
*))(var5
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var5
, var_key
, var_s
) /* []= on <var5:HashMap[String, String]>*/;
4375 /* method abstract_compiler#AbstractCompiler#provide_declaration for (self: Object, String, String) */
4376 void VIRTUAL_abstract_compiler__AbstractCompiler__provide_declaration(val
* self
, val
* p0
, val
* p1
) {
4377 abstract_compiler__AbstractCompiler__provide_declaration(self
, p0
, p1
);
4380 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: AbstractCompiler): HashMap[String, String] */
4381 val
* abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
4382 val
* var
/* : HashMap[String, String] */;
4383 val
* var1
/* : HashMap[String, String] */;
4384 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
; /* @provided_declarations on <self:AbstractCompiler> */
4386 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @provided_declarations");
4387 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 428);
4394 /* method abstract_compiler#AbstractCompiler#provided_declarations for (self: Object): HashMap[String, String] */
4395 val
* VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations(val
* self
) {
4396 val
* var
/* : HashMap[String, String] */;
4397 val
* var1
/* : HashMap[String, String] */;
4398 var1
= abstract_compiler__AbstractCompiler__provided_declarations(self
);
4403 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: AbstractCompiler, HashMap[String, String]) */
4404 void abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
4405 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dprovided_declarations
].val
= p0
; /* @provided_declarations on <self:AbstractCompiler> */
4408 /* method abstract_compiler#AbstractCompiler#provided_declarations= for (self: Object, HashMap[String, String]) */
4409 void VIRTUAL_abstract_compiler__AbstractCompiler__provided_declarations_61d(val
* self
, val
* p0
) {
4410 abstract_compiler__AbstractCompiler__provided_declarations_61d(self
, p0
);
4413 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations for (self: AbstractCompiler): HashMap[String, ANode] */
4414 val
* abstract_compiler__AbstractCompiler__requirers_of_declarations(val
* self
) {
4415 val
* var
/* : HashMap[String, ANode] */;
4416 val
* var1
/* : HashMap[String, ANode] */;
4417 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drequirers_of_declarations
].val
; /* @requirers_of_declarations on <self:AbstractCompiler> */
4419 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @requirers_of_declarations");
4420 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 430);
4427 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations for (self: Object): HashMap[String, ANode] */
4428 val
* VIRTUAL_abstract_compiler__AbstractCompiler__requirers_of_declarations(val
* self
) {
4429 val
* var
/* : HashMap[String, ANode] */;
4430 val
* var1
/* : HashMap[String, ANode] */;
4431 var1
= abstract_compiler__AbstractCompiler__requirers_of_declarations(self
);
4436 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations= for (self: AbstractCompiler, HashMap[String, ANode]) */
4437 void abstract_compiler__AbstractCompiler__requirers_of_declarations_61d(val
* self
, val
* p0
) {
4438 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64drequirers_of_declarations
].val
= p0
; /* @requirers_of_declarations on <self:AbstractCompiler> */
4441 /* method abstract_compiler#AbstractCompiler#requirers_of_declarations= for (self: Object, HashMap[String, ANode]) */
4442 void VIRTUAL_abstract_compiler__AbstractCompiler__requirers_of_declarations_61d(val
* self
, val
* p0
) {
4443 abstract_compiler__AbstractCompiler__requirers_of_declarations_61d(self
, p0
);
4446 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: AbstractCompiler) */
4447 void abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(val
* self
) {
4448 val
* var
/* : ModelBuilder */;
4449 val
* var1
/* : String */;
4450 val
* var_compile_dir
/* var compile_dir: String */;
4451 val
* var2
/* : OFStream */;
4452 val
* var3
/* : Array[Object] */;
4453 long var4
/* : Int */;
4454 val
* var_
/* var : Array[Object] */;
4455 static val
* varonce
;
4456 val
* var5
/* : String */;
4457 char* var6
/* : NativeString */;
4458 long var7
/* : Int */;
4459 val
* var8
/* : String */;
4460 static val
* varonce9
;
4461 val
* var10
/* : String */;
4462 char* var11
/* : NativeString */;
4463 long var12
/* : Int */;
4464 val
* var13
/* : String */;
4465 val
* var14
/* : String */;
4466 val
* var_stream
/* var stream: OFStream */;
4467 static val
* varonce15
;
4468 val
* var16
/* : String */;
4469 char* var17
/* : NativeString */;
4470 long var18
/* : Int */;
4471 val
* var19
/* : String */;
4472 static val
* varonce20
;
4473 val
* var21
/* : String */;
4474 char* var22
/* : NativeString */;
4475 long var23
/* : Int */;
4476 val
* var24
/* : String */;
4477 static val
* varonce25
;
4478 val
* var26
/* : String */;
4479 char* var27
/* : NativeString */;
4480 long var28
/* : Int */;
4481 val
* var29
/* : String */;
4482 static val
* varonce30
;
4483 val
* var31
/* : String */;
4484 char* var32
/* : NativeString */;
4485 long var33
/* : Int */;
4486 val
* var34
/* : String */;
4487 static val
* varonce35
;
4488 val
* var36
/* : String */;
4489 char* var37
/* : NativeString */;
4490 long var38
/* : Int */;
4491 val
* var39
/* : String */;
4492 val
* var40
/* : HashMap[String, String] */;
4493 val
* var41
/* : Collection[Object] */;
4494 val
* var42
/* : Iterator[nullable Object] */;
4495 short int var43
/* : Bool */;
4496 val
* var44
/* : nullable Object */;
4497 val
* var_i
/* var i: String */;
4498 static val
* varonce45
;
4499 val
* var46
/* : String */;
4500 char* var47
/* : NativeString */;
4501 long var48
/* : Int */;
4502 val
* var49
/* : String */;
4503 val
* var50
/* : HashMap[String, String] */;
4504 val
* var51
/* : nullable Object */;
4505 static val
* varonce52
;
4506 val
* var53
/* : String */;
4507 char* var54
/* : NativeString */;
4508 long var55
/* : Int */;
4509 val
* var56
/* : String */;
4510 static val
* varonce57
;
4511 val
* var58
/* : String */;
4512 char* var59
/* : NativeString */;
4513 long var60
/* : Int */;
4514 val
* var61
/* : String */;
4515 static val
* varonce62
;
4516 val
* var63
/* : String */;
4517 char* var64
/* : NativeString */;
4518 long var65
/* : Int */;
4519 val
* var66
/* : String */;
4520 val
* var67
/* : OFStream */;
4521 val
* var68
/* : Array[Object] */;
4522 long var69
/* : Int */;
4523 val
* var_70
/* var : Array[Object] */;
4524 static val
* varonce71
;
4525 val
* var72
/* : String */;
4526 char* var73
/* : NativeString */;
4527 long var74
/* : Int */;
4528 val
* var75
/* : String */;
4529 static val
* varonce76
;
4530 val
* var77
/* : String */;
4531 char* var78
/* : NativeString */;
4532 long var79
/* : Int */;
4533 val
* var80
/* : String */;
4534 val
* var81
/* : String */;
4535 static val
* varonce82
;
4536 val
* var83
/* : String */;
4537 char* var84
/* : NativeString */;
4538 long var85
/* : Int */;
4539 val
* var86
/* : String */;
4540 static val
* varonce87
;
4541 val
* var88
/* : String */;
4542 char* var89
/* : NativeString */;
4543 long var90
/* : Int */;
4544 val
* var91
/* : String */;
4545 val
* var92
/* : Process */;
4546 static val
* varonce93
;
4547 val
* var94
/* : String */;
4548 char* var95
/* : NativeString */;
4549 long var96
/* : Int */;
4550 val
* var97
/* : String */;
4551 val
* var98
/* : Array[Object] */;
4552 long var99
/* : Int */;
4553 val
* var_100
/* var : Array[Object] */;
4554 static val
* varonce101
;
4555 val
* var102
/* : String */;
4556 char* var103
/* : NativeString */;
4557 long var104
/* : Int */;
4558 val
* var105
/* : String */;
4559 static val
* varonce106
;
4560 val
* var107
/* : String */;
4561 char* var108
/* : NativeString */;
4562 long var109
/* : Int */;
4563 val
* var110
/* : String */;
4564 val
* var111
/* : String */;
4565 static val
* varonce112
;
4566 val
* var113
/* : String */;
4567 char* var114
/* : NativeString */;
4568 long var115
/* : Int */;
4569 val
* var116
/* : String */;
4570 static val
* varonce117
;
4571 val
* var118
/* : String */;
4572 char* var119
/* : NativeString */;
4573 long var120
/* : Int */;
4574 val
* var121
/* : String */;
4575 val
* var122
/* : Array[Object] */;
4576 long var123
/* : Int */;
4577 val
* var_124
/* var : Array[Object] */;
4578 static val
* varonce125
;
4579 val
* var126
/* : String */;
4580 char* var127
/* : NativeString */;
4581 long var128
/* : Int */;
4582 val
* var129
/* : String */;
4583 static val
* varonce130
;
4584 val
* var131
/* : String */;
4585 char* var132
/* : NativeString */;
4586 long var133
/* : Int */;
4587 val
* var134
/* : String */;
4588 val
* var135
/* : String */;
4589 static val
* varonce136
;
4590 val
* var137
/* : String */;
4591 char* var138
/* : NativeString */;
4592 long var139
/* : Int */;
4593 val
* var140
/* : String */;
4594 val
* var141
/* : Array[String] */;
4595 long var142
/* : Int */;
4596 val
* var143
/* : NativeArray[String] */;
4597 val
* var_x
/* var x: Process */;
4598 val
* var144
/* : Array[ExternFile] */;
4599 val
* var145
/* : ExternCFile */;
4600 val
* var146
/* : Array[Object] */;
4601 long var147
/* : Int */;
4602 val
* var_148
/* var : Array[Object] */;
4603 static val
* varonce149
;
4604 val
* var150
/* : String */;
4605 char* var151
/* : NativeString */;
4606 long var152
/* : Int */;
4607 val
* var153
/* : String */;
4608 static val
* varonce154
;
4609 val
* var155
/* : String */;
4610 char* var156
/* : NativeString */;
4611 long var157
/* : Int */;
4612 val
* var158
/* : String */;
4613 val
* var159
/* : String */;
4614 static val
* varonce160
;
4615 val
* var161
/* : String */;
4616 char* var162
/* : NativeString */;
4617 long var163
/* : Int */;
4618 val
* var164
/* : String */;
4619 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
4620 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__ModelBuilder__compile_dir
]))(var
) /* compile_dir on <var:ModelBuilder>*/;
4621 var_compile_dir
= var1
;
4622 var2
= NEW_file__OFStream(&type_file__OFStream
);
4623 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4625 ((void (*)(val
*, long))(var3
->class->vft
[COLOR_array__Array__with_capacity
]))(var3
, var4
) /* with_capacity on <var3:Array[Object]>*/;
4632 var8
= string__NativeString__to_s_with_length(var6
, var7
);
4636 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var5
) /* add on <var_:Array[Object]>*/;
4637 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var_compile_dir
) /* add on <var_:Array[Object]>*/;
4641 var11
= "/C_fun_names";
4643 var13
= string__NativeString__to_s_with_length(var11
, var12
);
4647 ((void (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_
, var10
) /* add on <var_:Array[Object]>*/;
4648 var14
= ((val
* (*)(val
*))(var_
->class->vft
[COLOR_string__Object__to_s
]))(var_
) /* to_s on <var_:Array[Object]>*/;
4649 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_file__OFStream__open
]))(var2
, var14
) /* open on <var2:OFStream>*/;
4654 var17
= "%{\n#include \"c_functions_hash.h\"\n%}\n";
4656 var19
= string__NativeString__to_s_with_length(var17
, var18
);
4660 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var16
) /* write on <var_stream:OFStream>*/;
4664 var22
= "%define lookup-function-name get_nit_name\n";
4666 var24
= string__NativeString__to_s_with_length(var22
, var23
);
4670 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var21
) /* write on <var_stream:OFStream>*/;
4674 var27
= "struct C_Nit_Names;\n";
4676 var29
= string__NativeString__to_s_with_length(var27
, var28
);
4680 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var26
) /* write on <var_stream:OFStream>*/;
4686 var34
= string__NativeString__to_s_with_length(var32
, var33
);
4690 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var31
) /* write on <var_stream:OFStream>*/;
4696 var39
= string__NativeString__to_s_with_length(var37
, var38
);
4700 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var36
) /* write on <var_stream:OFStream>*/;
4701 var40
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(self
) /* names on <self:AbstractCompiler>*/;
4702 var41
= ((val
* (*)(val
*))(var40
->class->vft
[COLOR_abstract_collection__MapRead__keys
]))(var40
) /* keys on <var40:HashMap[String, String]>*/;
4703 var42
= ((val
* (*)(val
*))(var41
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var41
) /* iterator on <var41:Collection[Object](HashMapKeys[String, String])>*/;
4705 var43
= ((short int (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var42
) /* is_ok on <var42:Iterator[nullable Object]>*/;
4707 var44
= ((val
* (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var42
) /* item on <var42:Iterator[nullable Object]>*/;
4709 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var_i
) /* write on <var_stream:OFStream>*/;
4715 var49
= string__NativeString__to_s_with_length(var47
, var48
);
4719 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var46
) /* write on <var_stream:OFStream>*/;
4720 var50
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__names
]))(self
) /* names on <self:AbstractCompiler>*/;
4721 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_i
) /* [] on <var50:HashMap[String, String]>*/;
4722 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var51
) /* write on <var_stream:OFStream>*/;
4728 var56
= string__NativeString__to_s_with_length(var54
, var55
);
4732 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var53
) /* write on <var_stream:OFStream>*/;
4733 CONTINUE_label
: (void)0;
4734 ((void (*)(val
*))(var42
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var42
) /* next on <var42:Iterator[nullable Object]>*/;
4736 BREAK_label
: (void)0;
4742 var61
= string__NativeString__to_s_with_length(var59
, var60
);
4746 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var58
) /* write on <var_stream:OFStream>*/;
4752 var66
= string__NativeString__to_s_with_length(var64
, var65
);
4756 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var63
) /* write on <var_stream:OFStream>*/;
4757 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
4758 var67
= NEW_file__OFStream(&type_file__OFStream
);
4759 var68
= NEW_array__Array(&type_array__Arraykernel__Object
);
4761 ((void (*)(val
*, long))(var68
->class->vft
[COLOR_array__Array__with_capacity
]))(var68
, var69
) /* with_capacity on <var68:Array[Object]>*/;
4768 var75
= string__NativeString__to_s_with_length(var73
, var74
);
4772 ((void (*)(val
*, val
*))(var_70
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_70
, var72
) /* add on <var_70:Array[Object]>*/;
4773 ((void (*)(val
*, val
*))(var_70
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_70
, var_compile_dir
) /* add on <var_70:Array[Object]>*/;
4777 var78
= "/c_functions_hash.h";
4779 var80
= string__NativeString__to_s_with_length(var78
, var79
);
4783 ((void (*)(val
*, val
*))(var_70
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_70
, var77
) /* add on <var_70:Array[Object]>*/;
4784 var81
= ((val
* (*)(val
*))(var_70
->class->vft
[COLOR_string__Object__to_s
]))(var_70
) /* to_s on <var_70:Array[Object]>*/;
4785 ((void (*)(val
*, val
*))(var67
->class->vft
[COLOR_file__OFStream__open
]))(var67
, var81
) /* open on <var67:OFStream>*/;
4790 var84
= "typedef struct C_Nit_Names{char* name; char* nit_name;}C_Nit_Names;\n";
4792 var86
= string__NativeString__to_s_with_length(var84
, var85
);
4796 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var83
) /* write on <var_stream:OFStream>*/;
4800 var89
= "const struct C_Nit_Names* get_nit_name(register const char *str, register unsigned int len);\n";
4802 var91
= string__NativeString__to_s_with_length(var89
, var90
);
4806 ((void (*)(val
*, val
*))(var_stream
->class->vft
[COLOR_stream__OStream__write
]))(var_stream
, var88
) /* write on <var_stream:OFStream>*/;
4807 ((void (*)(val
*))(var_stream
->class->vft
[COLOR_stream__IOS__close
]))(var_stream
) /* close on <var_stream:OFStream>*/;
4808 var92
= NEW_exec__Process(&type_exec__Process
);
4814 var97
= string__NativeString__to_s_with_length(var95
, var96
);
4818 var98
= NEW_array__Array(&type_array__Arraykernel__Object
);
4820 ((void (*)(val
*, long))(var98
->class->vft
[COLOR_array__Array__with_capacity
]))(var98
, var99
) /* with_capacity on <var98:Array[Object]>*/;
4823 var102
= varonce101
;
4827 var105
= string__NativeString__to_s_with_length(var103
, var104
);
4829 varonce101
= var102
;
4831 ((void (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_100
, var102
) /* add on <var_100:Array[Object]>*/;
4832 ((void (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_100
, var_compile_dir
) /* add on <var_100:Array[Object]>*/;
4834 var107
= varonce106
;
4836 var108
= "/C_fun_names";
4838 var110
= string__NativeString__to_s_with_length(var108
, var109
);
4840 varonce106
= var107
;
4842 ((void (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_100
, var107
) /* add on <var_100:Array[Object]>*/;
4843 var111
= ((val
* (*)(val
*))(var_100
->class->vft
[COLOR_string__Object__to_s
]))(var_100
) /* to_s on <var_100:Array[Object]>*/;
4845 var113
= varonce112
;
4849 var116
= string__NativeString__to_s_with_length(var114
, var115
);
4851 varonce112
= var113
;
4854 var118
= varonce117
;
4858 var121
= string__NativeString__to_s_with_length(var119
, var120
);
4860 varonce117
= var118
;
4862 var122
= NEW_array__Array(&type_array__Arraykernel__Object
);
4864 ((void (*)(val
*, long))(var122
->class->vft
[COLOR_array__Array__with_capacity
]))(var122
, var123
) /* with_capacity on <var122:Array[Object]>*/;
4867 var126
= varonce125
;
4869 var127
= "--output-file=";
4871 var129
= string__NativeString__to_s_with_length(var127
, var128
);
4873 varonce125
= var126
;
4875 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var126
) /* add on <var_124:Array[Object]>*/;
4876 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var_compile_dir
) /* add on <var_124:Array[Object]>*/;
4878 var131
= varonce130
;
4880 var132
= "/c_functions_hash.c";
4882 var134
= string__NativeString__to_s_with_length(var132
, var133
);
4884 varonce130
= var131
;
4886 ((void (*)(val
*, val
*))(var_124
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_124
, var131
) /* add on <var_124:Array[Object]>*/;
4887 var135
= ((val
* (*)(val
*))(var_124
->class->vft
[COLOR_string__Object__to_s
]))(var_124
) /* to_s on <var_124:Array[Object]>*/;
4889 var137
= varonce136
;
4893 var140
= string__NativeString__to_s_with_length(var138
, var139
);
4895 varonce136
= var137
;
4897 var141
= NEW_array__Array(&type_array__Arraystring__String
);
4898 { /* var141 = array_instance Array[String] */
4900 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraystring__String
);
4901 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var111
;
4902 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var113
;
4903 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var118
;
4904 ((struct instance_array__NativeArray
*)var143
)->values
[3] = (val
*) var135
;
4905 ((struct instance_array__NativeArray
*)var143
)->values
[4] = (val
*) var137
;
4906 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[String]>*/;
4908 ((void (*)(val
*, val
*, val
*))(var92
->class->vft
[COLOR_exec__Process__init
]))(var92
, var94
, var141
) /* init on <var92:Process>*/;
4910 ((void (*)(val
*))(var_x
->class->vft
[COLOR_exec__Process__wait
]))(var_x
) /* wait on <var_x:Process>*/;
4911 var144
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__extern_bodies
]))(self
) /* extern_bodies on <self:AbstractCompiler>*/;
4912 var145
= NEW_c__ExternCFile(&type_c__ExternCFile
);
4913 var146
= NEW_array__Array(&type_array__Arraykernel__Object
);
4915 ((void (*)(val
*, long))(var146
->class->vft
[COLOR_array__Array__with_capacity
]))(var146
, var147
) /* with_capacity on <var146:Array[Object]>*/;
4918 var150
= varonce149
;
4922 var153
= string__NativeString__to_s_with_length(var151
, var152
);
4924 varonce149
= var150
;
4926 ((void (*)(val
*, val
*))(var_148
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_148
, var150
) /* add on <var_148:Array[Object]>*/;
4927 ((void (*)(val
*, val
*))(var_148
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_148
, var_compile_dir
) /* add on <var_148:Array[Object]>*/;
4929 var155
= varonce154
;
4931 var156
= "/c_functions_hash.c";
4933 var158
= string__NativeString__to_s_with_length(var156
, var157
);
4935 varonce154
= var155
;
4937 ((void (*)(val
*, val
*))(var_148
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_148
, var155
) /* add on <var_148:Array[Object]>*/;
4938 var159
= ((val
* (*)(val
*))(var_148
->class->vft
[COLOR_string__Object__to_s
]))(var_148
) /* to_s on <var_148:Array[Object]>*/;
4940 var161
= varonce160
;
4944 var164
= string__NativeString__to_s_with_length(var162
, var163
);
4946 varonce160
= var161
;
4948 ((void (*)(val
*, val
*, val
*))(var145
->class->vft
[COLOR_c__ExternCFile__init
]))(var145
, var159
, var161
) /* init on <var145:ExternCFile>*/;
4949 ((void (*)(val
*, val
*))(var144
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var144
, var145
) /* add on <var144:Array[ExternFile]>*/;
4952 /* method abstract_compiler#AbstractCompiler#build_c_to_nit_bindings for (self: Object) */
4953 void VIRTUAL_abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(val
* self
) {
4954 abstract_compiler__AbstractCompiler__build_c_to_nit_bindings(self
);
4957 /* method abstract_compiler#AbstractCompiler#compile_header for (self: AbstractCompiler) */
4958 void abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
4959 val
* var
/* : CodeWriter */;
4960 val
* var_v
/* var v: CodeWriter */;
4961 val
* var1
/* : ModelBuilder */;
4962 val
* var2
/* : ToolContext */;
4963 val
* var_toolctx
/* var toolctx: ToolContext */;
4964 val
* var3
/* : CodeWriter */;
4965 static val
* varonce
;
4966 val
* var4
/* : String */;
4967 char* var5
/* : NativeString */;
4968 long var6
/* : Int */;
4969 val
* var7
/* : String */;
4970 val
* var8
/* : CodeWriter */;
4971 static val
* varonce9
;
4972 val
* var10
/* : String */;
4973 char* var11
/* : NativeString */;
4974 long var12
/* : Int */;
4975 val
* var13
/* : String */;
4976 val
* var14
/* : CodeWriter */;
4977 static val
* varonce15
;
4978 val
* var16
/* : String */;
4979 char* var17
/* : NativeString */;
4980 long var18
/* : Int */;
4981 val
* var19
/* : String */;
4982 val
* var20
/* : CodeWriter */;
4983 static val
* varonce21
;
4984 val
* var22
/* : String */;
4985 char* var23
/* : NativeString */;
4986 long var24
/* : Int */;
4987 val
* var25
/* : String */;
4988 val
* var26
/* : CodeWriter */;
4989 static val
* varonce27
;
4990 val
* var28
/* : String */;
4991 char* var29
/* : NativeString */;
4992 long var30
/* : Int */;
4993 val
* var31
/* : String */;
4994 val
* var32
/* : CodeWriter */;
4995 static val
* varonce33
;
4996 val
* var34
/* : String */;
4997 char* var35
/* : NativeString */;
4998 long var36
/* : Int */;
4999 val
* var37
/* : String */;
5000 val
* var38
/* : CodeWriter */;
5001 static val
* varonce39
;
5002 val
* var40
/* : String */;
5003 char* var41
/* : NativeString */;
5004 long var42
/* : Int */;
5005 val
* var43
/* : String */;
5006 val
* var44
/* : CodeWriter */;
5007 static val
* varonce45
;
5008 val
* var46
/* : String */;
5009 char* var47
/* : NativeString */;
5010 long var48
/* : Int */;
5011 val
* var49
/* : String */;
5012 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5014 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5015 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
5017 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5021 var5
= "#include <stdlib.h>";
5023 var7
= string__NativeString__to_s_with_length(var5
, var6
);
5027 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var3
, var4
) /* add_decl on <var3:CodeWriter>*/;
5028 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5032 var11
= "#include <stdio.h>";
5034 var13
= string__NativeString__to_s_with_length(var11
, var12
);
5038 ((void (*)(val
*, val
*))(var8
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var8
, var10
) /* add_decl on <var8:CodeWriter>*/;
5039 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5043 var17
= "#include <string.h>";
5045 var19
= string__NativeString__to_s_with_length(var17
, var18
);
5049 ((void (*)(val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var14
, var16
) /* add_decl on <var14:CodeWriter>*/;
5050 var20
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5054 var23
= "#include \"gc_chooser.h\"";
5056 var25
= string__NativeString__to_s_with_length(var23
, var24
);
5060 ((void (*)(val
*, val
*))(var20
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var20
, var22
) /* add_decl on <var20:CodeWriter>*/;
5061 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__compile_header_structs
]))(self
) /* compile_header_structs on <self:AbstractCompiler>*/;
5062 ((void (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__compile_nitni_structs
]))(self
) /* compile_nitni_structs on <self:AbstractCompiler>*/;
5063 var26
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5067 var29
= "void show_backtrace(int);";
5069 var31
= string__NativeString__to_s_with_length(var29
, var30
);
5073 ((void (*)(val
*, val
*))(var26
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var26
, var28
) /* add_decl on <var26:CodeWriter>*/;
5074 var32
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5078 var35
= "extern int glob_argc;";
5080 var37
= string__NativeString__to_s_with_length(var35
, var36
);
5084 ((void (*)(val
*, val
*))(var32
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var32
, var34
) /* add_decl on <var32:CodeWriter>*/;
5085 var38
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5089 var41
= "extern char **glob_argv;";
5091 var43
= string__NativeString__to_s_with_length(var41
, var42
);
5095 ((void (*)(val
*, val
*))(var38
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var38
, var40
) /* add_decl on <var38:CodeWriter>*/;
5096 var44
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(self
) /* header on <self:AbstractCompiler>*/;
5100 var47
= "extern val *glob_sys;";
5102 var49
= string__NativeString__to_s_with_length(var47
, var48
);
5106 ((void (*)(val
*, val
*))(var44
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var44
, var46
) /* add_decl on <var44:CodeWriter>*/;
5109 /* method abstract_compiler#AbstractCompiler#compile_header for (self: Object) */
5110 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header(val
* self
) {
5111 abstract_compiler__AbstractCompiler__compile_header(self
);
5114 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: AbstractCompiler) */
5115 void abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
5116 const char* var_class_name
;
5117 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5118 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_header_structs", var_class_name
);
5119 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 487);
5123 /* method abstract_compiler#AbstractCompiler#compile_header_structs for (self: Object) */
5124 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_header_structs(val
* self
) {
5125 abstract_compiler__AbstractCompiler__compile_header_structs(self
);
5128 /* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: AbstractCompiler) */
5129 void abstract_compiler__AbstractCompiler__compile_nitni_structs(val
* self
) {
5130 const char* var_class_name
;
5131 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
5132 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "compile_nitni_structs", var_class_name
);
5133 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 490);
5137 /* method abstract_compiler#AbstractCompiler#compile_nitni_structs for (self: Object) */
5138 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_nitni_structs(val
* self
) {
5139 abstract_compiler__AbstractCompiler__compile_nitni_structs(self
);
5142 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: AbstractCompiler) */
5143 void abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
5144 val
* var
/* : AbstractCompilerVisitor */;
5145 val
* var_v
/* var v: AbstractCompilerVisitor */;
5146 val
* var1
/* : ModelBuilder */;
5147 val
* var2
/* : ToolContext */;
5148 val
* var3
/* : OptionBool */;
5149 val
* var4
/* : nullable Object */;
5150 short int var5
/* : Bool */;
5151 static val
* varonce
;
5152 val
* var6
/* : String */;
5153 char* var7
/* : NativeString */;
5154 long var8
/* : Int */;
5155 val
* var9
/* : String */;
5156 static val
* varonce10
;
5157 val
* var11
/* : String */;
5158 char* var12
/* : NativeString */;
5159 long var13
/* : Int */;
5160 val
* var14
/* : String */;
5161 val
* var15
/* : ModelBuilder */;
5162 val
* var16
/* : ToolContext */;
5163 val
* var17
/* : OptionBool */;
5164 val
* var18
/* : nullable Object */;
5165 short int var19
/* : Bool */;
5166 short int var20
/* : Bool */;
5167 static val
* varonce21
;
5168 val
* var22
/* : String */;
5169 char* var23
/* : NativeString */;
5170 long var24
/* : Int */;
5171 val
* var25
/* : String */;
5172 static val
* varonce26
;
5173 val
* var27
/* : String */;
5174 char* var28
/* : NativeString */;
5175 long var29
/* : Int */;
5176 val
* var30
/* : String */;
5177 static val
* varonce31
;
5178 val
* var32
/* : String */;
5179 char* var33
/* : NativeString */;
5180 long var34
/* : Int */;
5181 val
* var35
/* : String */;
5182 static val
* varonce36
;
5183 val
* var37
/* : String */;
5184 char* var38
/* : NativeString */;
5185 long var39
/* : Int */;
5186 val
* var40
/* : String */;
5187 static val
* varonce41
;
5188 val
* var42
/* : String */;
5189 char* var43
/* : NativeString */;
5190 long var44
/* : Int */;
5191 val
* var45
/* : String */;
5192 val
* var46
/* : ModelBuilder */;
5193 val
* var47
/* : ToolContext */;
5194 val
* var48
/* : OptionBool */;
5195 val
* var49
/* : nullable Object */;
5196 short int var50
/* : Bool */;
5197 val
* var51
/* : Array[String] */;
5198 val
* var52
/* : Iterator[nullable Object] */;
5199 short int var53
/* : Bool */;
5200 val
* var54
/* : nullable Object */;
5201 val
* var_tag
/* var tag: String */;
5202 static val
* varonce55
;
5203 val
* var56
/* : String */;
5204 char* var57
/* : NativeString */;
5205 long var58
/* : Int */;
5206 val
* var59
/* : String */;
5207 static val
* varonce60
;
5208 val
* var61
/* : String */;
5209 char* var62
/* : NativeString */;
5210 long var63
/* : Int */;
5211 val
* var64
/* : String */;
5212 val
* var65
/* : Array[Object] */;
5213 long var66
/* : Int */;
5214 val
* var67
/* : NativeArray[Object] */;
5215 val
* var68
/* : String */;
5216 static val
* varonce69
;
5217 val
* var70
/* : String */;
5218 char* var71
/* : NativeString */;
5219 long var72
/* : Int */;
5220 val
* var73
/* : String */;
5221 static val
* varonce74
;
5222 val
* var75
/* : String */;
5223 char* var76
/* : NativeString */;
5224 long var77
/* : Int */;
5225 val
* var78
/* : String */;
5226 val
* var79
/* : Array[Object] */;
5227 long var80
/* : Int */;
5228 val
* var81
/* : NativeArray[Object] */;
5229 val
* var82
/* : String */;
5230 static val
* varonce83
;
5231 val
* var84
/* : String */;
5232 char* var85
/* : NativeString */;
5233 long var86
/* : Int */;
5234 val
* var87
/* : String */;
5235 static val
* varonce88
;
5236 val
* var89
/* : String */;
5237 char* var90
/* : NativeString */;
5238 long var91
/* : Int */;
5239 val
* var92
/* : String */;
5240 val
* var93
/* : Array[Object] */;
5241 long var94
/* : Int */;
5242 val
* var95
/* : NativeArray[Object] */;
5243 val
* var96
/* : String */;
5244 val
* var97
/* : AbstractCompiler */;
5245 val
* var98
/* : CodeWriter */;
5246 static val
* varonce99
;
5247 val
* var100
/* : String */;
5248 char* var101
/* : NativeString */;
5249 long var102
/* : Int */;
5250 val
* var103
/* : String */;
5251 static val
* varonce104
;
5252 val
* var105
/* : String */;
5253 char* var106
/* : NativeString */;
5254 long var107
/* : Int */;
5255 val
* var108
/* : String */;
5256 val
* var109
/* : Array[Object] */;
5257 long var110
/* : Int */;
5258 val
* var111
/* : NativeArray[Object] */;
5259 val
* var112
/* : String */;
5260 val
* var113
/* : AbstractCompiler */;
5261 val
* var114
/* : CodeWriter */;
5262 static val
* varonce115
;
5263 val
* var116
/* : String */;
5264 char* var117
/* : NativeString */;
5265 long var118
/* : Int */;
5266 val
* var119
/* : String */;
5267 static val
* varonce120
;
5268 val
* var121
/* : String */;
5269 char* var122
/* : NativeString */;
5270 long var123
/* : Int */;
5271 val
* var124
/* : String */;
5272 val
* var125
/* : Array[Object] */;
5273 long var126
/* : Int */;
5274 val
* var127
/* : NativeArray[Object] */;
5275 val
* var128
/* : String */;
5276 val
* var129
/* : AbstractCompiler */;
5277 val
* var130
/* : CodeWriter */;
5278 static val
* varonce131
;
5279 val
* var132
/* : String */;
5280 char* var133
/* : NativeString */;
5281 long var134
/* : Int */;
5282 val
* var135
/* : String */;
5283 static val
* varonce136
;
5284 val
* var137
/* : String */;
5285 char* var138
/* : NativeString */;
5286 long var139
/* : Int */;
5287 val
* var140
/* : String */;
5288 val
* var141
/* : Array[Object] */;
5289 long var142
/* : Int */;
5290 val
* var143
/* : NativeArray[Object] */;
5291 val
* var144
/* : String */;
5292 static val
* varonce145
;
5293 val
* var146
/* : String */;
5294 char* var147
/* : NativeString */;
5295 long var148
/* : Int */;
5296 val
* var149
/* : String */;
5297 static val
* varonce150
;
5298 val
* var151
/* : String */;
5299 char* var152
/* : NativeString */;
5300 long var153
/* : Int */;
5301 val
* var154
/* : String */;
5302 static val
* varonce155
;
5303 val
* var156
/* : String */;
5304 char* var157
/* : NativeString */;
5305 long var158
/* : Int */;
5306 val
* var159
/* : String */;
5307 static val
* varonce160
;
5308 val
* var161
/* : String */;
5309 char* var162
/* : NativeString */;
5310 long var163
/* : Int */;
5311 val
* var164
/* : String */;
5312 static val
* varonce165
;
5313 val
* var166
/* : String */;
5314 char* var167
/* : NativeString */;
5315 long var168
/* : Int */;
5316 val
* var169
/* : String */;
5317 val
* var170
/* : ModelBuilder */;
5318 val
* var171
/* : ToolContext */;
5319 val
* var172
/* : OptionBool */;
5320 val
* var173
/* : nullable Object */;
5321 short int var174
/* : Bool */;
5322 short int var175
/* : Bool */;
5323 static val
* varonce176
;
5324 val
* var177
/* : String */;
5325 char* var178
/* : NativeString */;
5326 long var179
/* : Int */;
5327 val
* var180
/* : String */;
5328 static val
* varonce181
;
5329 val
* var182
/* : String */;
5330 char* var183
/* : NativeString */;
5331 long var184
/* : Int */;
5332 val
* var185
/* : String */;
5333 static val
* varonce186
;
5334 val
* var187
/* : String */;
5335 char* var188
/* : NativeString */;
5336 long var189
/* : Int */;
5337 val
* var190
/* : String */;
5338 static val
* varonce191
;
5339 val
* var192
/* : String */;
5340 char* var193
/* : NativeString */;
5341 long var194
/* : Int */;
5342 val
* var195
/* : String */;
5343 static val
* varonce196
;
5344 val
* var197
/* : String */;
5345 char* var198
/* : NativeString */;
5346 long var199
/* : Int */;
5347 val
* var200
/* : String */;
5348 static val
* varonce201
;
5349 val
* var202
/* : String */;
5350 char* var203
/* : NativeString */;
5351 long var204
/* : Int */;
5352 val
* var205
/* : String */;
5353 static val
* varonce206
;
5354 val
* var207
/* : String */;
5355 char* var208
/* : NativeString */;
5356 long var209
/* : Int */;
5357 val
* var210
/* : String */;
5358 static val
* varonce211
;
5359 val
* var212
/* : String */;
5360 char* var213
/* : NativeString */;
5361 long var214
/* : Int */;
5362 val
* var215
/* : String */;
5363 static val
* varonce216
;
5364 val
* var217
/* : String */;
5365 char* var218
/* : NativeString */;
5366 long var219
/* : Int */;
5367 val
* var220
/* : String */;
5368 static val
* varonce221
;
5369 val
* var222
/* : String */;
5370 char* var223
/* : NativeString */;
5371 long var224
/* : Int */;
5372 val
* var225
/* : String */;
5373 static val
* varonce226
;
5374 val
* var227
/* : String */;
5375 char* var228
/* : NativeString */;
5376 long var229
/* : Int */;
5377 val
* var230
/* : String */;
5378 static val
* varonce231
;
5379 val
* var232
/* : String */;
5380 char* var233
/* : NativeString */;
5381 long var234
/* : Int */;
5382 val
* var235
/* : String */;
5383 static val
* varonce236
;
5384 val
* var237
/* : String */;
5385 char* var238
/* : NativeString */;
5386 long var239
/* : Int */;
5387 val
* var240
/* : String */;
5388 val
* var241
/* : ModelBuilder */;
5389 val
* var242
/* : ToolContext */;
5390 val
* var243
/* : OptionBool */;
5391 val
* var244
/* : nullable Object */;
5392 short int var245
/* : Bool */;
5393 static val
* varonce246
;
5394 val
* var247
/* : String */;
5395 char* var248
/* : NativeString */;
5396 long var249
/* : Int */;
5397 val
* var250
/* : String */;
5398 static val
* varonce251
;
5399 val
* var252
/* : String */;
5400 char* var253
/* : NativeString */;
5401 long var254
/* : Int */;
5402 val
* var255
/* : String */;
5403 static val
* varonce256
;
5404 val
* var257
/* : String */;
5405 char* var258
/* : NativeString */;
5406 long var259
/* : Int */;
5407 val
* var260
/* : String */;
5408 static val
* varonce261
;
5409 val
* var262
/* : String */;
5410 char* var263
/* : NativeString */;
5411 long var264
/* : Int */;
5412 val
* var265
/* : String */;
5413 static val
* varonce266
;
5414 val
* var267
/* : String */;
5415 char* var268
/* : NativeString */;
5416 long var269
/* : Int */;
5417 val
* var270
/* : String */;
5418 static val
* varonce271
;
5419 val
* var272
/* : String */;
5420 char* var273
/* : NativeString */;
5421 long var274
/* : Int */;
5422 val
* var275
/* : String */;
5423 static val
* varonce276
;
5424 val
* var277
/* : String */;
5425 char* var278
/* : NativeString */;
5426 long var279
/* : Int */;
5427 val
* var280
/* : String */;
5428 static val
* varonce281
;
5429 val
* var282
/* : String */;
5430 char* var283
/* : NativeString */;
5431 long var284
/* : Int */;
5432 val
* var285
/* : String */;
5433 static val
* varonce286
;
5434 val
* var287
/* : String */;
5435 char* var288
/* : NativeString */;
5436 long var289
/* : Int */;
5437 val
* var290
/* : String */;
5438 static val
* varonce291
;
5439 val
* var292
/* : String */;
5440 char* var293
/* : NativeString */;
5441 long var294
/* : Int */;
5442 val
* var295
/* : String */;
5443 static val
* varonce296
;
5444 val
* var297
/* : String */;
5445 char* var298
/* : NativeString */;
5446 long var299
/* : Int */;
5447 val
* var300
/* : String */;
5448 static val
* varonce301
;
5449 val
* var302
/* : String */;
5450 char* var303
/* : NativeString */;
5451 long var304
/* : Int */;
5452 val
* var305
/* : String */;
5453 static val
* varonce306
;
5454 val
* var307
/* : String */;
5455 char* var308
/* : NativeString */;
5456 long var309
/* : Int */;
5457 val
* var310
/* : String */;
5458 static val
* varonce311
;
5459 val
* var312
/* : String */;
5460 char* var313
/* : NativeString */;
5461 long var314
/* : Int */;
5462 val
* var315
/* : String */;
5463 static val
* varonce316
;
5464 val
* var317
/* : String */;
5465 char* var318
/* : NativeString */;
5466 long var319
/* : Int */;
5467 val
* var320
/* : String */;
5468 static val
* varonce321
;
5469 val
* var322
/* : String */;
5470 char* var323
/* : NativeString */;
5471 long var324
/* : Int */;
5472 val
* var325
/* : String */;
5473 static val
* varonce326
;
5474 val
* var327
/* : String */;
5475 char* var328
/* : NativeString */;
5476 long var329
/* : Int */;
5477 val
* var330
/* : String */;
5478 static val
* varonce331
;
5479 val
* var332
/* : String */;
5480 char* var333
/* : NativeString */;
5481 long var334
/* : Int */;
5482 val
* var335
/* : String */;
5483 static val
* varonce336
;
5484 val
* var337
/* : String */;
5485 char* var338
/* : NativeString */;
5486 long var339
/* : Int */;
5487 val
* var340
/* : String */;
5488 static val
* varonce341
;
5489 val
* var342
/* : String */;
5490 char* var343
/* : NativeString */;
5491 long var344
/* : Int */;
5492 val
* var345
/* : String */;
5493 static val
* varonce346
;
5494 val
* var347
/* : String */;
5495 char* var348
/* : NativeString */;
5496 long var349
/* : Int */;
5497 val
* var350
/* : String */;
5498 static val
* varonce351
;
5499 val
* var352
/* : String */;
5500 char* var353
/* : NativeString */;
5501 long var354
/* : Int */;
5502 val
* var355
/* : String */;
5503 val
* var356
/* : MModule */;
5504 val
* var357
/* : nullable MClassType */;
5505 val
* var_main_type
/* var main_type: nullable MClassType */;
5506 val
* var358
/* : null */;
5507 short int var359
/* : Bool */;
5508 val
* var360
/* : AbstractCompiler */;
5509 val
* var361
/* : MModule */;
5510 val
* var_mainmodule
/* var mainmodule: MModule */;
5511 val
* var362
/* : RuntimeVariable */;
5512 val
* var_glob_sys
/* var glob_sys: RuntimeVariable */;
5513 static val
* varonce363
;
5514 val
* var364
/* : String */;
5515 char* var365
/* : NativeString */;
5516 long var366
/* : Int */;
5517 val
* var367
/* : String */;
5518 static val
* varonce368
;
5519 val
* var369
/* : String */;
5520 char* var370
/* : NativeString */;
5521 long var371
/* : Int */;
5522 val
* var372
/* : String */;
5523 val
* var373
/* : Array[Object] */;
5524 long var374
/* : Int */;
5525 val
* var375
/* : NativeArray[Object] */;
5526 val
* var376
/* : String */;
5527 static val
* varonce377
;
5528 val
* var378
/* : String */;
5529 char* var379
/* : NativeString */;
5530 long var380
/* : Int */;
5531 val
* var381
/* : String */;
5532 val
* var382
/* : MClass */;
5533 val
* var383
/* : nullable MMethod */;
5534 val
* var_main_init
/* var main_init: nullable MMethod */;
5535 val
* var384
/* : null */;
5536 short int var385
/* : Bool */;
5537 val
* var386
/* : Array[RuntimeVariable] */;
5538 long var387
/* : Int */;
5539 val
* var388
/* : NativeArray[RuntimeVariable] */;
5540 val
* var389
/* : nullable RuntimeVariable */;
5541 static val
* varonce390
;
5542 val
* var391
/* : String */;
5543 char* var392
/* : NativeString */;
5544 long var393
/* : Int */;
5545 val
* var394
/* : String */;
5546 val
* var395
/* : MClass */;
5547 val
* var396
/* : nullable MMethod */;
5548 val
* var_main_method
/* var main_method: nullable MMethod */;
5549 val
* var397
/* : null */;
5550 short int var398
/* : Bool */;
5551 val
* var399
/* : Array[RuntimeVariable] */;
5552 long var400
/* : Int */;
5553 val
* var401
/* : NativeArray[RuntimeVariable] */;
5554 val
* var402
/* : nullable RuntimeVariable */;
5555 val
* var403
/* : ModelBuilder */;
5556 val
* var404
/* : ToolContext */;
5557 val
* var405
/* : OptionBool */;
5558 val
* var406
/* : nullable Object */;
5559 short int var407
/* : Bool */;
5560 static val
* varonce408
;
5561 val
* var409
/* : String */;
5562 char* var410
/* : NativeString */;
5563 long var411
/* : Int */;
5564 val
* var412
/* : String */;
5565 static val
* varonce413
;
5566 val
* var414
/* : String */;
5567 char* var415
/* : NativeString */;
5568 long var416
/* : Int */;
5569 val
* var417
/* : String */;
5570 static val
* varonce418
;
5571 val
* var419
/* : String */;
5572 char* var420
/* : NativeString */;
5573 long var421
/* : Int */;
5574 val
* var422
/* : String */;
5575 static val
* varonce423
;
5576 val
* var424
/* : String */;
5577 char* var425
/* : NativeString */;
5578 long var426
/* : Int */;
5579 val
* var427
/* : String */;
5580 val
* var428
/* : Array[String] */;
5581 val
* var429
/* : Iterator[nullable Object] */;
5582 short int var430
/* : Bool */;
5583 val
* var431
/* : nullable Object */;
5584 val
* var_tag432
/* var tag: String */;
5585 static val
* varonce433
;
5586 val
* var434
/* : String */;
5587 char* var435
/* : NativeString */;
5588 long var436
/* : Int */;
5589 val
* var437
/* : String */;
5590 static val
* varonce438
;
5591 val
* var439
/* : String */;
5592 char* var440
/* : NativeString */;
5593 long var441
/* : Int */;
5594 val
* var442
/* : String */;
5595 val
* var443
/* : Array[Object] */;
5596 long var444
/* : Int */;
5597 val
* var445
/* : NativeArray[Object] */;
5598 val
* var446
/* : String */;
5599 static val
* varonce447
;
5600 val
* var448
/* : String */;
5601 char* var449
/* : NativeString */;
5602 long var450
/* : Int */;
5603 val
* var451
/* : String */;
5604 static val
* varonce452
;
5605 val
* var453
/* : String */;
5606 char* var454
/* : NativeString */;
5607 long var455
/* : Int */;
5608 val
* var456
/* : String */;
5609 static val
* varonce457
;
5610 val
* var458
/* : String */;
5611 char* var459
/* : NativeString */;
5612 long var460
/* : Int */;
5613 val
* var461
/* : String */;
5614 static val
* varonce462
;
5615 val
* var463
/* : String */;
5616 char* var464
/* : NativeString */;
5617 long var465
/* : Int */;
5618 val
* var466
/* : String */;
5619 static val
* varonce467
;
5620 val
* var468
/* : String */;
5621 char* var469
/* : NativeString */;
5622 long var470
/* : Int */;
5623 val
* var471
/* : String */;
5624 val
* var472
/* : Array[Object] */;
5625 long var473
/* : Int */;
5626 val
* var474
/* : NativeArray[Object] */;
5627 val
* var475
/* : String */;
5628 static val
* varonce476
;
5629 val
* var477
/* : String */;
5630 char* var478
/* : NativeString */;
5631 long var479
/* : Int */;
5632 val
* var480
/* : String */;
5633 static val
* varonce481
;
5634 val
* var482
/* : String */;
5635 char* var483
/* : NativeString */;
5636 long var484
/* : Int */;
5637 val
* var485
/* : String */;
5638 val
* var486
/* : Array[Object] */;
5639 long var487
/* : Int */;
5640 val
* var488
/* : NativeArray[Object] */;
5641 val
* var489
/* : String */;
5642 static val
* varonce490
;
5643 val
* var491
/* : String */;
5644 char* var492
/* : NativeString */;
5645 long var493
/* : Int */;
5646 val
* var494
/* : String */;
5647 static val
* varonce495
;
5648 val
* var496
/* : String */;
5649 char* var497
/* : NativeString */;
5650 long var498
/* : Int */;
5651 val
* var499
/* : String */;
5652 val
* var500
/* : Array[Object] */;
5653 long var501
/* : Int */;
5654 val
* var502
/* : NativeArray[Object] */;
5655 val
* var503
/* : String */;
5656 static val
* varonce504
;
5657 val
* var505
/* : String */;
5658 char* var506
/* : NativeString */;
5659 long var507
/* : Int */;
5660 val
* var508
/* : String */;
5661 static val
* varonce509
;
5662 val
* var510
/* : String */;
5663 char* var511
/* : NativeString */;
5664 long var512
/* : Int */;
5665 val
* var513
/* : String */;
5666 val
* var514
/* : Array[Object] */;
5667 long var515
/* : Int */;
5668 val
* var516
/* : NativeArray[Object] */;
5669 val
* var517
/* : String */;
5670 static val
* varonce518
;
5671 val
* var519
/* : String */;
5672 char* var520
/* : NativeString */;
5673 long var521
/* : Int */;
5674 val
* var522
/* : String */;
5675 static val
* varonce523
;
5676 val
* var524
/* : String */;
5677 char* var525
/* : NativeString */;
5678 long var526
/* : Int */;
5679 val
* var527
/* : String */;
5680 val
* var528
/* : Array[Object] */;
5681 long var529
/* : Int */;
5682 val
* var530
/* : NativeArray[Object] */;
5683 val
* var531
/* : String */;
5684 static val
* varonce533
;
5685 val
* var534
/* : String */;
5686 char* var535
/* : NativeString */;
5687 long var536
/* : Int */;
5688 val
* var537
/* : String */;
5689 static val
* varonce538
;
5690 val
* var539
/* : String */;
5691 char* var540
/* : NativeString */;
5692 long var541
/* : Int */;
5693 val
* var542
/* : String */;
5694 val
* var543
/* : Array[String] */;
5695 val
* var544
/* : Array[nullable Object] */;
5696 val
* var_tags
/* var tags: Array[String] */;
5697 static val
* varonce545
;
5698 val
* var546
/* : String */;
5699 char* var547
/* : NativeString */;
5700 long var548
/* : Int */;
5701 val
* var549
/* : String */;
5702 val
* var550
/* : Iterator[nullable Object] */;
5703 short int var551
/* : Bool */;
5704 val
* var552
/* : nullable Object */;
5705 val
* var_tag553
/* var tag: String */;
5706 static val
* varonce554
;
5707 val
* var555
/* : String */;
5708 char* var556
/* : NativeString */;
5709 long var557
/* : Int */;
5710 val
* var558
/* : String */;
5711 static val
* varonce559
;
5712 val
* var560
/* : String */;
5713 char* var561
/* : NativeString */;
5714 long var562
/* : Int */;
5715 val
* var563
/* : String */;
5716 val
* var564
/* : Array[Object] */;
5717 long var565
/* : Int */;
5718 val
* var566
/* : NativeArray[Object] */;
5719 val
* var567
/* : String */;
5720 static val
* varonce568
;
5721 val
* var569
/* : String */;
5722 char* var570
/* : NativeString */;
5723 long var571
/* : Int */;
5724 val
* var572
/* : String */;
5725 static val
* varonce573
;
5726 val
* var574
/* : String */;
5727 char* var575
/* : NativeString */;
5728 long var576
/* : Int */;
5729 val
* var577
/* : String */;
5730 static val
* varonce578
;
5731 val
* var579
/* : String */;
5732 char* var580
/* : NativeString */;
5733 long var581
/* : Int */;
5734 val
* var582
/* : String */;
5735 val
* var583
/* : Array[Object] */;
5736 long var584
/* : Int */;
5737 val
* var585
/* : NativeArray[Object] */;
5738 val
* var586
/* : String */;
5739 static val
* varonce587
;
5740 val
* var588
/* : String */;
5741 char* var589
/* : NativeString */;
5742 long var590
/* : Int */;
5743 val
* var591
/* : String */;
5744 static val
* varonce592
;
5745 val
* var593
/* : String */;
5746 char* var594
/* : NativeString */;
5747 long var595
/* : Int */;
5748 val
* var596
/* : String */;
5749 static val
* varonce597
;
5750 val
* var598
/* : String */;
5751 char* var599
/* : NativeString */;
5752 long var600
/* : Int */;
5753 val
* var601
/* : String */;
5754 val
* var602
/* : Array[Object] */;
5755 long var603
/* : Int */;
5756 val
* var604
/* : NativeArray[Object] */;
5757 val
* var605
/* : String */;
5758 static val
* varonce606
;
5759 val
* var607
/* : String */;
5760 char* var608
/* : NativeString */;
5761 long var609
/* : Int */;
5762 val
* var610
/* : String */;
5763 static val
* varonce611
;
5764 val
* var612
/* : String */;
5765 char* var613
/* : NativeString */;
5766 long var614
/* : Int */;
5767 val
* var615
/* : String */;
5768 static val
* varonce616
;
5769 val
* var617
/* : String */;
5770 char* var618
/* : NativeString */;
5771 long var619
/* : Int */;
5772 val
* var620
/* : String */;
5773 val
* var621
/* : Array[Object] */;
5774 long var622
/* : Int */;
5775 val
* var623
/* : NativeArray[Object] */;
5776 val
* var624
/* : String */;
5777 static val
* varonce625
;
5778 val
* var626
/* : String */;
5779 char* var627
/* : NativeString */;
5780 long var628
/* : Int */;
5781 val
* var629
/* : String */;
5782 static val
* varonce630
;
5783 val
* var631
/* : String */;
5784 char* var632
/* : NativeString */;
5785 long var633
/* : Int */;
5786 val
* var634
/* : String */;
5787 static val
* varonce635
;
5788 val
* var636
/* : String */;
5789 char* var637
/* : NativeString */;
5790 long var638
/* : Int */;
5791 val
* var639
/* : String */;
5792 val
* var640
/* : Array[Object] */;
5793 long var641
/* : Int */;
5794 val
* var642
/* : NativeArray[Object] */;
5795 val
* var643
/* : String */;
5796 static val
* varonce645
;
5797 val
* var646
/* : String */;
5798 char* var647
/* : NativeString */;
5799 long var648
/* : Int */;
5800 val
* var649
/* : String */;
5801 static val
* varonce650
;
5802 val
* var651
/* : String */;
5803 char* var652
/* : NativeString */;
5804 long var653
/* : Int */;
5805 val
* var654
/* : String */;
5806 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
5808 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5809 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
5810 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var2
) /* opt_stacktrace on <var2:ToolContext>*/;
5811 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
5812 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
5817 var7
= "#include \"c_functions_hash.h\"";
5819 var9
= string__NativeString__to_s_with_length(var7
, var8
);
5823 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var6
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5829 var12
= "#include <signal.h>";
5831 var14
= string__NativeString__to_s_with_length(var12
, var13
);
5835 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var11
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5836 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5837 var16
= ((val
* (*)(val
*))(var15
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var15
) /* toolcontext on <var15:ModelBuilder>*/;
5838 var17
= ((val
* (*)(val
*))(var16
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var16
) /* opt_no_stacktrace on <var16:ToolContext>*/;
5839 var18
= ((val
* (*)(val
*))(var17
->class->vft
[COLOR_opts__Option__value
]))(var17
) /* value on <var17:OptionBool>*/;
5840 var19
= ((struct instance_kernel__Bool
*)var18
)->value
; /* autounbox from nullable Object to Bool */;
5846 var23
= "#define UNW_LOCAL_ONLY";
5848 var25
= string__NativeString__to_s_with_length(var23
, var24
);
5852 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var22
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5856 var28
= "#include <libunwind.h>";
5858 var30
= string__NativeString__to_s_with_length(var28
, var29
);
5862 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var27
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5868 var33
= "int glob_argc;";
5870 var35
= string__NativeString__to_s_with_length(var33
, var34
);
5874 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var32
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5878 var38
= "char **glob_argv;";
5880 var40
= string__NativeString__to_s_with_length(var38
, var39
);
5884 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var37
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5888 var43
= "val *glob_sys;";
5890 var45
= string__NativeString__to_s_with_length(var43
, var44
);
5894 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var42
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5895 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
5896 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var46
) /* toolcontext on <var46:ModelBuilder>*/;
5897 var48
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var47
) /* opt_typing_test_metrics on <var47:ToolContext>*/;
5898 var49
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_opts__Option__value
]))(var48
) /* value on <var48:OptionBool>*/;
5899 var50
= ((struct instance_kernel__Bool
*)var49
)->value
; /* autounbox from nullable Object to Bool */;
5901 var51
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
5902 var52
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var51
) /* iterator on <var51:Array[String]>*/;
5904 var53
= ((short int (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var52
) /* is_ok on <var52:Iterator[nullable Object]>*/;
5906 var54
= ((val
* (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var52
) /* item on <var52:Iterator[nullable Object]>*/;
5911 var57
= "long count_type_test_resolved_";
5913 var59
= string__NativeString__to_s_with_length(var57
, var58
);
5922 var64
= string__NativeString__to_s_with_length(var62
, var63
);
5926 var65
= NEW_array__Array(&type_array__Arraykernel__Object
);
5927 { /* var65 = array_instance Array[Object] */
5929 var67
= NEW_array__NativeArray(var66
, &type_array__NativeArraykernel__Object
);
5930 ((struct instance_array__NativeArray
*)var67
)->values
[0] = (val
*) var56
;
5931 ((struct instance_array__NativeArray
*)var67
)->values
[1] = (val
*) var_tag
;
5932 ((struct instance_array__NativeArray
*)var67
)->values
[2] = (val
*) var61
;
5933 ((void (*)(val
*, val
*, long))(var65
->class->vft
[COLOR_array__Array__with_native
]))(var65
, var67
, var66
) /* with_native on <var65:Array[Object]>*/;
5935 var68
= ((val
* (*)(val
*))(var65
->class->vft
[COLOR_string__Object__to_s
]))(var65
) /* to_s on <var65:Array[Object]>*/;
5936 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var68
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5940 var71
= "long count_type_test_unresolved_";
5942 var73
= string__NativeString__to_s_with_length(var71
, var72
);
5951 var78
= string__NativeString__to_s_with_length(var76
, var77
);
5955 var79
= NEW_array__Array(&type_array__Arraykernel__Object
);
5956 { /* var79 = array_instance Array[Object] */
5958 var81
= NEW_array__NativeArray(var80
, &type_array__NativeArraykernel__Object
);
5959 ((struct instance_array__NativeArray
*)var81
)->values
[0] = (val
*) var70
;
5960 ((struct instance_array__NativeArray
*)var81
)->values
[1] = (val
*) var_tag
;
5961 ((struct instance_array__NativeArray
*)var81
)->values
[2] = (val
*) var75
;
5962 ((void (*)(val
*, val
*, long))(var79
->class->vft
[COLOR_array__Array__with_native
]))(var79
, var81
, var80
) /* with_native on <var79:Array[Object]>*/;
5964 var82
= ((val
* (*)(val
*))(var79
->class->vft
[COLOR_string__Object__to_s
]))(var79
) /* to_s on <var79:Array[Object]>*/;
5965 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var82
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5969 var85
= "long count_type_test_skipped_";
5971 var87
= string__NativeString__to_s_with_length(var85
, var86
);
5980 var92
= string__NativeString__to_s_with_length(var90
, var91
);
5984 var93
= NEW_array__Array(&type_array__Arraykernel__Object
);
5985 { /* var93 = array_instance Array[Object] */
5987 var95
= NEW_array__NativeArray(var94
, &type_array__NativeArraykernel__Object
);
5988 ((struct instance_array__NativeArray
*)var95
)->values
[0] = (val
*) var84
;
5989 ((struct instance_array__NativeArray
*)var95
)->values
[1] = (val
*) var_tag
;
5990 ((struct instance_array__NativeArray
*)var95
)->values
[2] = (val
*) var89
;
5991 ((void (*)(val
*, val
*, long))(var93
->class->vft
[COLOR_array__Array__with_native
]))(var93
, var95
, var94
) /* with_native on <var93:Array[Object]>*/;
5993 var96
= ((val
* (*)(val
*))(var93
->class->vft
[COLOR_string__Object__to_s
]))(var93
) /* to_s on <var93:Array[Object]>*/;
5994 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var96
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
5995 var97
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
5996 var98
= ((val
* (*)(val
*))(var97
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var97
) /* header on <var97:AbstractCompiler>*/;
6000 var101
= "extern long count_type_test_resolved_";
6002 var103
= string__NativeString__to_s_with_length(var101
, var102
);
6007 var105
= varonce104
;
6011 var108
= string__NativeString__to_s_with_length(var106
, var107
);
6013 varonce104
= var105
;
6015 var109
= NEW_array__Array(&type_array__Arraykernel__Object
);
6016 { /* var109 = array_instance Array[Object] */
6018 var111
= NEW_array__NativeArray(var110
, &type_array__NativeArraykernel__Object
);
6019 ((struct instance_array__NativeArray
*)var111
)->values
[0] = (val
*) var100
;
6020 ((struct instance_array__NativeArray
*)var111
)->values
[1] = (val
*) var_tag
;
6021 ((struct instance_array__NativeArray
*)var111
)->values
[2] = (val
*) var105
;
6022 ((void (*)(val
*, val
*, long))(var109
->class->vft
[COLOR_array__Array__with_native
]))(var109
, var111
, var110
) /* with_native on <var109:Array[Object]>*/;
6024 var112
= ((val
* (*)(val
*))(var109
->class->vft
[COLOR_string__Object__to_s
]))(var109
) /* to_s on <var109:Array[Object]>*/;
6025 ((void (*)(val
*, val
*))(var98
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var98
, var112
) /* add_decl on <var98:CodeWriter>*/;
6026 var113
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
6027 var114
= ((val
* (*)(val
*))(var113
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var113
) /* header on <var113:AbstractCompiler>*/;
6029 var116
= varonce115
;
6031 var117
= "extern long count_type_test_unresolved_";
6033 var119
= string__NativeString__to_s_with_length(var117
, var118
);
6035 varonce115
= var116
;
6038 var121
= varonce120
;
6042 var124
= string__NativeString__to_s_with_length(var122
, var123
);
6044 varonce120
= var121
;
6046 var125
= NEW_array__Array(&type_array__Arraykernel__Object
);
6047 { /* var125 = array_instance Array[Object] */
6049 var127
= NEW_array__NativeArray(var126
, &type_array__NativeArraykernel__Object
);
6050 ((struct instance_array__NativeArray
*)var127
)->values
[0] = (val
*) var116
;
6051 ((struct instance_array__NativeArray
*)var127
)->values
[1] = (val
*) var_tag
;
6052 ((struct instance_array__NativeArray
*)var127
)->values
[2] = (val
*) var121
;
6053 ((void (*)(val
*, val
*, long))(var125
->class->vft
[COLOR_array__Array__with_native
]))(var125
, var127
, var126
) /* with_native on <var125:Array[Object]>*/;
6055 var128
= ((val
* (*)(val
*))(var125
->class->vft
[COLOR_string__Object__to_s
]))(var125
) /* to_s on <var125:Array[Object]>*/;
6056 ((void (*)(val
*, val
*))(var114
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var114
, var128
) /* add_decl on <var114:CodeWriter>*/;
6057 var129
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
6058 var130
= ((val
* (*)(val
*))(var129
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__header
]))(var129
) /* header on <var129:AbstractCompiler>*/;
6060 var132
= varonce131
;
6062 var133
= "extern long count_type_test_skipped_";
6064 var135
= string__NativeString__to_s_with_length(var133
, var134
);
6066 varonce131
= var132
;
6069 var137
= varonce136
;
6073 var140
= string__NativeString__to_s_with_length(var138
, var139
);
6075 varonce136
= var137
;
6077 var141
= NEW_array__Array(&type_array__Arraykernel__Object
);
6078 { /* var141 = array_instance Array[Object] */
6080 var143
= NEW_array__NativeArray(var142
, &type_array__NativeArraykernel__Object
);
6081 ((struct instance_array__NativeArray
*)var143
)->values
[0] = (val
*) var132
;
6082 ((struct instance_array__NativeArray
*)var143
)->values
[1] = (val
*) var_tag
;
6083 ((struct instance_array__NativeArray
*)var143
)->values
[2] = (val
*) var137
;
6084 ((void (*)(val
*, val
*, long))(var141
->class->vft
[COLOR_array__Array__with_native
]))(var141
, var143
, var142
) /* with_native on <var141:Array[Object]>*/;
6086 var144
= ((val
* (*)(val
*))(var141
->class->vft
[COLOR_string__Object__to_s
]))(var141
) /* to_s on <var141:Array[Object]>*/;
6087 ((void (*)(val
*, val
*))(var130
->class->vft
[COLOR_abstract_compiler__CodeWriter__add_decl
]))(var130
, var144
) /* add_decl on <var130:CodeWriter>*/;
6088 CONTINUE_label
: (void)0;
6089 ((void (*)(val
*))(var52
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var52
) /* next on <var52:Iterator[nullable Object]>*/;
6091 BREAK_label
: (void)0;
6095 var146
= varonce145
;
6097 var147
= "void sig_handler(int signo){";
6099 var149
= string__NativeString__to_s_with_length(var147
, var148
);
6101 varonce145
= var146
;
6103 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var146
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6105 var151
= varonce150
;
6107 var152
= "printf(\"Caught signal : %s\\n\", strsignal(signo));";
6109 var154
= string__NativeString__to_s_with_length(var152
, var153
);
6111 varonce150
= var151
;
6113 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var151
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6115 var156
= varonce155
;
6117 var157
= "show_backtrace(signo);";
6119 var159
= string__NativeString__to_s_with_length(var157
, var158
);
6121 varonce155
= var156
;
6123 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var156
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6125 var161
= varonce160
;
6129 var164
= string__NativeString__to_s_with_length(var162
, var163
);
6131 varonce160
= var161
;
6133 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var161
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6135 var166
= varonce165
;
6137 var167
= "void show_backtrace (int signo) {";
6139 var169
= string__NativeString__to_s_with_length(var167
, var168
);
6141 varonce165
= var166
;
6143 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var166
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6144 var170
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
6145 var171
= ((val
* (*)(val
*))(var170
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var170
) /* toolcontext on <var170:ModelBuilder>*/;
6146 var172
= ((val
* (*)(val
*))(var171
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_stacktrace
]))(var171
) /* opt_no_stacktrace on <var171:ToolContext>*/;
6147 var173
= ((val
* (*)(val
*))(var172
->class->vft
[COLOR_opts__Option__value
]))(var172
) /* value on <var172:OptionBool>*/;
6148 var174
= ((struct instance_kernel__Bool
*)var173
)->value
; /* autounbox from nullable Object to Bool */;
6152 var177
= varonce176
;
6154 var178
= "char* opt = getenv(\"NIT_NO_STACK\");";
6156 var180
= string__NativeString__to_s_with_length(var178
, var179
);
6158 varonce176
= var177
;
6160 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var177
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6162 var182
= varonce181
;
6164 var183
= "unw_cursor_t cursor;";
6166 var185
= string__NativeString__to_s_with_length(var183
, var184
);
6168 varonce181
= var182
;
6170 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var182
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6172 var187
= varonce186
;
6174 var188
= "if(opt==NULL){";
6176 var190
= string__NativeString__to_s_with_length(var188
, var189
);
6178 varonce186
= var187
;
6180 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var187
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6182 var192
= varonce191
;
6184 var193
= "unw_context_t uc;";
6186 var195
= string__NativeString__to_s_with_length(var193
, var194
);
6188 varonce191
= var192
;
6190 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var192
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6192 var197
= varonce196
;
6194 var198
= "unw_word_t ip;";
6196 var200
= string__NativeString__to_s_with_length(var198
, var199
);
6198 varonce196
= var197
;
6200 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var197
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6202 var202
= varonce201
;
6204 var203
= "char* procname = malloc(sizeof(char) * 100);";
6206 var205
= string__NativeString__to_s_with_length(var203
, var204
);
6208 varonce201
= var202
;
6210 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var202
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6212 var207
= varonce206
;
6214 var208
= "unw_getcontext(&uc);";
6216 var210
= string__NativeString__to_s_with_length(var208
, var209
);
6218 varonce206
= var207
;
6220 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var207
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6222 var212
= varonce211
;
6224 var213
= "unw_init_local(&cursor, &uc);";
6226 var215
= string__NativeString__to_s_with_length(var213
, var214
);
6228 varonce211
= var212
;
6230 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var212
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6232 var217
= varonce216
;
6234 var218
= "printf(\"-------------------------------------------------\\n\");";
6236 var220
= string__NativeString__to_s_with_length(var218
, var219
);
6238 varonce216
= var217
;
6240 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var217
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6242 var222
= varonce221
;
6244 var223
= "printf(\"-- Stack Trace ------------------------------\\n\");";
6246 var225
= string__NativeString__to_s_with_length(var223
, var224
);
6248 varonce221
= var222
;
6250 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var222
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6252 var227
= varonce226
;
6254 var228
= "printf(\"-------------------------------------------------\\n\");";
6256 var230
= string__NativeString__to_s_with_length(var228
, var229
);
6258 varonce226
= var227
;
6260 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var227
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6262 var232
= varonce231
;
6264 var233
= "while (unw_step(&cursor) > 0) {";
6266 var235
= string__NativeString__to_s_with_length(var233
, var234
);
6268 varonce231
= var232
;
6270 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var232
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6272 var237
= varonce236
;
6274 var238
= "\11unw_get_proc_name(&cursor, procname, 100, &ip);";
6276 var240
= string__NativeString__to_s_with_length(var238
, var239
);
6278 varonce236
= var237
;
6280 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var237
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6281 var241
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
6282 var242
= ((val
* (*)(val
*))(var241
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var241
) /* toolcontext on <var241:ModelBuilder>*/;
6283 var243
= ((val
* (*)(val
*))(var242
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_stacktrace
]))(var242
) /* opt_stacktrace on <var242:ToolContext>*/;
6284 var244
= ((val
* (*)(val
*))(var243
->class->vft
[COLOR_opts__Option__value
]))(var243
) /* value on <var243:OptionBool>*/;
6285 var245
= ((struct instance_kernel__Bool
*)var244
)->value
; /* autounbox from nullable Object to Bool */;
6288 var247
= varonce246
;
6290 var248
= "\11const C_Nit_Names* recv = get_nit_name(procname, strlen(procname));";
6292 var250
= string__NativeString__to_s_with_length(var248
, var249
);
6294 varonce246
= var247
;
6296 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var247
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6298 var252
= varonce251
;
6300 var253
= "\11if (recv != 0){";
6302 var255
= string__NativeString__to_s_with_length(var253
, var254
);
6304 varonce251
= var252
;
6306 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var252
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6308 var257
= varonce256
;
6310 var258
= "\11\11printf(\"` %s\\n\", recv->nit_name);";
6312 var260
= string__NativeString__to_s_with_length(var258
, var259
);
6314 varonce256
= var257
;
6316 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var257
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6318 var262
= varonce261
;
6320 var263
= "\11}else{";
6322 var265
= string__NativeString__to_s_with_length(var263
, var264
);
6324 varonce261
= var262
;
6326 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var262
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6328 var267
= varonce266
;
6330 var268
= "\11\11printf(\"` %s\\n\", procname);";
6332 var270
= string__NativeString__to_s_with_length(var268
, var269
);
6334 varonce266
= var267
;
6336 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var267
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6338 var272
= varonce271
;
6342 var275
= string__NativeString__to_s_with_length(var273
, var274
);
6344 varonce271
= var272
;
6346 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var272
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6349 var277
= varonce276
;
6351 var278
= "\11printf(\"` %s \\n\",procname);";
6353 var280
= string__NativeString__to_s_with_length(var278
, var279
);
6355 varonce276
= var277
;
6357 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var277
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6360 var282
= varonce281
;
6364 var285
= string__NativeString__to_s_with_length(var283
, var284
);
6366 varonce281
= var282
;
6368 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var282
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6370 var287
= varonce286
;
6372 var288
= "printf(\"-------------------------------------------------\\n\");";
6374 var290
= string__NativeString__to_s_with_length(var288
, var289
);
6376 varonce286
= var287
;
6378 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var287
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6380 var292
= varonce291
;
6382 var293
= "free(procname);";
6384 var295
= string__NativeString__to_s_with_length(var293
, var294
);
6386 varonce291
= var292
;
6388 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var292
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6390 var297
= varonce296
;
6394 var300
= string__NativeString__to_s_with_length(var298
, var299
);
6396 varonce296
= var297
;
6398 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var297
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6402 var302
= varonce301
;
6404 var303
= "exit(signo);";
6406 var305
= string__NativeString__to_s_with_length(var303
, var304
);
6408 varonce301
= var302
;
6410 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var302
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6412 var307
= varonce306
;
6416 var310
= string__NativeString__to_s_with_length(var308
, var309
);
6418 varonce306
= var307
;
6420 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var307
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6422 var312
= varonce311
;
6424 var313
= "int main(int argc, char** argv) {";
6426 var315
= string__NativeString__to_s_with_length(var313
, var314
);
6428 varonce311
= var312
;
6430 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var312
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6432 var317
= varonce316
;
6434 var318
= "signal(SIGABRT, sig_handler);";
6436 var320
= string__NativeString__to_s_with_length(var318
, var319
);
6438 varonce316
= var317
;
6440 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var317
) /* add on <var_v:AbstractCompilerVisitor>*/;
6442 var322
= varonce321
;
6444 var323
= "signal(SIGFPE, sig_handler);";
6446 var325
= string__NativeString__to_s_with_length(var323
, var324
);
6448 varonce321
= var322
;
6450 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var322
) /* add on <var_v:AbstractCompilerVisitor>*/;
6452 var327
= varonce326
;
6454 var328
= "signal(SIGILL, sig_handler);";
6456 var330
= string__NativeString__to_s_with_length(var328
, var329
);
6458 varonce326
= var327
;
6460 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var327
) /* add on <var_v:AbstractCompilerVisitor>*/;
6462 var332
= varonce331
;
6464 var333
= "signal(SIGINT, sig_handler);";
6466 var335
= string__NativeString__to_s_with_length(var333
, var334
);
6468 varonce331
= var332
;
6470 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var332
) /* add on <var_v:AbstractCompilerVisitor>*/;
6472 var337
= varonce336
;
6474 var338
= "signal(SIGTERM, sig_handler);";
6476 var340
= string__NativeString__to_s_with_length(var338
, var339
);
6478 varonce336
= var337
;
6480 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var337
) /* add on <var_v:AbstractCompilerVisitor>*/;
6482 var342
= varonce341
;
6484 var343
= "signal(SIGSEGV, sig_handler);";
6486 var345
= string__NativeString__to_s_with_length(var343
, var344
);
6488 varonce341
= var342
;
6490 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var342
) /* add on <var_v:AbstractCompilerVisitor>*/;
6492 var347
= varonce346
;
6494 var348
= "glob_argc = argc; glob_argv = argv;";
6496 var350
= string__NativeString__to_s_with_length(var348
, var349
);
6498 varonce346
= var347
;
6500 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var347
) /* add on <var_v:AbstractCompilerVisitor>*/;
6502 var352
= varonce351
;
6504 var353
= "initialize_gc_option();";
6506 var355
= string__NativeString__to_s_with_length(var353
, var354
);
6508 varonce351
= var352
;
6510 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var352
) /* add on <var_v:AbstractCompilerVisitor>*/;
6511 var356
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
6512 var357
= ((val
* (*)(val
*))(var356
->class->vft
[COLOR_model__MModule__sys_type
]))(var356
) /* sys_type on <var356:MModule>*/;
6513 var_main_type
= var357
;
6515 if (var_main_type
== NULL
) {
6516 var359
= 0; /* is null */
6518 var359
= 1; /* arg is null and recv is not */
6521 var360
= ((val
* (*)(val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(var_v
) /* compiler on <var_v:AbstractCompilerVisitor>*/;
6522 var361
= ((val
* (*)(val
*))(var360
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var360
) /* mainmodule on <var360:AbstractCompiler>*/;
6523 var_mainmodule
= var361
;
6524 var362
= ((val
* (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__init_instance
]))(var_v
, var_main_type
) /* init_instance on <var_v:AbstractCompilerVisitor>*/;
6525 var_glob_sys
= var362
;
6527 var364
= varonce363
;
6529 var365
= "glob_sys = ";
6531 var367
= string__NativeString__to_s_with_length(var365
, var366
);
6533 varonce363
= var364
;
6536 var369
= varonce368
;
6540 var372
= string__NativeString__to_s_with_length(var370
, var371
);
6542 varonce368
= var369
;
6544 var373
= NEW_array__Array(&type_array__Arraykernel__Object
);
6545 { /* var373 = array_instance Array[Object] */
6547 var375
= NEW_array__NativeArray(var374
, &type_array__NativeArraykernel__Object
);
6548 ((struct instance_array__NativeArray
*)var375
)->values
[0] = (val
*) var364
;
6549 ((struct instance_array__NativeArray
*)var375
)->values
[1] = (val
*) var_glob_sys
;
6550 ((struct instance_array__NativeArray
*)var375
)->values
[2] = (val
*) var369
;
6551 ((void (*)(val
*, val
*, long))(var373
->class->vft
[COLOR_array__Array__with_native
]))(var373
, var375
, var374
) /* with_native on <var373:Array[Object]>*/;
6553 var376
= ((val
* (*)(val
*))(var373
->class->vft
[COLOR_string__Object__to_s
]))(var373
) /* to_s on <var373:Array[Object]>*/;
6554 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var376
) /* add on <var_v:AbstractCompilerVisitor>*/;
6556 var378
= varonce377
;
6560 var381
= string__NativeString__to_s_with_length(var379
, var380
);
6562 varonce377
= var378
;
6564 var382
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
6565 var383
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var378
, var382
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
6566 var_main_init
= var383
;
6568 if (var_main_init
== NULL
) {
6569 var385
= 0; /* is null */
6571 var385
= 1; /* arg is null and recv is not */
6574 var386
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6575 { /* var386 = array_instance Array[RuntimeVariable] */
6577 var388
= NEW_array__NativeArray(var387
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
6578 ((struct instance_array__NativeArray
*)var388
)->values
[0] = (val
*) var_glob_sys
;
6579 ((void (*)(val
*, val
*, long))(var386
->class->vft
[COLOR_array__Array__with_native
]))(var386
, var388
, var387
) /* with_native on <var386:Array[RuntimeVariable]>*/;
6581 var389
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_init
, var386
) /* send on <var_v:AbstractCompilerVisitor>*/;
6586 var391
= varonce390
;
6590 var394
= string__NativeString__to_s_with_length(var392
, var393
);
6592 varonce390
= var391
;
6594 var395
= ((val
* (*)(val
*))(var_main_type
->class->vft
[COLOR_model__MClassType__mclass
]))(var_main_type
) /* mclass on <var_main_type:nullable MClassType(MClassType)>*/;
6595 var396
= ((val
* (*)(val
*, val
*, val
*))(var_mainmodule
->class->vft
[COLOR_model__MModule__try_get_primitive_method
]))(var_mainmodule
, var391
, var395
) /* try_get_primitive_method on <var_mainmodule:MModule>*/;
6596 var_main_method
= var396
;
6598 if (var_main_method
== NULL
) {
6599 var398
= 0; /* is null */
6601 var398
= 1; /* arg is null and recv is not */
6604 var399
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
6605 { /* var399 = array_instance Array[RuntimeVariable] */
6607 var401
= NEW_array__NativeArray(var400
, &type_array__NativeArrayabstract_compiler__RuntimeVariable
);
6608 ((struct instance_array__NativeArray
*)var401
)->values
[0] = (val
*) var_glob_sys
;
6609 ((void (*)(val
*, val
*, long))(var399
->class->vft
[COLOR_array__Array__with_native
]))(var399
, var401
, var400
) /* with_native on <var399:Array[RuntimeVariable]>*/;
6611 var402
= ((val
* (*)(val
*, val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(var_v
, var_main_method
, var399
) /* send on <var_v:AbstractCompilerVisitor>*/;
6617 var403
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
6618 var404
= ((val
* (*)(val
*))(var403
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var403
) /* toolcontext on <var403:ModelBuilder>*/;
6619 var405
= ((val
* (*)(val
*))(var404
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var404
) /* opt_typing_test_metrics on <var404:ToolContext>*/;
6620 var406
= ((val
* (*)(val
*))(var405
->class->vft
[COLOR_opts__Option__value
]))(var405
) /* value on <var405:OptionBool>*/;
6621 var407
= ((struct instance_kernel__Bool
*)var406
)->value
; /* autounbox from nullable Object to Bool */;
6624 var409
= varonce408
;
6626 var410
= "long count_type_test_resolved_total = 0;";
6628 var412
= string__NativeString__to_s_with_length(var410
, var411
);
6630 varonce408
= var409
;
6632 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var409
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6634 var414
= varonce413
;
6636 var415
= "long count_type_test_unresolved_total = 0;";
6638 var417
= string__NativeString__to_s_with_length(var415
, var416
);
6640 varonce413
= var414
;
6642 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var414
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6644 var419
= varonce418
;
6646 var420
= "long count_type_test_skipped_total = 0;";
6648 var422
= string__NativeString__to_s_with_length(var420
, var421
);
6650 varonce418
= var419
;
6652 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var419
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6654 var424
= varonce423
;
6656 var425
= "long count_type_test_total_total = 0;";
6658 var427
= string__NativeString__to_s_with_length(var425
, var426
);
6660 varonce423
= var424
;
6662 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var424
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6663 var428
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
6664 var429
= ((val
* (*)(val
*))(var428
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var428
) /* iterator on <var428:Array[String]>*/;
6666 var430
= ((short int (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var429
) /* is_ok on <var429:Iterator[nullable Object]>*/;
6668 var431
= ((val
* (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var429
) /* item on <var429:Iterator[nullable Object]>*/;
6669 var_tag432
= var431
;
6671 var434
= varonce433
;
6673 var435
= "long count_type_test_total_";
6675 var437
= string__NativeString__to_s_with_length(var435
, var436
);
6677 varonce433
= var434
;
6680 var439
= varonce438
;
6684 var442
= string__NativeString__to_s_with_length(var440
, var441
);
6686 varonce438
= var439
;
6688 var443
= NEW_array__Array(&type_array__Arraykernel__Object
);
6689 { /* var443 = array_instance Array[Object] */
6691 var445
= NEW_array__NativeArray(var444
, &type_array__NativeArraykernel__Object
);
6692 ((struct instance_array__NativeArray
*)var445
)->values
[0] = (val
*) var434
;
6693 ((struct instance_array__NativeArray
*)var445
)->values
[1] = (val
*) var_tag432
;
6694 ((struct instance_array__NativeArray
*)var445
)->values
[2] = (val
*) var439
;
6695 ((void (*)(val
*, val
*, long))(var443
->class->vft
[COLOR_array__Array__with_native
]))(var443
, var445
, var444
) /* with_native on <var443:Array[Object]>*/;
6697 var446
= ((val
* (*)(val
*))(var443
->class->vft
[COLOR_string__Object__to_s
]))(var443
) /* to_s on <var443:Array[Object]>*/;
6698 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_decl
]))(var_v
, var446
) /* add_decl on <var_v:AbstractCompilerVisitor>*/;
6700 var448
= varonce447
;
6702 var449
= "count_type_test_total_";
6704 var451
= string__NativeString__to_s_with_length(var449
, var450
);
6706 varonce447
= var448
;
6709 var453
= varonce452
;
6711 var454
= " = count_type_test_resolved_";
6713 var456
= string__NativeString__to_s_with_length(var454
, var455
);
6715 varonce452
= var453
;
6718 var458
= varonce457
;
6720 var459
= " + count_type_test_unresolved_";
6722 var461
= string__NativeString__to_s_with_length(var459
, var460
);
6724 varonce457
= var458
;
6727 var463
= varonce462
;
6729 var464
= " + count_type_test_skipped_";
6731 var466
= string__NativeString__to_s_with_length(var464
, var465
);
6733 varonce462
= var463
;
6736 var468
= varonce467
;
6740 var471
= string__NativeString__to_s_with_length(var469
, var470
);
6742 varonce467
= var468
;
6744 var472
= NEW_array__Array(&type_array__Arraykernel__Object
);
6745 { /* var472 = array_instance Array[Object] */
6747 var474
= NEW_array__NativeArray(var473
, &type_array__NativeArraykernel__Object
);
6748 ((struct instance_array__NativeArray
*)var474
)->values
[0] = (val
*) var448
;
6749 ((struct instance_array__NativeArray
*)var474
)->values
[1] = (val
*) var_tag432
;
6750 ((struct instance_array__NativeArray
*)var474
)->values
[2] = (val
*) var453
;
6751 ((struct instance_array__NativeArray
*)var474
)->values
[3] = (val
*) var_tag432
;
6752 ((struct instance_array__NativeArray
*)var474
)->values
[4] = (val
*) var458
;
6753 ((struct instance_array__NativeArray
*)var474
)->values
[5] = (val
*) var_tag432
;
6754 ((struct instance_array__NativeArray
*)var474
)->values
[6] = (val
*) var463
;
6755 ((struct instance_array__NativeArray
*)var474
)->values
[7] = (val
*) var_tag432
;
6756 ((struct instance_array__NativeArray
*)var474
)->values
[8] = (val
*) var468
;
6757 ((void (*)(val
*, val
*, long))(var472
->class->vft
[COLOR_array__Array__with_native
]))(var472
, var474
, var473
) /* with_native on <var472:Array[Object]>*/;
6759 var475
= ((val
* (*)(val
*))(var472
->class->vft
[COLOR_string__Object__to_s
]))(var472
) /* to_s on <var472:Array[Object]>*/;
6760 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var475
) /* add on <var_v:AbstractCompilerVisitor>*/;
6762 var477
= varonce476
;
6764 var478
= "count_type_test_resolved_total += count_type_test_resolved_";
6766 var480
= string__NativeString__to_s_with_length(var478
, var479
);
6768 varonce476
= var477
;
6771 var482
= varonce481
;
6775 var485
= string__NativeString__to_s_with_length(var483
, var484
);
6777 varonce481
= var482
;
6779 var486
= NEW_array__Array(&type_array__Arraykernel__Object
);
6780 { /* var486 = array_instance Array[Object] */
6782 var488
= NEW_array__NativeArray(var487
, &type_array__NativeArraykernel__Object
);
6783 ((struct instance_array__NativeArray
*)var488
)->values
[0] = (val
*) var477
;
6784 ((struct instance_array__NativeArray
*)var488
)->values
[1] = (val
*) var_tag432
;
6785 ((struct instance_array__NativeArray
*)var488
)->values
[2] = (val
*) var482
;
6786 ((void (*)(val
*, val
*, long))(var486
->class->vft
[COLOR_array__Array__with_native
]))(var486
, var488
, var487
) /* with_native on <var486:Array[Object]>*/;
6788 var489
= ((val
* (*)(val
*))(var486
->class->vft
[COLOR_string__Object__to_s
]))(var486
) /* to_s on <var486:Array[Object]>*/;
6789 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var489
) /* add on <var_v:AbstractCompilerVisitor>*/;
6791 var491
= varonce490
;
6793 var492
= "count_type_test_unresolved_total += count_type_test_unresolved_";
6795 var494
= string__NativeString__to_s_with_length(var492
, var493
);
6797 varonce490
= var491
;
6800 var496
= varonce495
;
6804 var499
= string__NativeString__to_s_with_length(var497
, var498
);
6806 varonce495
= var496
;
6808 var500
= NEW_array__Array(&type_array__Arraykernel__Object
);
6809 { /* var500 = array_instance Array[Object] */
6811 var502
= NEW_array__NativeArray(var501
, &type_array__NativeArraykernel__Object
);
6812 ((struct instance_array__NativeArray
*)var502
)->values
[0] = (val
*) var491
;
6813 ((struct instance_array__NativeArray
*)var502
)->values
[1] = (val
*) var_tag432
;
6814 ((struct instance_array__NativeArray
*)var502
)->values
[2] = (val
*) var496
;
6815 ((void (*)(val
*, val
*, long))(var500
->class->vft
[COLOR_array__Array__with_native
]))(var500
, var502
, var501
) /* with_native on <var500:Array[Object]>*/;
6817 var503
= ((val
* (*)(val
*))(var500
->class->vft
[COLOR_string__Object__to_s
]))(var500
) /* to_s on <var500:Array[Object]>*/;
6818 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var503
) /* add on <var_v:AbstractCompilerVisitor>*/;
6820 var505
= varonce504
;
6822 var506
= "count_type_test_skipped_total += count_type_test_skipped_";
6824 var508
= string__NativeString__to_s_with_length(var506
, var507
);
6826 varonce504
= var505
;
6829 var510
= varonce509
;
6833 var513
= string__NativeString__to_s_with_length(var511
, var512
);
6835 varonce509
= var510
;
6837 var514
= NEW_array__Array(&type_array__Arraykernel__Object
);
6838 { /* var514 = array_instance Array[Object] */
6840 var516
= NEW_array__NativeArray(var515
, &type_array__NativeArraykernel__Object
);
6841 ((struct instance_array__NativeArray
*)var516
)->values
[0] = (val
*) var505
;
6842 ((struct instance_array__NativeArray
*)var516
)->values
[1] = (val
*) var_tag432
;
6843 ((struct instance_array__NativeArray
*)var516
)->values
[2] = (val
*) var510
;
6844 ((void (*)(val
*, val
*, long))(var514
->class->vft
[COLOR_array__Array__with_native
]))(var514
, var516
, var515
) /* with_native on <var514:Array[Object]>*/;
6846 var517
= ((val
* (*)(val
*))(var514
->class->vft
[COLOR_string__Object__to_s
]))(var514
) /* to_s on <var514:Array[Object]>*/;
6847 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var517
) /* add on <var_v:AbstractCompilerVisitor>*/;
6849 var519
= varonce518
;
6851 var520
= "count_type_test_total_total += count_type_test_total_";
6853 var522
= string__NativeString__to_s_with_length(var520
, var521
);
6855 varonce518
= var519
;
6858 var524
= varonce523
;
6862 var527
= string__NativeString__to_s_with_length(var525
, var526
);
6864 varonce523
= var524
;
6866 var528
= NEW_array__Array(&type_array__Arraykernel__Object
);
6867 { /* var528 = array_instance Array[Object] */
6869 var530
= NEW_array__NativeArray(var529
, &type_array__NativeArraykernel__Object
);
6870 ((struct instance_array__NativeArray
*)var530
)->values
[0] = (val
*) var519
;
6871 ((struct instance_array__NativeArray
*)var530
)->values
[1] = (val
*) var_tag432
;
6872 ((struct instance_array__NativeArray
*)var530
)->values
[2] = (val
*) var524
;
6873 ((void (*)(val
*, val
*, long))(var528
->class->vft
[COLOR_array__Array__with_native
]))(var528
, var530
, var529
) /* with_native on <var528:Array[Object]>*/;
6875 var531
= ((val
* (*)(val
*))(var528
->class->vft
[COLOR_string__Object__to_s
]))(var528
) /* to_s on <var528:Array[Object]>*/;
6876 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var531
) /* add on <var_v:AbstractCompilerVisitor>*/;
6877 CONTINUE_label532
: (void)0;
6878 ((void (*)(val
*))(var429
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var429
) /* next on <var429:Iterator[nullable Object]>*/;
6880 BREAK_label532
: (void)0;
6882 var534
= varonce533
;
6884 var535
= "printf(\"# dynamic count_type_test: total %l\\n\");";
6886 var537
= string__NativeString__to_s_with_length(var535
, var536
);
6888 varonce533
= var534
;
6890 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var534
) /* add on <var_v:AbstractCompilerVisitor>*/;
6892 var539
= varonce538
;
6894 var540
= "printf(\"\\tresolved\\tunresolved\\tskipped\\ttotal\\n\");";
6896 var542
= string__NativeString__to_s_with_length(var540
, var541
);
6898 varonce538
= var539
;
6900 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var539
) /* add on <var_v:AbstractCompilerVisitor>*/;
6901 var543
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
6902 var544
= ((val
* (*)(val
*))(var543
->class->vft
[COLOR_array__Collection__to_a
]))(var543
) /* to_a on <var543:Array[String]>*/;
6905 var546
= varonce545
;
6909 var549
= string__NativeString__to_s_with_length(var547
, var548
);
6911 varonce545
= var546
;
6913 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var546
) /* add on <var_tags:Array[String]>*/;
6914 var550
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
6916 var551
= ((short int (*)(val
*))(var550
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var550
) /* is_ok on <var550:Iterator[nullable Object]>*/;
6918 var552
= ((val
* (*)(val
*))(var550
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var550
) /* item on <var550:Iterator[nullable Object]>*/;
6919 var_tag553
= var552
;
6921 var555
= varonce554
;
6923 var556
= "printf(\"";
6925 var558
= string__NativeString__to_s_with_length(var556
, var557
);
6927 varonce554
= var555
;
6930 var560
= varonce559
;
6934 var563
= string__NativeString__to_s_with_length(var561
, var562
);
6936 varonce559
= var560
;
6938 var564
= NEW_array__Array(&type_array__Arraykernel__Object
);
6939 { /* var564 = array_instance Array[Object] */
6941 var566
= NEW_array__NativeArray(var565
, &type_array__NativeArraykernel__Object
);
6942 ((struct instance_array__NativeArray
*)var566
)->values
[0] = (val
*) var555
;
6943 ((struct instance_array__NativeArray
*)var566
)->values
[1] = (val
*) var_tag553
;
6944 ((struct instance_array__NativeArray
*)var566
)->values
[2] = (val
*) var560
;
6945 ((void (*)(val
*, val
*, long))(var564
->class->vft
[COLOR_array__Array__with_native
]))(var564
, var566
, var565
) /* with_native on <var564:Array[Object]>*/;
6947 var567
= ((val
* (*)(val
*))(var564
->class->vft
[COLOR_string__Object__to_s
]))(var564
) /* to_s on <var564:Array[Object]>*/;
6948 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var567
) /* add on <var_v:AbstractCompilerVisitor>*/;
6950 var569
= varonce568
;
6952 var570
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_resolved_";
6954 var572
= string__NativeString__to_s_with_length(var570
, var571
);
6956 varonce568
= var569
;
6959 var574
= varonce573
;
6961 var575
= ", 100.0*count_type_test_resolved_";
6963 var577
= string__NativeString__to_s_with_length(var575
, var576
);
6965 varonce573
= var574
;
6968 var579
= varonce578
;
6970 var580
= "/count_type_test_total_total);";
6972 var582
= string__NativeString__to_s_with_length(var580
, var581
);
6974 varonce578
= var579
;
6976 var583
= NEW_array__Array(&type_array__Arraykernel__Object
);
6977 { /* var583 = array_instance Array[Object] */
6979 var585
= NEW_array__NativeArray(var584
, &type_array__NativeArraykernel__Object
);
6980 ((struct instance_array__NativeArray
*)var585
)->values
[0] = (val
*) var569
;
6981 ((struct instance_array__NativeArray
*)var585
)->values
[1] = (val
*) var_tag553
;
6982 ((struct instance_array__NativeArray
*)var585
)->values
[2] = (val
*) var574
;
6983 ((struct instance_array__NativeArray
*)var585
)->values
[3] = (val
*) var_tag553
;
6984 ((struct instance_array__NativeArray
*)var585
)->values
[4] = (val
*) var579
;
6985 ((void (*)(val
*, val
*, long))(var583
->class->vft
[COLOR_array__Array__with_native
]))(var583
, var585
, var584
) /* with_native on <var583:Array[Object]>*/;
6987 var586
= ((val
* (*)(val
*))(var583
->class->vft
[COLOR_string__Object__to_s
]))(var583
) /* to_s on <var583:Array[Object]>*/;
6988 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var586
) /* add on <var_v:AbstractCompilerVisitor>*/;
6990 var588
= varonce587
;
6992 var589
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_unresolved_";
6994 var591
= string__NativeString__to_s_with_length(var589
, var590
);
6996 varonce587
= var588
;
6999 var593
= varonce592
;
7001 var594
= ", 100.0*count_type_test_unresolved_";
7003 var596
= string__NativeString__to_s_with_length(var594
, var595
);
7005 varonce592
= var593
;
7008 var598
= varonce597
;
7010 var599
= "/count_type_test_total_total);";
7012 var601
= string__NativeString__to_s_with_length(var599
, var600
);
7014 varonce597
= var598
;
7016 var602
= NEW_array__Array(&type_array__Arraykernel__Object
);
7017 { /* var602 = array_instance Array[Object] */
7019 var604
= NEW_array__NativeArray(var603
, &type_array__NativeArraykernel__Object
);
7020 ((struct instance_array__NativeArray
*)var604
)->values
[0] = (val
*) var588
;
7021 ((struct instance_array__NativeArray
*)var604
)->values
[1] = (val
*) var_tag553
;
7022 ((struct instance_array__NativeArray
*)var604
)->values
[2] = (val
*) var593
;
7023 ((struct instance_array__NativeArray
*)var604
)->values
[3] = (val
*) var_tag553
;
7024 ((struct instance_array__NativeArray
*)var604
)->values
[4] = (val
*) var598
;
7025 ((void (*)(val
*, val
*, long))(var602
->class->vft
[COLOR_array__Array__with_native
]))(var602
, var604
, var603
) /* with_native on <var602:Array[Object]>*/;
7027 var605
= ((val
* (*)(val
*))(var602
->class->vft
[COLOR_string__Object__to_s
]))(var602
) /* to_s on <var602:Array[Object]>*/;
7028 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var605
) /* add on <var_v:AbstractCompilerVisitor>*/;
7030 var607
= varonce606
;
7032 var608
= "printf(\"\\t%ld (%.2f%%)\", count_type_test_skipped_";
7034 var610
= string__NativeString__to_s_with_length(var608
, var609
);
7036 varonce606
= var607
;
7039 var612
= varonce611
;
7041 var613
= ", 100.0*count_type_test_skipped_";
7043 var615
= string__NativeString__to_s_with_length(var613
, var614
);
7045 varonce611
= var612
;
7048 var617
= varonce616
;
7050 var618
= "/count_type_test_total_total);";
7052 var620
= string__NativeString__to_s_with_length(var618
, var619
);
7054 varonce616
= var617
;
7056 var621
= NEW_array__Array(&type_array__Arraykernel__Object
);
7057 { /* var621 = array_instance Array[Object] */
7059 var623
= NEW_array__NativeArray(var622
, &type_array__NativeArraykernel__Object
);
7060 ((struct instance_array__NativeArray
*)var623
)->values
[0] = (val
*) var607
;
7061 ((struct instance_array__NativeArray
*)var623
)->values
[1] = (val
*) var_tag553
;
7062 ((struct instance_array__NativeArray
*)var623
)->values
[2] = (val
*) var612
;
7063 ((struct instance_array__NativeArray
*)var623
)->values
[3] = (val
*) var_tag553
;
7064 ((struct instance_array__NativeArray
*)var623
)->values
[4] = (val
*) var617
;
7065 ((void (*)(val
*, val
*, long))(var621
->class->vft
[COLOR_array__Array__with_native
]))(var621
, var623
, var622
) /* with_native on <var621:Array[Object]>*/;
7067 var624
= ((val
* (*)(val
*))(var621
->class->vft
[COLOR_string__Object__to_s
]))(var621
) /* to_s on <var621:Array[Object]>*/;
7068 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var624
) /* add on <var_v:AbstractCompilerVisitor>*/;
7070 var626
= varonce625
;
7072 var627
= "printf(\"\\t%ld (%.2f%%)\\n\", count_type_test_total_";
7074 var629
= string__NativeString__to_s_with_length(var627
, var628
);
7076 varonce625
= var626
;
7079 var631
= varonce630
;
7081 var632
= ", 100.0*count_type_test_total_";
7083 var634
= string__NativeString__to_s_with_length(var632
, var633
);
7085 varonce630
= var631
;
7088 var636
= varonce635
;
7090 var637
= "/count_type_test_total_total);";
7092 var639
= string__NativeString__to_s_with_length(var637
, var638
);
7094 varonce635
= var636
;
7096 var640
= NEW_array__Array(&type_array__Arraykernel__Object
);
7097 { /* var640 = array_instance Array[Object] */
7099 var642
= NEW_array__NativeArray(var641
, &type_array__NativeArraykernel__Object
);
7100 ((struct instance_array__NativeArray
*)var642
)->values
[0] = (val
*) var626
;
7101 ((struct instance_array__NativeArray
*)var642
)->values
[1] = (val
*) var_tag553
;
7102 ((struct instance_array__NativeArray
*)var642
)->values
[2] = (val
*) var631
;
7103 ((struct instance_array__NativeArray
*)var642
)->values
[3] = (val
*) var_tag553
;
7104 ((struct instance_array__NativeArray
*)var642
)->values
[4] = (val
*) var636
;
7105 ((void (*)(val
*, val
*, long))(var640
->class->vft
[COLOR_array__Array__with_native
]))(var640
, var642
, var641
) /* with_native on <var640:Array[Object]>*/;
7107 var643
= ((val
* (*)(val
*))(var640
->class->vft
[COLOR_string__Object__to_s
]))(var640
) /* to_s on <var640:Array[Object]>*/;
7108 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var643
) /* add on <var_v:AbstractCompilerVisitor>*/;
7109 CONTINUE_label644
: (void)0;
7110 ((void (*)(val
*))(var550
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var550
) /* next on <var550:Iterator[nullable Object]>*/;
7112 BREAK_label644
: (void)0;
7116 var646
= varonce645
;
7118 var647
= "return 0;";
7120 var649
= string__NativeString__to_s_with_length(var647
, var648
);
7122 varonce645
= var646
;
7124 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var646
) /* add on <var_v:AbstractCompilerVisitor>*/;
7126 var651
= varonce650
;
7130 var654
= string__NativeString__to_s_with_length(var652
, var653
);
7132 varonce650
= var651
;
7134 ((void (*)(val
*, val
*))(var_v
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(var_v
, var651
) /* add on <var_v:AbstractCompilerVisitor>*/;
7137 /* method abstract_compiler#AbstractCompiler#compile_main_function for (self: Object) */
7138 void VIRTUAL_abstract_compiler__AbstractCompiler__compile_main_function(val
* self
) {
7139 abstract_compiler__AbstractCompiler__compile_main_function(self
);
7142 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: AbstractCompiler): Array[ExternFile] */
7143 val
* abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
7144 val
* var
/* : Array[ExternFile] */;
7145 val
* var1
/* : Array[ExternFile] */;
7146 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
; /* @extern_bodies on <self:AbstractCompiler> */
7148 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @extern_bodies");
7149 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 618);
7156 /* method abstract_compiler#AbstractCompiler#extern_bodies for (self: Object): Array[ExternFile] */
7157 val
* VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies(val
* self
) {
7158 val
* var
/* : Array[ExternFile] */;
7159 val
* var1
/* : Array[ExternFile] */;
7160 var1
= abstract_compiler__AbstractCompiler__extern_bodies(self
);
7165 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: AbstractCompiler, Array[ExternFile]) */
7166 void abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
7167 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dextern_bodies
].val
= p0
; /* @extern_bodies on <self:AbstractCompiler> */
7170 /* method abstract_compiler#AbstractCompiler#extern_bodies= for (self: Object, Array[ExternFile]) */
7171 void VIRTUAL_abstract_compiler__AbstractCompiler__extern_bodies_61d(val
* self
, val
* p0
) {
7172 abstract_compiler__AbstractCompiler__extern_bodies_61d(self
, p0
);
7175 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: AbstractCompiler): Array[String] */
7176 val
* abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
7177 val
* var
/* : Array[String] */;
7178 val
* var1
/* : Array[String] */;
7179 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles_to_copy
].val
; /* @files_to_copy on <self:AbstractCompiler> */
7181 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @files_to_copy");
7182 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 621);
7189 /* method abstract_compiler#AbstractCompiler#files_to_copy for (self: Object): Array[String] */
7190 val
* VIRTUAL_abstract_compiler__AbstractCompiler__files_to_copy(val
* self
) {
7191 val
* var
/* : Array[String] */;
7192 val
* var1
/* : Array[String] */;
7193 var1
= abstract_compiler__AbstractCompiler__files_to_copy(self
);
7198 /* method abstract_compiler#AbstractCompiler#files_to_copy= for (self: AbstractCompiler, Array[String]) */
7199 void abstract_compiler__AbstractCompiler__files_to_copy_61d(val
* self
, val
* p0
) {
7200 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dfiles_to_copy
].val
= p0
; /* @files_to_copy on <self:AbstractCompiler> */
7203 /* method abstract_compiler#AbstractCompiler#files_to_copy= for (self: Object, Array[String]) */
7204 void VIRTUAL_abstract_compiler__AbstractCompiler__files_to_copy_61d(val
* self
, val
* p0
) {
7205 abstract_compiler__AbstractCompiler__files_to_copy_61d(self
, p0
);
7208 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: AbstractCompiler): ArraySet[String] */
7209 val
* abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
7210 val
* var
/* : ArraySet[String] */;
7211 val
* var1
/* : ArraySet[String] */;
7212 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
; /* @seen_extern on <self:AbstractCompiler> */
7214 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @seen_extern");
7215 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 624);
7222 /* method abstract_compiler#AbstractCompiler#seen_extern for (self: Object): ArraySet[String] */
7223 val
* VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern(val
* self
) {
7224 val
* var
/* : ArraySet[String] */;
7225 val
* var1
/* : ArraySet[String] */;
7226 var1
= abstract_compiler__AbstractCompiler__seen_extern(self
);
7231 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: AbstractCompiler, ArraySet[String]) */
7232 void abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
7233 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dseen_extern
].val
= p0
; /* @seen_extern on <self:AbstractCompiler> */
7236 /* method abstract_compiler#AbstractCompiler#seen_extern= for (self: Object, ArraySet[String]) */
7237 void VIRTUAL_abstract_compiler__AbstractCompiler__seen_extern_61d(val
* self
, val
* p0
) {
7238 abstract_compiler__AbstractCompiler__seen_extern_61d(self
, p0
);
7241 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7242 void abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7243 short int var
/* : Bool */;
7246 const struct type
* type_struct
;
7247 const char* var_class_name
;
7248 val
* var_v
/* var v: AbstractCompilerVisitor */;
7249 val
* var_recv
/* var recv: RuntimeVariable */;
7250 val
* var_mtype
/* var mtype: MClassType */;
7251 val
* var1
/* : MModule */;
7252 val
* var2
/* : Set[MClassDef] */;
7253 val
* var3
/* : Array[nullable Object] */;
7254 val
* var_cds
/* var cds: Array[MClassDef] */;
7255 val
* var4
/* : MModule */;
7256 val
* var5
/* : Iterator[nullable Object] */;
7257 short int var6
/* : Bool */;
7258 val
* var7
/* : nullable Object */;
7259 val
* var_cd
/* var cd: MClassDef */;
7260 val
* var8
/* : ModelBuilder */;
7261 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
7262 val
* var10
/* : nullable Object */;
7263 val
* var_n
/* var n: AClassdef */;
7264 val
* var11
/* : ANodes[APropdef] */;
7265 val
* var12
/* : Iterator[nullable Object] */;
7266 short int var13
/* : Bool */;
7267 val
* var14
/* : nullable Object */;
7268 val
* var_npropdef
/* var npropdef: APropdef */;
7269 short int var15
/* : Bool */;
7272 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
7273 /* <p0:AbstractCompilerVisitor> isa VISITOR */
7274 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
7275 cltype
= type_struct
->color
;
7276 idtype
= type_struct
->id
;
7277 if(cltype
>= p0
->type
->table_size
) {
7280 var
= p0
->type
->type_table
[cltype
] == idtype
;
7283 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
7284 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
7285 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 627);
7291 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
7292 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
7293 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
7295 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
7296 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
7297 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
7299 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
7301 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
7303 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
7304 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
7305 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
7307 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
7308 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
7310 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
7312 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
7313 var_npropdef
= var14
;
7314 /* <var_npropdef:APropdef> isa AAttrPropdef */
7315 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
7316 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
7317 if(cltype16
>= var_npropdef
->type
->table_size
) {
7320 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
7323 ((void (*)(val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__AAttrPropdef__init_expr
]))(var_npropdef
, var_v
, var_recv
) /* init_expr on <var_npropdef:APropdef(AAttrPropdef)>*/;
7326 CONTINUE_label
: (void)0;
7327 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
7329 BREAK_label
: (void)0;
7330 CONTINUE_label18
: (void)0;
7331 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
7333 BREAK_label18
: (void)0;
7336 /* method abstract_compiler#AbstractCompiler#generate_init_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7337 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_init_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7338 abstract_compiler__AbstractCompiler__generate_init_attr(self
, p0
, p1
, p2
);
7341 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: AbstractCompiler, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7342 void abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7343 short int var
/* : Bool */;
7346 const struct type
* type_struct
;
7347 const char* var_class_name
;
7348 val
* var_v
/* var v: AbstractCompilerVisitor */;
7349 val
* var_recv
/* var recv: RuntimeVariable */;
7350 val
* var_mtype
/* var mtype: MClassType */;
7351 val
* var1
/* : MModule */;
7352 val
* var2
/* : Set[MClassDef] */;
7353 val
* var3
/* : Array[nullable Object] */;
7354 val
* var_cds
/* var cds: Array[MClassDef] */;
7355 val
* var4
/* : MModule */;
7356 val
* var5
/* : Iterator[nullable Object] */;
7357 short int var6
/* : Bool */;
7358 val
* var7
/* : nullable Object */;
7359 val
* var_cd
/* var cd: MClassDef */;
7360 val
* var8
/* : ModelBuilder */;
7361 val
* var9
/* : HashMap[MClassDef, AClassdef] */;
7362 val
* var10
/* : nullable Object */;
7363 val
* var_n
/* var n: AClassdef */;
7364 val
* var11
/* : ANodes[APropdef] */;
7365 val
* var12
/* : Iterator[nullable Object] */;
7366 short int var13
/* : Bool */;
7367 val
* var14
/* : nullable Object */;
7368 val
* var_npropdef
/* var npropdef: APropdef */;
7369 short int var15
/* : Bool */;
7372 /* Covariant cast for argument 0 (v) <p0:AbstractCompilerVisitor> isa VISITOR */
7373 /* <p0:AbstractCompilerVisitor> isa VISITOR */
7374 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompiler_VTVISITOR
];
7375 cltype
= type_struct
->color
;
7376 idtype
= type_struct
->id
;
7377 if(cltype
>= p0
->type
->table_size
) {
7380 var
= p0
->type
->type_table
[cltype
] == idtype
;
7383 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
7384 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "VISITOR", var_class_name
);
7385 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 642);
7391 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
7392 var2
= ((val
* (*)(val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__collect_mclassdefs
]))(var_mtype
, var1
) /* collect_mclassdefs on <var_mtype:MClassType>*/;
7393 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_array__Collection__to_a
]))(var2
) /* to_a on <var2:Set[MClassDef]>*/;
7395 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(self
) /* mainmodule on <self:AbstractCompiler>*/;
7396 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_model__MModule__linearize_mclassdefs
]))(var4
, var_cds
) /* linearize_mclassdefs on <var4:MModule>*/;
7397 var5
= ((val
* (*)(val
*))(var_cds
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_cds
) /* iterator on <var_cds:Array[MClassDef]>*/;
7399 var6
= ((short int (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var5
) /* is_ok on <var5:Iterator[nullable Object]>*/;
7401 var7
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var5
) /* item on <var5:Iterator[nullable Object]>*/;
7403 var8
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
7404 var9
= ((val
* (*)(val
*))(var8
->class->vft
[COLOR_modelize_class__ModelBuilder__mclassdef2nclassdef
]))(var8
) /* mclassdef2nclassdef on <var8:ModelBuilder>*/;
7405 var10
= ((val
* (*)(val
*, val
*))(var9
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var9
, var_cd
) /* [] on <var9:HashMap[MClassDef, AClassdef]>*/;
7407 var11
= ((val
* (*)(val
*))(var_n
->class->vft
[COLOR_parser_nodes__AClassdef__n_propdefs
]))(var_n
) /* n_propdefs on <var_n:AClassdef>*/;
7408 var12
= ((val
* (*)(val
*))(var11
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var11
) /* iterator on <var11:ANodes[APropdef]>*/;
7410 var13
= ((short int (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var12
) /* is_ok on <var12:Iterator[nullable Object]>*/;
7412 var14
= ((val
* (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var12
) /* item on <var12:Iterator[nullable Object]>*/;
7413 var_npropdef
= var14
;
7414 /* <var_npropdef:APropdef> isa AAttrPropdef */
7415 cltype16
= type_parser_nodes__AAttrPropdef
.color
;
7416 idtype17
= type_parser_nodes__AAttrPropdef
.id
;
7417 if(cltype16
>= var_npropdef
->type
->table_size
) {
7420 var15
= var_npropdef
->type
->type_table
[cltype16
] == idtype17
;
7423 ((void (*)(val
*, val
*, val
*))(var_npropdef
->class->vft
[COLOR_abstract_compiler__AAttrPropdef__check_expr
]))(var_npropdef
, var_v
, var_recv
) /* check_expr on <var_npropdef:APropdef(AAttrPropdef)>*/;
7426 CONTINUE_label
: (void)0;
7427 ((void (*)(val
*))(var12
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var12
) /* next on <var12:Iterator[nullable Object]>*/;
7429 BREAK_label
: (void)0;
7430 CONTINUE_label18
: (void)0;
7431 ((void (*)(val
*))(var5
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var5
) /* next on <var5:Iterator[nullable Object]>*/;
7433 BREAK_label18
: (void)0;
7436 /* method abstract_compiler#AbstractCompiler#generate_check_attr for (self: Object, AbstractCompilerVisitor, RuntimeVariable, MClassType) */
7437 void VIRTUAL_abstract_compiler__AbstractCompiler__generate_check_attr(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
7438 abstract_compiler__AbstractCompiler__generate_check_attr(self
, p0
, p1
, p2
);
7441 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: AbstractCompiler): Array[String] */
7442 val
* abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
7443 val
* var
/* : Array[String] */;
7444 val
* var1
/* : Array[String] */;
7445 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
; /* @count_type_test_tags on <self:AbstractCompiler> */
7447 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_tags");
7448 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 659);
7455 /* method abstract_compiler#AbstractCompiler#count_type_test_tags for (self: Object): Array[String] */
7456 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags(val
* self
) {
7457 val
* var
/* : Array[String] */;
7458 val
* var1
/* : Array[String] */;
7459 var1
= abstract_compiler__AbstractCompiler__count_type_test_tags(self
);
7464 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: AbstractCompiler, Array[String]) */
7465 void abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
7466 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_tags
].val
= p0
; /* @count_type_test_tags on <self:AbstractCompiler> */
7469 /* method abstract_compiler#AbstractCompiler#count_type_test_tags= for (self: Object, Array[String]) */
7470 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_tags_61d(val
* self
, val
* p0
) {
7471 abstract_compiler__AbstractCompiler__count_type_test_tags_61d(self
, p0
);
7474 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: AbstractCompiler): HashMap[String, Int] */
7475 val
* abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
7476 val
* var
/* : HashMap[String, Int] */;
7477 val
* var1
/* : HashMap[String, Int] */;
7478 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
; /* @count_type_test_resolved on <self:AbstractCompiler> */
7480 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_resolved");
7481 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 660);
7488 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved for (self: Object): HashMap[String, Int] */
7489 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved(val
* self
) {
7490 val
* var
/* : HashMap[String, Int] */;
7491 val
* var1
/* : HashMap[String, Int] */;
7492 var1
= abstract_compiler__AbstractCompiler__count_type_test_resolved(self
);
7497 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: AbstractCompiler, HashMap[String, Int]) */
7498 void abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
7499 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_resolved
].val
= p0
; /* @count_type_test_resolved on <self:AbstractCompiler> */
7502 /* method abstract_compiler#AbstractCompiler#count_type_test_resolved= for (self: Object, HashMap[String, Int]) */
7503 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(val
* self
, val
* p0
) {
7504 abstract_compiler__AbstractCompiler__count_type_test_resolved_61d(self
, p0
);
7507 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: AbstractCompiler): HashMap[String, Int] */
7508 val
* abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
7509 val
* var
/* : HashMap[String, Int] */;
7510 val
* var1
/* : HashMap[String, Int] */;
7511 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
7513 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_unresolved");
7514 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 661);
7521 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved for (self: Object): HashMap[String, Int] */
7522 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved(val
* self
) {
7523 val
* var
/* : HashMap[String, Int] */;
7524 val
* var1
/* : HashMap[String, Int] */;
7525 var1
= abstract_compiler__AbstractCompiler__count_type_test_unresolved(self
);
7530 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: AbstractCompiler, HashMap[String, Int]) */
7531 void abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
7532 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_unresolved
].val
= p0
; /* @count_type_test_unresolved on <self:AbstractCompiler> */
7535 /* method abstract_compiler#AbstractCompiler#count_type_test_unresolved= for (self: Object, HashMap[String, Int]) */
7536 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(val
* self
, val
* p0
) {
7537 abstract_compiler__AbstractCompiler__count_type_test_unresolved_61d(self
, p0
);
7540 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: AbstractCompiler): HashMap[String, Int] */
7541 val
* abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
7542 val
* var
/* : HashMap[String, Int] */;
7543 val
* var1
/* : HashMap[String, Int] */;
7544 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
; /* @count_type_test_skipped on <self:AbstractCompiler> */
7546 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @count_type_test_skipped");
7547 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 662);
7554 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped for (self: Object): HashMap[String, Int] */
7555 val
* VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped(val
* self
) {
7556 val
* var
/* : HashMap[String, Int] */;
7557 val
* var1
/* : HashMap[String, Int] */;
7558 var1
= abstract_compiler__AbstractCompiler__count_type_test_skipped(self
);
7563 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: AbstractCompiler, HashMap[String, Int]) */
7564 void abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
7565 self
->attrs
[COLOR_abstract_compiler__AbstractCompiler___64dcount_type_test_skipped
].val
= p0
; /* @count_type_test_skipped on <self:AbstractCompiler> */
7568 /* method abstract_compiler#AbstractCompiler#count_type_test_skipped= for (self: Object, HashMap[String, Int]) */
7569 void VIRTUAL_abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(val
* self
, val
* p0
) {
7570 abstract_compiler__AbstractCompiler__count_type_test_skipped_61d(self
, p0
);
7573 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: AbstractCompiler): HashMap[String, Int] */
7574 val
* abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
7575 val
* var
/* : HashMap[String, Int] */;
7576 val
* var1
/* : HashMap[String, Int] */;
7577 val
* var_res
/* var res: HashMap[String, Int] */;
7578 val
* var2
/* : Array[String] */;
7579 val
* var3
/* : Iterator[nullable Object] */;
7580 short int var4
/* : Bool */;
7581 val
* var5
/* : nullable Object */;
7582 val
* var_tag
/* var tag: String */;
7583 long var6
/* : Int */;
7584 val
* var7
/* : nullable Object */;
7585 var1
= NEW_hash_collection__HashMap(&type_hash_collection__HashMapstring__Stringkernel__Int
);
7586 ((void (*)(val
*))(var1
->class->vft
[COLOR_hash_collection__HashMap__init
]))(var1
) /* init on <var1:HashMap[String, Int]>*/;
7588 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
7589 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var2
) /* iterator on <var2:Array[String]>*/;
7591 var4
= ((short int (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var3
) /* is_ok on <var3:Iterator[nullable Object]>*/;
7593 var5
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var3
) /* item on <var3:Iterator[nullable Object]>*/;
7596 var7
= BOX_kernel__Int(var6
); /* autobox from Int to nullable Object */
7597 ((void (*)(val
*, val
*, val
*))(var_res
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_res
, var_tag
, var7
) /* []= on <var_res:HashMap[String, Int]>*/;
7598 CONTINUE_label
: (void)0;
7599 ((void (*)(val
*))(var3
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var3
) /* next on <var3:Iterator[nullable Object]>*/;
7601 BREAK_label
: (void)0;
7607 /* method abstract_compiler#AbstractCompiler#init_count_type_test_tags for (self: Object): HashMap[String, Int] */
7608 val
* VIRTUAL_abstract_compiler__AbstractCompiler__init_count_type_test_tags(val
* self
) {
7609 val
* var
/* : HashMap[String, Int] */;
7610 val
* var1
/* : HashMap[String, Int] */;
7611 var1
= abstract_compiler__AbstractCompiler__init_count_type_test_tags(self
);
7616 /* method abstract_compiler#AbstractCompiler#display_stats for (self: AbstractCompiler) */
7617 void abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
7618 val
* var
/* : ModelBuilder */;
7619 val
* var1
/* : ToolContext */;
7620 val
* var2
/* : OptionBool */;
7621 val
* var3
/* : nullable Object */;
7622 short int var4
/* : Bool */;
7623 static val
* varonce
;
7624 val
* var5
/* : String */;
7625 char* var6
/* : NativeString */;
7626 long var7
/* : Int */;
7627 val
* var8
/* : String */;
7628 static val
* varonce9
;
7629 val
* var10
/* : String */;
7630 char* var11
/* : NativeString */;
7631 long var12
/* : Int */;
7632 val
* var13
/* : String */;
7633 val
* var14
/* : HashMap[String, Int] */;
7634 val
* var_count_type_test_total
/* var count_type_test_total: HashMap[String, Int] */;
7635 val
* var15
/* : HashMap[String, Int] */;
7636 static val
* varonce16
;
7637 val
* var17
/* : String */;
7638 char* var18
/* : NativeString */;
7639 long var19
/* : Int */;
7640 val
* var20
/* : String */;
7641 long var21
/* : Int */;
7642 val
* var22
/* : nullable Object */;
7643 val
* var23
/* : HashMap[String, Int] */;
7644 static val
* varonce24
;
7645 val
* var25
/* : String */;
7646 char* var26
/* : NativeString */;
7647 long var27
/* : Int */;
7648 val
* var28
/* : String */;
7649 long var29
/* : Int */;
7650 val
* var30
/* : nullable Object */;
7651 val
* var31
/* : HashMap[String, Int] */;
7652 static val
* varonce32
;
7653 val
* var33
/* : String */;
7654 char* var34
/* : NativeString */;
7655 long var35
/* : Int */;
7656 val
* var36
/* : String */;
7657 long var37
/* : Int */;
7658 val
* var38
/* : nullable Object */;
7659 static val
* varonce39
;
7660 val
* var40
/* : String */;
7661 char* var41
/* : NativeString */;
7662 long var42
/* : Int */;
7663 val
* var43
/* : String */;
7664 long var44
/* : Int */;
7665 val
* var45
/* : nullable Object */;
7666 val
* var46
/* : Array[String] */;
7667 val
* var47
/* : Iterator[nullable Object] */;
7668 short int var48
/* : Bool */;
7669 val
* var49
/* : nullable Object */;
7670 val
* var_tag
/* var tag: String */;
7671 val
* var50
/* : HashMap[String, Int] */;
7672 val
* var51
/* : nullable Object */;
7673 val
* var52
/* : HashMap[String, Int] */;
7674 val
* var53
/* : nullable Object */;
7675 long var54
/* : Int */;
7676 long var56
/* : Int */;
7677 long var57
/* : Int */;
7678 long var58
/* : Int */;
7679 val
* var59
/* : HashMap[String, Int] */;
7680 val
* var60
/* : nullable Object */;
7681 long var61
/* : Int */;
7682 long var63
/* : Int */;
7683 long var64
/* : Int */;
7684 val
* var65
/* : nullable Object */;
7685 val
* var66
/* : HashMap[String, Int] */;
7686 val
* var_
/* var : HashMap[String, Int] */;
7687 static val
* varonce67
;
7688 val
* var68
/* : String */;
7689 char* var69
/* : NativeString */;
7690 long var70
/* : Int */;
7691 val
* var71
/* : String */;
7692 val
* var_72
/* var : String */;
7693 val
* var73
/* : nullable Object */;
7694 val
* var74
/* : HashMap[String, Int] */;
7695 val
* var75
/* : nullable Object */;
7696 long var76
/* : Int */;
7697 long var78
/* : Int */;
7698 long var79
/* : Int */;
7699 long var80
/* : Int */;
7700 val
* var81
/* : nullable Object */;
7701 val
* var82
/* : HashMap[String, Int] */;
7702 val
* var_83
/* var : HashMap[String, Int] */;
7703 static val
* varonce84
;
7704 val
* var85
/* : String */;
7705 char* var86
/* : NativeString */;
7706 long var87
/* : Int */;
7707 val
* var88
/* : String */;
7708 val
* var_89
/* var : String */;
7709 val
* var90
/* : nullable Object */;
7710 val
* var91
/* : HashMap[String, Int] */;
7711 val
* var92
/* : nullable Object */;
7712 long var93
/* : Int */;
7713 long var95
/* : Int */;
7714 long var96
/* : Int */;
7715 long var97
/* : Int */;
7716 val
* var98
/* : nullable Object */;
7717 val
* var99
/* : HashMap[String, Int] */;
7718 val
* var_100
/* var : HashMap[String, Int] */;
7719 static val
* varonce101
;
7720 val
* var102
/* : String */;
7721 char* var103
/* : NativeString */;
7722 long var104
/* : Int */;
7723 val
* var105
/* : String */;
7724 val
* var_106
/* var : String */;
7725 val
* var107
/* : nullable Object */;
7726 val
* var108
/* : HashMap[String, Int] */;
7727 val
* var109
/* : nullable Object */;
7728 long var110
/* : Int */;
7729 long var112
/* : Int */;
7730 long var113
/* : Int */;
7731 long var114
/* : Int */;
7732 val
* var115
/* : nullable Object */;
7733 val
* var_116
/* var : HashMap[String, Int] */;
7734 static val
* varonce117
;
7735 val
* var118
/* : String */;
7736 char* var119
/* : NativeString */;
7737 long var120
/* : Int */;
7738 val
* var121
/* : String */;
7739 val
* var_122
/* var : String */;
7740 val
* var123
/* : nullable Object */;
7741 val
* var124
/* : nullable Object */;
7742 long var125
/* : Int */;
7743 long var127
/* : Int */;
7744 long var128
/* : Int */;
7745 long var129
/* : Int */;
7746 val
* var130
/* : nullable Object */;
7747 static val
* varonce131
;
7748 val
* var132
/* : String */;
7749 char* var133
/* : NativeString */;
7750 long var134
/* : Int */;
7751 val
* var135
/* : String */;
7752 val
* var136
/* : nullable Object */;
7753 long var137
/* : Int */;
7754 long var_count_type_test
/* var count_type_test: Int */;
7755 val
* var138
/* : Array[String] */;
7756 val
* var139
/* : Array[nullable Object] */;
7757 val
* var_tags
/* var tags: Array[String] */;
7758 static val
* varonce140
;
7759 val
* var141
/* : String */;
7760 char* var142
/* : NativeString */;
7761 long var143
/* : Int */;
7762 val
* var144
/* : String */;
7763 val
* var145
/* : Iterator[nullable Object] */;
7764 short int var146
/* : Bool */;
7765 val
* var147
/* : nullable Object */;
7766 val
* var_tag148
/* var tag: String */;
7767 val
* var149
/* : Array[Object] */;
7768 long var150
/* : Int */;
7769 val
* var151
/* : NativeArray[Object] */;
7770 static val
* varonce152
;
7771 val
* var153
/* : String */;
7772 char* var154
/* : NativeString */;
7773 long var155
/* : Int */;
7774 val
* var156
/* : String */;
7775 val
* var157
/* : HashMap[String, Int] */;
7776 val
* var158
/* : nullable Object */;
7777 static val
* varonce159
;
7778 val
* var160
/* : String */;
7779 char* var161
/* : NativeString */;
7780 long var162
/* : Int */;
7781 val
* var163
/* : String */;
7782 val
* var164
/* : HashMap[String, Int] */;
7783 val
* var165
/* : nullable Object */;
7784 val
* var166
/* : String */;
7785 long var167
/* : Int */;
7786 static val
* varonce168
;
7787 val
* var169
/* : String */;
7788 char* var170
/* : NativeString */;
7789 long var171
/* : Int */;
7790 val
* var172
/* : String */;
7791 val
* var173
/* : Array[Object] */;
7792 long var174
/* : Int */;
7793 val
* var175
/* : NativeArray[Object] */;
7794 val
* var176
/* : String */;
7795 val
* var177
/* : Array[Object] */;
7796 long var178
/* : Int */;
7797 val
* var179
/* : NativeArray[Object] */;
7798 static val
* varonce180
;
7799 val
* var181
/* : String */;
7800 char* var182
/* : NativeString */;
7801 long var183
/* : Int */;
7802 val
* var184
/* : String */;
7803 val
* var185
/* : HashMap[String, Int] */;
7804 val
* var186
/* : nullable Object */;
7805 static val
* varonce187
;
7806 val
* var188
/* : String */;
7807 char* var189
/* : NativeString */;
7808 long var190
/* : Int */;
7809 val
* var191
/* : String */;
7810 val
* var192
/* : HashMap[String, Int] */;
7811 val
* var193
/* : nullable Object */;
7812 val
* var194
/* : String */;
7813 long var195
/* : Int */;
7814 static val
* varonce196
;
7815 val
* var197
/* : String */;
7816 char* var198
/* : NativeString */;
7817 long var199
/* : Int */;
7818 val
* var200
/* : String */;
7819 val
* var201
/* : Array[Object] */;
7820 long var202
/* : Int */;
7821 val
* var203
/* : NativeArray[Object] */;
7822 val
* var204
/* : String */;
7823 val
* var205
/* : Array[Object] */;
7824 long var206
/* : Int */;
7825 val
* var207
/* : NativeArray[Object] */;
7826 static val
* varonce208
;
7827 val
* var209
/* : String */;
7828 char* var210
/* : NativeString */;
7829 long var211
/* : Int */;
7830 val
* var212
/* : String */;
7831 val
* var213
/* : HashMap[String, Int] */;
7832 val
* var214
/* : nullable Object */;
7833 static val
* varonce215
;
7834 val
* var216
/* : String */;
7835 char* var217
/* : NativeString */;
7836 long var218
/* : Int */;
7837 val
* var219
/* : String */;
7838 val
* var220
/* : HashMap[String, Int] */;
7839 val
* var221
/* : nullable Object */;
7840 val
* var222
/* : String */;
7841 long var223
/* : Int */;
7842 static val
* varonce224
;
7843 val
* var225
/* : String */;
7844 char* var226
/* : NativeString */;
7845 long var227
/* : Int */;
7846 val
* var228
/* : String */;
7847 val
* var229
/* : Array[Object] */;
7848 long var230
/* : Int */;
7849 val
* var231
/* : NativeArray[Object] */;
7850 val
* var232
/* : String */;
7851 val
* var233
/* : Array[Object] */;
7852 long var234
/* : Int */;
7853 val
* var235
/* : NativeArray[Object] */;
7854 static val
* varonce236
;
7855 val
* var237
/* : String */;
7856 char* var238
/* : NativeString */;
7857 long var239
/* : Int */;
7858 val
* var240
/* : String */;
7859 val
* var241
/* : nullable Object */;
7860 static val
* varonce242
;
7861 val
* var243
/* : String */;
7862 char* var244
/* : NativeString */;
7863 long var245
/* : Int */;
7864 val
* var246
/* : String */;
7865 val
* var247
/* : nullable Object */;
7866 val
* var248
/* : String */;
7867 long var249
/* : Int */;
7868 static val
* varonce250
;
7869 val
* var251
/* : String */;
7870 char* var252
/* : NativeString */;
7871 long var253
/* : Int */;
7872 val
* var254
/* : String */;
7873 val
* var255
/* : Array[Object] */;
7874 long var256
/* : Int */;
7875 val
* var257
/* : NativeArray[Object] */;
7876 val
* var258
/* : String */;
7877 val
* var259
/* : Array[Object] */;
7878 long var260
/* : Int */;
7879 val
* var261
/* : NativeArray[Object] */;
7880 static val
* varonce262
;
7881 val
* var263
/* : String */;
7882 char* var264
/* : NativeString */;
7883 long var265
/* : Int */;
7884 val
* var266
/* : String */;
7885 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
7886 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var
) /* toolcontext on <var:ModelBuilder>*/;
7887 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_typing_test_metrics
]))(var1
) /* opt_typing_test_metrics on <var1:ToolContext>*/;
7888 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_opts__Option__value
]))(var2
) /* value on <var2:OptionBool>*/;
7889 var4
= ((struct instance_kernel__Bool
*)var3
)->value
; /* autounbox from nullable Object to Bool */;
7894 var6
= "# static count_type_test";
7896 var8
= string__NativeString__to_s_with_length(var6
, var7
);
7900 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var5
) /* print on <self:AbstractCompiler>*/;
7904 var11
= "\11resolved:\11unresolved\11skipped\11total";
7906 var13
= string__NativeString__to_s_with_length(var11
, var12
);
7910 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var10
) /* print on <self:AbstractCompiler>*/;
7911 var14
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__init_count_type_test_tags
]))(self
) /* init_count_type_test_tags on <self:AbstractCompiler>*/;
7912 var_count_type_test_total
= var14
;
7913 var15
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7919 var20
= string__NativeString__to_s_with_length(var18
, var19
);
7924 var22
= BOX_kernel__Int(var21
); /* autobox from Int to nullable Object */
7925 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var15
, var17
, var22
) /* []= on <var15:HashMap[String, Int]>*/;
7926 var23
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7932 var28
= string__NativeString__to_s_with_length(var26
, var27
);
7937 var30
= BOX_kernel__Int(var29
); /* autobox from Int to nullable Object */
7938 ((void (*)(val
*, val
*, val
*))(var23
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var23
, var25
, var30
) /* []= on <var23:HashMap[String, Int]>*/;
7939 var31
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7945 var36
= string__NativeString__to_s_with_length(var34
, var35
);
7950 var38
= BOX_kernel__Int(var37
); /* autobox from Int to nullable Object */
7951 ((void (*)(val
*, val
*, val
*))(var31
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var31
, var33
, var38
) /* []= on <var31:HashMap[String, Int]>*/;
7957 var43
= string__NativeString__to_s_with_length(var41
, var42
);
7962 var45
= BOX_kernel__Int(var44
); /* autobox from Int to nullable Object */
7963 ((void (*)(val
*, val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_count_type_test_total
, var40
, var45
) /* []= on <var_count_type_test_total:HashMap[String, Int]>*/;
7964 var46
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
7965 var47
= ((val
* (*)(val
*))(var46
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var46
) /* iterator on <var46:Array[String]>*/;
7967 var48
= ((short int (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var47
) /* is_ok on <var47:Iterator[nullable Object]>*/;
7969 var49
= ((val
* (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var47
) /* item on <var47:Iterator[nullable Object]>*/;
7971 var50
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
7972 var51
= ((val
* (*)(val
*, val
*))(var50
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var50
, var_tag
) /* [] on <var50:HashMap[String, Int]>*/;
7973 var52
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
7974 var53
= ((val
* (*)(val
*, val
*))(var52
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var52
, var_tag
) /* [] on <var52:HashMap[String, Int]>*/;
7975 { /* Inline kernel#Int#+ (var51,var53) */
7976 var56
= ((struct instance_kernel__Int
*)var51
)->value
; /* autounbox from nullable Object to Int */;
7977 var57
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
7978 var58
= var56
+ var57
;
7981 RET_LABEL55
:(void)0;
7983 var59
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
7984 var60
= ((val
* (*)(val
*, val
*))(var59
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var59
, var_tag
) /* [] on <var59:HashMap[String, Int]>*/;
7985 { /* Inline kernel#Int#+ (var54,var60) */
7986 var63
= ((struct instance_kernel__Int
*)var60
)->value
; /* autounbox from nullable Object to Int */;
7987 var64
= var54
+ var63
;
7990 RET_LABEL62
:(void)0;
7992 var65
= BOX_kernel__Int(var61
); /* autobox from Int to nullable Object */
7993 ((void (*)(val
*, val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_count_type_test_total
, var_tag
, var65
) /* []= on <var_count_type_test_total:HashMap[String, Int]>*/;
7994 var66
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
8001 var71
= string__NativeString__to_s_with_length(var69
, var70
);
8006 var73
= ((val
* (*)(val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_
, var_72
) /* [] on <var_:HashMap[String, Int]>*/;
8007 var74
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
8008 var75
= ((val
* (*)(val
*, val
*))(var74
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var74
, var_tag
) /* [] on <var74:HashMap[String, Int]>*/;
8009 { /* Inline kernel#Int#+ (var73,var75) */
8010 var78
= ((struct instance_kernel__Int
*)var73
)->value
; /* autounbox from nullable Object to Int */;
8011 var79
= ((struct instance_kernel__Int
*)var75
)->value
; /* autounbox from nullable Object to Int */;
8012 var80
= var78
+ var79
;
8015 RET_LABEL77
:(void)0;
8017 var81
= BOX_kernel__Int(var76
); /* autobox from Int to nullable Object */
8018 ((void (*)(val
*, val
*, val
*))(var_
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_
, var_72
, var81
) /* []= on <var_:HashMap[String, Int]>*/;
8019 var82
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
8026 var88
= string__NativeString__to_s_with_length(var86
, var87
);
8031 var90
= ((val
* (*)(val
*, val
*))(var_83
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_83
, var_89
) /* [] on <var_83:HashMap[String, Int]>*/;
8032 var91
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
8033 var92
= ((val
* (*)(val
*, val
*))(var91
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var91
, var_tag
) /* [] on <var91:HashMap[String, Int]>*/;
8034 { /* Inline kernel#Int#+ (var90,var92) */
8035 var95
= ((struct instance_kernel__Int
*)var90
)->value
; /* autounbox from nullable Object to Int */;
8036 var96
= ((struct instance_kernel__Int
*)var92
)->value
; /* autounbox from nullable Object to Int */;
8037 var97
= var95
+ var96
;
8040 RET_LABEL94
:(void)0;
8042 var98
= BOX_kernel__Int(var93
); /* autobox from Int to nullable Object */
8043 ((void (*)(val
*, val
*, val
*))(var_83
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_83
, var_89
, var98
) /* []= on <var_83:HashMap[String, Int]>*/;
8044 var99
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
8047 var102
= varonce101
;
8051 var105
= string__NativeString__to_s_with_length(var103
, var104
);
8053 varonce101
= var102
;
8056 var107
= ((val
* (*)(val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_100
, var_106
) /* [] on <var_100:HashMap[String, Int]>*/;
8057 var108
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
8058 var109
= ((val
* (*)(val
*, val
*))(var108
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var108
, var_tag
) /* [] on <var108:HashMap[String, Int]>*/;
8059 { /* Inline kernel#Int#+ (var107,var109) */
8060 var112
= ((struct instance_kernel__Int
*)var107
)->value
; /* autounbox from nullable Object to Int */;
8061 var113
= ((struct instance_kernel__Int
*)var109
)->value
; /* autounbox from nullable Object to Int */;
8062 var114
= var112
+ var113
;
8065 RET_LABEL111
:(void)0;
8067 var115
= BOX_kernel__Int(var110
); /* autobox from Int to nullable Object */
8068 ((void (*)(val
*, val
*, val
*))(var_100
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_100
, var_106
, var115
) /* []= on <var_100:HashMap[String, Int]>*/;
8069 var_116
= var_count_type_test_total
;
8071 var118
= varonce117
;
8075 var121
= string__NativeString__to_s_with_length(var119
, var120
);
8077 varonce117
= var118
;
8080 var123
= ((val
* (*)(val
*, val
*))(var_116
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_116
, var_122
) /* [] on <var_116:HashMap[String, Int]>*/;
8081 var124
= ((val
* (*)(val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_count_type_test_total
, var_tag
) /* [] on <var_count_type_test_total:HashMap[String, Int]>*/;
8082 { /* Inline kernel#Int#+ (var123,var124) */
8083 var127
= ((struct instance_kernel__Int
*)var123
)->value
; /* autounbox from nullable Object to Int */;
8084 var128
= ((struct instance_kernel__Int
*)var124
)->value
; /* autounbox from nullable Object to Int */;
8085 var129
= var127
+ var128
;
8088 RET_LABEL126
:(void)0;
8090 var130
= BOX_kernel__Int(var125
); /* autobox from Int to nullable Object */
8091 ((void (*)(val
*, val
*, val
*))(var_116
->class->vft
[COLOR_abstract_collection__Map___91d_93d_61d
]))(var_116
, var_122
, var130
) /* []= on <var_116:HashMap[String, Int]>*/;
8092 CONTINUE_label
: (void)0;
8093 ((void (*)(val
*))(var47
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var47
) /* next on <var47:Iterator[nullable Object]>*/;
8095 BREAK_label
: (void)0;
8097 var132
= varonce131
;
8101 var135
= string__NativeString__to_s_with_length(var133
, var134
);
8103 varonce131
= var132
;
8105 var136
= ((val
* (*)(val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_count_type_test_total
, var132
) /* [] on <var_count_type_test_total:HashMap[String, Int]>*/;
8106 var137
= ((struct instance_kernel__Int
*)var136
)->value
; /* autounbox from nullable Object to Int */;
8107 var_count_type_test
= var137
;
8108 var138
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_tags
]))(self
) /* count_type_test_tags on <self:AbstractCompiler>*/;
8109 var139
= ((val
* (*)(val
*))(var138
->class->vft
[COLOR_array__Collection__to_a
]))(var138
) /* to_a on <var138:Array[String]>*/;
8112 var141
= varonce140
;
8116 var144
= string__NativeString__to_s_with_length(var142
, var143
);
8118 varonce140
= var141
;
8120 ((void (*)(val
*, val
*))(var_tags
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_tags
, var141
) /* add on <var_tags:Array[String]>*/;
8121 var145
= ((val
* (*)(val
*))(var_tags
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var_tags
) /* iterator on <var_tags:Array[String]>*/;
8123 var146
= ((short int (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var145
) /* is_ok on <var145:Iterator[nullable Object]>*/;
8125 var147
= ((val
* (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var145
) /* item on <var145:Iterator[nullable Object]>*/;
8126 var_tag148
= var147
;
8127 var149
= NEW_array__Array(&type_array__Arraykernel__Object
);
8128 { /* var149 = array_instance Array[Object] */
8130 var151
= NEW_array__NativeArray(var150
, &type_array__NativeArraykernel__Object
);
8131 ((struct instance_array__NativeArray
*)var151
)->values
[0] = (val
*) var_tag148
;
8132 ((void (*)(val
*, val
*, long))(var149
->class->vft
[COLOR_array__Array__with_native
]))(var149
, var151
, var150
) /* with_native on <var149:Array[Object]>*/;
8134 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var149
) /* printn on <self:AbstractCompiler>*/;
8136 var153
= varonce152
;
8140 var156
= string__NativeString__to_s_with_length(var154
, var155
);
8142 varonce152
= var153
;
8144 var157
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
8145 var158
= ((val
* (*)(val
*, val
*))(var157
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var157
, var_tag148
) /* [] on <var157:HashMap[String, Int]>*/;
8147 var160
= varonce159
;
8151 var163
= string__NativeString__to_s_with_length(var161
, var162
);
8153 varonce159
= var160
;
8155 var164
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_resolved
]))(self
) /* count_type_test_resolved on <self:AbstractCompiler>*/;
8156 var165
= ((val
* (*)(val
*, val
*))(var164
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var164
, var_tag148
) /* [] on <var164:HashMap[String, Int]>*/;
8157 var167
= ((struct instance_kernel__Int
*)var165
)->value
; /* autounbox from nullable Object to Int */;
8158 var166
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var167
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
8160 var169
= varonce168
;
8164 var172
= string__NativeString__to_s_with_length(var170
, var171
);
8166 varonce168
= var169
;
8168 var173
= NEW_array__Array(&type_array__Arraykernel__Object
);
8169 { /* var173 = array_instance Array[Object] */
8171 var175
= NEW_array__NativeArray(var174
, &type_array__NativeArraykernel__Object
);
8172 ((struct instance_array__NativeArray
*)var175
)->values
[0] = (val
*) var153
;
8173 ((struct instance_array__NativeArray
*)var175
)->values
[1] = (val
*) var158
;
8174 ((struct instance_array__NativeArray
*)var175
)->values
[2] = (val
*) var160
;
8175 ((struct instance_array__NativeArray
*)var175
)->values
[3] = (val
*) var166
;
8176 ((struct instance_array__NativeArray
*)var175
)->values
[4] = (val
*) var169
;
8177 ((void (*)(val
*, val
*, long))(var173
->class->vft
[COLOR_array__Array__with_native
]))(var173
, var175
, var174
) /* with_native on <var173:Array[Object]>*/;
8179 var176
= ((val
* (*)(val
*))(var173
->class->vft
[COLOR_string__Object__to_s
]))(var173
) /* to_s on <var173:Array[Object]>*/;
8180 var177
= NEW_array__Array(&type_array__Arraykernel__Object
);
8181 { /* var177 = array_instance Array[Object] */
8183 var179
= NEW_array__NativeArray(var178
, &type_array__NativeArraykernel__Object
);
8184 ((struct instance_array__NativeArray
*)var179
)->values
[0] = (val
*) var176
;
8185 ((void (*)(val
*, val
*, long))(var177
->class->vft
[COLOR_array__Array__with_native
]))(var177
, var179
, var178
) /* with_native on <var177:Array[Object]>*/;
8187 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var177
) /* printn on <self:AbstractCompiler>*/;
8189 var181
= varonce180
;
8193 var184
= string__NativeString__to_s_with_length(var182
, var183
);
8195 varonce180
= var181
;
8197 var185
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
8198 var186
= ((val
* (*)(val
*, val
*))(var185
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var185
, var_tag148
) /* [] on <var185:HashMap[String, Int]>*/;
8200 var188
= varonce187
;
8204 var191
= string__NativeString__to_s_with_length(var189
, var190
);
8206 varonce187
= var188
;
8208 var192
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_unresolved
]))(self
) /* count_type_test_unresolved on <self:AbstractCompiler>*/;
8209 var193
= ((val
* (*)(val
*, val
*))(var192
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var192
, var_tag148
) /* [] on <var192:HashMap[String, Int]>*/;
8210 var195
= ((struct instance_kernel__Int
*)var193
)->value
; /* autounbox from nullable Object to Int */;
8211 var194
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var195
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
8213 var197
= varonce196
;
8217 var200
= string__NativeString__to_s_with_length(var198
, var199
);
8219 varonce196
= var197
;
8221 var201
= NEW_array__Array(&type_array__Arraykernel__Object
);
8222 { /* var201 = array_instance Array[Object] */
8224 var203
= NEW_array__NativeArray(var202
, &type_array__NativeArraykernel__Object
);
8225 ((struct instance_array__NativeArray
*)var203
)->values
[0] = (val
*) var181
;
8226 ((struct instance_array__NativeArray
*)var203
)->values
[1] = (val
*) var186
;
8227 ((struct instance_array__NativeArray
*)var203
)->values
[2] = (val
*) var188
;
8228 ((struct instance_array__NativeArray
*)var203
)->values
[3] = (val
*) var194
;
8229 ((struct instance_array__NativeArray
*)var203
)->values
[4] = (val
*) var197
;
8230 ((void (*)(val
*, val
*, long))(var201
->class->vft
[COLOR_array__Array__with_native
]))(var201
, var203
, var202
) /* with_native on <var201:Array[Object]>*/;
8232 var204
= ((val
* (*)(val
*))(var201
->class->vft
[COLOR_string__Object__to_s
]))(var201
) /* to_s on <var201:Array[Object]>*/;
8233 var205
= NEW_array__Array(&type_array__Arraykernel__Object
);
8234 { /* var205 = array_instance Array[Object] */
8236 var207
= NEW_array__NativeArray(var206
, &type_array__NativeArraykernel__Object
);
8237 ((struct instance_array__NativeArray
*)var207
)->values
[0] = (val
*) var204
;
8238 ((void (*)(val
*, val
*, long))(var205
->class->vft
[COLOR_array__Array__with_native
]))(var205
, var207
, var206
) /* with_native on <var205:Array[Object]>*/;
8240 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var205
) /* printn on <self:AbstractCompiler>*/;
8242 var209
= varonce208
;
8246 var212
= string__NativeString__to_s_with_length(var210
, var211
);
8248 varonce208
= var209
;
8250 var213
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
8251 var214
= ((val
* (*)(val
*, val
*))(var213
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var213
, var_tag148
) /* [] on <var213:HashMap[String, Int]>*/;
8253 var216
= varonce215
;
8257 var219
= string__NativeString__to_s_with_length(var217
, var218
);
8259 varonce215
= var216
;
8261 var220
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__count_type_test_skipped
]))(self
) /* count_type_test_skipped on <self:AbstractCompiler>*/;
8262 var221
= ((val
* (*)(val
*, val
*))(var220
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var220
, var_tag148
) /* [] on <var220:HashMap[String, Int]>*/;
8263 var223
= ((struct instance_kernel__Int
*)var221
)->value
; /* autounbox from nullable Object to Int */;
8264 var222
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var223
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
8266 var225
= varonce224
;
8270 var228
= string__NativeString__to_s_with_length(var226
, var227
);
8272 varonce224
= var225
;
8274 var229
= NEW_array__Array(&type_array__Arraykernel__Object
);
8275 { /* var229 = array_instance Array[Object] */
8277 var231
= NEW_array__NativeArray(var230
, &type_array__NativeArraykernel__Object
);
8278 ((struct instance_array__NativeArray
*)var231
)->values
[0] = (val
*) var209
;
8279 ((struct instance_array__NativeArray
*)var231
)->values
[1] = (val
*) var214
;
8280 ((struct instance_array__NativeArray
*)var231
)->values
[2] = (val
*) var216
;
8281 ((struct instance_array__NativeArray
*)var231
)->values
[3] = (val
*) var222
;
8282 ((struct instance_array__NativeArray
*)var231
)->values
[4] = (val
*) var225
;
8283 ((void (*)(val
*, val
*, long))(var229
->class->vft
[COLOR_array__Array__with_native
]))(var229
, var231
, var230
) /* with_native on <var229:Array[Object]>*/;
8285 var232
= ((val
* (*)(val
*))(var229
->class->vft
[COLOR_string__Object__to_s
]))(var229
) /* to_s on <var229:Array[Object]>*/;
8286 var233
= NEW_array__Array(&type_array__Arraykernel__Object
);
8287 { /* var233 = array_instance Array[Object] */
8289 var235
= NEW_array__NativeArray(var234
, &type_array__NativeArraykernel__Object
);
8290 ((struct instance_array__NativeArray
*)var235
)->values
[0] = (val
*) var232
;
8291 ((void (*)(val
*, val
*, long))(var233
->class->vft
[COLOR_array__Array__with_native
]))(var233
, var235
, var234
) /* with_native on <var233:Array[Object]>*/;
8293 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var233
) /* printn on <self:AbstractCompiler>*/;
8295 var237
= varonce236
;
8299 var240
= string__NativeString__to_s_with_length(var238
, var239
);
8301 varonce236
= var237
;
8303 var241
= ((val
* (*)(val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_count_type_test_total
, var_tag148
) /* [] on <var_count_type_test_total:HashMap[String, Int]>*/;
8305 var243
= varonce242
;
8309 var246
= string__NativeString__to_s_with_length(var244
, var245
);
8311 varonce242
= var243
;
8313 var247
= ((val
* (*)(val
*, val
*))(var_count_type_test_total
->class->vft
[COLOR_abstract_collection__MapRead___91d_93d
]))(var_count_type_test_total
, var_tag148
) /* [] on <var_count_type_test_total:HashMap[String, Int]>*/;
8314 var249
= ((struct instance_kernel__Int
*)var247
)->value
; /* autounbox from nullable Object to Int */;
8315 var248
= ((val
* (*)(val
*, long, long))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__div
]))(self
, var249
, var_count_type_test
) /* div on <self:AbstractCompiler>*/;
8317 var251
= varonce250
;
8321 var254
= string__NativeString__to_s_with_length(var252
, var253
);
8323 varonce250
= var251
;
8325 var255
= NEW_array__Array(&type_array__Arraykernel__Object
);
8326 { /* var255 = array_instance Array[Object] */
8328 var257
= NEW_array__NativeArray(var256
, &type_array__NativeArraykernel__Object
);
8329 ((struct instance_array__NativeArray
*)var257
)->values
[0] = (val
*) var237
;
8330 ((struct instance_array__NativeArray
*)var257
)->values
[1] = (val
*) var241
;
8331 ((struct instance_array__NativeArray
*)var257
)->values
[2] = (val
*) var243
;
8332 ((struct instance_array__NativeArray
*)var257
)->values
[3] = (val
*) var248
;
8333 ((struct instance_array__NativeArray
*)var257
)->values
[4] = (val
*) var251
;
8334 ((void (*)(val
*, val
*, long))(var255
->class->vft
[COLOR_array__Array__with_native
]))(var255
, var257
, var256
) /* with_native on <var255:Array[Object]>*/;
8336 var258
= ((val
* (*)(val
*))(var255
->class->vft
[COLOR_string__Object__to_s
]))(var255
) /* to_s on <var255:Array[Object]>*/;
8337 var259
= NEW_array__Array(&type_array__Arraykernel__Object
);
8338 { /* var259 = array_instance Array[Object] */
8340 var261
= NEW_array__NativeArray(var260
, &type_array__NativeArraykernel__Object
);
8341 ((struct instance_array__NativeArray
*)var261
)->values
[0] = (val
*) var258
;
8342 ((void (*)(val
*, val
*, long))(var259
->class->vft
[COLOR_array__Array__with_native
]))(var259
, var261
, var260
) /* with_native on <var259:Array[Object]>*/;
8344 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__printn
]))(self
, var259
) /* printn on <self:AbstractCompiler>*/;
8346 var263
= varonce262
;
8350 var266
= string__NativeString__to_s_with_length(var264
, var265
);
8352 varonce262
= var263
;
8354 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_file__Object__print
]))(self
, var263
) /* print on <self:AbstractCompiler>*/;
8355 CONTINUE_label267
: (void)0;
8356 ((void (*)(val
*))(var145
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var145
) /* next on <var145:Iterator[nullable Object]>*/;
8358 BREAK_label267
: (void)0;
8363 /* method abstract_compiler#AbstractCompiler#display_stats for (self: Object) */
8364 void VIRTUAL_abstract_compiler__AbstractCompiler__display_stats(val
* self
) {
8365 abstract_compiler__AbstractCompiler__display_stats(self
);
8368 /* method abstract_compiler#AbstractCompiler#div for (self: AbstractCompiler, Int, Int): String */
8369 val
* abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
8370 val
* var
/* : String */;
8371 long var_a
/* var a: Int */;
8372 long var_b
/* var b: Int */;
8373 long var1
/* : Int */;
8374 short int var2
/* : Bool */;
8375 short int var4
/* : Bool */;
8376 static val
* varonce
;
8377 val
* var5
/* : String */;
8378 char* var6
/* : NativeString */;
8379 long var7
/* : Int */;
8380 val
* var8
/* : String */;
8381 long var9
/* : Int */;
8382 long var10
/* : Int */;
8383 long var12
/* : Int */;
8384 long var13
/* : Int */;
8385 long var15
/* : Int */;
8386 double var16
/* : Float */;
8387 double var18
/* : Float */;
8388 double var19
/* : Float */;
8389 double var20
/* : Float */;
8390 double var22
/* : Float */;
8391 long var23
/* : Int */;
8392 val
* var24
/* : String */;
8396 { /* Inline kernel#Int#== (var_b,var1) */
8397 var4
= var_b
== var1
;
8408 var8
= string__NativeString__to_s_with_length(var6
, var7
);
8417 { /* Inline kernel#Int#* (var_a,var9) */
8418 var12
= var_a
* var9
;
8421 RET_LABEL11
:(void)0;
8423 { /* Inline kernel#Int#/ (var10,var_b) */
8424 var15
= var10
/ var_b
;
8427 RET_LABEL14
:(void)0;
8429 { /* Inline kernel#Int#to_f (var13) */
8430 var18
= (double)var13
;
8433 RET_LABEL17
:(void)0;
8436 { /* Inline kernel#Float#/ (var16,var19) */
8437 var22
= var16
/ var19
;
8440 RET_LABEL21
:(void)0;
8443 var24
= string__Float__to_precision(var20
, var23
);
8449 /* method abstract_compiler#AbstractCompiler#div for (self: Object, Int, Int): String */
8450 val
* VIRTUAL_abstract_compiler__AbstractCompiler__div(val
* self
, long p0
, long p1
) {
8451 val
* var
/* : String */;
8452 val
* var1
/* : String */;
8453 var1
= abstract_compiler__AbstractCompiler__div(self
, p0
, p1
);
8458 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: AbstractCompiler, AModule) */
8459 void abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
8460 val
* var_nmodule
/* var nmodule: AModule */;
8461 val
* var
/* : AbstractCompilerVisitor */;
8462 val
* var_visitor
/* var visitor: AbstractCompilerVisitor */;
8463 val
* var1
/* : ModelBuilder */;
8465 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__new_visitor
]))(self
) /* new_visitor on <self:AbstractCompiler>*/;
8467 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(self
) /* modelbuilder on <self:AbstractCompiler>*/;
8468 ((void (*)(val
*, val
*, val
*))(var_nmodule
->class->vft
[COLOR_abstract_compiler__AModule__finalize_ffi
]))(var_nmodule
, var_visitor
, var1
) /* finalize_ffi on <var_nmodule:AModule>*/;
8469 ((void (*)(val
*, val
*))(var_nmodule
->class->vft
[COLOR_abstract_compiler__AModule__finalize_nitni
]))(var_nmodule
, var_visitor
) /* finalize_nitni on <var_nmodule:AModule>*/;
8472 /* method abstract_compiler#AbstractCompiler#finalize_ffi_for_module for (self: Object, AModule) */
8473 void VIRTUAL_abstract_compiler__AbstractCompiler__finalize_ffi_for_module(val
* self
, val
* p0
) {
8474 abstract_compiler__AbstractCompiler__finalize_ffi_for_module(self
, p0
);
8477 /* method abstract_compiler#CodeFile#name for (self: CodeFile): String */
8478 val
* abstract_compiler__CodeFile__name(val
* self
) {
8479 val
* var
/* : String */;
8480 val
* var1
/* : String */;
8481 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
; /* @name on <self:CodeFile> */
8483 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @name");
8484 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 730);
8491 /* method abstract_compiler#CodeFile#name for (self: Object): String */
8492 val
* VIRTUAL_abstract_compiler__CodeFile__name(val
* self
) {
8493 val
* var
/* : String */;
8494 val
* var1
/* : String */;
8495 var1
= abstract_compiler__CodeFile__name(self
);
8500 /* method abstract_compiler#CodeFile#name= for (self: CodeFile, String) */
8501 void abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
8502 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
8505 /* method abstract_compiler#CodeFile#name= for (self: Object, String) */
8506 void VIRTUAL_abstract_compiler__CodeFile__name_61d(val
* self
, val
* p0
) {
8507 abstract_compiler__CodeFile__name_61d(self
, p0
);
8510 /* method abstract_compiler#CodeFile#writers for (self: CodeFile): Array[CodeWriter] */
8511 val
* abstract_compiler__CodeFile__writers(val
* self
) {
8512 val
* var
/* : Array[CodeWriter] */;
8513 val
* var1
/* : Array[CodeWriter] */;
8514 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
; /* @writers on <self:CodeFile> */
8516 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writers");
8517 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 731);
8524 /* method abstract_compiler#CodeFile#writers for (self: Object): Array[CodeWriter] */
8525 val
* VIRTUAL_abstract_compiler__CodeFile__writers(val
* self
) {
8526 val
* var
/* : Array[CodeWriter] */;
8527 val
* var1
/* : Array[CodeWriter] */;
8528 var1
= abstract_compiler__CodeFile__writers(self
);
8533 /* method abstract_compiler#CodeFile#writers= for (self: CodeFile, Array[CodeWriter]) */
8534 void abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
8535 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dwriters
].val
= p0
; /* @writers on <self:CodeFile> */
8538 /* method abstract_compiler#CodeFile#writers= for (self: Object, Array[CodeWriter]) */
8539 void VIRTUAL_abstract_compiler__CodeFile__writers_61d(val
* self
, val
* p0
) {
8540 abstract_compiler__CodeFile__writers_61d(self
, p0
);
8543 /* method abstract_compiler#CodeFile#required_declarations for (self: CodeFile): HashSet[String] */
8544 val
* abstract_compiler__CodeFile__required_declarations(val
* self
) {
8545 val
* var
/* : HashSet[String] */;
8546 val
* var1
/* : HashSet[String] */;
8547 var1
= self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
; /* @required_declarations on <self:CodeFile> */
8549 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @required_declarations");
8550 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 732);
8557 /* method abstract_compiler#CodeFile#required_declarations for (self: Object): HashSet[String] */
8558 val
* VIRTUAL_abstract_compiler__CodeFile__required_declarations(val
* self
) {
8559 val
* var
/* : HashSet[String] */;
8560 val
* var1
/* : HashSet[String] */;
8561 var1
= abstract_compiler__CodeFile__required_declarations(self
);
8566 /* method abstract_compiler#CodeFile#required_declarations= for (self: CodeFile, HashSet[String]) */
8567 void abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
8568 self
->attrs
[COLOR_abstract_compiler__CodeFile___64drequired_declarations
].val
= p0
; /* @required_declarations on <self:CodeFile> */
8571 /* method abstract_compiler#CodeFile#required_declarations= for (self: Object, HashSet[String]) */
8572 void VIRTUAL_abstract_compiler__CodeFile__required_declarations_61d(val
* self
, val
* p0
) {
8573 abstract_compiler__CodeFile__required_declarations_61d(self
, p0
);
8576 /* method abstract_compiler#CodeFile#init for (self: CodeFile, String) */
8577 void abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
8578 self
->attrs
[COLOR_abstract_compiler__CodeFile___64dname
].val
= p0
; /* @name on <self:CodeFile> */
8581 /* method abstract_compiler#CodeFile#init for (self: Object, String) */
8582 void VIRTUAL_abstract_compiler__CodeFile__init(val
* self
, val
* p0
) {
8583 abstract_compiler__CodeFile__init(self
, p0
);
8586 /* method abstract_compiler#CodeWriter#file for (self: CodeWriter): CodeFile */
8587 val
* abstract_compiler__CodeWriter__file(val
* self
) {
8588 val
* var
/* : CodeFile */;
8589 val
* var1
/* : CodeFile */;
8590 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
; /* @file on <self:CodeWriter> */
8592 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @file");
8593 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 737);
8600 /* method abstract_compiler#CodeWriter#file for (self: Object): CodeFile */
8601 val
* VIRTUAL_abstract_compiler__CodeWriter__file(val
* self
) {
8602 val
* var
/* : CodeFile */;
8603 val
* var1
/* : CodeFile */;
8604 var1
= abstract_compiler__CodeWriter__file(self
);
8609 /* method abstract_compiler#CodeWriter#file= for (self: CodeWriter, CodeFile) */
8610 void abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
8611 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dfile
].val
= p0
; /* @file on <self:CodeWriter> */
8614 /* method abstract_compiler#CodeWriter#file= for (self: Object, CodeFile) */
8615 void VIRTUAL_abstract_compiler__CodeWriter__file_61d(val
* self
, val
* p0
) {
8616 abstract_compiler__CodeWriter__file_61d(self
, p0
);
8619 /* method abstract_compiler#CodeWriter#lines for (self: CodeWriter): List[String] */
8620 val
* abstract_compiler__CodeWriter__lines(val
* self
) {
8621 val
* var
/* : List[String] */;
8622 val
* var1
/* : List[String] */;
8623 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
; /* @lines on <self:CodeWriter> */
8625 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @lines");
8626 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 738);
8633 /* method abstract_compiler#CodeWriter#lines for (self: Object): List[String] */
8634 val
* VIRTUAL_abstract_compiler__CodeWriter__lines(val
* self
) {
8635 val
* var
/* : List[String] */;
8636 val
* var1
/* : List[String] */;
8637 var1
= abstract_compiler__CodeWriter__lines(self
);
8642 /* method abstract_compiler#CodeWriter#lines= for (self: CodeWriter, List[String]) */
8643 void abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
8644 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64dlines
].val
= p0
; /* @lines on <self:CodeWriter> */
8647 /* method abstract_compiler#CodeWriter#lines= for (self: Object, List[String]) */
8648 void VIRTUAL_abstract_compiler__CodeWriter__lines_61d(val
* self
, val
* p0
) {
8649 abstract_compiler__CodeWriter__lines_61d(self
, p0
);
8652 /* method abstract_compiler#CodeWriter#decl_lines for (self: CodeWriter): List[String] */
8653 val
* abstract_compiler__CodeWriter__decl_lines(val
* self
) {
8654 val
* var
/* : List[String] */;
8655 val
* var1
/* : List[String] */;
8656 var1
= self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
; /* @decl_lines on <self:CodeWriter> */
8658 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @decl_lines");
8659 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 739);
8666 /* method abstract_compiler#CodeWriter#decl_lines for (self: Object): List[String] */
8667 val
* VIRTUAL_abstract_compiler__CodeWriter__decl_lines(val
* self
) {
8668 val
* var
/* : List[String] */;
8669 val
* var1
/* : List[String] */;
8670 var1
= abstract_compiler__CodeWriter__decl_lines(self
);
8675 /* method abstract_compiler#CodeWriter#decl_lines= for (self: CodeWriter, List[String]) */
8676 void abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
8677 self
->attrs
[COLOR_abstract_compiler__CodeWriter___64ddecl_lines
].val
= p0
; /* @decl_lines on <self:CodeWriter> */
8680 /* method abstract_compiler#CodeWriter#decl_lines= for (self: Object, List[String]) */
8681 void VIRTUAL_abstract_compiler__CodeWriter__decl_lines_61d(val
* self
, val
* p0
) {
8682 abstract_compiler__CodeWriter__decl_lines_61d(self
, p0
);
8685 /* method abstract_compiler#CodeWriter#add for (self: CodeWriter, String) */
8686 void abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
8687 val
* var_s
/* var s: String */;
8688 val
* var
/* : List[String] */;
8690 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__lines
]))(self
) /* lines on <self:CodeWriter>*/;
8691 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
8694 /* method abstract_compiler#CodeWriter#add for (self: Object, String) */
8695 void VIRTUAL_abstract_compiler__CodeWriter__add(val
* self
, val
* p0
) {
8696 abstract_compiler__CodeWriter__add(self
, p0
);
8699 /* method abstract_compiler#CodeWriter#add_decl for (self: CodeWriter, String) */
8700 void abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
8701 val
* var_s
/* var s: String */;
8702 val
* var
/* : List[String] */;
8704 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__decl_lines
]))(self
) /* decl_lines on <self:CodeWriter>*/;
8705 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, var_s
) /* add on <var:List[String]>*/;
8708 /* method abstract_compiler#CodeWriter#add_decl for (self: Object, String) */
8709 void VIRTUAL_abstract_compiler__CodeWriter__add_decl(val
* self
, val
* p0
) {
8710 abstract_compiler__CodeWriter__add_decl(self
, p0
);
8713 /* method abstract_compiler#CodeWriter#init for (self: CodeWriter, CodeFile) */
8714 void abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
8715 val
* var_file
/* var file: CodeFile */;
8716 val
* var
/* : Array[CodeWriter] */;
8718 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__CodeWriter__file_61d
]))(self
, var_file
) /* file= on <self:CodeWriter>*/;
8719 var
= ((val
* (*)(val
*))(var_file
->class->vft
[COLOR_abstract_compiler__CodeFile__writers
]))(var_file
) /* writers on <var_file:CodeFile>*/;
8720 ((void (*)(val
*, val
*))(var
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var
, self
) /* add on <var:Array[CodeWriter]>*/;
8723 /* method abstract_compiler#CodeWriter#init for (self: Object, CodeFile) */
8724 void VIRTUAL_abstract_compiler__CodeWriter__init(val
* self
, val
* p0
) {
8725 abstract_compiler__CodeWriter__init(self
, p0
);
8728 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: AbstractCompilerVisitor): AbstractCompiler */
8729 val
* abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
8730 val
* var
/* : AbstractCompiler */;
8731 val
* var1
/* : AbstractCompiler */;
8732 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
; /* @compiler on <self:AbstractCompilerVisitor> */
8734 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @compiler");
8735 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 760);
8742 /* method abstract_compiler#AbstractCompilerVisitor#compiler for (self: Object): AbstractCompiler */
8743 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler(val
* self
) {
8744 val
* var
/* : AbstractCompiler */;
8745 val
* var1
/* : AbstractCompiler */;
8746 var1
= abstract_compiler__AbstractCompilerVisitor__compiler(self
);
8751 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: AbstractCompilerVisitor, AbstractCompiler) */
8752 void abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
8753 short int var
/* : Bool */;
8756 const struct type
* type_struct
;
8757 const char* var_class_name
;
8758 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
8759 /* <p0:AbstractCompiler> isa COMPILER */
8760 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
8761 cltype
= type_struct
->color
;
8762 idtype
= type_struct
->id
;
8763 if(cltype
>= p0
->type
->table_size
) {
8766 var
= p0
->type
->type_table
[cltype
] == idtype
;
8769 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
8770 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
8771 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 760);
8774 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcompiler
].val
= p0
; /* @compiler on <self:AbstractCompilerVisitor> */
8777 /* method abstract_compiler#AbstractCompilerVisitor#compiler= for (self: Object, AbstractCompiler) */
8778 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compiler_61d(val
* self
, val
* p0
) {
8779 abstract_compiler__AbstractCompilerVisitor__compiler_61d(self
, p0
);
8782 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: AbstractCompilerVisitor): nullable ANode */
8783 val
* abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
8784 val
* var
/* : nullable ANode */;
8785 val
* var1
/* : nullable ANode */;
8786 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
; /* @current_node on <self:AbstractCompilerVisitor> */
8791 /* method abstract_compiler#AbstractCompilerVisitor#current_node for (self: Object): nullable ANode */
8792 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node(val
* self
) {
8793 val
* var
/* : nullable ANode */;
8794 val
* var1
/* : nullable ANode */;
8795 var1
= abstract_compiler__AbstractCompilerVisitor__current_node(self
);
8800 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: AbstractCompilerVisitor, nullable ANode) */
8801 void abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
8802 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dcurrent_node
].val
= p0
; /* @current_node on <self:AbstractCompilerVisitor> */
8805 /* method abstract_compiler#AbstractCompilerVisitor#current_node= for (self: Object, nullable ANode) */
8806 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__current_node_61d(val
* self
, val
* p0
) {
8807 abstract_compiler__AbstractCompilerVisitor__current_node_61d(self
, p0
);
8810 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: AbstractCompilerVisitor): nullable Frame */
8811 val
* abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
8812 val
* var
/* : nullable Frame */;
8813 val
* var1
/* : nullable Frame */;
8814 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
; /* @frame on <self:AbstractCompilerVisitor> */
8819 /* method abstract_compiler#AbstractCompilerVisitor#frame for (self: Object): nullable Frame */
8820 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame(val
* self
) {
8821 val
* var
/* : nullable Frame */;
8822 val
* var1
/* : nullable Frame */;
8823 var1
= abstract_compiler__AbstractCompilerVisitor__frame(self
);
8828 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: AbstractCompilerVisitor, nullable Frame) */
8829 void abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
8830 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dframe
].val
= p0
; /* @frame on <self:AbstractCompilerVisitor> */
8833 /* method abstract_compiler#AbstractCompilerVisitor#frame= for (self: Object, nullable Frame) */
8834 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__frame_61d(val
* self
, val
* p0
) {
8835 abstract_compiler__AbstractCompilerVisitor__frame_61d(self
, p0
);
8838 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: AbstractCompilerVisitor): MClassType */
8839 val
* abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
8840 val
* var
/* : MClassType */;
8841 val
* var1
/* : AbstractCompiler */;
8842 val
* var2
/* : MModule */;
8843 val
* var3
/* : MClassType */;
8844 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8845 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
8846 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__object_type
]))(var2
) /* object_type on <var2:MModule>*/;
8852 /* method abstract_compiler#AbstractCompilerVisitor#object_type for (self: Object): MClassType */
8853 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__object_type(val
* self
) {
8854 val
* var
/* : MClassType */;
8855 val
* var1
/* : MClassType */;
8856 var1
= abstract_compiler__AbstractCompilerVisitor__object_type(self
);
8861 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: AbstractCompilerVisitor): MClassType */
8862 val
* abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
8863 val
* var
/* : MClassType */;
8864 val
* var1
/* : AbstractCompiler */;
8865 val
* var2
/* : MModule */;
8866 val
* var3
/* : MClassType */;
8867 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8868 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
8869 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_model__MModule__bool_type
]))(var2
) /* bool_type on <var2:MModule>*/;
8875 /* method abstract_compiler#AbstractCompilerVisitor#bool_type for (self: Object): MClassType */
8876 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__bool_type(val
* self
) {
8877 val
* var
/* : MClassType */;
8878 val
* var1
/* : MClassType */;
8879 var1
= abstract_compiler__AbstractCompilerVisitor__bool_type(self
);
8884 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: AbstractCompilerVisitor): CodeWriter */
8885 val
* abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
8886 val
* var
/* : CodeWriter */;
8887 val
* var1
/* : CodeWriter */;
8888 var1
= self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
; /* @writer on <self:AbstractCompilerVisitor> */
8890 fprintf(stderr
, "Runtime error: %s", "Uninitialized attribute @writer");
8891 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 775);
8898 /* method abstract_compiler#AbstractCompilerVisitor#writer for (self: Object): CodeWriter */
8899 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer(val
* self
) {
8900 val
* var
/* : CodeWriter */;
8901 val
* var1
/* : CodeWriter */;
8902 var1
= abstract_compiler__AbstractCompilerVisitor__writer(self
);
8907 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: AbstractCompilerVisitor, CodeWriter) */
8908 void abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
8909 self
->attrs
[COLOR_abstract_compiler__AbstractCompilerVisitor___64dwriter
].val
= p0
; /* @writer on <self:AbstractCompilerVisitor> */
8912 /* method abstract_compiler#AbstractCompilerVisitor#writer= for (self: Object, CodeWriter) */
8913 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__writer_61d(val
* self
, val
* p0
) {
8914 abstract_compiler__AbstractCompilerVisitor__writer_61d(self
, p0
);
8917 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: AbstractCompilerVisitor, AbstractCompiler) */
8918 void abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
8919 short int var
/* : Bool */;
8922 const struct type
* type_struct
;
8923 const char* var_class_name
;
8924 val
* var_compiler
/* var compiler: AbstractCompiler */;
8925 val
* var1
/* : CodeWriter */;
8926 val
* var2
/* : List[CodeFile] */;
8927 val
* var3
/* : nullable Object */;
8928 /* Covariant cast for argument 0 (compiler) <p0:AbstractCompiler> isa COMPILER */
8929 /* <p0:AbstractCompiler> isa COMPILER */
8930 type_struct
= self
->type
->resolution_table
->types
[COLOR_abstract_compiler__AbstractCompilerVisitor_VTCOMPILER
];
8931 cltype
= type_struct
->color
;
8932 idtype
= type_struct
->id
;
8933 if(cltype
>= p0
->type
->table_size
) {
8936 var
= p0
->type
->type_table
[cltype
] == idtype
;
8939 var_class_name
= p0
== NULL ?
"null" : p0
->type
->name
;
8940 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "COMPILER", var_class_name
);
8941 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 777);
8945 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler_61d
]))(self
, var_compiler
) /* compiler= on <self:AbstractCompilerVisitor>*/;
8946 var1
= NEW_abstract_compiler__CodeWriter(&type_abstract_compiler__CodeWriter
);
8947 var2
= ((val
* (*)(val
*))(var_compiler
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__files
]))(var_compiler
) /* files on <var_compiler:AbstractCompiler>*/;
8948 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_collection__SequenceRead__last
]))(var2
) /* last on <var2:List[CodeFile]>*/;
8949 ((void (*)(val
*, val
*))(var1
->class->vft
[COLOR_abstract_compiler__CodeWriter__init
]))(var1
, var3
) /* init on <var1:CodeWriter>*/;
8950 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__writer_61d
]))(self
, var1
) /* writer= on <self:AbstractCompilerVisitor>*/;
8953 /* method abstract_compiler#AbstractCompilerVisitor#init for (self: Object, AbstractCompiler) */
8954 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__init(val
* self
, val
* p0
) {
8955 abstract_compiler__AbstractCompilerVisitor__init(self
, p0
);
8958 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: AbstractCompilerVisitor, String): MClass */
8959 val
* abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
8960 val
* var
/* : MClass */;
8961 val
* var_name
/* var name: String */;
8962 val
* var1
/* : AbstractCompiler */;
8963 val
* var2
/* : MModule */;
8964 val
* var3
/* : MClass */;
8966 var1
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
8967 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var1
) /* mainmodule on <var1:AbstractCompiler>*/;
8968 var3
= ((val
* (*)(val
*, val
*))(var2
->class->vft
[COLOR_model__MModule__get_primitive_class
]))(var2
, var_name
) /* get_primitive_class on <var2:MModule>*/;
8974 /* method abstract_compiler#AbstractCompilerVisitor#get_class for (self: Object, String): MClass */
8975 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_class(val
* self
, val
* p0
) {
8976 val
* var
/* : MClass */;
8977 val
* var1
/* : MClass */;
8978 var1
= abstract_compiler__AbstractCompilerVisitor__get_class(self
, p0
);
8983 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: AbstractCompilerVisitor, String, MType): MMethod */
8984 val
* abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
8985 val
* var
/* : MMethod */;
8986 val
* var_name
/* var name: String */;
8987 val
* var_recv
/* var recv: MType */;
8988 short int var1
/* : Bool */;
8991 val
* var2
/* : AbstractCompiler */;
8992 val
* var3
/* : ModelBuilder */;
8993 val
* var4
/* : nullable ANode */;
8994 val
* var5
/* : MClass */;
8995 val
* var6
/* : AbstractCompiler */;
8996 val
* var7
/* : MModule */;
8997 val
* var8
/* : MMethod */;
9000 /* <var_recv:MType> isa MClassType */
9001 cltype
= type_model__MClassType
.color
;
9002 idtype
= type_model__MClassType
.id
;
9003 if(cltype
>= var_recv
->type
->table_size
) {
9006 var1
= var_recv
->type
->type_table
[cltype
] == idtype
;
9009 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9010 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 789);
9013 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9014 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var2
) /* modelbuilder on <var2:AbstractCompiler>*/;
9015 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__current_node
]))(self
) /* current_node on <self:AbstractCompilerVisitor>*/;
9017 fprintf(stderr
, "Runtime error: %s", "Cast failed");
9018 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 790);
9021 var5
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_model__MClassType__mclass
]))(var_recv
) /* mclass on <var_recv:MType(MClassType)>*/;
9022 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9023 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
9024 var8
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(var3
->class->vft
[COLOR_modelbuilder__ModelBuilder__force_get_primitive_method
]))(var3
, var4
, var_name
, var5
, var7
) /* force_get_primitive_method on <var3:ModelBuilder>*/;
9030 /* method abstract_compiler#AbstractCompilerVisitor#get_property for (self: Object, String, MType): MMethod */
9031 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__get_property(val
* self
, val
* p0
, val
* p1
) {
9032 val
* var
/* : MMethod */;
9033 val
* var1
/* : MMethod */;
9034 var1
= abstract_compiler__AbstractCompilerVisitor__get_property(self
, p0
, p1
);
9039 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: AbstractCompilerVisitor, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
9040 val
* abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
9041 val
* var
/* : nullable RuntimeVariable */;
9042 val
* var_callsite
/* var callsite: CallSite */;
9043 val
* var_args
/* var args: Array[RuntimeVariable] */;
9044 val
* var1
/* : MMethod */;
9045 val
* var2
/* : nullable RuntimeVariable */;
9048 var1
= ((val
* (*)(val
*))(var_callsite
->class->vft
[COLOR_typing__CallSite__mproperty
]))(var_callsite
) /* mproperty on <var_callsite:CallSite>*/;
9049 var2
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__send
]))(self
, var1
, var_args
) /* send on <self:AbstractCompilerVisitor>*/;
9055 /* method abstract_compiler#AbstractCompilerVisitor#compile_callsite for (self: Object, CallSite, Array[RuntimeVariable]): nullable RuntimeVariable */
9056 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__compile_callsite(val
* self
, val
* p0
, val
* p1
) {
9057 val
* var
/* : nullable RuntimeVariable */;
9058 val
* var1
/* : nullable RuntimeVariable */;
9059 var1
= abstract_compiler__AbstractCompilerVisitor__compile_callsite(self
, p0
, p1
);
9064 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: AbstractCompilerVisitor, MType, Array[RuntimeVariable]) */
9065 void abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
9066 const char* var_class_name
;
9067 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9068 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "calloc_array", var_class_name
);
9069 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 798);
9073 /* method abstract_compiler#AbstractCompilerVisitor#calloc_array for (self: Object, MType, Array[RuntimeVariable]) */
9074 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__calloc_array(val
* self
, val
* p0
, val
* p1
) {
9075 abstract_compiler__AbstractCompilerVisitor__calloc_array(self
, p0
, p1
);
9078 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: AbstractCompilerVisitor, String, nullable MType, Array[RuntimeVariable]) */
9079 void abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9080 const char* var_class_name
;
9081 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9082 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "native_array_def", var_class_name
);
9083 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 800);
9087 /* method abstract_compiler#AbstractCompilerVisitor#native_array_def for (self: Object, String, nullable MType, Array[RuntimeVariable]) */
9088 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__native_array_def(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9089 abstract_compiler__AbstractCompilerVisitor__native_array_def(self
, p0
, p1
, p2
);
9092 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: AbstractCompilerVisitor, MPropDef, MSignature, Array[RuntimeVariable]) */
9093 void abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9094 val
* var_mpropdef
/* var mpropdef: MPropDef */;
9095 val
* var_msignature
/* var msignature: MSignature */;
9096 val
* var_args
/* var args: Array[RuntimeVariable] */;
9097 val
* var
/* : nullable Object */;
9098 val
* var_recv
/* var recv: RuntimeVariable */;
9099 long var1
/* : Int */;
9100 long var_vararg_rank
/* var vararg_rank: Int */;
9101 long var2
/* : Int */;
9102 short int var3
/* : Bool */;
9103 short int var5
/* : Bool */;
9106 const char* var_class_name
;
9107 short int var6
/* : Bool */;
9108 long var7
/* : Int */;
9109 long var8
/* : Int */;
9110 long var9
/* : Int */;
9111 long var10
/* : Int */;
9112 long var12
/* : Int */;
9113 short int var13
/* : Bool */;
9114 short int var15
/* : Bool */;
9117 const char* var_class_name18
;
9118 short int var19
/* : Bool */;
9119 val
* var_rawargs
/* var rawargs: Array[RuntimeVariable] */;
9120 val
* var20
/* : Array[RuntimeVariable] */;
9121 val
* var21
/* : nullable Object */;
9122 val
* var22
/* : Range[Int] */;
9123 long var23
/* : Int */;
9124 val
* var24
/* : Discrete */;
9125 val
* var25
/* : Discrete */;
9126 val
* var26
/* : Iterator[nullable Object] */;
9127 short int var27
/* : Bool */;
9128 val
* var28
/* : nullable Object */;
9129 long var_i
/* var i: Int */;
9130 long var29
/* : Int */;
9131 long var30
/* : Int */;
9132 long var31
/* : Int */;
9133 long var33
/* : Int */;
9134 val
* var34
/* : nullable Object */;
9135 long var35
/* : Int */;
9136 long var36
/* : Int */;
9137 long var38
/* : Int */;
9138 long var39
/* : Int */;
9139 long var40
/* : Int */;
9140 long var42
/* : Int */;
9141 long var43
/* : Int */;
9142 long var44
/* : Int */;
9143 long var46
/* : Int */;
9144 long var_vararg_lastrank
/* var vararg_lastrank: Int */;
9145 val
* var47
/* : Array[RuntimeVariable] */;
9146 val
* var_vararg
/* var vararg: Array[RuntimeVariable] */;
9147 val
* var48
/* : Range[Int] */;
9148 val
* var49
/* : Discrete */;
9149 val
* var50
/* : Discrete */;
9150 val
* var51
/* : Iterator[nullable Object] */;
9151 short int var52
/* : Bool */;
9152 val
* var53
/* : nullable Object */;
9153 long var_i54
/* var i: Int */;
9154 long var55
/* : Int */;
9155 long var56
/* : Int */;
9156 long var57
/* : Int */;
9157 long var59
/* : Int */;
9158 val
* var60
/* : nullable Object */;
9159 val
* var62
/* : Array[MParameter] */;
9160 val
* var63
/* : nullable Object */;
9161 val
* var64
/* : MType */;
9162 val
* var_elttype
/* var elttype: MType */;
9163 val
* var65
/* : RuntimeVariable */;
9164 val
* var66
/* : Range[Int] */;
9165 long var67
/* : Int */;
9166 long var68
/* : Int */;
9167 long var70
/* : Int */;
9168 long var71
/* : Int */;
9169 long var72
/* : Int */;
9170 long var73
/* : Int */;
9171 long var75
/* : Int */;
9172 val
* var76
/* : Discrete */;
9173 val
* var77
/* : Discrete */;
9174 val
* var78
/* : Iterator[nullable Object] */;
9175 short int var79
/* : Bool */;
9176 val
* var80
/* : nullable Object */;
9177 long var_i81
/* var i: Int */;
9178 long var82
/* : Int */;
9179 long var83
/* : Int */;
9180 long var84
/* : Int */;
9181 long var86
/* : Int */;
9182 val
* var87
/* : nullable Object */;
9184 var_msignature
= p1
;
9186 var
= ((val
* (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_args
) /* first on <var_args:Array[RuntimeVariable]>*/;
9188 var1
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__vararg_rank
]))(var_msignature
) /* vararg_rank on <var_msignature:MSignature>*/;
9189 var_vararg_rank
= var1
;
9191 { /* Inline kernel#Int#>= (var_vararg_rank,var2) */
9192 /* Covariant cast for argument 0 (i) <var2:Int> isa OTHER */
9193 /* <var2:Int> isa OTHER */
9194 var5
= 1; /* easy <var2:Int> isa OTHER*/
9196 var_class_name
= type_kernel__Int
.name
;
9197 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name
);
9198 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
9201 var6
= var_vararg_rank
>= var2
;
9207 var7
= ((long (*)(val
*))(var_args
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_args
) /* length on <var_args:Array[RuntimeVariable]>*/;
9208 var8
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
9210 { /* Inline kernel#Int#+ (var8,var9) */
9211 var12
= var8
+ var9
;
9214 RET_LABEL11
:(void)0;
9216 { /* Inline kernel#Int#>= (var7,var10) */
9217 /* Covariant cast for argument 0 (i) <var10:Int> isa OTHER */
9218 /* <var10:Int> isa OTHER */
9219 var15
= 1; /* easy <var10:Int> isa OTHER*/
9221 var_class_name18
= type_kernel__Int
.name
;
9222 fprintf(stderr
, "Runtime error: Cast failed. Expected `%s`, got `%s`", "OTHER", var_class_name18
);
9223 fprintf(stderr
, " (%s:%d)\n", "lib/standard/kernel.nit", 266);
9226 var19
= var7
>= var10
;
9229 RET_LABEL14
:(void)0;
9232 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9233 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 810);
9236 var_rawargs
= var_args
;
9237 var20
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
9238 ((void (*)(val
*))(var20
->class->vft
[COLOR_array__Array__init
]))(var20
) /* init on <var20:Array[RuntimeVariable]>*/;
9240 var21
= ((val
* (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__first
]))(var_rawargs
) /* first on <var_rawargs:Array[RuntimeVariable]>*/;
9241 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var21
) /* add on <var_args:Array[RuntimeVariable]>*/;
9242 var22
= NEW_range__Range(&type_range__Rangekernel__Int
);
9244 var24
= BOX_kernel__Int(var23
); /* autobox from Int to Discrete */
9245 var25
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
9246 ((void (*)(val
*, val
*, val
*))(var22
->class->vft
[COLOR_range__Range__without_last
]))(var22
, var24
, var25
) /* without_last on <var22:Range[Int]>*/;
9247 var26
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var22
) /* iterator on <var22:Range[Int]>*/;
9249 var27
= ((short int (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var26
) /* is_ok on <var26:Iterator[nullable Object]>*/;
9251 var28
= ((val
* (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var26
) /* item on <var26:Iterator[nullable Object]>*/;
9252 var29
= ((struct instance_kernel__Int
*)var28
)->value
; /* autounbox from nullable Object to Int */;
9255 { /* Inline kernel#Int#+ (var_i,var30) */
9256 var33
= var_i
+ var30
;
9259 RET_LABEL32
:(void)0;
9261 var34
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var31
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
9262 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var34
) /* add on <var_args:Array[RuntimeVariable]>*/;
9263 CONTINUE_label
: (void)0;
9264 ((void (*)(val
*))(var26
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var26
) /* next on <var26:Iterator[nullable Object]>*/;
9266 BREAK_label
: (void)0;
9267 var35
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
9268 { /* Inline kernel#Int#+ (var_vararg_rank,var35) */
9269 var38
= var_vararg_rank
+ var35
;
9272 RET_LABEL37
:(void)0;
9275 { /* Inline kernel#Int#- (var36,var39) */
9276 var42
= var36
- var39
;
9279 RET_LABEL41
:(void)0;
9281 var43
= ((long (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__arity
]))(var_msignature
) /* arity on <var_msignature:MSignature>*/;
9282 { /* Inline kernel#Int#- (var40,var43) */
9283 var46
= var40
- var43
;
9286 RET_LABEL45
:(void)0;
9288 var_vararg_lastrank
= var44
;
9289 var47
= NEW_array__Array(&type_array__Arrayabstract_compiler__RuntimeVariable
);
9290 ((void (*)(val
*))(var47
->class->vft
[COLOR_array__Array__init
]))(var47
) /* init on <var47:Array[RuntimeVariable]>*/;
9292 var48
= NEW_range__Range(&type_range__Rangekernel__Int
);
9293 var49
= BOX_kernel__Int(var_vararg_rank
); /* autobox from Int to Discrete */
9294 var50
= BOX_kernel__Int(var_vararg_lastrank
); /* autobox from Int to Discrete */
9295 ((void (*)(val
*, val
*, val
*))(var48
->class->vft
[COLOR_range__Range__init
]))(var48
, var49
, var50
) /* init on <var48:Range[Int]>*/;
9296 var51
= ((val
* (*)(val
*))(var48
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var48
) /* iterator on <var48:Range[Int]>*/;
9298 var52
= ((short int (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var51
) /* is_ok on <var51:Iterator[nullable Object]>*/;
9300 var53
= ((val
* (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var51
) /* item on <var51:Iterator[nullable Object]>*/;
9301 var55
= ((struct instance_kernel__Int
*)var53
)->value
; /* autounbox from nullable Object to Int */;
9304 { /* Inline kernel#Int#+ (var_i54,var56) */
9305 var59
= var_i54
+ var56
;
9308 RET_LABEL58
:(void)0;
9310 var60
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var57
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
9311 ((void (*)(val
*, val
*))(var_vararg
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_vararg
, var60
) /* add on <var_vararg:Array[RuntimeVariable]>*/;
9312 CONTINUE_label61
: (void)0;
9313 ((void (*)(val
*))(var51
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var51
) /* next on <var51:Iterator[nullable Object]>*/;
9315 BREAK_label61
: (void)0;
9316 var62
= ((val
* (*)(val
*))(var_msignature
->class->vft
[COLOR_model__MSignature__mparameters
]))(var_msignature
) /* mparameters on <var_msignature:MSignature>*/;
9317 var63
= ((val
* (*)(val
*, long))(var62
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var62
, var_vararg_rank
) /* [] on <var62:Array[MParameter]>*/;
9318 var64
= ((val
* (*)(val
*))(var63
->class->vft
[COLOR_model__MParameter__mtype
]))(var63
) /* mtype on <var63:nullable Object(MParameter)>*/;
9319 var_elttype
= var64
;
9320 var65
= ((val
* (*)(val
*, val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__vararg_instance
]))(self
, var_mpropdef
, var_recv
, var_vararg
, var_elttype
) /* vararg_instance on <self:AbstractCompilerVisitor>*/;
9321 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var65
) /* add on <var_args:Array[RuntimeVariable]>*/;
9322 var66
= NEW_range__Range(&type_range__Rangekernel__Int
);
9324 { /* Inline kernel#Int#+ (var_vararg_lastrank,var67) */
9325 var70
= var_vararg_lastrank
+ var67
;
9328 RET_LABEL69
:(void)0;
9330 var71
= ((long (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__Collection__length
]))(var_rawargs
) /* length on <var_rawargs:Array[RuntimeVariable]>*/;
9332 { /* Inline kernel#Int#- (var71,var72) */
9333 var75
= var71
- var72
;
9336 RET_LABEL74
:(void)0;
9338 var76
= BOX_kernel__Int(var68
); /* autobox from Int to Discrete */
9339 var77
= BOX_kernel__Int(var73
); /* autobox from Int to Discrete */
9340 ((void (*)(val
*, val
*, val
*))(var66
->class->vft
[COLOR_range__Range__without_last
]))(var66
, var76
, var77
) /* without_last on <var66:Range[Int]>*/;
9341 var78
= ((val
* (*)(val
*))(var66
->class->vft
[COLOR_abstract_collection__Collection__iterator
]))(var66
) /* iterator on <var66:Range[Int]>*/;
9343 var79
= ((short int (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__is_ok
]))(var78
) /* is_ok on <var78:Iterator[nullable Object]>*/;
9345 var80
= ((val
* (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__item
]))(var78
) /* item on <var78:Iterator[nullable Object]>*/;
9346 var82
= ((struct instance_kernel__Int
*)var80
)->value
; /* autounbox from nullable Object to Int */;
9349 { /* Inline kernel#Int#+ (var_i81,var83) */
9350 var86
= var_i81
+ var83
;
9353 RET_LABEL85
:(void)0;
9355 var87
= ((val
* (*)(val
*, long))(var_rawargs
->class->vft
[COLOR_abstract_collection__SequenceRead___91d_93d
]))(var_rawargs
, var84
) /* [] on <var_rawargs:Array[RuntimeVariable]>*/;
9356 ((void (*)(val
*, val
*))(var_args
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_args
, var87
) /* add on <var_args:Array[RuntimeVariable]>*/;
9357 CONTINUE_label88
: (void)0;
9358 ((void (*)(val
*))(var78
->class->vft
[COLOR_abstract_collection__Iterator__next
]))(var78
) /* next on <var78:Iterator[nullable Object]>*/;
9360 BREAK_label88
: (void)0;
9361 ((void (*)(val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__RemovableCollection__clear
]))(var_rawargs
) /* clear on <var_rawargs:Array[RuntimeVariable]>*/;
9362 ((void (*)(val
*, val
*))(var_rawargs
->class->vft
[COLOR_abstract_collection__SimpleCollection__add_all
]))(var_rawargs
, var_args
) /* add_all on <var_rawargs:Array[RuntimeVariable]>*/;
9367 /* method abstract_compiler#AbstractCompilerVisitor#varargize for (self: Object, MPropDef, MSignature, Array[RuntimeVariable]) */
9368 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__varargize(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9369 abstract_compiler__AbstractCompilerVisitor__varargize(self
, p0
, p1
, p2
);
9372 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: AbstractCompilerVisitor, MType): MType */
9373 val
* abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
9374 val
* var
/* : MType */;
9375 val
* var_mtype
/* var mtype: MType */;
9376 short int var1
/* : Bool */;
9377 short int var2
/* : Bool */;
9378 val
* var3
/* : AbstractCompiler */;
9379 val
* var4
/* : MModule */;
9380 val
* var5
/* : nullable Frame */;
9381 val
* var6
/* : MClassType */;
9382 val
* var7
/* : MType */;
9384 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
9391 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9392 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
9393 var5
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
9395 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
9396 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 843);
9399 var6
= ((val
* (*)(val
*))(var5
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var5
) /* receiver on <var5:nullable Frame>*/;
9401 var7
= ((val
* (*)(val
*, val
*, val
*))(var_mtype
->class->vft
[COLOR_model__MType__anchor_to
]))(var_mtype
, var4
, var6
) /* anchor_to on <var_mtype:MType>*/;
9407 /* method abstract_compiler#AbstractCompilerVisitor#anchor for (self: Object, MType): MType */
9408 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__anchor(val
* self
, val
* p0
) {
9409 val
* var
/* : MType */;
9410 val
* var1
/* : MType */;
9411 var1
= abstract_compiler__AbstractCompilerVisitor__anchor(self
, p0
);
9416 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: AbstractCompilerVisitor, MType, RuntimeVariable): MType */
9417 val
* abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
9418 val
* var
/* : MType */;
9419 val
* var_mtype
/* var mtype: MType */;
9420 val
* var_recv
/* var recv: RuntimeVariable */;
9421 short int var1
/* : Bool */;
9422 short int var2
/* : Bool */;
9423 val
* var3
/* : MType */;
9424 val
* var4
/* : nullable Frame */;
9425 val
* var5
/* : MClassType */;
9426 val
* var6
/* : AbstractCompiler */;
9427 val
* var7
/* : MModule */;
9428 short int var8
/* : Bool */;
9429 val
* var9
/* : MType */;
9432 var1
= ((short int (*)(val
*))(var_mtype
->class->vft
[COLOR_model__MType__need_anchor
]))(var_mtype
) /* need_anchor on <var_mtype:MType>*/;
9439 var3
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
9440 var4
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__frame
]))(self
) /* frame on <self:AbstractCompilerVisitor>*/;
9442 fprintf(stderr
, "Runtime error: %s", "Receiver is null");
9443 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 849);
9446 var5
= ((val
* (*)(val
*))(var4
->class->vft
[COLOR_abstract_compiler__Frame__receiver
]))(var4
) /* receiver on <var4:nullable Frame>*/;
9448 var6
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9449 var7
= ((val
* (*)(val
*))(var6
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var6
) /* mainmodule on <var6:AbstractCompiler>*/;
9451 var9
= ((val
* (*)(val
*, val
*, val
*, val
*, short int))(var_mtype
->class->vft
[COLOR_model__MType__resolve_for
]))(var_mtype
, var3
, var5
, var7
, var8
) /* resolve_for on <var_mtype:MType>*/;
9457 /* method abstract_compiler#AbstractCompilerVisitor#resolve_for for (self: Object, MType, RuntimeVariable): MType */
9458 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__resolve_for(val
* self
, val
* p0
, val
* p1
) {
9459 val
* var
/* : MType */;
9460 val
* var1
/* : MType */;
9461 var1
= abstract_compiler__AbstractCompilerVisitor__resolve_for(self
, p0
, p1
);
9466 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
9467 val
* abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
9468 val
* var
/* : RuntimeVariable */;
9469 val
* var_value
/* var value: RuntimeVariable */;
9470 val
* var_mtype
/* var mtype: MType */;
9471 val
* var1
/* : MType */;
9472 val
* var2
/* : MType */;
9473 val
* var_valmtype
/* var valmtype: MType */;
9474 val
* var3
/* : AbstractCompiler */;
9475 val
* var4
/* : MModule */;
9476 val
* var5
/* : null */;
9477 short int var6
/* : Bool */;
9478 short int var7
/* : Bool */;
9479 short int var8
/* : Bool */;
9482 short int var_
/* var : Bool */;
9483 val
* var9
/* : MType */;
9484 val
* var10
/* : AbstractCompiler */;
9485 val
* var11
/* : MModule */;
9486 val
* var12
/* : null */;
9487 short int var13
/* : Bool */;
9488 val
* var14
/* : RuntimeVariable */;
9489 val
* var15
/* : String */;
9490 val
* var16
/* : MType */;
9491 val
* var_res
/* var res: RuntimeVariable */;
9492 val
* var17
/* : RuntimeVariable */;
9493 val
* var18
/* : String */;
9494 val
* var_res19
/* var res: RuntimeVariable */;
9497 var1
= ((val
* (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__anchor
]))(self
, var_mtype
) /* anchor on <self:AbstractCompilerVisitor>*/;
9499 var2
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_value
) /* mcasttype on <var_value:RuntimeVariable>*/;
9500 var_valmtype
= var2
;
9501 var3
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9502 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var3
) /* mainmodule on <var3:AbstractCompiler>*/;
9504 var6
= ((short int (*)(val
*, val
*, val
*, val
*))(var_valmtype
->class->vft
[COLOR_model__MType__is_subtype
]))(var_valmtype
, var4
, var5
, var_mtype
) /* is_subtype on <var_valmtype:MType>*/;
9510 /* <var_valmtype:MType> isa MNullableType */
9511 cltype
= type_model__MNullableType
.color
;
9512 idtype
= type_model__MNullableType
.id
;
9513 if(cltype
>= var_valmtype
->type
->table_size
) {
9516 var8
= var_valmtype
->type
->type_table
[cltype
] == idtype
;
9520 var9
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
9521 var10
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9522 var11
= ((val
* (*)(val
*))(var10
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var10
) /* mainmodule on <var10:AbstractCompiler>*/;
9524 var13
= ((short int (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_model__MType__is_subtype
]))(var9
, var11
, var12
, var_mtype
) /* is_subtype on <var9:MType>*/;
9530 var14
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9531 var15
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
9532 var16
= ((val
* (*)(val
*))(var_valmtype
->class->vft
[COLOR_model__MNullableType__mtype
]))(var_valmtype
) /* mtype on <var_valmtype:MType(MNullableType)>*/;
9533 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var14
, var15
, var_valmtype
, var16
) /* init on <var14:RuntimeVariable>*/;
9538 var17
= NEW_abstract_compiler__RuntimeVariable(&type_abstract_compiler__RuntimeVariable
);
9539 var18
= ((val
* (*)(val
*))(var_value
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__name
]))(var_value
) /* name on <var_value:RuntimeVariable>*/;
9540 ((void (*)(val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__init
]))(var17
, var18
, var_valmtype
, var_mtype
) /* init on <var17:RuntimeVariable>*/;
9548 /* method abstract_compiler#AbstractCompilerVisitor#autoadapt for (self: Object, RuntimeVariable, MType): RuntimeVariable */
9549 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autoadapt(val
* self
, val
* p0
, val
* p1
) {
9550 val
* var
/* : RuntimeVariable */;
9551 val
* var1
/* : RuntimeVariable */;
9552 var1
= abstract_compiler__AbstractCompilerVisitor__autoadapt(self
, p0
, p1
);
9557 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
9558 val
* abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9559 val
* var
/* : nullable RuntimeVariable */;
9560 const char* var_class_name
;
9561 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9562 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "supercall", var_class_name
);
9563 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 873);
9568 /* method abstract_compiler#AbstractCompilerVisitor#supercall for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
9569 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__supercall(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9570 val
* var
/* : nullable RuntimeVariable */;
9571 val
* var1
/* : nullable RuntimeVariable */;
9572 var1
= abstract_compiler__AbstractCompilerVisitor__supercall(self
, p0
, p1
, p2
);
9577 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: AbstractCompilerVisitor, MMethodDef, Array[RuntimeVariable]) */
9578 void abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
9579 const char* var_class_name
;
9580 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9581 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "adapt_signature", var_class_name
);
9582 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 876);
9586 /* method abstract_compiler#AbstractCompilerVisitor#adapt_signature for (self: Object, MMethodDef, Array[RuntimeVariable]) */
9587 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__adapt_signature(val
* self
, val
* p0
, val
* p1
) {
9588 abstract_compiler__AbstractCompilerVisitor__adapt_signature(self
, p0
, p1
);
9591 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: AbstractCompilerVisitor, RuntimeVariable, MType): RuntimeVariable */
9592 val
* abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
9593 val
* var
/* : RuntimeVariable */;
9594 const char* var_class_name
;
9595 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9596 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "autobox", var_class_name
);
9597 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 878);
9602 /* method abstract_compiler#AbstractCompilerVisitor#autobox for (self: Object, RuntimeVariable, MType): RuntimeVariable */
9603 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__autobox(val
* self
, val
* p0
, val
* p1
) {
9604 val
* var
/* : RuntimeVariable */;
9605 val
* var1
/* : RuntimeVariable */;
9606 var1
= abstract_compiler__AbstractCompilerVisitor__autobox(self
, p0
, p1
);
9611 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: AbstractCompilerVisitor, RuntimeVariable, MType, String): RuntimeVariable */
9612 val
* abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9613 val
* var
/* : RuntimeVariable */;
9614 const char* var_class_name
;
9615 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9616 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "type_test", var_class_name
);
9617 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 882);
9622 /* method abstract_compiler#AbstractCompilerVisitor#type_test for (self: Object, RuntimeVariable, MType, String): RuntimeVariable */
9623 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__type_test(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9624 val
* var
/* : RuntimeVariable */;
9625 val
* var1
/* : RuntimeVariable */;
9626 var1
= abstract_compiler__AbstractCompilerVisitor__type_test(self
, p0
, p1
, p2
);
9631 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
9632 val
* abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
9633 val
* var
/* : RuntimeVariable */;
9634 const char* var_class_name
;
9635 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9636 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "is_same_type_test", var_class_name
);
9637 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 885);
9642 /* method abstract_compiler#AbstractCompilerVisitor#is_same_type_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
9643 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__is_same_type_test(val
* self
, val
* p0
, val
* p1
) {
9644 val
* var
/* : RuntimeVariable */;
9645 val
* var1
/* : RuntimeVariable */;
9646 var1
= abstract_compiler__AbstractCompilerVisitor__is_same_type_test(self
, p0
, p1
);
9651 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: AbstractCompilerVisitor, RuntimeVariable, RuntimeVariable): RuntimeVariable */
9652 val
* abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
9653 val
* var
/* : RuntimeVariable */;
9654 const char* var_class_name
;
9655 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9656 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "equal_test", var_class_name
);
9657 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 888);
9662 /* method abstract_compiler#AbstractCompilerVisitor#equal_test for (self: Object, RuntimeVariable, RuntimeVariable): RuntimeVariable */
9663 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__equal_test(val
* self
, val
* p0
, val
* p1
) {
9664 val
* var
/* : RuntimeVariable */;
9665 val
* var1
/* : RuntimeVariable */;
9666 var1
= abstract_compiler__AbstractCompilerVisitor__equal_test(self
, p0
, p1
);
9671 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: AbstractCompilerVisitor, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
9672 val
* abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9673 val
* var
/* : nullable RuntimeVariable */;
9674 const char* var_class_name
;
9675 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9676 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "call", var_class_name
);
9677 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 893);
9682 /* method abstract_compiler#AbstractCompilerVisitor#call for (self: Object, MMethodDef, MClassType, Array[RuntimeVariable]): nullable RuntimeVariable */
9683 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__call(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9684 val
* var
/* : nullable RuntimeVariable */;
9685 val
* var1
/* : nullable RuntimeVariable */;
9686 var1
= abstract_compiler__AbstractCompilerVisitor__call(self
, p0
, p1
, p2
);
9691 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: AbstractCompilerVisitor, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
9692 val
* abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
9693 val
* var
/* : nullable RuntimeVariable */;
9694 const char* var_class_name
;
9695 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9696 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "send", var_class_name
);
9697 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 896);
9702 /* method abstract_compiler#AbstractCompilerVisitor#send for (self: Object, MMethod, Array[RuntimeVariable]): nullable RuntimeVariable */
9703 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__send(val
* self
, val
* p0
, val
* p1
) {
9704 val
* var
/* : nullable RuntimeVariable */;
9705 val
* var1
/* : nullable RuntimeVariable */;
9706 var1
= abstract_compiler__AbstractCompilerVisitor__send(self
, p0
, p1
);
9711 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: AbstractCompilerVisitor, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
9712 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9713 val
* var
/* : nullable RuntimeVariable */;
9714 val
* var_m
/* var m: MMethod */;
9715 val
* var_t
/* var t: MType */;
9716 val
* var_args
/* var args: Array[RuntimeVariable] */;
9717 short int var1
/* : Bool */;
9720 val
* var2
/* : AbstractCompiler */;
9721 val
* var3
/* : MModule */;
9722 val
* var4
/* : MPropDef */;
9723 val
* var_propdef
/* var propdef: MMethodDef */;
9724 val
* var5
/* : nullable RuntimeVariable */;
9728 /* <var_t:MType> isa MClassType */
9729 cltype
= type_model__MClassType
.color
;
9730 idtype
= type_model__MClassType
.id
;
9731 if(cltype
>= var_t
->type
->table_size
) {
9734 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
9737 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9738 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 902);
9741 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9742 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
9743 var4
= ((val
* (*)(val
*, val
*, val
*))(var_m
->class->vft
[COLOR_model__MProperty__lookup_first_definition
]))(var_m
, var3
, var_t
) /* lookup_first_definition on <var_m:MMethod>*/;
9745 var5
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__call
]))(self
, var_propdef
, var_t
, var_args
) /* call on <self:AbstractCompilerVisitor>*/;
9751 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_send for (self: Object, MMethod, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
9752 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9753 val
* var
/* : nullable RuntimeVariable */;
9754 val
* var1
/* : nullable RuntimeVariable */;
9755 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_send(self
, p0
, p1
, p2
);
9760 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: AbstractCompilerVisitor, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
9761 val
* abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9762 val
* var
/* : nullable RuntimeVariable */;
9763 val
* var_m
/* var m: MMethodDef */;
9764 val
* var_t
/* var t: MType */;
9765 val
* var_args
/* var args: Array[RuntimeVariable] */;
9766 short int var1
/* : Bool */;
9769 val
* var2
/* : AbstractCompiler */;
9770 val
* var3
/* : MModule */;
9771 val
* var4
/* : MPropDef */;
9772 val
* var5
/* : nullable RuntimeVariable */;
9776 /* <var_t:MType> isa MClassType */
9777 cltype
= type_model__MClassType
.color
;
9778 idtype
= type_model__MClassType
.id
;
9779 if(cltype
>= var_t
->type
->table_size
) {
9782 var1
= var_t
->type
->type_table
[cltype
] == idtype
;
9785 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9786 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 910);
9789 var2
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9790 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__mainmodule
]))(var2
) /* mainmodule on <var2:AbstractCompiler>*/;
9791 var4
= ((val
* (*)(val
*, val
*, val
*))(var_m
->class->vft
[COLOR_model__MPropDef__lookup_next_definition
]))(var_m
, var3
, var_t
) /* lookup_next_definition on <var_m:MMethodDef>*/;
9793 var5
= ((val
* (*)(val
*, val
*, val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__call
]))(self
, var_m
, var_t
, var_args
) /* call on <self:AbstractCompilerVisitor>*/;
9799 /* method abstract_compiler#AbstractCompilerVisitor#monomorphic_super_send for (self: Object, MMethodDef, MType, Array[RuntimeVariable]): nullable RuntimeVariable */
9800 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9801 val
* var
/* : nullable RuntimeVariable */;
9802 val
* var1
/* : nullable RuntimeVariable */;
9803 var1
= abstract_compiler__AbstractCompilerVisitor__monomorphic_super_send(self
, p0
, p1
, p2
);
9808 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
9809 val
* abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
9810 val
* var
/* : RuntimeVariable */;
9811 const char* var_class_name
;
9812 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9813 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "isset_attribute", var_class_name
);
9814 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 917);
9819 /* method abstract_compiler#AbstractCompilerVisitor#isset_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
9820 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__isset_attribute(val
* self
, val
* p0
, val
* p1
) {
9821 val
* var
/* : RuntimeVariable */;
9822 val
* var1
/* : RuntimeVariable */;
9823 var1
= abstract_compiler__AbstractCompilerVisitor__isset_attribute(self
, p0
, p1
);
9828 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable): RuntimeVariable */
9829 val
* abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
9830 val
* var
/* : RuntimeVariable */;
9831 const char* var_class_name
;
9832 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9833 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "read_attribute", var_class_name
);
9834 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 920);
9839 /* method abstract_compiler#AbstractCompilerVisitor#read_attribute for (self: Object, MAttribute, RuntimeVariable): RuntimeVariable */
9840 val
* VIRTUAL_abstract_compiler__AbstractCompilerVisitor__read_attribute(val
* self
, val
* p0
, val
* p1
) {
9841 val
* var
/* : RuntimeVariable */;
9842 val
* var1
/* : RuntimeVariable */;
9843 var1
= abstract_compiler__AbstractCompilerVisitor__read_attribute(self
, p0
, p1
);
9848 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: AbstractCompilerVisitor, MAttribute, RuntimeVariable, RuntimeVariable) */
9849 void abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9850 const char* var_class_name
;
9851 var_class_name
= self
== NULL ?
"null" : self
->type
->name
;
9852 fprintf(stderr
, "Runtime error: Abstract method `%s` called on `%s`", "write_attribute", var_class_name
);
9853 fprintf(stderr
, " (%s:%d)\n", "src/abstract_compiler.nit", 923);
9857 /* method abstract_compiler#AbstractCompilerVisitor#write_attribute for (self: Object, MAttribute, RuntimeVariable, RuntimeVariable) */
9858 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__write_attribute(val
* self
, val
* p0
, val
* p1
, val
* p2
) {
9859 abstract_compiler__AbstractCompilerVisitor__write_attribute(self
, p0
, p1
, p2
);
9862 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: AbstractCompilerVisitor, RuntimeVariable) */
9863 void abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
9864 val
* var_recv
/* var recv: RuntimeVariable */;
9865 val
* var
/* : AbstractCompiler */;
9866 val
* var1
/* : ModelBuilder */;
9867 val
* var2
/* : ToolContext */;
9868 val
* var3
/* : OptionBool */;
9869 val
* var4
/* : nullable Object */;
9870 short int var5
/* : Bool */;
9871 short int var6
/* : Bool */;
9872 val
* var7
/* : MType */;
9873 short int var8
/* : Bool */;
9876 short int var_
/* var : Bool */;
9877 val
* var9
/* : MType */;
9878 short int var10
/* : Bool */;
9881 short int var_maybenull
/* var maybenull: Bool */;
9882 static val
* varonce
;
9883 val
* var13
/* : String */;
9884 char* var14
/* : NativeString */;
9885 long var15
/* : Int */;
9886 val
* var16
/* : String */;
9887 static val
* varonce17
;
9888 val
* var18
/* : String */;
9889 char* var19
/* : NativeString */;
9890 long var20
/* : Int */;
9891 val
* var21
/* : String */;
9892 val
* var22
/* : Array[Object] */;
9893 long var23
/* : Int */;
9894 val
* var24
/* : NativeArray[Object] */;
9895 val
* var25
/* : String */;
9896 static val
* varonce26
;
9897 val
* var27
/* : String */;
9898 char* var28
/* : NativeString */;
9899 long var29
/* : Int */;
9900 val
* var30
/* : String */;
9901 static val
* varonce31
;
9902 val
* var32
/* : String */;
9903 char* var33
/* : NativeString */;
9904 long var34
/* : Int */;
9905 val
* var35
/* : String */;
9907 var
= ((val
* (*)(val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__compiler
]))(self
) /* compiler on <self:AbstractCompilerVisitor>*/;
9908 var1
= ((val
* (*)(val
*))(var
->class->vft
[COLOR_abstract_compiler__AbstractCompiler__modelbuilder
]))(var
) /* modelbuilder on <var:AbstractCompiler>*/;
9909 var2
= ((val
* (*)(val
*))(var1
->class->vft
[COLOR_modelbuilder__ModelBuilder__toolcontext
]))(var1
) /* toolcontext on <var1:ModelBuilder>*/;
9910 var3
= ((val
* (*)(val
*))(var2
->class->vft
[COLOR_abstract_compiler__ToolContext__opt_no_check_other
]))(var2
) /* opt_no_check_other on <var2:ToolContext>*/;
9911 var4
= ((val
* (*)(val
*))(var3
->class->vft
[COLOR_opts__Option__value
]))(var3
) /* value on <var3:OptionBool>*/;
9912 var5
= ((struct instance_kernel__Bool
*)var4
)->value
; /* autounbox from nullable Object to Bool */;
9917 var7
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
9918 /* <var7:MType> isa MNullableType */
9919 cltype
= type_model__MNullableType
.color
;
9920 idtype
= type_model__MNullableType
.id
;
9921 if(cltype
>= var7
->type
->table_size
) {
9924 var8
= var7
->type
->type_table
[cltype
] == idtype
;
9930 var9
= ((val
* (*)(val
*))(var_recv
->class->vft
[COLOR_abstract_compiler__RuntimeVariable__mcasttype
]))(var_recv
) /* mcasttype on <var_recv:RuntimeVariable>*/;
9931 /* <var9:MType> isa MNullType */
9932 cltype11
= type_model__MNullType
.color
;
9933 idtype12
= type_model__MNullType
.id
;
9934 if(cltype11
>= var9
->type
->table_size
) {
9937 var10
= var9
->type
->type_table
[cltype11
] == idtype12
;
9941 var_maybenull
= var6
;
9948 var16
= string__NativeString__to_s_with_length(var14
, var15
);
9955 var19
= " == NULL) {";
9957 var21
= string__NativeString__to_s_with_length(var19
, var20
);
9961 var22
= NEW_array__Array(&type_array__Arraykernel__Object
);
9962 { /* var22 = array_instance Array[Object] */
9964 var24
= NEW_array__NativeArray(var23
, &type_array__NativeArraykernel__Object
);
9965 ((struct instance_array__NativeArray
*)var24
)->values
[0] = (val
*) var13
;
9966 ((struct instance_array__NativeArray
*)var24
)->values
[1] = (val
*) var_recv
;
9967 ((struct instance_array__NativeArray
*)var24
)->values
[2] = (val
*) var18
;
9968 ((void (*)(val
*, val
*, long))(var22
->class->vft
[COLOR_array__Array__with_native
]))(var22
, var24
, var23
) /* with_native on <var22:Array[Object]>*/;
9970 var25
= ((val
* (*)(val
*))(var22
->class->vft
[COLOR_string__Object__to_s
]))(var22
) /* to_s on <var22:Array[Object]>*/;
9971 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var25
) /* add on <self:AbstractCompilerVisitor>*/;
9975 var28
= "Receiver is null";
9977 var30
= string__NativeString__to_s_with_length(var28
, var29
);
9981 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add_abort
]))(self
, var27
) /* add_abort on <self:AbstractCompilerVisitor>*/;
9987 var35
= string__NativeString__to_s_with_length(var33
, var34
);
9991 ((void (*)(val
*, val
*))(self
->class->vft
[COLOR_abstract_compiler__AbstractCompilerVisitor__add
]))(self
, var32
) /* add on <self:AbstractCompilerVisitor>*/;
9996 /* method abstract_compiler#AbstractCompilerVisitor#check_recv_notnull for (self: Object, RuntimeVariable) */
9997 void VIRTUAL_abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(val
* self
, val
* p0
) {
9998 abstract_compiler__AbstractCompilerVisitor__check_recv_notnull(self
, p0
);